gnucash master: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Sat Jul 8 18:08:53 EDT 2017


Updated	 via  https://github.com/Gnucash/gnucash/commit/a6678e6a (commit)
	 via  https://github.com/Gnucash/gnucash/commit/90f706c6 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/f3b60c3a (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3c65795d (commit)
	 via  https://github.com/Gnucash/gnucash/commit/dabf458f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/5405cf48 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/078467e3 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/06fef53a (commit)
	 via  https://github.com/Gnucash/gnucash/commit/737648c9 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4aea4c55 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/bafbb838 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/54eaf755 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/5066f691 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/78c81bf7 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3ec108d1 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/2c949fdf (commit)
	 via  https://github.com/Gnucash/gnucash/commit/95693a91 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/54465dd8 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/00952049 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/0f3719c6 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b1cc728b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/66de41bd (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b513ab16 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/fa9d752b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/aef95309 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/443f92ee (commit)
	 via  https://github.com/Gnucash/gnucash/commit/887a74e6 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/489edfe1 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/632764e1 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4cd13a0e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6f27ad1b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6fbfb822 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/a8cdf241 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/56ca4113 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ad890482 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/96bd2f27 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/69238ec4 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/75f17b67 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/dc0d8727 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9f989a66 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/7a53271d (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4d2a4a61 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/20c1630a (commit)
	 via  https://github.com/Gnucash/gnucash/commit/1c08232b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/34d1d840 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d67c15ad (commit)
	 via  https://github.com/Gnucash/gnucash/commit/00f6977f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/5cd60d2e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/44cf1672 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4d614030 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/8a2d6c4b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/cac49a2d (commit)
	 via  https://github.com/Gnucash/gnucash/commit/7674340c (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9031dddd (commit)
	 via  https://github.com/Gnucash/gnucash/commit/7dc23aed (commit)
	 via  https://github.com/Gnucash/gnucash/commit/47d7b07f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/5db244f7 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/a383bd4f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/2aa69b88 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9dd2e423 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d86afb27 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/563a6b10 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/fe90eeb3 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e067903e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/2964189b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d7a8a4a4 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3e8581c9 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/75169557 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e2592bae (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ff70c67e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3c3b6093 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/dfd2b047 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/bdcbb2a0 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d52e205b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/0aca12ca (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e203c637 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/82e11de8 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c40a7644 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b88883da (commit)
	 via  https://github.com/Gnucash/gnucash/commit/0d4635a5 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/fc2a688b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d387be1d (commit)
	 via  https://github.com/Gnucash/gnucash/commit/72d676e2 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/1444b8c1 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/32800e95 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ca43aa6d (commit)
	 via  https://github.com/Gnucash/gnucash/commit/f916e7f5 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3677d8c6 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ea8e6943 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/a147d772 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ff6c83ca (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6102f1d5 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ae0e76e6 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b0fd1c67 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/8b7cd2f5 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/296f739c (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c618a473 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/aebbf61e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/f1906344 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/64f5d5e5 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d12d17ff (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e1c5da4c (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b5a0681e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c92bcafe (commit)
	 via  https://github.com/Gnucash/gnucash/commit/fb30642f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6e411016 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/390912ad (commit)
	 via  https://github.com/Gnucash/gnucash/commit/16c4be02 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/5cca866d (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4a421af5 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/cb25078e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e2919b8d (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3a78c9d9 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d33e3040 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/da17df32 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/8d95b3f8 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/acd7475b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/84e3b303 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4a81e94b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/85ceb3b9 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/36a65d33 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/eb860343 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/cb9d24bd (commit)
	 via  https://github.com/Gnucash/gnucash/commit/fb2c5073 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6d68ae0a (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e66430f4 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/70e9b887 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d8831e87 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/30f082d1 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/04cf3d93 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/05eb41fe (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d724128a (commit)
	 via  https://github.com/Gnucash/gnucash/commit/08660a29 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ade9f71b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/090968f1 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d29bb5b8 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/976a1370 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b3c5b1cb (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9cefa509 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/409e4371 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/5c2a70bc (commit)
	 via  https://github.com/Gnucash/gnucash/commit/faecd7ff (commit)
	 via  https://github.com/Gnucash/gnucash/commit/a985541f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4de57ba9 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/78f28887 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/0abc3e32 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/7f7ec67f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c7f3994f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/a6fd7f85 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/64deacf1 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/dd9b2007 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/24ed305c (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3a76cb91 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e5d2ab8d (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d632abaa (commit)
	 via  https://github.com/Gnucash/gnucash/commit/bb037624 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/15ef3179 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/bf865248 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/8f66cf42 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e40acf59 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/89021dde (commit)
	 via  https://github.com/Gnucash/gnucash/commit/87a0cb73 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e26480cc (commit)
	 via  https://github.com/Gnucash/gnucash/commit/f07ad114 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/2ca938bd (commit)
	 via  https://github.com/Gnucash/gnucash/commit/42264efd (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3065005f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b9abc0b5 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9b5fbcb2 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/2528bfde (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6edbb53f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4b30a7da (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d439d379 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/68091faa (commit)
	 via  https://github.com/Gnucash/gnucash/commit/03699efe (commit)
	 via  https://github.com/Gnucash/gnucash/commit/5223ca8c (commit)
	 via  https://github.com/Gnucash/gnucash/commit/a3f8f696 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/986720e6 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/efcb06e6 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/131462ca (commit)
	 via  https://github.com/Gnucash/gnucash/commit/58bfd3e1 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c54cf61c (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6c06336d (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3025e30e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/93a03d19 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4888d345 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/19463461 (commit)
	from  https://github.com/Gnucash/gnucash/commit/c8402ad6 (commit)



commit a6678e6a492a1e925e657f81f93d7130149e9943
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Jul 8 15:08:07 2017 -0700

    Allow compilation with either Webkit2Gtk-4.0 or WebKit2Gtk-3.0.
    
    WEBKIT1 for windows is a placeholder, it will need a pkgconfig check too.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0eb48a0..9745fb6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -166,7 +166,18 @@ GNC_PKG_CHECK_MODULES (GTHREAD REQUIRED gthread-2.0>=2.20)
 
 GNC_PKG_CHECK_MODULES (LIBXML2 REQUIRED libxml-2.0>=2.7.0)
 GNC_PKG_CHECK_MODULES (LIBXSLT REQUIRED libxslt)
-GNC_PKG_CHECK_MODULES (WEBKIT REQUIRED webkit2gtk-4.0>=2.6.0)
+GNC_PKG_CHECK_MODULES (WEBKIT OPTIONAL webkit2gtk-4.0)
+IF (NOT WEBKIT_FOUND)
+  GNC_PKG_CHECK_MODULES (WEBKIT REQUIRED webkit2gtk-3.0)
+  IF (WIN32)
+    SET(WEBKIT1 1)
+  ELSE (WIN32)
+    SET(WEBKIT2_3 1)
+  ENDIF (WIN32)
+ELSE (NOT WEBKIT_FOUND)
+    SET(WEBKIT2_4 1)
+ENDIF (NOT WEBKIT_FOUND)
+
 IF (WITH_GNUCASH)
   GNC_PKG_CHECK_MODULES (GTK3 REQUIRED gtk+-3.0>=3.14.0)
 ENDIF (WITH_GNUCASH)
diff --git a/configure.ac b/configure.ac
index 2b6a53e..b95a4d0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1351,9 +1351,19 @@ then
   ### --------------------------------------------------------------------------
   ### checks for webkit
 
-  PKG_CHECK_MODULES(WEBKIT, webkit2gtk-4.0 >= "2.6.0")
-  AC_SUBST(WEBKIT_CFLAGS)
-  AC_SUBST(WEBKIT_LIBS)
+  PKG_CHECK_MODULES(WEBKIT, webkit2gtk-4.0,
+  [AC_DEFINE([WEBKIT2_4], [1], [Webkit2Gtk API Version 4.0])],
+  [PKG_CHECK_MODULES(WEBKIT, webkit2gtk-3.0,
+  [
+    case $host_os in
+       win32* | mingw*)
+          AC_DEFINE([WEBKIT1], [1], [Webkit1Gtk API])
+          ;;
+       *)
+          AC_DEFINE([WEBKIT2_3], [1], [Webkit2Gtk API Version 3.0])
+          ;;
+     esac
+   ],)])
 
     ###-----------------------------------------------------------------------
   ## Find a suitable password store
diff --git a/src/config.h.cmake.in b/src/config.h.cmake.in
index 56dcef4..bcd435d 100644
--- a/src/config.h.cmake.in
+++ b/src/config.h.cmake.in
@@ -372,6 +372,11 @@
 /* Define to 1 if you need to in order for `stat' and other things to work. */
 #cmakedefine _POSIX_SOURCE 1
 
+/* Definitions for what WEBKIT version we're compiling against: */
+#cmakedefine WEBKIT2_4 1
+#cmakedefine WEBKIT2_3 1
+#cmakedefine WEBKIT1 1
+
 /* Definitions for all OS */
 /* From cutecash */
 //#define HAVE_LIBQOF /**/
diff --git a/src/html/gnc-html-webkit.c b/src/html/gnc-html-webkit.c
index 81aa609..9ea2f21 100644
--- a/src/html/gnc-html-webkit.c
+++ b/src/html/gnc-html-webkit.c
@@ -577,7 +577,7 @@ load_to_stream( GncHtmlWebkit* self, URLType type,
      }
      while ( FALSE );
 }
-
+#ifdef WEBKIT2_4
 static gboolean
 perform_navigation_policy (WebKitWebView *web_view,
 			   WebKitNavigationPolicyDecision *decision,
@@ -603,7 +603,7 @@ perform_navigation_policy (WebKitWebView *web_view,
      webkit_policy_decision_ignore ((WebKitPolicyDecision*)decision);
      return TRUE;
 }
-
+#endif
 /********************************************************************
  * webkit_navigation_requested_cb - called when a URL needs to be
  * loaded within the loading of a page (embedded image).
@@ -616,6 +616,7 @@ webkit_decide_policy_cb (WebKitWebView *web_view,
 			 gpointer user_data)
 {
 /* This turns out to be the signal to intercept for handling a link-click. */
+#ifdef WEBKIT2_4
      if (decision_type != WEBKIT_POLICY_DECISION_TYPE_NAVIGATION_ACTION)
      {
 	  webkit_policy_decision_use (decision);
@@ -624,6 +625,10 @@ webkit_decide_policy_cb (WebKitWebView *web_view,
      return perform_navigation_policy (
 	  web_view, (WebKitNavigationPolicyDecision*) decision,
 	  GNC_HTML (user_data));
+#else
+     webkit_policy_decision_use (decision);
+     return TRUE;
+#endif
 }
 
 static void

commit 90f706c651ed38b256363aa05d73f37b40bd0452
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Jul 8 14:07:13 2017 -0700

    Adjust Makefile.am for pixmap hierarchy change in 4aea4c5.

diff --git a/src/pixmaps/Makefile.am b/src/pixmaps/Makefile.am
index eea54e7..9cf4f05 100644
--- a/src/pixmaps/Makefile.am
+++ b/src/pixmaps/Makefile.am
@@ -1,42 +1,42 @@
 gncpixmapdir = ${GNC_PIXMAP_DIR}
 
 gncpixmap_DATA = \
-  gnc-account-16.png \
-  gnc-account-delete-16.png \
-  gnc-account-delete.png \
-  gnc-account-edit-16.png \
-  gnc-account-edit.png \
-  gnc-account-new-16.png \
-  gnc-account-new.png \
-  gnc-account-open-16.png \
-  gnc-account-open.png \
-  gnc-account.png \
-  gnc-account-report-16.png \
-  gnc-account-report.png \
-  gnc-gnome-pdf-16.png \
-  gnc-gnome-pdf-24.png \
-  gnc-invoice-16.png \
-  gnc-invoice-duplicate-16.png \
-  gnc-invoice-duplicate.png \
-  gnc-invoice-edit-16.png \
-  gnc-invoice-edit.png \
-  gnc-invoice-new-16.png \
-  gnc-invoice-new.png \
-  gnc-invoice-pay-16.png \
-  gnc-invoice-pay.png \
-  gnc-invoice-post-16.png \
-  gnc-invoice-post.png \
-  gnc-invoice-unpost-16.png \
-  gnc-invoice-unpost.png \
-  gnc-invoice.png \
-  gnc-jumpto-16.png \
-  gnc-jumpto.png \
-  gnc-split-trans-16.png \
-  gnc-split-trans.png \
-  gnc-sx-new-16.png \
-  gnc-sx-new.png \
-  gnc-transfer-16.png \
-  gnc-transfer.png \
+  hicolor/16x16/actions/gnc-account.png \
+  hicolor/24x24/actions/gnc-account.png \
+  hicolor/16x16/actions/gnc-account-delete.png \
+  hicolor/24x24/actions/gnc-account-delete.png \
+  hicolor/16x16/actions/gnc-account-edit.png \
+  hicolor/24x24/actions/gnc-account-edit.png \
+  hicolor/16x16/actions/gnc-account-new.png \
+  hicolor/24x24/actions/gnc-account-new.png \
+  hicolor/16x16/actions/gnc-account-open.png \
+  hicolor/24x24/actions/gnc-account-open.png \
+  hicolor/16x16/actions/gnc-account-report.png \
+  hicolor/24x24/actions/gnc-account-report.png \
+  hicolor/16x16/actions/gnc-gnome-pdf.png \
+  hicolor/24x24/actions/gnc-gnome-pdf.png \
+  hicolor/16x16/actions/gnc-invoice.png \
+  hicolor/24x24/actions/gnc-invoice.png \
+  hicolor/16x16/actions/gnc-invoice-duplicate.png \
+  hicolor/24x24/actions/gnc-invoice-duplicate.png \
+  hicolor/16x16/actions/gnc-invoice-edit.png \
+  hicolor/24x24/actions/gnc-invoice-edit.png \
+  hicolor/16x16/actions/gnc-invoice-new.png \
+  hicolor/24x24/actions/gnc-invoice-new.png \
+  hicolor/16x16/actions/gnc-invoice-pay.png \
+  hicolor/24x24/actions/gnc-invoice-pay.png \
+  hicolor/16x16/actions/gnc-invoice-post.png \
+  hicolor/24x24/actions/gnc-invoice-post.png \
+  hicolor/16x16/actions/gnc-invoice-unpost.png \
+  hicolor/24x24/actions/gnc-invoice-unpost.png \
+  hicolor/16x16/actions/gnc-jumpto.png \
+  hicolor/24x24/actions/gnc-jumpto.png \
+  hicolor/16x16/actions/gnc-split-trans.png \
+  hicolor/24x24/actions/gnc-split-trans.png \
+  hicolor/16x16/actions/gnc-sx-new.png \
+  hicolor/24x24/actions/gnc-sx-new.png \
+  hicolor/16x16/actions/gnc-transfer.png \
+  hicolor/24x24/actions/gnc-transfer.png \
   gnucash-icon.ico \
   gnucash-icon-16x16.png \
   gnucash-icon-32x32.png \

commit f3b60c3a717cd226a7e1ccc923c89beacf8a3b09
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Jul 8 14:04:51 2017 -0700

    Don't warn about all of the deprecated Gtk functions we're using.

diff --git a/configure.ac b/configure.ac
index 54641ae..2b6a53e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1544,7 +1544,7 @@ then
   warnXXFLAGS=
   #We have a lot of unused variables. Don't warn until someone gets
   #around to cleaning them up.
-  AM_CFLAGS="${AM_CFLAGS} -Wno-unused"
+  AM_CFLAGS="${AM_CFLAGS} -Wno-unused -Wno-deprecated-declarations"
   # other flags...
   # These next two are included in the COMPILE_WARNINGS
   #warnFLAGS="${warnFLAGS} -Wmissing-prototypes"

commit 3c65795d24e637c32db8fe590a13a279278a7f02
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Sat Jul 8 18:58:01 2017 +0200

    Travis - install libgtk-3-dev and libwebkit2gtk-3.0-dev before building

diff --git a/.travis.yml b/.travis.yml
index 3a648bb..c65accb 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -15,7 +15,7 @@ install:
 #  - if [ "$CXX" = "g++" ]; then sudo apt-get install -qq g++-4.9; export CXX="g++-4.9" CC="gcc-4.9"; fi
   - sudo apt-get build-dep -qq gnucash
   - sudo apt-get install -qq swig
-  - sudo apt-get install -qq libboost-all-dev
+  - sudo apt-get install -qq libboost-all-dev libgtk-3-dev libwebkit2gtk-3.0-dev
   - sudo apt-get --reinstall install -qq language-pack-en language-pack-fr
   - git clone https://github.com/google/googletest -b release-1.8.0 ~/gtest
 script: ./autogen.sh && ./configure --enable-python GTEST_ROOT=~/gtest/googletest GMOCK_ROOT=~/gtest/googlemock && make && TZ="America/Los_Angeles" make check

commit dabf458f06b48fe02095fb1d65e3d45b5b16f5ad
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Sat Jul 8 18:18:11 2017 +0200

    A few cleanups from the previous merge commit

diff --git a/po/POTFILES.in b/po/POTFILES.in
index 560fc09..d160b0a 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -417,6 +417,7 @@ src/import-export/aqb/assistant-ab-initial.c
 src/import-export/aqb/assistant-ab-initial.glade
 src/import-export/aqb/dialog-ab-daterange.c
 src/import-export/aqb/dialog-ab.glade
+src/import-export/aqb/dialog-ab-pref.glade
 src/import-export/aqb/dialog-ab-trans.c
 src/import-export/aqb/gnc-ab-getbalance.c
 src/import-export/aqb/gnc-ab-gettrans.c
diff --git a/src/import-export/import-match-picker.c b/src/import-export/import-match-picker.c
index 5f0cc3d..235ec03 100644
--- a/src/import-export/import-match-picker.c
+++ b/src/import-export/import-match-picker.c
@@ -484,11 +484,11 @@ init_match_picker_gui(GNCImportMatchPicker * matcher)
     
     /* now that we've bound the checkbox appropriately we can hook up the
      * change callback */
-    gtk_signal_connect ((GtkObject *)matcher->reconciled_chk, "toggled",
+    g_signal_connect ((GObject *)matcher->reconciled_chk, "toggled",
                        G_CALLBACK(match_show_reconciled_changed_cb), matcher);
 
     /* now that we've bound the checkbox appropriately we can hook up the change callback */
-    gtk_signal_connect((GtkObject *)matcher->reconciled_chk, "toggled", G_CALLBACK(match_show_reconciled_changed_cb), matcher);
+    g_signal_connect((GObject *)matcher->reconciled_chk, "toggled", G_CALLBACK(match_show_reconciled_changed_cb), matcher);
     
     gnc_restore_window_size(GNC_PREFS_GROUP,
                             GTK_WINDOW (matcher->transaction_matcher));
diff --git a/src/libqof/qof/CMakeLists.txt b/src/libqof/qof/CMakeLists.txt
index 22ed411..78c0ea8 100644
--- a/src/libqof/qof/CMakeLists.txt
+++ b/src/libqof/qof/CMakeLists.txt
@@ -120,10 +120,10 @@ SET(qof_test_HEADERS
     qofbook.h
     qofinstance.h
     qofobject.h
-    /qofsession.h
+    qofsession.h
 )
 
 INSTALL(FILES ${qof_test_HEADERS} DESTINATION libexec/gnucash/src/libqof/qof/test)
 SET_LOCAL_DIST(qof_DIST_local CMakeLists.txt Makefile.am ${gnc_qof_EXTRA_DIST}
   ${gnc_qof_HEADERS} ${gnc_qof_noinst_HEADERS} ${gnc_qof_SOURCES})
-SET(qof_DIST ${qof_DIST_local} ${test_qof_DIST} PARENT_SCOPE) 
\ No newline at end of file
+SET(qof_DIST ${qof_DIST_local} ${test_qof_DIST} PARENT_SCOPE) 

commit 5405cf480c980d53fb5b0419b233d8356754666d
Merge: c8402ad 078467e
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Sat Jul 8 17:49:44 2017 +0200

    Merge branch 'gtk3'

diff --cc src/business/business-gnome/CMakeLists.txt
index a52ff27,2905fe5..ab69f59
--- a/src/business/business-gnome/CMakeLists.txt
+++ b/src/business/business-gnome/CMakeLists.txt
@@@ -80,8 -80,3 +80,8 @@@ GNC_ADD_SCHEME_TARGETS(scm-business-gno
    "${GUILE_DEPENDS}"
    FALSE
  )
 +SET_LOCAL_DIST(business_gnome_DIST_local CMakeLists.txt Makefile.am ${business_gnome_SOURCES} ${business_gnome_HEADERS}
 +               ${business_gnome_noinst_HEADERS} ${gncmod_business_gnome_SCHEME})
 +
 +SET(business_gnome_DIST ${business_gnome_DIST_local} ${business_gnome_gschema_DIST}
-         ${business_gnome_gtkbuilder_DIST} ${business_gnome_ui_DIST} PARENT_SCOPE)
++        ${business_gnome_gtkbuilder_DIST} ${business_gnome_ui_DIST} PARENT_SCOPE)
diff --cc src/gnome-utils/gtkbuilder/dialog-account.glade
index ea0ee75,8bb2753..9569ca7
--- a/src/gnome-utils/gtkbuilder/dialog-account.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-account.glade
@@@ -984,63 -909,125 +909,125 @@@
                            </object>
                            <packing>
                              <property name="left_attach">1</property>
-                             <property name="right_attach">2</property>
                              <property name="top_attach">3</property>
-                             <property name="bottom_attach">4</property>
                            </packing>
                          </child>
-                       </object>
-                     </child>
-                   </object>
-                   <packing>
-                     <property name="position">1</property>
-                   </packing>
-                 </child>
-               </object>
-               <packing>
-                 <property name="expand">False</property>
-                 <property name="fill">False</property>
-                 <property name="position">1</property>
-               </packing>
-             </child>
-             <child>
-               <object class="GtkVBox" id="subaccounts">
-                 <property name="visible">True</property>
-                 <property name="orientation">vertical</property>
-                 <child>
-                   <object class="GtkLabel" id="label8477419">
-                     <property name="visible">True</property>
-                     <property name="xalign">0</property>
-                     <property name="label" translatable="yes"><b>Sub-accounts</b></property>
-                     <property name="use_markup">True</property>
-                   </object>
-                   <packing>
-                     <property name="expand">False</property>
-                     <property name="fill">False</property>
-                     <property name="position">0</property>
-                   </packing>
-                 </child>
-                 <child>
-                   <object class="GtkAlignment" id="alignment7">
-                     <property name="visible">True</property>
-                     <property name="left_padding">12</property>
-                     <child>
-                       <object class="GtkTable" id="table7">
-                         <property name="visible">True</property>
-                         <property name="n_rows">3</property>
-                         <property name="n_columns">2</property>
-                         <property name="column_spacing">12</property>
                          <child>
-                           <object class="GtkLabel" id="label8477420">
+                           <object class="GtkLabel" id="label305">
+                             <property name="visible">True</property>
+                             <property name="can_focus">False</property>
+                             <property name="halign">start</property>
+                             <property name="margin_left">12</property>
+                             <property name="label" translatable="yes">Smallest _fraction:</property>
+                             <property name="use_underline">True</property>
+                             <property name="mnemonic_widget">account_scu</property>
+                           </object>
+                           <packing>
+                             <property name="left_attach">0</property>
+                             <property name="top_attach">4</property>
+                           </packing>
+                         </child>
+                         <child>
+                           <object class="GtkLabel" id="label306">
+                             <property name="visible">True</property>
+                             <property name="can_focus">False</property>
+                             <property name="halign">start</property>
+                             <property name="margin_left">12</property>
+                             <property name="label" translatable="yes">Account _Color:</property>
+                             <property name="use_underline">True</property>
+                           </object>
+                           <packing>
+                             <property name="left_attach">0</property>
+                             <property name="top_attach">5</property>
+                           </packing>
+                         </child>
+                         <child>
+                           <object class="GtkBox" id="color_hbox">
+                             <property name="visible">True</property>
+                             <property name="can_focus">False</property>
+                             <property name="spacing">2</property>
+                             <property name="homogeneous">True</property>
+                             <child>
+                               <object class="GtkColorButton" id="color_entry_button">
+                                 <property name="visible">True</property>
+                                 <property name="can_focus">True</property>
+                                 <property name="receives_default">True</property>
+                               </object>
+                               <packing>
+                                 <property name="expand">False</property>
+                                 <property name="fill">True</property>
+                                 <property name="position">1</property>
+                               </packing>
+                             </child>
+                             <child>
+                               <object class="GtkButton" id="color_default_button">
+                                 <property name="label" translatable="yes">Default</property>
+                                 <property name="visible">True</property>
+                                 <property name="can_focus">True</property>
+                                 <property name="receives_default">True</property>
+                                 <signal name="clicked" handler="gnc_account_color_default_cb" swapped="no"/>
+                               </object>
+                               <packing>
+                                 <property name="expand">False</property>
+                                 <property name="fill">True</property>
+                                 <property name="position">2</property>
+                               </packing>
+                             </child>
+                           </object>
+                           <packing>
+                             <property name="left_attach">1</property>
+                             <property name="top_attach">5</property>
+                           </packing>
+                         </child>
+                         <child>
+                           <object class="GtkLabel" id="label307">
+                             <property name="visible">True</property>
+                             <property name="can_focus">False</property>
+                             <property name="halign">start</property>
+                             <property name="valign">start</property>
+                             <property name="margin_left">12</property>
+                             <property name="label" translatable="yes">No_tes:</property>
+                             <property name="use_underline">True</property>
+                             <property name="mnemonic_widget">notes_text</property>
+                           </object>
+                           <packing>
+                             <property name="left_attach">0</property>
+                             <property name="top_attach">6</property>
+                           </packing>
+                         </child>
+                         <child>
+                           <object class="GtkCheckButton" id="tax_related_button">
+                             <property name="label" translatable="yes">Ta_x related</property>
+                             <property name="visible">True</property>
+                             <property name="sensitive">False</property>
+                             <property name="can_focus">True</property>
+                             <property name="receives_default">False</property>
 -                            <property name="tooltip_text" translatable="yes">Use Edit->Tax Report Options to set the tax-related flag and assign a tax code to this account.</property>
++                            <property name="tooltip_text" translatable="yes" comments="Translators: use the same words here as in 'Ta_x Report Options'.">Use Edit->Tax Report Options to set the tax-related flag and assign a tax code to this account.</property>
+                             <property name="halign">start</property>
+                             <property name="margin_left">12</property>
+                             <property name="use_underline">True</property>
+                             <property name="draw_indicator">True</property>
+                           </object>
+                           <packing>
+                             <property name="left_attach">0</property>
+                             <property name="top_attach">7</property>
+                           </packing>
+                         </child>
+                         <child>
+                           <object class="GtkCheckButton" id="placeholder_button">
+                             <property name="label" translatable="yes">Placeholde_r</property>
                              <property name="visible">True</property>
-                             <property name="xalign">0</property>
-                             <property name="label" translatable="yes">This account contains sub-accounts. What would you like to do with these sub-accounts?</property>
-                             <property name="wrap">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="receives_default">False</property>
+                             <property name="tooltip_text" translatable="yes">This account is present solely as a placeholder in the hierarchy. Transactions may not be posted to this account, only to sub-accounts of this account.</property>
+                             <property name="halign">start</property>
+                             <property name="margin_left">12</property>
+                             <property name="use_underline">True</property>
+                             <property name="draw_indicator">True</property>
                            </object>
                            <packing>
-                             <property name="right_attach">2</property>
-                             <property name="x_options">GTK_FILL</property>
-                             <property name="y_options"></property>
+                             <property name="left_attach">0</property>
+                             <property name="top_attach">8</property>
                            </packing>
                          </child>
                          <child>
@@@ -1130,94 -1143,91 +1143,103 @@@
                    </packing>
                  </child>
                  <child>
-                   <object class="GtkAlignment" id="alignment9">
+                   <object class="GtkGrid" id="grid302">
                      <property name="visible">True</property>
-                     <property name="left_padding">12</property>
+                     <property name="can_focus">False</property>
+                     <property name="row_spacing">6</property>
                      <child>
-                       <object class="GtkTable" id="table9">
+                       <object class="GtkLabel" id="type_label">
                          <property name="visible">True</property>
-                         <property name="n_rows">4</property>
-                         <property name="n_columns">2</property>
-                         <property name="column_spacing">12</property>
+                         <property name="can_focus">False</property>
+                         <property name="halign">start</property>
+                         <property name="label" translatable="yes"><b>Acco_unt Type</b></property>
+                         <property name="use_markup">True</property>
+                         <property name="use_underline">True</property>
+                         <property name="mnemonic_widget">type_view</property>
+                       </object>
+                       <packing>
+                         <property name="left_attach">0</property>
+                         <property name="top_attach">0</property>
+                       </packing>
+                     </child>
+                     <child>
+                       <object class="GtkLabel" id="label8">
+                         <property name="visible">True</property>
+                         <property name="can_focus">False</property>
+                         <property name="label">    </property>
+                       </object>
+                       <packing>
+                         <property name="left_attach">1</property>
+                         <property name="top_attach">1</property>
+                       </packing>
+                     </child>
+                     <child>
+                       <object class="GtkLabel" id="parent_label">
+                         <property name="visible">True</property>
+                         <property name="can_focus">False</property>
+                         <property name="halign">start</property>
+                         <property name="label" translatable="yes"><b>_Parent Account</b></property>
+                         <property name="use_markup">True</property>
+                         <property name="use_underline">True</property>
+                       </object>
+                       <packing>
+                         <property name="left_attach">1</property>
+                         <property name="top_attach">0</property>
+                       </packing>
+                     </child>
+                     <child>
 -                      <object class="GtkScrolledWindow" id="scrolledwindow32">
++                      <object class="GtkScrolledWindow" id="parent_scroll">
+                         <property name="visible">True</property>
 -                        <property name="can_focus">True</property>
++                        <property name="can_focus">False</property>
+                         <property name="margin_left">12</property>
 -                        <property name="hscrollbar_policy">never</property>
++                        <property name="hexpand">True</property>
++                        <property name="vexpand">True</property>
+                         <property name="shadow_type">in</property>
                          <child>
-                           <object class="GtkRadioButton" id="sa_trans_mrb">
-                             <property name="label" translatable="yes">M_ove to:</property>
 -                          <object class="GtkTreeView" id="type_view">
--                            <property name="visible">True</property>
--                            <property name="can_focus">True</property>
-                             <property name="receives_default">False</property>
-                             <property name="use_underline">True</property>
-                             <property name="active">True</property>
-                             <property name="draw_indicator">True</property>
 -                            <property name="halign">start</property>
 -                            <property name="vexpand">True</property>
 -                            <property name="headers_visible">False</property>
 -                            <child internal-child="selection">
 -                              <object class="GtkTreeSelection" id="treeview-selection1"/>
 -                            </child>
--                          </object>
-                           <packing>
-                             <property name="top_attach">3</property>
-                             <property name="bottom_attach">4</property>
-                             <property name="x_options">GTK_FILL</property>
-                             <property name="y_options"></property>
-                           </packing>
++                          <placeholder/>
                          </child>
+                       </object>
+                       <packing>
 -                        <property name="left_attach">0</property>
++                        <property name="left_attach">1</property>
+                         <property name="top_attach">1</property>
+                       </packing>
+                     </child>
+                     <child>
 -                      <object class="GtkScrolledWindow" id="parent_scroll">
++                      <object class="GtkBox" id="type_vbox">
+                         <property name="visible">True</property>
+                         <property name="can_focus">False</property>
 -                        <property name="margin_left">12</property>
 -                        <property name="hexpand">True</property>
 -                        <property name="vexpand">True</property>
 -                        <property name="shadow_type">in</property>
++                        <property name="orientation">vertical</property>
                          <child>
-                           <object class="GtkRadioButton" id="sa_trans_drb">
-                             <property name="label" translatable="yes">Delete all _transactions</property>
 -                          <placeholder/>
++                          <object class="GtkScrolledWindow" id="scrolledwindow32">
 +                            <property name="visible">True</property>
 +                            <property name="can_focus">True</property>
-                             <property name="receives_default">False</property>
-                             <property name="use_underline">True</property>
-                             <property name="draw_indicator">True</property>
-                             <property name="group">sa_trans_mrb</property>
-                             <signal name="toggled" handler="gppat_set_insensitive_iff_rb_active" object="sa_trans_mas_hbox"/>
-                           </object>
-                           <packing>
-                             <property name="right_attach">2</property>
-                             <property name="top_attach">2</property>
-                             <property name="bottom_attach">3</property>
-                             <property name="x_options">GTK_FILL</property>
-                             <property name="y_options"></property>
-                           </packing>
-                         </child>
-                         <child>
-                           <object class="GtkLabel" id="sa_trans_rw">
-                             <property name="visible">True</property>
-                             <property name="xalign">0</property>
-                             <property name="label" translatable="yes">One or more sub-accounts contain transactions. What would you like to do with these transactions?</property>
-                             <property name="wrap">True</property>
-                           </object>
-                           <packing>
-                             <property name="right_attach">2</property>
-                             <property name="top_attach">1</property>
-                             <property name="bottom_attach">2</property>
-                             <property name="x_options">GTK_FILL</property>
-                             <property name="y_options"></property>
-                           </packing>
-                         </child>
-                         <child>
-                           <object class="GtkLabel" id="sa_trans_ro">
-                             <property name="visible">True</property>
-                             <property name="xalign">0</property>
-                             <property name="label" translatable="yes">One or more sub-accounts contain read-only transactions which may not be deleted.</property>
-                             <property name="wrap">True</property>
-                           </object>
-                           <packing>
-                             <property name="right_attach">2</property>
-                             <property name="x_options">GTK_FILL</property>
-                             <property name="y_options"></property>
-                           </packing>
-                         </child>
-                         <child>
-                           <object class="GtkHBox" id="sa_trans_mas_hbox">
-                             <property name="visible">True</property>
++                            <property name="margin_left">12</property>
++                            <property name="hscrollbar_policy">never</property>
++                            <property name="shadow_type">in</property>
 +                            <child>
-                               <placeholder/>
++                              <object class="GtkTreeView" id="type_view">
++                                <property name="visible">True</property>
++                                <property name="can_focus">True</property>
++                                <property name="halign">start</property>
++                                <property name="vexpand">True</property>
++                                <property name="headers_visible">False</property>
++                                <child internal-child="selection">
++                                  <object class="GtkTreeSelection" id="treeview-selection1"/>
++                                </child>
++                              </object>
 +                            </child>
 +                          </object>
 +                          <packing>
-                             <property name="left_attach">1</property>
-                             <property name="right_attach">2</property>
-                             <property name="top_attach">3</property>
-                             <property name="bottom_attach">4</property>
++                            <property name="expand">True</property>
++                            <property name="fill">True</property>
++                            <property name="position">0</property>
 +                          </packing>
                          </child>
                        </object>
+                       <packing>
 -                        <property name="left_attach">1</property>
++                        <property name="left_attach">0</property>
+                         <property name="top_attach">1</property>
+                       </packing>
                      </child>
                    </object>
                    <packing>
diff --cc src/gnome-utils/gtkbuilder/dialog-preferences.glade
index 1d76b3c,d924ea7..1f88eeb
--- a/src/gnome-utils/gtkbuilder/dialog-preferences.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-preferences.glade
@@@ -3389,76 -2826,6 +2833,50 @@@ many months before the current month:</
                    </packing>
                  </child>
                  <child>
-                   <placeholder/>
-                 </child>
-                 <child>
-                   <object class="GtkLabel" id="label20">
++                  <object class="GtkLabel" id="label21">
 +                    <property name="visible">True</property>
 +                    <property name="can_focus">False</property>
-                     <property name="xalign">0</property>
++                    <property name="halign">start</property>
 +                    <property name="label" translatable="yes"><b>Default zoom level</b></property>
 +                    <property name="use_markup">True</property>
 +                  </object>
 +                  <packing>
-                     <property name="top_attach">7</property>
-                     <property name="bottom_attach">8</property>
-                     <property name="x_options">GTK_FILL</property>
-                     <property name="y_options"/>
++                    <property name="left_attach">0</property>
++                    <property name="top_attach">6</property>
 +                  </packing>
 +                </child>
 +                <child>
-                   <object class="GtkHBox" id="hbox5">
++                  <object class="GtkBox" id="hbox5">
 +                    <property name="visible">True</property>
 +                    <property name="can_focus">False</property>
++                    <property name="orientation">vertical</property>
 +                    <child>
 +                      <object class="GtkSpinButton" id="pref/general.report/default-zoom">
 +                        <property name="visible">True</property>
 +                        <property name="can_focus">True</property>
 +                        <property name="tooltip_text" translatable="yes">On high resolution screens reports tend to be hard to read. This option allows you to scale reports up by the set factor. For example setting this to 2.0 will display reports at twice their typical size.</property>
-                         <property name="max_length">4</property>
-                         <property name="invisible_char">●</property>
-                         <property name="primary_icon_activatable">False</property>
-                         <property name="secondary_icon_activatable">False</property>
-                         <property name="primary_icon_sensitive">True</property>
-                         <property name="secondary_icon_sensitive">True</property>
++                        <property name="halign">start</property>
 +                        <property name="adjustment">default_zoom_adj</property>
-                         <property name="digits">1</property>
-                         <property name="snap_to_ticks">True</property>
 +                      </object>
 +                      <packing>
 +                        <property name="expand">False</property>
 +                        <property name="fill">True</property>
 +                        <property name="position">0</property>
 +                      </packing>
 +                    </child>
-                     <child>
-                       <placeholder/>
-                     </child>
 +                  </object>
 +                  <packing>
-                     <property name="top_attach">8</property>
-                     <property name="bottom_attach">9</property>
-                     <property name="x_options">GTK_FILL</property>
-                     <property name="y_options">GTK_FILL</property>
-                     <property name="x_padding">12</property>
++                    <property name="left_attach">0</property>
++                    <property name="top_attach">7</property>
 +                  </packing>
 +                </child>
 +                <child>
-                   <object class="GtkLabel" id="label21">
-                     <property name="visible">True</property>
-                     <property name="can_focus">False</property>
-                   </object>
-                   <packing>
-                     <property name="top_attach">6</property>
-                     <property name="bottom_attach">7</property>
-                     <property name="x_options">GTK_FILL</property>
-                     <property name="y_options"/>
-                   </packing>
++                  <placeholder/>
++                </child>
++                <child>
++                  <placeholder/>
 +                </child>
 +                <child>
                    <placeholder/>
                  </child>
                  <child>
diff --cc src/gnome/CMakeLists.txt
index 9f59d7f,109251e..00fc3d8
--- a/src/gnome/CMakeLists.txt
+++ b/src/gnome/CMakeLists.txt
@@@ -97,9 -97,10 +97,9 @@@ IF (WIN32
    SET (gnc_gnome_SOURCES ${gnc_gnome_SOURCES} ${CMAKE_SOURCE_DIR}/lib/libc/strfmon.c)
  ENDIF(WIN32)
  
 -ADD_LIBRARY (gnc-gnome ${gnc_gnome_SOURCES} ${gnc_gnome_noinst_HEADERS})
 -
 +ADD_LIBRARY (gnc-gnome ${gnc_gnome_SOURCES} ${gnc_gnome_noinst_HEADERS} ${SWIG_GNOME_C})
  TARGET_LINK_LIBRARIES(gnc-gnome gncmod-gnome-search gncmod-ledger-core gncmod-report-gnome gncmod-report-system
-     gncmod-register-gnome gncmod-register-core gncmod-engine ${GTK2_LDFLAGS} ${GTK_MAC_LDFLAGS})
+     gncmod-register-gnome gncmod-register-core gncmod-engine ${GTK3_LDFLAGS} ${GTK_MAC_LDFLAGS})
  
  TARGET_COMPILE_DEFINITIONS (gnc-gnome PRIVATE -DG_LOG_DOMAIN=\"gnc.gui\" ${GTK_MAC_CFLAGS_OTHER})
  
diff --cc src/import-export/aqb/CMakeLists.txt
index 454040d,4c9756b..de2da9d
--- a/src/import-export/aqb/CMakeLists.txt
+++ b/src/import-export/aqb/CMakeLists.txt
@@@ -35,44 -35,40 +35,43 @@@ SET (aqbanking_noinst_HEADER
    gnc-plugin-aqbanking.h
  )
  
- SET(aqbanking_GLADE assistant-ab-initial.glade dialog-ab.glade)
 -ADD_LIBRARY (gncmod-aqbanking
 -  ${aqbanking_SOURCES}
 -  ${aqbanking_noinst_HEADERS}
++SET(aqbanking_GLADE assistant-ab-initial.glade dialog-ab.glade dialog-ab-pref.glade)
 +
 +SET(aqbanking_UI gnc-plugin-aqbanking-ui.xml)
 +
 +IF(WITH_AQBANKING)
 +  ADD_LIBRARY (gncmod-aqbanking
 +    ${aqbanking_SOURCES}
 +    ${aqbanking_noinst_HEADERS}
    )
  
 -SET(AQB_EXPORT_SYMBOLS "")
 -IF (WIN32)
 -  SET(AQB_EXPORT_SYMBOLS "-Wl,--export-all-symbols")
 -ENDIF()
  
 -TARGET_LINK_LIBRARIES(gncmod-aqbanking gnc-gnome gncmod-gnome-utils gncmod-generic-import gncmod-register-core
 -         gncmod-register-gnome gncmod-ledger-core gncmod-engine gnc-qof ${AQB_EXPORT_SYMBOLS} ${AQBANKING_LDFLAGS} ${GWENHYWFAR_LDFLAGS}
 -         ${GWENGUI_GTK2_LDFLAGS} ${GNOME_LDFLAGS} ${KTOBLZCHECK_LDFLAGS})
 +  SET(AQB_EXPORT_SYMBOLS "")
 +  IF (WIN32)
 +    SET(AQB_EXPORT_SYMBOLS "-Wl,--export-all-symbols")
 +  ENDIF()
  
 -TARGET_COMPILE_DEFINITIONS(gncmod-aqbanking PRIVATE -DG_LOG_DOMAIN=\"gnc.import.aqbanking\")
 + TARGET_LINK_LIBRARIES(gncmod-aqbanking gnc-gnome gncmod-gnome-utils gncmod-generic-import gncmod-register-core
 +           gncmod-register-gnome gncmod-ledger-core gncmod-engine gnc-qof ${AQB_EXPORT_SYMBOLS} ${AQBANKING_LDFLAGS} ${GWENHYWFAR_LDFLAGS}
 +          ${GWENGUI_GTK2_LDFLAGS} ${GNOME_LDFLAGS} ${KTOBLZCHECK_LDFLAGS})
  
 -TARGET_INCLUDE_DIRECTORIES(gncmod-aqbanking PRIVATE ${AQBANKING_INCLUDE_DIRS}
 -       ${GWENHYWFAR_INCLUDE_DIRS} ${KTOBLZCHECK_INCLUDE_DIRS})
 +  TARGET_COMPILE_DEFINITIONS(gncmod-aqbanking PRIVATE -DG_LOG_DOMAIN=\"gnc.import.aqbanking\")
  
 -INSTALL(TARGETS gncmod-aqbanking
 -  LIBRARY DESTINATION lib/gnucash
 -  ARCHIVE DESTINATION lib/gnucash
 -  RUNTIME DESTINATION bin)
 -# No headers to install
 +  TARGET_INCLUDE_DIRECTORIES(gncmod-aqbanking PRIVATE ${AQBANKING_INCLUDE_DIRS}
 +         ${GWENHYWFAR_INCLUDE_DIRS} ${KTOBLZCHECK_INCLUDE_DIRS})
  
 -SET(aqbanking_GLADE assistant-ab-initial.glade dialog-ab.glade dialog-ab-pref.glade)
 +  INSTALL(TARGETS gncmod-aqbanking
 +    LIBRARY DESTINATION lib/gnucash
 +    ARCHIVE DESTINATION lib/gnucash
 +    RUNTIME DESTINATION bin)
  
 -SET(aqbanking_UI gnc-plugin-aqbanking-ui.xml)
 +# No headers to install
  
 -INSTALL(FILES ${aqbanking_GLADE} DESTINATION share/gnucash/gtkbuilder)
  
- 
 -INSTALL(FILES ${aqbanking_UI} DESTINATION share/gnucash/ui)
 +  INSTALL(FILES ${aqbanking_GLADE} DESTINATION share/gnucash/gtkbuilder)
 +
 +  INSTALL(FILES ${aqbanking_UI} DESTINATION share/gnucash/ui)
  
 -IF (GNC_BUILD_AS_INSTALL)
    FILE(COPY ${aqbanking_UI}
      DESTINATION ${DATADIR_BUILD}/gnucash/ui)
    FILE(COPY ${aqbanking_GLADE}
diff --cc src/import-export/dialog-import.glade
index 19c6be3,761c933..2908cff
--- a/src/import-export/dialog-import.glade
+++ b/src/import-export/dialog-import.glade
@@@ -1,8 -1,53 +1,8 @@@
  <?xml version="1.0" encoding="UTF-8"?>
 -<!-- Generated with glade 3.20.0 -->
  <interface>
 -  <requires lib="gtk+" version="3.10"/>
 -  <object class="GtkBox" id="account_picker_content">
 -    <property name="visible">True</property>
 -    <property name="can_focus">False</property>
 -    <property name="orientation">vertical</property>
 -    <child>
 -      <object class="GtkLabel" id="label847715">
 -        <property name="visible">True</property>
 -        <property name="can_focus">False</property>
 -        <property name="label" translatable="yes">Please select or create an appropriate GnuCash account for:</property>
 -        <property name="justify">center</property>
 -      </object>
 -      <packing>
 -        <property name="expand">False</property>
 -        <property name="fill">False</property>
 -        <property name="position">0</property>
 -      </packing>
 -    </child>
 -    <child>
 -      <object class="GtkLabel" id="online_id_label">
 -        <property name="visible">True</property>
 -        <property name="can_focus">False</property>
 -        <property name="label" translatable="yes">Online account ID here...</property>
 -        <property name="justify">center</property>
 -      </object>
 -      <packing>
 -        <property name="expand">False</property>
 -        <property name="fill">False</property>
 -        <property name="position">1</property>
 -      </packing>
 -    </child>
 -    <child>
 -      <object class="GtkScrolledWindow" id="account_tree_sw">
 -        <property name="visible">True</property>
 -        <property name="can_focus">True</property>
 -        <child>
 -          <placeholder/>
 -        </child>
 -      </object>
 -      <packing>
 -        <property name="expand">True</property>
 -        <property name="fill">True</property>
 -        <property name="position">2</property>
 -      </packing>
 -    </child>
 -  </object>
 +  <requires lib="gtk+" version="2.16"/>
 +  <!-- interface-naming-policy project-wide -->
-   <object class="GtkDialog" id="account_picker">
+   <object class="GtkDialog" id="account_picker_dialog">
      <property name="visible">True</property>
      <property name="can_focus">False</property>
      <property name="title" translatable="yes">Select Account</property>
@@@ -1218,7 -1072,52 +1218,7 @@@
        <action-widget response="-7">matcher_help_close</action-widget>
      </action-widgets>
    </object>
-   <object class="GtkDialog" id="transaction_matcher">
 -  <object class="GtkBox" id="transaction_matcher_content">
 -    <property name="visible">True</property>
 -    <property name="can_focus">False</property>
 -    <property name="orientation">vertical</property>
 -    <child>
 -      <object class="GtkLabel" id="heading_label">
 -        <property name="visible">True</property>
 -        <property name="can_focus">False</property>
 -        <property name="label" translatable="yes">List of downloaded transactions (source split shown):</property>
 -        <property name="justify">center</property>
 -      </object>
 -      <packing>
 -        <property name="expand">False</property>
 -        <property name="fill">False</property>
 -        <property name="position">0</property>
 -      </packing>
 -    </child>
 -    <child>
 -      <object class="GtkScrolledWindow" id="scrolledwindow25">
 -        <property name="visible">True</property>
 -        <property name="can_focus">True</property>
 -        <property name="shadow_type">in</property>
 -        <child>
 -          <object class="GtkTreeView" id="downloaded_view">
 -            <property name="visible">True</property>
 -            <property name="can_focus">True</property>
 -            <property name="reorderable">True</property>
 -            <property name="rules_hint">True</property>
 -            <property name="enable_search">False</property>
 -            <child internal-child="selection">
 -              <object class="GtkTreeSelection" id="treeview-selection3"/>
 -            </child>
 -          </object>
 -        </child>
 -      </object>
 -      <packing>
 -        <property name="expand">True</property>
 -        <property name="fill">True</property>
 -        <property name="position">1</property>
 -      </packing>
 -    </child>
 -    <child>
 -      <placeholder/>
 -    </child>
 -  </object>
+   <object class="GtkDialog" id="transaction_matcher_dialog">
      <property name="can_focus">False</property>
      <property name="title" translatable="yes">Generic import transaction matcher</property>
      <property name="default_width">600</property>
diff --cc src/import-export/import-match-picker.c
index 4814245,a61cc00..5f0cc3d
--- a/src/import-export/import-match-picker.c
+++ b/src/import-export/import-match-picker.c
@@@ -461,16 -409,12 +461,16 @@@ init_match_picker_gui(GNCImportMatchPic
  
      /* load the interface */
      builder = gtk_builder_new();
-     gnc_builder_add_from_file (builder, "dialog-import.glade", "match_picker");
+     gnc_builder_add_from_file (builder, "dialog-import.glade", "match_picker_dialog");
      g_return_if_fail (builder != NULL);
  
-     matcher->transaction_matcher = GTK_WIDGET(gtk_builder_get_object (builder, "match_picker"));
+     matcher->transaction_matcher = GTK_WIDGET(gtk_builder_get_object (builder, "match_picker_dialog"));
      matcher->downloaded_view = (GtkTreeView *)GTK_WIDGET(gtk_builder_get_object (builder, "download_view"));
      matcher->match_view = (GtkTreeView *)GTK_WIDGET(gtk_builder_get_object (builder, "matched_view"));
 +    matcher->reconciled_chk = (GtkCheckButton *)GTK_WIDGET(gtk_builder_get_object(builder, "hide_reconciled_check1"));
 +    
 +    gnc_prefs_bind (GNC_PREFS_GROUP, GNC_PREF_DISPLAY_RECONCILED,
 +                    matcher->reconciled_chk, "active");
  
      gnc_import_match_picker_init_downloaded_view(matcher);
      gnc_import_match_picker_init_match_view(matcher);
diff --cc src/import-export/log-replay/CMakeLists.txt
index 12cdbd4,9e0fe6d..412d99d
--- a/src/import-export/log-replay/CMakeLists.txt
+++ b/src/import-export/log-replay/CMakeLists.txt
@@@ -30,8 -30,7 +30,8 @@@ SET(log_replay_UI gnc-plugin-log-replay
  
  INSTALL(FILES ${log_replay_UI} DESTINATION share/gnucash/ui)
  
 -IF (GNC_BUILD_AS_INSTALL)
 -  FILE(COPY ${log_replay_UI}
 -    DESTINATION ${DATADIR_BUILD}/gnucash/ui)
 -ENDIF()
 +FILE(COPY ${log_replay_UI}
 +  DESTINATION ${DATADIR_BUILD}/gnucash/ui)
 +
 +SET_DIST_LIST(log_report_DIST CMakeLists.txt Makefile.am
-         ${log_replay_SOURCES} ${log_replay_noinst_HEADERS} ${log_replay_UI})
++        ${log_replay_SOURCES} ${log_replay_noinst_HEADERS} ${log_replay_UI})
diff --cc src/pixmaps/CMakeLists.txt
index 285f177,ebdb8e1..61c69cc
--- a/src/pixmaps/CMakeLists.txt
+++ b/src/pixmaps/CMakeLists.txt
@@@ -2,15 -2,28 +2,24 @@@
  INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION share/gnucash
          PATTERN Makefile.* EXCLUDE
          PATTERN CMakeLists.txt EXCLUDE
+         PATTERN hicolor EXCLUDE
  )
  
+ INSTALL(DIRECTORY ${DATADIR_BUILD}/gnucash/icons DESTINATION share/gnucash
+         PATTERN Makefile.* EXCLUDE
+         PATTERN CMakeLists.txt EXCLUDE
+ )
  
 -IF (GNC_BUILD_AS_INSTALL)
 -  FILE(COPY .
 -     DESTINATION ${DATADIR_BUILD}/gnucash/pixmaps
 -     PATTERN Makefile.* EXCLUDE
 -     PATTERN CMakeLists.txt EXCLUDE
 -     PATTERN hicolor EXCLUDE
 -  )
 -ENDIF()
 +FILE(COPY .
 +   DESTINATION ${DATADIR_BUILD}/gnucash/pixmaps
 +   PATTERN Makefile.* EXCLUDE
 +   PATTERN CMakeLists.txt EXCLUDE
++   PATTERN hicolor EXCLUDE
 +)
  
 -IF (GNC_BUILD_AS_INSTALL)
 -  FILE(COPY hicolor
 -     DESTINATION ${DATADIR_BUILD}/gnucash/icons
 -  )
 -ENDIF()
++FILE(COPY hicolor
++   DESTINATION ${DATADIR_BUILD}/gnucash/icons
++)
  
  FOREACH(dir 256x256 128x128 96x96 64x64 48x48)
    INSTALL(
@@@ -120,79 -43,90 +129,78 @@@ INSTALL
  )
  
  INSTALL(
 -    FILES ${CMAKE_SOURCE_DIR}/art/tango/22x22/gnucash-22x22.png
 -    RENAME gnucash-icon.png
 -    DESTINATION share/icons/hicolor/22x22/apps
 +        FILES ${CMAKE_CURRENT_BINARY_DIR}/22x22/gnucash-icon.png
 +        DESTINATION share/icons/hicolor/22x22/apps
  )
  INSTALL(
 -    FILES ${CMAKE_SOURCE_DIR}/art/tango/22x22/gnucash-24x24.png
 -    RENAME gnucash-icon.png
 -    DESTINATION share/icons/hicolor/24x24/apps
 +        FILES ${CMAKE_CURRENT_BINARY_DIR}/24x24/gnucash-icon.png
 +        DESTINATION share/icons/hicolor/24x24/apps
  )
  INSTALL(
 -    FILES ${CMAKE_SOURCE_DIR}/art/tango/16x16/gnucash.png
 -    RENAME gnucash-icon.png
 -    DESTINATION share/icons/hicolor/16x16/apps
 +        FILES ${CMAKE_CURRENT_BINARY_DIR}/16x16/gnucash-icon.png
 +        DESTINATION share/icons/hicolor/16x16/apps
  )
  INSTALL(
 -    FILES ${CMAKE_SOURCE_DIR}/art/tango/scalable/gnucash.svg
 -    RENAME gnucash-icon.svg
 -    DESTINATION share/icons/hicolor/scalable/apps
 +        FILES ${CMAKE_CURRENT_BINARY_DIR}/scalable/gnucash-icon.svg
 +        DESTINATION share/icons/hicolor/scalable/apps
  )
  INSTALL(
 -    FILES ${CMAKE_SOURCE_DIR}/art/tango/16x16/gnucash.png
 -    RENAME gnucash-icon-16x16.png
 -    DESTINATION share/gnucash/pixmaps
 +        FILES ${CMAKE_CURRENT_BINARY_DIR}/gnucash-icon-16x16.png
 +        DESTINATION share/gnucash/pixmaps
  )
  INSTALL(
 -    FILES ${CMAKE_SOURCE_DIR}/art/tango/32x32/gnucash.png
 -    RENAME gnucash-icon-32x32.png
 -    DESTINATION share/gnucash/pixmaps
 +        FILES ${CMAKE_CURRENT_BINARY_DIR}/gnucash-icon-32x32.png
 +        DESTINATION share/gnucash/pixmaps
  )
  
 -IF (GNC_BUILD_AS_INSTALL)
 -  FILE(
 -    COPY ${CMAKE_SOURCE_DIR}/art/tango/32x32/gnucash.png
 -    DESTINATION ${DATADIR_BUILD}/icons/hicolor/32x32/apps
 -  )
 -  FILE(RENAME ${DATADIR_BUILD}/icons/hicolor/32x32/apps/gnucash.png
 -    ${DATADIR_BUILD}/icons/hicolor/32x32/apps/gnucash-icon.png
 -    )
 -
 -  FILE(
 -    COPY ${CMAKE_SOURCE_DIR}/art/tango/22x22/gnucash-22x22.png
 -    DESTINATION ${DATADIR_BUILD}/icons/hicolor/22x22/apps
 -  )
 -  FILE(RENAME ${DATADIR_BUILD}/icons/hicolor/22x22/apps/gnucash-22x22.png
 -    ${DATADIR_BUILD}/icons/hicolor/22x22/apps/gnucash-icon.png
 -    )
 -  FILE(
 -    COPY ${CMAKE_SOURCE_DIR}/art/tango/22x22/gnucash-24x24.png
 -    DESTINATION ${DATADIR_BUILD}/icons/hicolor/24x24/apps
 -  )
 -  FILE(RENAME ${DATADIR_BUILD}/icons/hicolor/24x24/apps/gnucash-24x24.png
 -    ${DATADIR_BUILD}/icons/hicolor/24x24/apps/gnucash-icon.png
 -  )
 -
 -  FILE(
 -    COPY ${CMAKE_SOURCE_DIR}/art/tango/16x16/gnucash.png
 -    DESTINATION ${DATADIR_BUILD}/icons/hicolor/16x16/apps
 -  )
 -  FILE(RENAME ${DATADIR_BUILD}/icons/hicolor/16x16/apps/gnucash.png
 -    ${DATADIR_BUILD}/icons/hicolor/16x16/apps/gnucash-icon.png
 -  )
 -
 -  FILE(
 -    COPY ${CMAKE_SOURCE_DIR}/art/tango/scalable/gnucash.svg
 -    DESTINATION ${DATADIR_BUILD}/icons/hicolor/scalable/apps
 -  )
 -  FILE(RENAME ${DATADIR_BUILD}/icons/hicolor/scalable/apps/gnucash.svg
 -    ${DATADIR_BUILD}/icons/hicolor/scalable/apps/gnucash-icon.svg
 -  )
 -
 -  FILE(
 -    COPY ${CMAKE_SOURCE_DIR}/art/tango/16x16/gnucash.png
 -    DESTINATION ${DATADIR_BUILD}/gnucash/pixmaps
 -  )
 -  FILE(RENAME ${DATADIR_BUILD}/gnucash/pixmaps/gnucash.png
 -              ${DATADIR_BUILD}/gnucash/pixmaps/gnucash-icon-16x16.png
 -  )
 -
 -  FILE(
 -    COPY ${CMAKE_SOURCE_DIR}/art/tango/32x32/gnucash.png
 -    DESTINATION ${DATADIR_BUILD}/gnucash/pixmaps
 -  )
 -  FILE(RENAME ${DATADIR_BUILD}/gnucash/pixmaps/gnucash.png
 -    ${DATADIR_BUILD}/gnucash/pixmaps/gnucash-icon-32x32.png
 -  )
 +SET(gncpixmap_DATA
 +        gnc-account-16.png
 +        gnc-account-delete-16.png
 +        gnc-account-delete.png
 +        gnc-account-edit-16.png
 +        gnc-account-edit.png
 +        gnc-account-new-16.png
 +        gnc-account-new.png
 +        gnc-account-open-16.png
 +        gnc-account-open.png
 +        gnc-account.png
 +        gnc-account-report-16.png
 +        gnc-account-report.png
 +        gnc-gnome-pdf-16.png
 +        gnc-gnome-pdf-24.png
 +        gnc-invoice-16.png
 +        gnc-invoice-duplicate-16.png
 +        gnc-invoice-duplicate.png
 +        gnc-invoice-edit-16.png
 +        gnc-invoice-edit.png
 +        gnc-invoice-new-16.png
 +        gnc-invoice-new.png
 +        gnc-invoice-pay-16.png
 +        gnc-invoice-pay.png
 +        gnc-invoice.png
 +        gnc-invoice-post-16.png
 +        gnc-invoice-post.png
 +        gnc-invoice-unpost-16.png
 +        gnc-invoice-unpost.png
 +        gnc-jumpto-16.png
 +        gnc-jumpto.png
 +        gnc-split-trans-16.png
 +        gnc-split-trans.png
 +        gnc-sx-new-16.png
 +        gnc-sx-new.png
 +        gnc-transfer-16.png
 +        gnc-transfer.png
 +        gnucash-icon-128x128.png
 +        gnucash-icon-256x256.png
 +        gnucash-icon-48x48.png
 +        gnucash-icon-48x48.bmp
 +        gnucash-icon-64x64.png
 +        gnucash-icon-96x96.png
 +        gnucash-icon.ico
 +        gnucash_splash.png
 +        stock_split_title.png
 +        stock_split_watermark.png
 +)
  
 -ENDIF()
 +SET_LOCAL_DIST(pixmaps_DIST_local CMakeLists.txt Makefile.am ${gncpixmap_DATA})
 +SET(pixmaps_DIST ${pixmaps_DIST_local} PARENT_SCOPE)
- 
diff --cc src/report/report-gnome/CMakeLists.txt
index 89b7dd6,0e14169..263b294
--- a/src/report/report-gnome/CMakeLists.txt
+++ b/src/report/report-gnome/CMakeLists.txt
@@@ -27,10 -28,9 +27,10 @@@ SET (report_gnome_SOURCE
  ADD_LIBRARY (gncmod-report-gnome
    ${report_gnome_SOURCES}
    ${report_gnome_HEADERS}
 +  ${SWIG_REPORT_GNOME_C}
  )
  TARGET_LINK_LIBRARIES(gncmod-report-gnome gncmod-report-system gncmod-html gncmod-gnome-utils
-       gnc-qof ${GUILE_LDFLAGS} ${GTK2_LDFLAGS})
+       gnc-qof ${GUILE_LDFLAGS} ${GTK3_LDFLAGS})
  
  TARGET_COMPILE_DEFINITIONS (gncmod-report-gnome PRIVATE -DG_LOG_DOMAIN=\"gnc.report.gui\")
  

commit 078467e3f92934c47d6ff047e47388f171d01821
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Thu Jul 6 10:03:58 2017 +0100

    Make the About dialog sizeable and format AUTHORS and DOCUMENTERS
    
    The & needed to be escaped and the hyperlinks so the text can be better
    formatted.

diff --git a/AUTHORS b/AUTHORS
index ba4b436..f1dcd9a 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,11 +1,8 @@
 GETTING HELP: If you need help with GnuCash, please do not contact any
-of the Authors directly. Instead, first look at
-http://wiki.gnucash.org/wiki/FAQ to see if your question is common and
-is answered there. If that doesn't help, there are mailing lists in
-English, Dutch, French, German, Italian, and Portuguese and an English
-IRC channel. More information can be found at
-http://wiki.gnucash.org/wiki/Mailing_Lists and
-http://wiki.gnucash.org/wiki/IRC.
+of the Authors directly. Instead, first look at the <a href="http://wiki.gnucash.org/wiki/FAQ">FAQ</a> to see if your question
+is common and is answered there. If that doesn't help, there are mailing
+lists in English, Dutch, French, German, Italian, Portuguese and an English
+IRC channel. More information can be found at for <a href="http://wiki.gnucash.org/wiki/Mailing_Lists">Mailing List</a> and <a href="http://wiki.gnucash.org/wiki/IRC">IRC</a>.
 
 Current Project Team:
 =====================
@@ -47,7 +44,7 @@ Linas Vepstas liked what he saw: the GUI was slick, the code was
    X-Accountant internals to add double-entry, an account hierarchy,
    split out a transaction mini-engine, add support for stocks, and
    spiffed up the help menus.  All for version 1.0 as of January 1998.
-   Since then, for version 1.1 & 1.2, the engine was expanded &
+   Since then, for version 1.1 & 1.2, the engine was expanded &
    refined, and the register window code completely redesigned and
    made mostly Motif-(and GUI-)independent.
 
@@ -87,7 +84,7 @@ Christian Stimming was a report-generating monster. He's been one of
    translation.
 
 Joshua Sled worked on scheduled transactions and general project
-   monkeying (IRC bot, logs, website maintenance, bug-triage, &c.).
+   monkeying (IRC bot, logs, website maintenance, bug-triage, &c.).
 
 Derek Atkins wrote the business-accounting package for Gnucash. This
    includes the Customer/Vendor database, Job tracking, Order entry,
@@ -129,11 +126,11 @@ Other Contributors:
 (In alphabetical order)
 
 Mike Alexander Cap gains, lot and MacOS fixes.
-Andrew Arensburger for FreeBSD & other patches
+Andrew Arensburger for FreeBSD & other patches
 Matt Armstrong for misc fixes
 Jon Arney  Windows porting patches, misc fixes
 A. Alper Atici Turkish translation
-J. Alex Aycinena  Heavily improved Tax Report & TXF export
+J. Alex Aycinena  Heavily improved Tax Report & TXF export
 Roman Bertle Austrian German account templates
 Jan-Pascal van Best MT940 importer
 Dennis Björklund Swedish translation
@@ -153,10 +150,10 @@ Conrad Canterford  register bug fix
 Bill Carlson  performance improvements
 David Marín Carreño  Spanish translation of account setup.
 Tomas Cernaj  GType consistency changes, register fixes
-Carol Champagne  documentation & a patient GUI usability critic
+Carol Champagne  documentation & a patient GUI usability critic
 Nikos Charonitakis  Greek translation
 Graham Chapman  for the xacc-rpts addon package
-George Chen  for MS-Money QIF's & fixes
+George Chen  for MS-Money QIF's & fixes
 Albert Chin-A-Young  configure.in patch
 Kenneth Christiansen  Danish translation
 Matthew Condell  FreeBSD patch
@@ -164,7 +161,7 @@ Patrick Condron  for webserver and T1 connection (credits to rackspace.com)
 Raphael Dechenaux  register patch
 Ciaran Deignan  for AIX binary version
 Glen Ditchfield  updated documentation
-Tyson Dowd  for config/make patches & debian maint
+Tyson Dowd  for config/make patches & debian maint
 Koen D'Hondt  for Solaris patches to XmHTML
 Bob Drzyzgula  for budgeting design notes
 Frank H. Ellenberger  small things, usually germany related
@@ -187,7 +184,8 @@ Christoph Franzen  German account template for Wohnungswirtschaft business
 Dave Freese  for leap-year fix
 Todd T. Fries  OpenBSD fix
 John Goerzen  file i/o fix for 64-bit architectures
-Jeff Green  Python bindings, with grant funding from Assiniboine Credit Union (http://assiniboine.mb.ca/)
+Jeff Green  Python bindings, with grant funding from
+  <a href="http://assiniboine.mb.ca/">Assiniboine Credit Union</a>
 Hans de Graaff  XML patches
 Daniel Hagerty  patch to balance sheet report
 Mitsuo Hamada  messages Japanese translations
@@ -207,7 +205,9 @@ Edward J. Huff  Date handling in reports, quarterly option
 Tomokazu Iwashita  Japanese translation of xea
 Geert Janssens  GUI fixes for Lots, autocompletion in gnc-general-search, several small fixes
 David Jafferian  Delete account query code.
-Mark Jenkins  Python bindings, with grant funding from Assiniboine Credit Union (http://assiniboine.mb.ca/) and Legal Aid Manitoba (http://www.legalaid.mb.ca/)
+Mark Jenkins  Python bindings, with grant funding from
+  <a href="http://assiniboine.mb.ca/">Assiniboine Credit Union</a> and
+  <a href="http://www.legalaid.mb.ca/">Legal Aid Manitoba</a>
 Rich Johnson  Mac OS X patch
 Miquel Jordana Vilamitjana  Spanish translation of manual
 Prakash Kailasa  for gnome build fixes
@@ -263,7 +263,7 @@ Martin Norbäck  Swedish translation
 Peter Norton  for a valiant attempt at a GTK port
 Bill Nottingham  guile configure patch
 Peter O'Gorman  file i/o patches, Mac OS X patches
-OmNiBuS  web site graphics & content
+OmNiBuS  web site graphics & content
 Gordon Oliver  multiple currency status line patch
 Scott Oonk  register changes for utf-8 and pango.
 Alan Orndorff  Solaris packager
@@ -277,7 +277,7 @@ Gavin Porter  for euro style dates
 Tomas Pospisek  Debian patches
 Paul Poulain  French translations
 John Ralls  MacOSX integration
-Ron Record  for SCO Unixware & OpenServer binaries
+Ron Record  for SCO Unixware & OpenServer binaries
 Keith Refson  Solaris fixes
 Jerry Quinn  Bugfixes
 Andreas Rottmann  fixes for g-wrap 1.9
@@ -293,20 +293,20 @@ Keld Simonsen  messages Danish translation
 Richard Skelton  for Solaris cleanup
 Thomas Vander Stichele  Macro for filtering system directories
 James Strandboge  "Easy" Invoice report
-Henning Spruth  for German text & euro date rework
+Henning Spruth  for German text & euro date rework
 Ben Stanley  test infrastructure
-Robby Stephenson  register & file history patches
+Robby Stephenson  register & file history patches
 Robert Stocks  additional register report options
 Michael T. Garrison Stuber  report patch
 Bartek Szady  engine and build system patches
-Herbert Thoma  gnome register & euro support patches
+Herbert Thoma  gnome register & euro support patches
 Tor Harald Thorland  testing, Norwegian translation
 Nigel Titley  British English translation
 James A. Treacy  doc patch
 Arnold Troeger  Mandrake packager
 Diane Trout  scheme QIF import patch
 Nicolae Turcan  Romanian translation
-Richard -Gilligan- Uschold  tax report & txf export
+Richard -Gilligan- Uschold  tax report & txf export
 Tom Van Braeckel  various patches and fixes
 Matthew Vanecek  lots of postgres backend work
 Didier Vidal  various G2 fixes.
diff --git a/DOCUMENTERS b/DOCUMENTERS
index cee6c1b..e818d31 100644
--- a/DOCUMENTERS
+++ b/DOCUMENTERS
@@ -1,9 +1,8 @@
-GETTING HELP: If you need help with GnuCash, please do not contact any of the
-Documentors directly. Instead, first look at http://wiki.gnucash.org/wiki/FAQ to
-see if your question is common and is answered there. If that doesn't help,
-there are mailing lists in English, Dutch, French, German, Italian, and
-Portuguese and an English IRC channel. More information can be found at
-http://wiki.gnucash.org/wiki/Mailing_Lists and http://wiki.gnucash.org/wiki/IRC.
+GETTING HELP: If you need help with GnuCash, please do not contact any
+of the Documentors directly. Instead, first look at the <a href="http://wiki.gnucash.org/wiki/FAQ">FAQ</a> to see if your question
+is common and is answered there. If that doesn't help, there are mailing
+lists in English, Dutch, French, German, Italian, Portuguese and an English
+IRC channel. More information can be found at for <a href="http://wiki.gnucash.org/wiki/Mailing_Lists">Mailing List</a> and <a href="http://wiki.gnucash.org/wiki/IRC">IRC</a>.
 
 Contributors:
 
diff --git a/src/gnome-utils/gnc-main-window.c b/src/gnome-utils/gnc-main-window.c
index 7cdac3e..e335752 100644
--- a/src/gnome-utils/gnc-main-window.c
+++ b/src/gnome-utils/gnc-main-window.c
@@ -4481,6 +4481,10 @@ gnc_main_window_cmd_help_about (GtkAction *action, GncMainWindow *window)
 			  G_CALLBACK (url_signal_cb), NULL);
 	g_signal_connect (priv->about_dialog, "response",
 			  G_CALLBACK (gtk_widget_hide), NULL);
+
+        /* Set dialog to resize. */
+        gtk_window_set_resizable(GTK_WINDOW(priv->about_dialog), TRUE);
+
 	gtk_window_set_transient_for (GTK_WINDOW (priv->about_dialog),
 				      GTK_WINDOW (window));
     }

commit 06fef53a22427478a623f6c686978416e0c6af5b
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jul 4 16:27:45 2017 +0100

    Replace Gtk3.14 function gtk_icon_theme_add_builtin_icon

diff --git a/src/gnome-utils/gnc-icons.c b/src/gnome-utils/gnc-icons.c
index 9792b4f..f7c222d 100644
--- a/src/gnome-utils/gnc-icons.c
+++ b/src/gnome-utils/gnc-icons.c
@@ -66,14 +66,32 @@ static item_file item_files[] =
 void
 gnc_load_app_icons (void)
 {
+#if GTK_CHECK_VERSION(3,14,0)
+    GtkIconTheme *icon_theme = gtk_icon_theme_get_default ();
+#endif
     item_file *file;
     const gchar *default_path;
     gchar* pkgdatadir = gnc_path_get_pkgdatadir ();
     default_path = g_build_filename (pkgdatadir, "icons", NULL);
-    g_free(pkgdatadir);
+    g_free (pkgdatadir);
+
+#if GTK_CHECK_VERSION(3,14,0)
+    gtk_icon_theme_append_search_path (icon_theme, default_path);
+#endif
 
     for (file = item_files; file->icon_name; file++)
     {
+#if GTK_CHECK_VERSION(3,14,0)
+
+        gint *icon_sizes = gtk_icon_theme_get_icon_sizes (icon_theme, file->icon_name);
+
+        if ((icon_sizes[0] != 16) && (icon_sizes[1] != 24))
+            g_warning ("Required icon size for icon name '%s' not found", file->icon_name);
+        g_free (icon_sizes);
+
+        // check to see if we have at least one size for the named icons loaded
+        g_assert (gtk_icon_theme_has_icon (icon_theme, file->icon_name));
+#else
         GdkPixbuf *pixbuf_sm, *pixbuf_lg;
         char *fullname_sm, *fullname_lg;
         fullname_sm = g_strconcat (default_path, "/hicolor/16x16/actions/", file->filename, NULL);
@@ -93,5 +111,6 @@ gnc_load_app_icons (void)
 
         g_free (fullname_sm);
         g_free (fullname_lg);
+#endif
     }
 }

commit 737648c98d3ced90ac1dc5ed47d1d8eb48d49918
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jul 4 16:27:04 2017 +0100

    Missed this from previous commit

diff --git a/src/pixmaps/CMakeLists.txt b/src/pixmaps/CMakeLists.txt
index c05254f..ebdb8e1 100644
--- a/src/pixmaps/CMakeLists.txt
+++ b/src/pixmaps/CMakeLists.txt
@@ -6,6 +6,8 @@ INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION share/gnucash
 )
 
 INSTALL(DIRECTORY ${DATADIR_BUILD}/gnucash/icons DESTINATION share/gnucash
+        PATTERN Makefile.* EXCLUDE
+        PATTERN CMakeLists.txt EXCLUDE
 )
 
 IF (GNC_BUILD_AS_INSTALL)

commit 4aea4c551e3f5e29e9324c41243e980dddcbb4d1
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jul 4 15:21:27 2017 +0100

    Rearrange the pixmap folder to contain a hicolor directory structure
    
    Add a hicolor directory structure and move the existing icons to this
    folder structure and update the gnc-icons.c file to reflect the changes

diff --git a/src/gnome-utils/gnc-icons.c b/src/gnome-utils/gnc-icons.c
index b939fb8..9792b4f 100644
--- a/src/gnome-utils/gnc-icons.c
+++ b/src/gnome-utils/gnc-icons.c
@@ -32,34 +32,34 @@
 #include "gnc-icons.h"
 #include "gnc-filepath-utils.h"
 #include "gnc-gnome-utils.h"
+#include "gnc-path.h"
 
 typedef struct _item_file
 {
     const gchar *icon_name;
-    const gchar *filename_lg;
-    const gchar *filename_sm;
+    const gchar *filename;
 } item_file;
 
 static item_file item_files[] =
 {
-    { GNC_ICON_ACCOUNT,           "gnc-account.png",           "gnc-account-16.png"},
-    { GNC_ICON_ACCOUNT_REPORT,    "gnc-account-report.png",    "gnc-account-report-16.png"},
-    { GNC_ICON_DELETE_ACCOUNT,    "gnc-account-delete.png",    "gnc-account-delete-16.png"},
-    { GNC_ICON_EDIT_ACCOUNT,      "gnc-account-edit.png",      "gnc-account-edit-16.png"},
-    { GNC_ICON_NEW_ACCOUNT,       "gnc-account-new.png",       "gnc-account-new-16.png"},
-    { GNC_ICON_OPEN_ACCOUNT,      "gnc-account-open.png",      "gnc-account-open-16.png"},
-    { GNC_ICON_TRANSFER,          "gnc-transfer.png",          "gnc-transfer-16.png"},
-    { GNC_ICON_SCHEDULE,          "gnc-sx-new.png",            "gnc-sx-new-16.png"},
-    { GNC_ICON_SPLIT_TRANS,       "gnc-split-trans.png",       "gnc-split-trans-16.png"},
-    { GNC_ICON_JUMP_TO,           "gnc-jumpto.png",            "gnc-jumpto-16.png"},
-    { GNC_ICON_INVOICE,           "gnc-invoice.png",           "gnc-invoice-16.png"},
-    { GNC_ICON_INVOICE_PAY,       "gnc-invoice-pay.png",       "gnc-invoice-pay-16.png"},
-    { GNC_ICON_INVOICE_POST,      "gnc-invoice-post.png",      "gnc-invoice-post-16.png"},
-    { GNC_ICON_INVOICE_UNPOST,    "gnc-invoice-unpost.png",    "gnc-invoice-unpost-16.png"},
-    { GNC_ICON_INVOICE_NEW,       "gnc-invoice-new.png",       "gnc-invoice-new-16.png"},
-    { GNC_ICON_INVOICE_EDIT,      "gnc-invoice-edit.png",      "gnc-invoice-edit-16.png"},
-    { GNC_ICON_INVOICE_DUPLICATE, "gnc-invoice-duplicate.png", "gnc-invoice-duplicate-16.png"},
-    { GNC_ICON_PDF_EXPORT,        "gnc-gnome-pdf-24.png",      "gnc-gnome-pdf-16.png"},
+    { GNC_ICON_ACCOUNT,           "gnc-account.png"},
+    { GNC_ICON_ACCOUNT_REPORT,    "gnc-account-report.png"},
+    { GNC_ICON_DELETE_ACCOUNT,    "gnc-account-delete.png"},
+    { GNC_ICON_EDIT_ACCOUNT,      "gnc-account-edit.png"},
+    { GNC_ICON_NEW_ACCOUNT,       "gnc-account-new.png"},
+    { GNC_ICON_OPEN_ACCOUNT,      "gnc-account-open.png"},
+    { GNC_ICON_TRANSFER,          "gnc-transfer.png"},
+    { GNC_ICON_SCHEDULE,          "gnc-sx-new.png"},
+    { GNC_ICON_SPLIT_TRANS,       "gnc-split-trans.png"},
+    { GNC_ICON_JUMP_TO,           "gnc-jumpto.png"},
+    { GNC_ICON_INVOICE,           "gnc-invoice.png"},
+    { GNC_ICON_INVOICE_PAY,       "gnc-invoice-pay.png"},
+    { GNC_ICON_INVOICE_POST,      "gnc-invoice-post.png"},
+    { GNC_ICON_INVOICE_UNPOST,    "gnc-invoice-unpost.png"},
+    { GNC_ICON_INVOICE_NEW,       "gnc-invoice-new.png"},
+    { GNC_ICON_INVOICE_EDIT,      "gnc-invoice-edit.png"},
+    { GNC_ICON_INVOICE_DUPLICATE, "gnc-invoice-duplicate.png"},
+    { GNC_ICON_PDF_EXPORT,        "gnc-gnome-pdf.png"},
     { 0 },
 };
 
@@ -67,14 +67,18 @@ void
 gnc_load_app_icons (void)
 {
     item_file *file;
+    const gchar *default_path;
+    gchar* pkgdatadir = gnc_path_get_pkgdatadir ();
+    default_path = g_build_filename (pkgdatadir, "icons", NULL);
+    g_free(pkgdatadir);
 
     for (file = item_files; file->icon_name; file++)
     {
         GdkPixbuf *pixbuf_sm, *pixbuf_lg;
-        char *fullname_sm = NULL, *fullname_lg = NULL;
+        char *fullname_sm, *fullname_lg;
+        fullname_sm = g_strconcat (default_path, "/hicolor/16x16/actions/", file->filename, NULL);
+        fullname_lg = g_strconcat (default_path, "/hicolor/24x24/actions/", file->filename, NULL);
 
-        fullname_sm = gnc_filepath_locate_pixmap (file->filename_sm);
-        fullname_lg = gnc_filepath_locate_pixmap (file->filename_lg);
         g_assert (fullname_sm && fullname_lg);
 
         pixbuf_sm = gnc_gnome_get_gdkpixbuf (fullname_sm);
@@ -86,5 +90,8 @@ gnc_load_app_icons (void)
 
         g_object_unref(pixbuf_sm);
         g_object_unref(pixbuf_lg);
+
+        g_free (fullname_sm);
+        g_free (fullname_lg);
     }
 }
diff --git a/src/pixmaps/CMakeLists.txt b/src/pixmaps/CMakeLists.txt
index 2f0fb27..c05254f 100644
--- a/src/pixmaps/CMakeLists.txt
+++ b/src/pixmaps/CMakeLists.txt
@@ -2,6 +2,10 @@
 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION share/gnucash
         PATTERN Makefile.* EXCLUDE
         PATTERN CMakeLists.txt EXCLUDE
+        PATTERN hicolor EXCLUDE
+)
+
+INSTALL(DIRECTORY ${DATADIR_BUILD}/gnucash/icons DESTINATION share/gnucash
 )
 
 IF (GNC_BUILD_AS_INSTALL)
@@ -9,6 +13,13 @@ IF (GNC_BUILD_AS_INSTALL)
      DESTINATION ${DATADIR_BUILD}/gnucash/pixmaps
      PATTERN Makefile.* EXCLUDE
      PATTERN CMakeLists.txt EXCLUDE
+     PATTERN hicolor EXCLUDE
+  )
+ENDIF()
+
+IF (GNC_BUILD_AS_INSTALL)
+  FILE(COPY hicolor
+     DESTINATION ${DATADIR_BUILD}/gnucash/icons
   )
 ENDIF()
 
@@ -116,4 +127,4 @@ IF (GNC_BUILD_AS_INSTALL)
     ${DATADIR_BUILD}/gnucash/pixmaps/gnucash-icon-32x32.png
   )
 
-ENDIF()
\ No newline at end of file
+ENDIF()
diff --git a/src/pixmaps/gnc-account-delete-16.png b/src/pixmaps/hicolor/16x16/actions/gnc-account-delete.png
similarity index 100%
rename from src/pixmaps/gnc-account-delete-16.png
rename to src/pixmaps/hicolor/16x16/actions/gnc-account-delete.png
diff --git a/src/pixmaps/gnc-account-edit-16.png b/src/pixmaps/hicolor/16x16/actions/gnc-account-edit.png
similarity index 100%
rename from src/pixmaps/gnc-account-edit-16.png
rename to src/pixmaps/hicolor/16x16/actions/gnc-account-edit.png
diff --git a/src/pixmaps/gnc-account-new-16.png b/src/pixmaps/hicolor/16x16/actions/gnc-account-new.png
similarity index 100%
rename from src/pixmaps/gnc-account-new-16.png
rename to src/pixmaps/hicolor/16x16/actions/gnc-account-new.png
diff --git a/src/pixmaps/gnc-account-open-16.png b/src/pixmaps/hicolor/16x16/actions/gnc-account-open.png
similarity index 100%
rename from src/pixmaps/gnc-account-open-16.png
rename to src/pixmaps/hicolor/16x16/actions/gnc-account-open.png
diff --git a/src/pixmaps/gnc-account-report-16.png b/src/pixmaps/hicolor/16x16/actions/gnc-account-report.png
similarity index 100%
rename from src/pixmaps/gnc-account-report-16.png
rename to src/pixmaps/hicolor/16x16/actions/gnc-account-report.png
diff --git a/src/pixmaps/gnc-account-16.png b/src/pixmaps/hicolor/16x16/actions/gnc-account.png
similarity index 100%
rename from src/pixmaps/gnc-account-16.png
rename to src/pixmaps/hicolor/16x16/actions/gnc-account.png
diff --git a/src/pixmaps/gnc-gnome-pdf-16.png b/src/pixmaps/hicolor/16x16/actions/gnc-gnome-pdf.png
similarity index 100%
rename from src/pixmaps/gnc-gnome-pdf-16.png
rename to src/pixmaps/hicolor/16x16/actions/gnc-gnome-pdf.png
diff --git a/src/pixmaps/gnc-invoice-duplicate-16.png b/src/pixmaps/hicolor/16x16/actions/gnc-invoice-duplicate.png
similarity index 100%
rename from src/pixmaps/gnc-invoice-duplicate-16.png
rename to src/pixmaps/hicolor/16x16/actions/gnc-invoice-duplicate.png
diff --git a/src/pixmaps/gnc-invoice-edit-16.png b/src/pixmaps/hicolor/16x16/actions/gnc-invoice-edit.png
similarity index 100%
rename from src/pixmaps/gnc-invoice-edit-16.png
rename to src/pixmaps/hicolor/16x16/actions/gnc-invoice-edit.png
diff --git a/src/pixmaps/gnc-invoice-new-16.png b/src/pixmaps/hicolor/16x16/actions/gnc-invoice-new.png
similarity index 100%
rename from src/pixmaps/gnc-invoice-new-16.png
rename to src/pixmaps/hicolor/16x16/actions/gnc-invoice-new.png
diff --git a/src/pixmaps/gnc-invoice-pay-16.png b/src/pixmaps/hicolor/16x16/actions/gnc-invoice-pay.png
similarity index 100%
rename from src/pixmaps/gnc-invoice-pay-16.png
rename to src/pixmaps/hicolor/16x16/actions/gnc-invoice-pay.png
diff --git a/src/pixmaps/gnc-invoice-post-16.png b/src/pixmaps/hicolor/16x16/actions/gnc-invoice-post.png
similarity index 100%
rename from src/pixmaps/gnc-invoice-post-16.png
rename to src/pixmaps/hicolor/16x16/actions/gnc-invoice-post.png
diff --git a/src/pixmaps/gnc-invoice-unpost-16.png b/src/pixmaps/hicolor/16x16/actions/gnc-invoice-unpost.png
similarity index 100%
rename from src/pixmaps/gnc-invoice-unpost-16.png
rename to src/pixmaps/hicolor/16x16/actions/gnc-invoice-unpost.png
diff --git a/src/pixmaps/gnc-invoice-16.png b/src/pixmaps/hicolor/16x16/actions/gnc-invoice.png
similarity index 100%
rename from src/pixmaps/gnc-invoice-16.png
rename to src/pixmaps/hicolor/16x16/actions/gnc-invoice.png
diff --git a/src/pixmaps/gnc-jumpto-16.png b/src/pixmaps/hicolor/16x16/actions/gnc-jumpto.png
similarity index 100%
rename from src/pixmaps/gnc-jumpto-16.png
rename to src/pixmaps/hicolor/16x16/actions/gnc-jumpto.png
diff --git a/src/pixmaps/gnc-split-trans-16.png b/src/pixmaps/hicolor/16x16/actions/gnc-split-trans.png
similarity index 100%
rename from src/pixmaps/gnc-split-trans-16.png
rename to src/pixmaps/hicolor/16x16/actions/gnc-split-trans.png
diff --git a/src/pixmaps/gnc-sx-new-16.png b/src/pixmaps/hicolor/16x16/actions/gnc-sx-new.png
similarity index 100%
rename from src/pixmaps/gnc-sx-new-16.png
rename to src/pixmaps/hicolor/16x16/actions/gnc-sx-new.png
diff --git a/src/pixmaps/gnc-transfer-16.png b/src/pixmaps/hicolor/16x16/actions/gnc-transfer.png
similarity index 100%
rename from src/pixmaps/gnc-transfer-16.png
rename to src/pixmaps/hicolor/16x16/actions/gnc-transfer.png
diff --git a/src/pixmaps/gnc-account-delete.png b/src/pixmaps/hicolor/24x24/actions/gnc-account-delete.png
similarity index 100%
rename from src/pixmaps/gnc-account-delete.png
rename to src/pixmaps/hicolor/24x24/actions/gnc-account-delete.png
diff --git a/src/pixmaps/gnc-account-edit.png b/src/pixmaps/hicolor/24x24/actions/gnc-account-edit.png
similarity index 100%
rename from src/pixmaps/gnc-account-edit.png
rename to src/pixmaps/hicolor/24x24/actions/gnc-account-edit.png
diff --git a/src/pixmaps/gnc-account-new.png b/src/pixmaps/hicolor/24x24/actions/gnc-account-new.png
similarity index 100%
rename from src/pixmaps/gnc-account-new.png
rename to src/pixmaps/hicolor/24x24/actions/gnc-account-new.png
diff --git a/src/pixmaps/gnc-account-open.png b/src/pixmaps/hicolor/24x24/actions/gnc-account-open.png
similarity index 100%
rename from src/pixmaps/gnc-account-open.png
rename to src/pixmaps/hicolor/24x24/actions/gnc-account-open.png
diff --git a/src/pixmaps/gnc-account-report.png b/src/pixmaps/hicolor/24x24/actions/gnc-account-report.png
similarity index 100%
rename from src/pixmaps/gnc-account-report.png
rename to src/pixmaps/hicolor/24x24/actions/gnc-account-report.png
diff --git a/src/pixmaps/gnc-account.png b/src/pixmaps/hicolor/24x24/actions/gnc-account.png
similarity index 100%
rename from src/pixmaps/gnc-account.png
rename to src/pixmaps/hicolor/24x24/actions/gnc-account.png
diff --git a/src/pixmaps/gnc-gnome-pdf-24.png b/src/pixmaps/hicolor/24x24/actions/gnc-gnome-pdf.png
similarity index 100%
rename from src/pixmaps/gnc-gnome-pdf-24.png
rename to src/pixmaps/hicolor/24x24/actions/gnc-gnome-pdf.png
diff --git a/src/pixmaps/gnc-invoice-duplicate.png b/src/pixmaps/hicolor/24x24/actions/gnc-invoice-duplicate.png
similarity index 100%
rename from src/pixmaps/gnc-invoice-duplicate.png
rename to src/pixmaps/hicolor/24x24/actions/gnc-invoice-duplicate.png
diff --git a/src/pixmaps/gnc-invoice-edit.png b/src/pixmaps/hicolor/24x24/actions/gnc-invoice-edit.png
similarity index 100%
rename from src/pixmaps/gnc-invoice-edit.png
rename to src/pixmaps/hicolor/24x24/actions/gnc-invoice-edit.png
diff --git a/src/pixmaps/gnc-invoice-new.png b/src/pixmaps/hicolor/24x24/actions/gnc-invoice-new.png
similarity index 100%
rename from src/pixmaps/gnc-invoice-new.png
rename to src/pixmaps/hicolor/24x24/actions/gnc-invoice-new.png
diff --git a/src/pixmaps/gnc-invoice-pay.png b/src/pixmaps/hicolor/24x24/actions/gnc-invoice-pay.png
similarity index 100%
rename from src/pixmaps/gnc-invoice-pay.png
rename to src/pixmaps/hicolor/24x24/actions/gnc-invoice-pay.png
diff --git a/src/pixmaps/gnc-invoice-post.png b/src/pixmaps/hicolor/24x24/actions/gnc-invoice-post.png
similarity index 100%
rename from src/pixmaps/gnc-invoice-post.png
rename to src/pixmaps/hicolor/24x24/actions/gnc-invoice-post.png
diff --git a/src/pixmaps/gnc-invoice-unpost.png b/src/pixmaps/hicolor/24x24/actions/gnc-invoice-unpost.png
similarity index 100%
rename from src/pixmaps/gnc-invoice-unpost.png
rename to src/pixmaps/hicolor/24x24/actions/gnc-invoice-unpost.png
diff --git a/src/pixmaps/gnc-invoice.png b/src/pixmaps/hicolor/24x24/actions/gnc-invoice.png
similarity index 100%
rename from src/pixmaps/gnc-invoice.png
rename to src/pixmaps/hicolor/24x24/actions/gnc-invoice.png
diff --git a/src/pixmaps/gnc-jumpto.png b/src/pixmaps/hicolor/24x24/actions/gnc-jumpto.png
similarity index 100%
rename from src/pixmaps/gnc-jumpto.png
rename to src/pixmaps/hicolor/24x24/actions/gnc-jumpto.png
diff --git a/src/pixmaps/gnc-split-trans.png b/src/pixmaps/hicolor/24x24/actions/gnc-split-trans.png
similarity index 100%
rename from src/pixmaps/gnc-split-trans.png
rename to src/pixmaps/hicolor/24x24/actions/gnc-split-trans.png
diff --git a/src/pixmaps/gnc-sx-new.png b/src/pixmaps/hicolor/24x24/actions/gnc-sx-new.png
similarity index 100%
rename from src/pixmaps/gnc-sx-new.png
rename to src/pixmaps/hicolor/24x24/actions/gnc-sx-new.png
diff --git a/src/pixmaps/gnc-transfer.png b/src/pixmaps/hicolor/24x24/actions/gnc-transfer.png
similarity index 100%
rename from src/pixmaps/gnc-transfer.png
rename to src/pixmaps/hicolor/24x24/actions/gnc-transfer.png

commit bafbb838f5b9f11a68e45b344d7df2085c5e72e2
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Mon Jul 3 12:33:51 2017 +0100

    Missed specifying Gtk3.12 version for set_margin_end

diff --git a/src/gnome-utils/gnc-dense-cal.c b/src/gnome-utils/gnc-dense-cal.c
index 5a60a49..b2a1396 100644
--- a/src/gnome-utils/gnc-dense-cal.c
+++ b/src/gnome-utils/gnc-dense-cal.c
@@ -289,8 +289,11 @@ gnc_dense_cal_init(GncDenseCal *dcal)
 
         gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
         gtk_widget_set_halign (label, GTK_ALIGN_END);
+#if GTK_CHECK_VERSION(3,12,0)
         gtk_widget_set_margin_end (label, 5);
-
+#else
+        gtk_widget_set_margin_right (label, 5);
+#endif
         gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0);
         gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(dcal->view_options), FALSE, FALSE, 0);
 
diff --git a/src/gnome-utils/gnc-main-window.c b/src/gnome-utils/gnc-main-window.c
index fd96c54..7cdac3e 100644
--- a/src/gnome-utils/gnc-main-window.c
+++ b/src/gnome-utils/gnc-main-window.c
@@ -3014,8 +3014,11 @@ gnc_main_window_open_page (GncMainWindow *window,
                                   G_CALLBACK(gnc_main_window_close_page), page);
 
         gtk_box_pack_start (GTK_BOX (tab_hbox), close_button, FALSE, FALSE, 0);
+#if GTK_CHECK_VERSION(3,12,0)
         gtk_widget_set_margin_end (GTK_WIDGET(close_button), 5);
-
+#else
+        gtk_widget_set_margin_right (GTK_WIDGET(close_button), 5);
+#endif
         g_object_set_data (G_OBJECT (page), PLUGIN_PAGE_CLOSE_BUTTON, close_button);
     }
 

commit 54eaf755ccd27e8e99dc583a686865f2392fcd5e
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Mon Jul 3 12:32:59 2017 +0100

    Fix some entries in glade files that did not have id's

diff --git a/src/business/business-gnome/gtkbuilder/dialog-payment.glade b/src/business/business-gnome/gtkbuilder/dialog-payment.glade
index d6e5059..8b2ff0e 100644
--- a/src/business/business-gnome/gtkbuilder/dialog-payment.glade
+++ b/src/business/business-gnome/gtkbuilder/dialog-payment.glade
@@ -343,7 +343,7 @@
           </packing>
         </child>
         <child>
-          <object class="GtkGrid">
+          <object class="GtkGrid" id="table3">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
diff --git a/src/gnome-utils/gtkbuilder/dialog-preferences.glade b/src/gnome-utils/gtkbuilder/dialog-preferences.glade
index 2d71d01..d924ea7 100644
--- a/src/gnome-utils/gtkbuilder/dialog-preferences.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-preferences.glade
@@ -763,7 +763,7 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkBox">
+                  <object class="GtkBox" id="hbox6">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
diff --git a/src/import-export/csv-imp/assistant-csv-trans-import.glade b/src/import-export/csv-imp/assistant-csv-trans-import.glade
index eb9bf9e..49d092d 100644
--- a/src/import-export/csv-imp/assistant-csv-trans-import.glade
+++ b/src/import-export/csv-imp/assistant-csv-trans-import.glade
@@ -1193,7 +1193,7 @@ More information can be displayed by using the help button.</property>
       </packing>
     </child>
     <child internal-child="action_area">
-      <object class="GtkBox">
+      <object class="GtkBox" id="assistant-action_area2">
         <property name="can_focus">False</property>
       </object>
     </child>

commit 5066f691668d20b44c07e0aafe5f30dac24a0c6a
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 2 14:21:00 2017 +0100

    Fix corrupted Gtk2 aqbanking glade file
    
    I think this happened when I renamed the dialogs to remove spaces in the
     names. Used Glade 3.8 GUI which may of had trouble doing this.

diff --git a/src/import-export/aqb/dialog-ab.glade b/src/import-export/aqb/dialog-ab.glade
index 77f9aa7..a331f28 100644
--- a/src/import-export/aqb/dialog-ab.glade
+++ b/src/import-export/aqb/dialog-ab.glade
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
   <object class="GtkDialog" id="aqbanking_connection_dialog">
     <property name="can_focus">False</property>
     <property name="border_width">5</property>
@@ -11,20 +10,287 @@
     <property name="type_hint">dialog</property>
     <signal name="delete-event" handler="ggg_delete_event_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox1">
+      <object class="GtkBox" id="dialog-vbox9">
+        <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="spacing">2</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area1">
+          <object class="GtkButtonBox" id="dialog-action_area9">
+            <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="abort_button">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="sensitive">False</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+                <signal name="clicked" handler="ggg_abort_clicked_cb" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="close_button">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+                <signal name="clicked" handler="ggg_close_clicked_cb" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
           </object>
           <packing>
-            <property name="expand">True</property>
+            <property name="expand">False</property>
             <property name="fill">True</property>
+            <property name="pack_type">end</property>
             <property name="position">0</property>
           </packing>
         </child>
+        <child>
+          <object class="GtkVBox" id="vbox149">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="border_width">5</property>
+            <property name="spacing">18</property>
+            <child>
+              <object class="GtkVBox" id="vbox160">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkLabel" id="label8877443">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes"><b>Progress</b></property>
+                    <property name="use_markup">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkAlignment" id="alignment2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="left_padding">12</property>
+                    <child>
+                      <object class="GtkTable" id="entries_table">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="n_rows">3</property>
+                        <property name="n_columns">2</property>
+                        <property name="column_spacing">12</property>
+                        <property name="row_spacing">6</property>
+                        <child>
+                          <object class="GtkLabel" id="label8877424">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">Current Job</property>
+                            <property name="justify">center</property>
+                          </object>
+                          <packing>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"></property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkEntry" id="top_entry">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="invisible_char">●</property>
+                            <property name="invisible_char_set">True</property>
+                            <property name="primary_icon_activatable">False</property>
+                            <property name="secondary_icon_activatable">False</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
+                            <property name="y_options"></property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkProgressBar" id="top_progress">
+                            <property name="visible">True</property>
+                            <property name="sensitive">False</property>
+                            <property name="can_focus">False</property>
+                            <property name="pulse_step">0.10000000149</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
+                            <property name="top_attach">1</property>
+                            <property name="bottom_attach">2</property>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"></property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label8877426">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">Progress</property>
+                            <property name="justify">center</property>
+                          </object>
+                          <packing>
+                            <property name="top_attach">1</property>
+                            <property name="bottom_attach">2</property>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"></property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label8877425">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">Current Action</property>
+                            <property name="justify">center</property>
+                          </object>
+                          <packing>
+                            <property name="top_attach">2</property>
+                            <property name="bottom_attach">3</property>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"></property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkEntry" id="second_entry">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="invisible_char">●</property>
+                            <property name="invisible_char_set">True</property>
+                            <property name="primary_icon_activatable">False</property>
+                            <property name="secondary_icon_activatable">False</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
+                            <property name="top_attach">2</property>
+                            <property name="bottom_attach">3</property>
+                            <property name="y_options"></property>
+                          </packing>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkVBox" id="vbox162">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkLabel" id="label8877444">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes"><b>Log Messages</b></property>
+                    <property name="use_markup">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkAlignment" id="alignment1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="left_padding">12</property>
+                    <child>
+                      <object class="GtkScrolledWindow" id="scrolledwindow30">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="shadow_type">in</property>
+                        <child>
+                          <object class="GtkTextView" id="log_text">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="editable">False</property>
+                            <property name="wrap_mode">word</property>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkCheckButton" id="close_checkbutton">
+                <property name="label" translatable="yes">Close when finished</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_underline">True</property>
+                <property name="active">True</property>
+                <property name="draw_indicator">True</property>
+                <signal name="toggled" handler="ggg_close_toggled_cb" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
       </object>
     </child>
+    <action-widgets>
+      <action-widget response="0">abort_button</action-widget>
+      <action-widget response="0">close_button</action-widget>
+    </action-widgets>
   </object>
   <object class="GtkDialog" id="aqbanking_date_range_dialog">
     <property name="can_focus">False</property>
@@ -32,20 +298,317 @@
     <property name="title" translatable="yes">Get Transactions Online</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox2">
+      <object class="GtkBox" id="dialog-vbox1">
+        <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="spacing">2</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area2">
+          <object class="GtkButtonBox" id="dialog-action_area1">
+            <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="cancel_button1">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="ok_button">
+                <property name="label">gtk-ok</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
           </object>
           <packing>
-            <property name="expand">True</property>
+            <property name="expand">False</property>
             <property name="fill">True</property>
+            <property name="pack_type">end</property>
             <property name="position">0</property>
           </packing>
         </child>
+        <child>
+          <object class="GtkVBox" id="vbox152">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="border_width">5</property>
+            <property name="spacing">18</property>
+            <child>
+              <object class="GtkLabel" id="heading_label1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Date range of transactions to retrieve:</property>
+                <property name="justify">center</property>
+                <property name="wrap">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkVBox" id="vbox163">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkLabel" id="label8877445">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes"><b>From</b></property>
+                    <property name="use_markup">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkAlignment" id="alignment9">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="left_padding">12</property>
+                    <child>
+                      <object class="GtkVBox" id="vbox164">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <object class="GtkRadioButton" id="first_button">
+                            <property name="label" translatable="yes">_Earliest possible date</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="use_action_appearance">False</property>
+                            <property name="use_underline">True</property>
+                            <property name="active">True</property>
+                            <property name="draw_indicator">True</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkRadioButton" id="last_retrieval_button">
+                            <property name="label" translatable="yes">_Last retrieval date</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="use_action_appearance">False</property>
+                            <property name="use_underline">True</property>
+                            <property name="draw_indicator">True</property>
+                            <property name="group">first_button</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkHBox" id="hbox123">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="spacing">12</property>
+                            <child>
+                              <object class="GtkRadioButton" id="enter_from_button">
+                                <property name="label" translatable="yes">E_nter date:</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="use_action_appearance">False</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                                <property name="group">first_button</property>
+                                <signal name="toggled" handler="ddr_toggled_cb" swapped="no"/>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkHBox" id="enter_from_box">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkVBox" id="vbox165">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkLabel" id="label8877446">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes"><b>To</b></property>
+                    <property name="use_markup">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkAlignment" id="alignment10">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="left_padding">12</property>
+                    <child>
+                      <object class="GtkVBox" id="vbox166">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <object class="GtkRadioButton" id="now_button">
+                            <property name="label" translatable="yes">_Now</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="use_action_appearance">False</property>
+                            <property name="use_underline">True</property>
+                            <property name="active">True</property>
+                            <property name="draw_indicator">True</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkHBox" id="hbox124">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="spacing">12</property>
+                            <child>
+                              <object class="GtkRadioButton" id="enter_to_button">
+                                <property name="label" translatable="yes">Ente_r date:</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="use_action_appearance">False</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                                <property name="group">now_button</property>
+                                <signal name="toggled" handler="ddr_toggled_cb" swapped="no"/>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkHBox" id="enter_to_box">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="expand">True</property>
+                            <property name="fill">True</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
       </object>
     </child>
+    <action-widgets>
+      <action-widget response="-6">cancel_button1</action-widget>
+      <action-widget response="-5">ok_button</action-widget>
+    </action-widgets>
   </object>
   <object class="GtkDialog" id="aqbanking_password_dialog">
     <property name="can_focus">False</property>
@@ -53,18 +616,280 @@
     <property name="title" translatable="yes">Enter Password</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox3">
+      <object class="GtkBox" id="dialog-vbox3">
+        <property name="visible">True</property>
         <property name="can_focus">False</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area3">
+          <object class="GtkButtonBox" id="dialog-action_area3">
+            <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="cancelbutton2">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="okbutton2">
+                <property name="label">gtk-ok</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
           </object>
           <packing>
-            <property name="expand">True</property>
+            <property name="expand">False</property>
             <property name="fill">True</property>
+            <property name="pack_type">end</property>
             <property name="position">0</property>
           </packing>
         </child>
+        <child>
+          <object class="GtkVBox" id="vbox167">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="border_width">5</property>
+            <property name="spacing">18</property>
+            <child>
+              <object class="GtkLabel" id="heading_pw_label">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Enter your password</property>
+                <property name="wrap">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkTable" id="table7">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="n_rows">3</property>
+                <property name="n_columns">2</property>
+                <property name="column_spacing">12</property>
+                <property name="row_spacing">6</property>
+                <child>
+                  <object class="GtkLabel" id="label8877456">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Password:</property>
+                  </object>
+                  <packing>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="confirm_label">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Confirm Password:</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkEntry" id="input_entry">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="visibility">False</property>
+                    <property name="invisible_char">●</property>
+                    <property name="invisible_char_set">True</property>
+                    <property name="primary_icon_activatable">False</property>
+                    <property name="secondary_icon_activatable">False</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkEntry" id="confirm_entry">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="visibility">False</property>
+                    <property name="invisible_char">●</property>
+                    <property name="invisible_char_set">True</property>
+                    <property name="primary_icon_activatable">False</property>
+                    <property name="secondary_icon_activatable">False</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="remember_pin">
+                    <property name="label" translatable="yes">Remember _PIN</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">2</property>
+                    <property name="bottom_attach">3</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-6">cancelbutton2</action-widget>
+      <action-widget response="-5">okbutton2</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkWindow" id="aqbanking_preferences">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="title" translatable="yes">window1</property>
+    <child>
+      <object class="GtkTable" id="aqbanking_prefs">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="n_rows">4</property>
+        <property name="n_columns">4</property>
+        <child>
+          <object class="GtkLabel" id="label8877457">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes"><b>Online Banking</b></property>
+            <property name="use_markup">True</property>
+          </object>
+          <packing>
+            <property name="right_attach">4</property>
+            <property name="x_options">GTK_FILL</property>
+            <property name="y_options"></property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkCheckButton" id="pref/dialogs.import.hbci/close-on-finish">
+            <property name="label" translatable="yes">_Close log window when finished</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="use_action_appearance">False</property>
+            <property name="use_underline">True</property>
+            <property name="draw_indicator">True</property>
+          </object>
+          <packing>
+            <property name="right_attach">4</property>
+            <property name="top_attach">1</property>
+            <property name="bottom_attach">2</property>
+            <property name="x_options">GTK_FILL</property>
+            <property name="y_options"></property>
+            <property name="x_padding">12</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkCheckButton" id="pref/dialogs.import.hbci/remember-pin">
+            <property name="label" translatable="yes">Remember _PIN</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="use_action_appearance">False</property>
+            <property name="use_underline">True</property>
+            <property name="draw_indicator">True</property>
+          </object>
+          <packing>
+            <property name="right_attach">4</property>
+            <property name="top_attach">2</property>
+            <property name="bottom_attach">3</property>
+            <property name="x_options">GTK_FILL</property>
+            <property name="y_options"></property>
+            <property name="x_padding">12</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkCheckButton" id="pref/dialogs.import.hbci/use-ns-transaction-text">
+            <property name="label" translatable="yes">Use Non-SWIFT _transaction text</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="use_action_appearance">False</property>
+            <property name="use_underline">True</property>
+            <property name="draw_indicator">True</property>
+          </object>
+          <packing>
+            <property name="right_attach">4</property>
+            <property name="top_attach">3</property>
+            <property name="bottom_attach">4</property>
+            <property name="x_options">GTK_FILL</property>
+            <property name="y_options"></property>
+            <property name="x_padding">12</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkCheckButton" id="checkbutton3">
+            <property name="label" translatable="yes">_Verbose debug messages</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="use_action_appearance">False</property>
+            <property name="use_underline">True</property>
+            <property name="draw_indicator">True</property>
+          </object>
+          <packing>
+            <property name="right_attach">4</property>
+            <property name="top_attach">4</property>
+            <property name="bottom_attach">5</property>
+            <property name="x_options">GTK_FILL</property>
+            <property name="y_options"></property>
+            <property name="x_padding">12</property>
+          </packing>
+        </child>
       </object>
     </child>
   </object>
@@ -74,20 +899,103 @@
     <property name="title" translatable="yes">Name for new template</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox4">
+      <object class="GtkBox" id="dialog-vbox2">
+        <property name="visible">True</property>
         <property name="can_focus">False</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area4">
+          <object class="GtkButtonBox" id="dialog-action_area2">
+            <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="cancelbutton1">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="okbutton1">
+                <property name="label">gtk-ok</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
           </object>
           <packing>
-            <property name="expand">True</property>
+            <property name="expand">False</property>
             <property name="fill">True</property>
+            <property name="pack_type">end</property>
             <property name="position">0</property>
           </packing>
         </child>
+        <child>
+          <object class="GtkVBox" id="vbox159">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="border_width">5</property>
+            <property name="spacing">12</property>
+            <child>
+              <object class="GtkLabel" id="label8877450">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Enter name for new template:</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="template_name">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="max_length">250</property>
+                <property name="invisible_char">●</property>
+                <property name="activates_default">True</property>
+                <property name="invisible_char_set">True</property>
+                <property name="primary_icon_activatable">False</property>
+                <property name="secondary_icon_activatable">False</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
       </object>
     </child>
+    <action-widgets>
+      <action-widget response="-6">cancelbutton1</action-widget>
+      <action-widget response="-5">okbutton1</action-widget>
+    </action-widgets>
   </object>
   <object class="GtkDialog" id="aqbanking_transaction_dialog">
     <property name="can_focus">False</property>
@@ -95,11 +1003,773 @@
     <property name="title" translatable="yes">Online Transaction</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox5">
+      <object class="GtkBox" id="dialog-vbox7">
+        <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area5">
+        <property name="orientation">vertical</property>
+        <property name="spacing">2</property>
+        <child>
+          <object class="GtkVBox" id="trans_vbox">
+            <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="border_width">5</property>
+            <child>
+              <object class="GtkLabel" id="heading_label">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Enter an Online Transaction</property>
+                <property name="justify">center</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkTable" id="table6">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="n_rows">21</property>
+                <property name="n_columns">3</property>
+                <child>
+                  <object class="GtkEntry" id="recp_account_entry">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="max_length">12</property>
+                    <property name="invisible_char">●</property>
+                    <property name="invisible_char_set">True</property>
+                    <property name="primary_icon_activatable">False</property>
+                    <property name="secondary_icon_activatable">False</property>
+                    <signal name="changed" handler="gnc_ab_trans_dialog_verify_values" swapped="yes"/>
+                    <signal name="insert-text" handler="gnc_ab_trans_dialog_ibanentry_filter_cb" swapped="no"/>
+                  </object>
+                  <packing>
+                    <property name="top_attach">3</property>
+                    <property name="bottom_attach">4</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="recp_account_heading">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Recipient Account Number</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">2</property>
+                    <property name="bottom_attach">3</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkEntry" id="recp_bankcode_entry">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="max_length">8</property>
+                    <property name="invisible_char">●</property>
+                    <property name="invisible_char_set">True</property>
+                    <property name="primary_icon_activatable">False</property>
+                    <property name="secondary_icon_activatable">False</property>
+                    <signal name="changed" handler="gnc_ab_trans_dialog_bankcode_changed_cb" swapped="no"/>
+                    <signal name="insert-text" handler="gnc_ab_trans_dialog_bicentry_filter_cb" swapped="no"/>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">3</property>
+                    <property name="bottom_attach">4</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="recp_bankcode_heading">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Recipient Bank Code</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">2</property>
+                    <property name="bottom_attach">3</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkEntry" id="recp_name_entry">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="max_length">27</property>
+                    <property name="invisible_char">●</property>
+                    <property name="invisible_char_set">True</property>
+                    <property name="primary_icon_activatable">False</property>
+                    <property name="secondary_icon_activatable">False</property>
+                    <signal name="changed" handler="gnc_ab_trans_dialog_verify_values" swapped="yes"/>
+                  </object>
+                  <packing>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="recp_name_heading">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Recipient Name</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="right_attach">3</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="recp_bankname_heading">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">at Bank</property>
+                  </object>
+                  <packing>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">4</property>
+                    <property name="bottom_attach">5</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="recp_bankname_label">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">(filled in automatically)</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">5</property>
+                    <property name="bottom_attach">6</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label8877434">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Amount</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">7</property>
+                    <property name="bottom_attach">8</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label8877433">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Payment Purpose (only for recipient)</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">10</property>
+                    <property name="bottom_attach">11</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label8877435">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Payment Purpose continued</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">12</property>
+                    <property name="bottom_attach">13</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="orig_name_heading">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Originator Name</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">15</property>
+                    <property name="bottom_attach">16</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkEntry" id="orig_name_label">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="max_length">54</property>
+                    <property name="invisible_char">●</property>
+                    <property name="invisible_char_set">True</property>
+                    <property name="primary_icon_activatable">False</property>
+                    <property name="secondary_icon_activatable">False</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">16</property>
+                    <property name="bottom_attach">17</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="orig_bankname_heading">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">at Bank</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">17</property>
+                    <property name="bottom_attach">18</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="orig_bankname_label">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">something</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">18</property>
+                    <property name="bottom_attach">19</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="orig_account_heading">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Originator Account Number</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">15</property>
+                    <property name="bottom_attach">16</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="orig_account_label">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">something</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">16</property>
+                    <property name="bottom_attach">17</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="orig_bankcode_heading">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Bank Code</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">17</property>
+                    <property name="bottom_attach">18</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="orig_bankcode_label">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">something</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">18</property>
+                    <property name="bottom_attach">19</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkEntry" id="purpose_entry">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="max_length">27</property>
+                    <property name="invisible_char">●</property>
+                    <property name="invisible_char_set">True</property>
+                    <property name="primary_icon_activatable">False</property>
+                    <property name="secondary_icon_activatable">False</property>
+                    <signal name="changed" handler="gnc_ab_trans_dialog_verify_values" swapped="yes"/>
+                  </object>
+                  <packing>
+                    <property name="top_attach">11</property>
+                    <property name="bottom_attach">12</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkEntry" id="purpose_cont2_entry">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="max_length">27</property>
+                    <property name="invisible_char">●</property>
+                    <property name="invisible_char_set">True</property>
+                    <property name="primary_icon_activatable">False</property>
+                    <property name="secondary_icon_activatable">False</property>
+                    <signal name="changed" handler="gnc_ab_trans_dialog_verify_values" swapped="yes"/>
+                  </object>
+                  <packing>
+                    <property name="top_attach">13</property>
+                    <property name="bottom_attach">14</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkEntry" id="purpose_cont_entry">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="max_length">27</property>
+                    <property name="invisible_char">●</property>
+                    <property name="invisible_char_set">True</property>
+                    <property name="primary_icon_activatable">False</property>
+                    <property name="secondary_icon_activatable">False</property>
+                    <signal name="changed" handler="gnc_ab_trans_dialog_verify_values" swapped="yes"/>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">11</property>
+                    <property name="bottom_attach">12</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkEntry" id="purpose_cont3_entry">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="max_length">27</property>
+                    <property name="invisible_char">●</property>
+                    <property name="invisible_char_set">True</property>
+                    <property name="primary_icon_activatable">False</property>
+                    <property name="secondary_icon_activatable">False</property>
+                    <signal name="changed" handler="gnc_ab_trans_dialog_verify_values" swapped="yes"/>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">13</property>
+                    <property name="bottom_attach">14</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkHBox" id="amount_hbox">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="top_attach">8</property>
+                    <property name="bottom_attach">9</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkHSeparator" id="hseparator8">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                  </object>
+                  <packing>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">19</property>
+                    <property name="bottom_attach">20</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                    <property name="y_padding">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkHSeparator" id="hseparator4">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                  </object>
+                  <packing>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">14</property>
+                    <property name="bottom_attach">15</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkHSeparator" id="hseparator5">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                  </object>
+                  <packing>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">6</property>
+                    <property name="bottom_attach">7</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                    <property name="y_padding">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkHSeparator" id="hseparator6">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                  </object>
+                  <packing>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">9</property>
+                    <property name="bottom_attach">10</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkExpander" id="expander1">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <child>
+                  <object class="GtkHBox" id="hbox117">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="spacing">4</property>
+                    <child>
+                      <object class="GtkVButtonBox" id="vbutonbox158">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="homogeneous">True</property>
+                        <child>
+                          <object class="GtkButton" id="add_templ_button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="has_tooltip">True</property>
+                            <property name="tooltip_markup">Add the current online transaction as a new transaction template</property>
+                            <property name="tooltip_text" translatable="yes">Add the current online transaction as a new transaction template</property>
+                            <property name="use_action_appearance">False</property>
+                            <signal name="clicked" handler="gnc_ab_trans_dialog_add_templ_cb" swapped="no"/>
+                            <child>
+                              <object class="GtkAlignment" id="alignment3">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="xscale">0</property>
+                                <property name="yscale">0</property>
+                                <child>
+                                  <object class="GtkHBox" id="hbox119">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="spacing">2</property>
+                                    <child>
+                                      <object class="GtkImage" id="image1">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="stock">gtk-add</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label8877451">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="label" translatable="yes">Add current</property>
+                                        <property name="use_underline">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                </child>
+                              </object>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkButton" id="moveup_templ_button">
+                            <property name="label">gtk-go-up</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="has_tooltip">True</property>
+                            <property name="tooltip_markup">Move the selected transaction template one row up</property>
+                            <property name="tooltip_text" translatable="yes">Move the selected transaction template one row up</property>
+                            <property name="use_action_appearance">False</property>
+                            <property name="use_stock">True</property>
+                            <signal name="clicked" handler="gnc_ab_trans_dialog_moveup_templ_cb" swapped="no"/>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkButton" id="movedown_templ_button">
+                            <property name="label">gtk-go-down</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="has_tooltip">True</property>
+                            <property name="tooltip_markup">Move the selected transaction template one row down</property>
+                            <property name="tooltip_text" translatable="yes">Move the selected transaction template one row down</property>
+                            <property name="use_action_appearance">False</property>
+                            <property name="use_stock">True</property>
+                            <signal name="clicked" handler="gnc_ab_trans_dialog_movedown_templ_cb" swapped="no"/>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkButton" id="sort_templ_button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="has_tooltip">True</property>
+                            <property name="tooltip_markup">Sort the list of transaction templates alphabetically</property>
+                            <property name="tooltip_text" translatable="yes">Sort the list of transaction templates alphabetically</property>
+                            <property name="use_action_appearance">False</property>
+                            <signal name="clicked" handler="gnc_ab_trans_dialog_sort_templ_cb" swapped="no"/>
+                            <child>
+                              <object class="GtkAlignment" id="alignment4">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="xscale">0</property>
+                                <property name="yscale">0</property>
+                                <child>
+                                  <object class="GtkHBox" id="hbox120">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="spacing">2</property>
+                                    <child>
+                                      <object class="GtkImage" id="image2">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="stock">gtk-sort-ascending</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label8877452">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="label" translatable="yes">Sort</property>
+                                        <property name="use_underline">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                </child>
+                              </object>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">3</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkButton" id="del_templ_button">
+                            <property name="label">gtk-delete</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="has_tooltip">True</property>
+                            <property name="tooltip_markup">Delete the currently selected transaction template</property>
+                            <property name="tooltip_text" translatable="yes">Delete the currently selected transaction template</property>
+                            <property name="use_action_appearance">False</property>
+                            <property name="use_stock">True</property>
+                            <signal name="clicked" handler="gnc_ab_trans_dialog_del_templ_cb" swapped="no"/>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">4</property>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="pack_type">end</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkScrolledWindow" id="template_scrolledwindow">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="shadow_type">in</property>
+                        <child>
+                          <object class="GtkTreeView" id="template_list">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="headers_visible">False</property>
+                            <property name="rules_hint">True</property>
+                            <signal name="row-activated" handler="gnc_ab_trans_dialog_templ_list_row_activated_cb" swapped="no"/>
+                            <child internal-child="selection">
+                              <object class="GtkTreeSelection" id="treeview-selection1"/>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="pack_type">end</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+                <child type="label">
+                  <object class="GtkLabel" id="label1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">Templates</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkHSeparator" id="hseparator7">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">3</property>
+              </packing>
+            </child>
           </object>
           <packing>
             <property name="expand">True</property>
@@ -107,7 +1777,115 @@
             <property name="position">0</property>
           </packing>
         </child>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area7">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="exec_later_button">
+                <property name="label" translatable="yes">Execute later (unimpl.)</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="cancel_button">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="exec_now_button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="has_tooltip">True</property>
+                <property name="tooltip_markup">Execute this online transaction now</property>
+                <property name="tooltip_text" translatable="yes">Execute this online transaction now</property>
+                <property name="use_action_appearance">False</property>
+                <child>
+                  <object class="GtkAlignment" id="alignment6">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xscale">0</property>
+                    <property name="yscale">0</property>
+                    <child>
+                      <object class="GtkHBox" id="hbox122">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="spacing">2</property>
+                        <child>
+                          <object class="GtkImage" id="image4">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="stock">gtk-execute</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label8877454">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="label" translatable="yes">Execute Now</property>
+                            <property name="use_underline">True</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
       </object>
     </child>
+    <action-widgets>
+      <action-widget response="-9">exec_later_button</action-widget>
+      <action-widget response="-6">cancel_button</action-widget>
+      <action-widget response="-8">exec_now_button</action-widget>
+    </action-widgets>
   </object>
 </interface>
+

commit 78c81bf71c87f75a4a844d3ebc5631999eca13a9
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 2 14:19:35 2017 +0100

    Missed a preference option from the aqbanking glade file

diff --git a/src/import-export/aqb/dialog-ab-pref.glade b/src/import-export/aqb/dialog-ab-pref.glade
index 9b8b290..53dbb3e 100644
--- a/src/import-export/aqb/dialog-ab-pref.glade
+++ b/src/import-export/aqb/dialog-ab-pref.glade
@@ -68,32 +68,24 @@
           </object>
           <packing>
             <property name="left_attach">0</property>
-            <property name="top_attach">3</property>
+            <property name="top_attach">4</property>
           </packing>
         </child>
         <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
+          <object class="GtkCheckButton" id="pref/dialogs.import.hbci/use-ns-transaction-text">
+            <property name="label" translatable="yes">Use Non-SWIFT _transaction text</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
+            <property name="use_underline">True</property>
+            <property name="draw_indicator">True</property>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">3</property>
+          </packing>
         </child>
       </object>
     </child>

commit 3ec108d141b5d5fd3b0e0a77e79450db7a87a840
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 2 11:22:03 2017 +0100

    Change the relative column to a pixbuf so it looks like find account
    
    Change the view so that the relative column uses an icon the same as
    the find account dialog.

diff --git a/src/gnome/dialog-trans-assoc.c b/src/gnome/dialog-trans-assoc.c
index 9c752bf..c7e0d60 100644
--- a/src/gnome/dialog-trans-assoc.c
+++ b/src/gnome/dialog-trans-assoc.c
@@ -360,8 +360,8 @@ get_trans_info (AssocDialog *assoc_dialog)
                                     DATE_TRANS, gnc_print_date (ts),
                                     DESC_TRANS, xaccTransGetDescription (trans),
                                     URI_U, uri_u, AVAILABLE, _("Unknown"),
-                                    URI_SPLIT, split, URI, uri, URI_RELATIVE, rel, -1);
-
+                                    URI_SPLIT, split, URI, uri,
+                                    URI_RELATIVE, (rel == TRUE ? "emblem-default" : NULL), -1);
                 g_free (uri_u);
             }
             trans_list = g_list_prepend (trans_list, trans); // add trans to trans_list
@@ -428,10 +428,10 @@ gnc_assoc_dialog_create (AssocDialog *assoc_dialog)
     gtk_tree_view_append_column (GTK_TREE_VIEW(assoc_dialog->view), tree_column);
     gtk_tree_view_column_set_alignment (tree_column, 0.5);
     gtk_tree_view_column_set_expand (tree_column, TRUE);
-    cr = gtk_cell_renderer_toggle_new();
+    cr = gtk_cell_renderer_pixbuf_new();
     gtk_tree_view_column_pack_start (tree_column, cr, TRUE);
     // connect 'active' and set 'xalign' property of the cell renderer
-    gtk_tree_view_column_set_attributes (tree_column, cr, "active", URI_RELATIVE, NULL);
+    gtk_tree_view_column_set_attributes (tree_column, cr, "icon-name", URI_RELATIVE, NULL);
     gtk_cell_renderer_set_alignment (cr, 0.5, 0.5);
 
     g_signal_connect (assoc_dialog->view, "row-activated",
diff --git a/src/gnome/gtkbuilder/dialog-trans-assoc.glade b/src/gnome/gtkbuilder/dialog-trans-assoc.glade
index 16d31c1..eaf2b40 100644
--- a/src/gnome/gtkbuilder/dialog-trans-assoc.glade
+++ b/src/gnome/gtkbuilder/dialog-trans-assoc.glade
@@ -17,7 +17,7 @@
       <!-- column-name uri -->
       <column type="gchararray"/>
       <!-- column-name uri_relative -->
-      <column type="gboolean"/>
+      <column type="gchararray"/>
     </columns>
   </object>
   <object class="GtkDialog" id="transaction_association_dialog">

commit 2c949fdf799fa5645b80c3cd8bec16a4122609a0
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 2 10:14:39 2017 +0100

    Fixup for gnc-gui-query.c, invalid cast
    
    Specified the wrong widget for the container add function

diff --git a/src/gnome-utils/gnc-gui-query.c b/src/gnome-utils/gnc-gui-query.c
index 874b3c8..b329629 100644
--- a/src/gnome-utils/gnc-gui-query.c
+++ b/src/gnome-utils/gnc-gui-query.c
@@ -313,7 +313,7 @@ gnc_choose_radio_option_dialog(GtkWidget *parent,
     vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
     gtk_box_set_homogeneous (GTK_BOX (vbox), TRUE);
     gtk_container_set_border_width(GTK_CONTAINER(vbox), 6);
-    gtk_container_add(GTK_BOX(main_vbox), vbox);
+    gtk_container_add(GTK_CONTAINER(main_vbox), vbox);
     gtk_widget_show(vbox);
 
     for (node = radio_list, i = 0; node; node = node->next, i++)

commit 95693a9172d095eb51ac9ea70da0948cc8f3d9cf
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 2 10:13:22 2017 +0100

    Remove Gtk3.14 deprecated function, it does not do any thing

diff --git a/src/gnome-utils/gnc-main-window.c b/src/gnome-utils/gnc-main-window.c
index e3ee44d..fd96c54 100644
--- a/src/gnome-utils/gnc-main-window.c
+++ b/src/gnome-utils/gnc-main-window.c
@@ -3004,7 +3004,6 @@ gnc_main_window_open_page (GncMainWindow *window,
         gtk_widget_get_preferred_size (close_image, &requisition, NULL);
         gtk_widget_set_size_request(close_button, requisition.width + 4,
                                     requisition.height + 2);
-        gtk_button_set_alignment(GTK_BUTTON(close_button), 0.5, 0.5);
         gtk_container_add(GTK_CONTAINER(close_button), close_image);
         if (gnc_prefs_get_bool(GNC_PREFS_GROUP_GENERAL, GNC_PREF_SHOW_CLOSE_BUTTON))
             gtk_widget_show (close_button);

commit 54465dd8a9a3fa1cb63dcb648ac1540b0924345b
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 2 10:11:05 2017 +0100

    Replace deprecated Gtk3.16 gtk_override_background_color
    
    Use css to make changes to the background color of widgets

diff --git a/src/gnome-utils/gnc-main-window.c b/src/gnome-utils/gnc-main-window.c
index c38ee45..e3ee44d 100644
--- a/src/gnome-utils/gnc-main-window.c
+++ b/src/gnome-utils/gnc-main-window.c
@@ -2296,6 +2296,11 @@ main_window_update_page_color (GncPluginPage *page,
 
     if (want_color && gdk_rgba_parse(&tab_color, color_string) && priv->show_color_tabs)
     {
+#if GTK_CHECK_VERSION(3,16,0)
+        GtkCssProvider *provider = gtk_css_provider_new();
+        GtkStyleContext *stylectxt;
+        gchar *col_str, *widget_css;
+#endif
         if (!GTK_IS_EVENT_BOX (tab_widget))
         {
             GtkWidget *event_box = gtk_event_box_new ();
@@ -2306,8 +2311,21 @@ main_window_update_page_color (GncPluginPage *page,
             g_object_unref (tab_widget);
             tab_widget = event_box;
         }
+#if GTK_CHECK_VERSION(3,16,0)
+        stylectxt = gtk_widget_get_style_context (GTK_WIDGET (tab_widget));
+        col_str = gdk_rgba_to_string (&tab_color);
+        widget_css = g_strconcat ("*{\n  background-color:", col_str, ";\n}\n", NULL);
+
+        gtk_css_provider_load_from_data (provider, widget_css, -1, NULL);
+        gtk_style_context_add_provider (stylectxt, GTK_STYLE_PROVIDER (provider),
+                                        GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
+        g_object_unref (provider);
+        g_free (col_str);
+        g_free (widget_css);
+#else
         gtk_widget_override_background_color (tab_widget, GTK_STATE_NORMAL, &tab_color);
         gtk_widget_override_background_color (tab_widget, GTK_STATE_ACTIVE, &tab_color);
+#endif
     }
     else
     {
@@ -2942,8 +2960,11 @@ gnc_main_window_open_page (GncMainWindow *window,
         image = gtk_image_new_from_icon_name (icon, GTK_ICON_SIZE_MENU);
         gtk_widget_show (image);
         gtk_box_pack_start (GTK_BOX (tab_hbox), image, FALSE, FALSE, 0);
+#if GTK_CHECK_VERSION(3,12,0)
         gtk_widget_set_margin_start (GTK_WIDGET(image), 5);
-
+#else
+        gtk_widget_set_margin_left (GTK_WIDGET(image), 5);
+#endif
         gtk_box_pack_start (GTK_BOX (tab_hbox), label, TRUE, TRUE, 0);
     }
     else
diff --git a/src/gnome-utils/gnc-tree-view-split-reg.c b/src/gnome-utils/gnc-tree-view-split-reg.c
index ebc520b..cdff7e5 100644
--- a/src/gnome-utils/gnc-tree-view-split-reg.c
+++ b/src/gnome-utils/gnc-tree-view-split-reg.c
@@ -5798,7 +5798,23 @@ gtv_sr_editable_start_editing_cb (GtkCellRenderer *cr, GtkCellEditable *editable
         if (gdk_rgba_parse (&color, row_color))
         {
             if (entry != NULL)
+            {
+#if GTK_CHECK_VERSION(3,16,0)
+                GtkStyleContext *stylectxt = gtk_widget_get_style_context (GTK_WIDGET (entry));
+                GtkCssProvider *provider = gtk_css_provider_new();
+                gchar *col_str = gdk_rgba_to_string (&color);
+                gchar *widget_css = g_strconcat ("*{\n  background-color:", col_str, ";\n}\n", NULL);
+
+                gtk_css_provider_load_from_data (provider, widget_css, -1, NULL);
+                gtk_style_context_add_provider (stylectxt, GTK_STYLE_PROVIDER (provider),
+                                                GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
+                g_object_unref (provider);
+                g_free (col_str);
+                g_free (widget_css);
+#else
                 gtk_widget_override_background_color (GTK_WIDGET (entry), GTK_STATE_FLAG_NORMAL, &color);
+#endif
+            }
         }
     }
 
diff --git a/src/import-export/import-main-matcher.c b/src/import-export/import-main-matcher.c
index 701aa86..03f6fb6 100644
--- a/src/import-export/import-main-matcher.c
+++ b/src/import-export/import-main-matcher.c
@@ -200,6 +200,26 @@ on_matcher_help_close_clicked (GtkButton *button, gpointer user_data)
     gtk_widget_destroy(help_dialog);
 }
 
+#if GTK_CHECK_VERSION(3,16,0)
+static void
+gnc_override_background_color (GtkWidget *widget,
+                               GdkRGBA   *rgba)
+{
+    GtkCssProvider *provider = gtk_css_provider_new();
+    GtkStyleContext *stylectxt = gtk_widget_get_style_context (widget);
+    gchar *col_str = gdk_rgba_to_string (rgba);
+    gchar *widget_css = g_strconcat ("*{\n  background-color:", col_str, ";\n}\n", NULL);
+
+    gtk_css_provider_load_from_data (provider, widget_css, -1, NULL);
+    gtk_style_context_add_provider (stylectxt, GTK_STYLE_PROVIDER (provider),
+                                    GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
+    g_object_unref (provider);
+    g_free (col_str);
+    g_free (widget_css);
+}
+#endif
+
+
 void
 on_matcher_help_clicked (GtkButton *button, gpointer user_data)
 {
@@ -215,14 +235,28 @@ on_matcher_help_clicked (GtkButton *button, gpointer user_data)
     gnc_builder_add_from_file (builder, "dialog-import.glade", "matcher_help_dialog");
 
     box = GTK_WIDGET(gtk_builder_get_object (builder, "red"));
+#if GTK_CHECK_VERSION(3,16,0)
+    gnc_override_background_color (box, &info->color_back_red);
+#else
     gtk_widget_override_background_color(box, GTK_STATE_FLAG_NORMAL,
                                          &info->color_back_red);
+#endif
+
     box = GTK_WIDGET(gtk_builder_get_object (builder, "yellow"));
+#if GTK_CHECK_VERSION(3,16,0)
+    gnc_override_background_color (box, &info->color_back_yellow);
+#else
     gtk_widget_override_background_color(box, GTK_STATE_FLAG_NORMAL,
                                          &info->color_back_yellow);
+#endif
+
     box = GTK_WIDGET(gtk_builder_get_object (builder, "green"));
+#if GTK_CHECK_VERSION(3,16,0)
+    gnc_override_background_color (box, &info->color_back_green);
+#else
     gtk_widget_override_background_color(box, GTK_STATE_FLAG_NORMAL,
                                          &info->color_back_green);
+#endif
 
     help_dialog = GTK_WIDGET(gtk_builder_get_object (builder, "matcher_help_dialog"));
     gtk_window_set_transient_for(GTK_WINDOW(help_dialog),

commit 009520498ee820bcf2ddd9e19122e34fc5a5bd82
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 2 10:07:24 2017 +0100

    Replace deprecated Gtk3.16 functions to change colour.
    
    Add a couple of functions to replace deprecated ones to get the
    background color and border color.

diff --git a/src/gnome-utils/gnc-dense-cal.c b/src/gnome-utils/gnc-dense-cal.c
index f4ac6c1..5a60a49 100644
--- a/src/gnome-utils/gnc-dense-cal.c
+++ b/src/gnome-utils/gnc-dense-cal.c
@@ -892,6 +892,42 @@ gnc_dense_cal_draw(GtkWidget *widget, cairo_t *cr, gpointer user_data)
 #define LOG_AND_RESET(timer, msg) do { g_debug("%s: %f", msg, g_timer_elapsed(timer, NULL) * 1000.); g_timer_reset(timer); } while (0);
 
 static void
+gnc_style_context_get_background_color (GtkStyleContext *context,
+                                        GtkStateFlags    state,
+                                        GdkRGBA         *color)
+{
+    GdkRGBA *c;
+
+    g_return_if_fail (color != NULL);
+    g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
+
+    gtk_style_context_get (context,
+                           state,
+                           "background-color", &c,
+                           NULL);
+    *color = *c;
+    gdk_rgba_free (c);
+}
+
+static void
+gnc_style_context_get_border_color (GtkStyleContext *context,
+                                    GtkStateFlags    state,
+                                    GdkRGBA         *color)
+{
+    GdkRGBA *c;
+
+    g_return_if_fail (color != NULL);
+    g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
+
+    gtk_style_context_get (context,
+                           state,
+                           "border-color", &c,
+                           NULL);
+    *color = *c;
+    gdk_rgba_free (c);
+}
+
+static void
 gnc_dense_cal_draw_to_buffer(GncDenseCal *dcal)
 {
     GtkWidget *widget;
@@ -922,7 +958,7 @@ gnc_dense_cal_draw_to_buffer(GncDenseCal *dcal)
     gtk_widget_get_allocation (GTK_WIDGET(dcal->cal_drawing_area), &alloc);
     stylectxt = gtk_widget_get_style_context (widget);
     state_flags = gtk_style_context_get_state (stylectxt);
-    gtk_style_context_get_background_color (stylectxt, state_flags, &color);
+    gnc_style_context_get_background_color (stylectxt, state_flags, &color);
 
     // test for no color set
     if (gdk_rgba_equal (&color, &test_color))
@@ -1012,7 +1048,7 @@ gnc_dense_cal_draw_to_buffer(GncDenseCal *dcal)
         h = col_height(dcal);
 
         /* draw the outside border [inside the month labels] */
-        gtk_style_context_get_border_color (stylectxt, state_flags, &color);
+        gnc_style_context_get_border_color (stylectxt, state_flags, &color);
         cairo_set_source_rgb (cr, color.red, color.green, color.blue);
         cairo_set_line_width (cr, 1);
         cairo_rectangle (cr, x + 0.5, y + 0.5, w, h);

commit 0f3719c69cf8ee67a307077f23acc56588daf693
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 2 10:05:56 2017 +0100

    Replace deprecated Gtk3.16 function gtk_widget_override_font
    
    Use css to change the font size.

diff --git a/src/gnome-utils/gnc-dense-cal.c b/src/gnome-utils/gnc-dense-cal.c
index 573faa2..f4ac6c1 100644
--- a/src/gnome-utils/gnc-dense-cal.c
+++ b/src/gnome-utils/gnc-dense-cal.c
@@ -359,26 +359,41 @@ gnc_dense_cal_init(GncDenseCal *dcal)
 
     /* Deal with the various label sizes. */
     {
+        PangoLayout *layout = gtk_widget_create_pango_layout(GTK_WIDGET(dcal), NULL);
+        GtkStyleContext *stylectxt = gtk_widget_get_style_context (GTK_WIDGET(dcal));
+        GtkStateFlags state_flags = gtk_style_context_get_state (stylectxt);
+        gint font_size_reduction_units = 1;
+        PangoFontDescription *font_desc;
+        GtkCssProvider *provider;
+        gint font_size, px_size;
         gint i;
         gint maxWidth, maxHeight;
-        PangoLayout *layout;
-        PangoFontDescription *font_desc;
-        gint font_size;
-        gint font_size_reduction_units = 1;
-        GtkStyleContext *stylectxt;
-        GtkStateFlags state_flags;
-
-        layout = gtk_widget_create_pango_layout(GTK_WIDGET(dcal), NULL);
+        gchar *px_str, *widget_css;
+        gdouble dpi;
 
-        stylectxt = gtk_widget_get_style_context (GTK_WIDGET(dcal));
-        state_flags = gtk_style_context_get_state (stylectxt);
         gtk_style_context_get (stylectxt, state_flags,
                                GTK_STYLE_PROPERTY_FONT, &font_desc, NULL);
         font_size = pango_font_description_get_size(font_desc);
+
+#if GTK_CHECK_VERSION(3,16,0)
+        provider = gtk_css_provider_new();
+        dpi = gdk_screen_get_resolution (gdk_screen_get_default ());
+        px_size = ((font_size / PANGO_SCALE) - font_size_reduction_units) * (dpi / 72.);
+        px_str = g_strdup_printf("%i", px_size);
+        widget_css = g_strconcat ("*{\n  font-size:", px_str, "px;\n}\n", NULL);
+
+        gtk_css_provider_load_from_data (provider, widget_css, -1, NULL);
+        gtk_style_context_add_provider (stylectxt, GTK_STYLE_PROVIDER (provider),
+                                   GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
+        g_object_unref (provider);
+        g_free (px_str);
+        g_free (widget_css);
+#else
         font_size -= font_size_reduction_units * PANGO_SCALE;
         pango_font_description_set_size(font_desc, font_size);
         gtk_widget_override_font(GTK_WIDGET(dcal), font_desc);
-        pango_font_description_free(font_desc);
+#endif
+        pango_font_description_free (font_desc);
 
         maxWidth = maxHeight = 0;
         for (i = 0; i < 12; i++)

commit b1cc728bc3f3842ba4a6c33ab35c4b2730443f1f
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 2 10:02:38 2017 +0100

    Replace gtk_alignment in various functions
    
    Gtk_alignment is deprecated and so change various uses to equivalent
    x/yalign, x/yexpand and margin functions

diff --git a/src/gnome-utils/gnc-dense-cal.c b/src/gnome-utils/gnc-dense-cal.c
index e14e6b4..573faa2 100644
--- a/src/gnome-utils/gnc-dense-cal.c
+++ b/src/gnome-utils/gnc-dense-cal.c
@@ -285,15 +285,13 @@ gnc_dense_cal_init(GncDenseCal *dcal)
 
     {
         GtkWidget *hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
-        GtkAlignment *label_align;
-        GtkLabel *label;
-        float right_align = 1.0, mid_align = 0.5, fill_x = 0.0, fill_y = 1.0;
+        GtkWidget *label = gtk_label_new (_("View:"));
 
         gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
-        label = GTK_LABEL(gtk_label_new(_("View:")));
-        label_align = GTK_ALIGNMENT(gtk_alignment_new(right_align, mid_align, fill_x, fill_y));
-        gtk_container_add(GTK_CONTAINER(label_align), GTK_WIDGET(label));
-        gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(label_align), TRUE, TRUE, 0);
+        gtk_widget_set_halign (label, GTK_ALIGN_END);
+        gtk_widget_set_margin_end (label, 5);
+
+        gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0);
         gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(dcal->view_options), FALSE, FALSE, 0);
 
         gtk_box_pack_start(GTK_BOX(dcal), GTK_WIDGET(hbox), FALSE, FALSE, 0);
diff --git a/src/gnome-utils/gnc-gui-query.c b/src/gnome-utils/gnc-gui-query.c
index 5d67a35..874b3c8 100644
--- a/src/gnome-utils/gnc-gui-query.c
+++ b/src/gnome-utils/gnc-gui-query.c
@@ -293,7 +293,6 @@ gnc_choose_radio_option_dialog(GtkWidget *parent,
     GtkWidget *vbox;
     GtkWidget *main_vbox;
     GtkWidget *label;
-    GtkWidget *alignment;
     GtkWidget *radio_button;
     GtkWidget *dialog;
     GtkWidget *dvbox;
@@ -311,21 +310,17 @@ gnc_choose_radio_option_dialog(GtkWidget *parent,
     gtk_box_pack_start(GTK_BOX(main_vbox), label, FALSE, FALSE, 0);
     gtk_widget_show(label);
 
-    alignment = gtk_alignment_new(0.0, 0.0, 1.0, 1.0);
-    gtk_alignment_set_padding (GTK_ALIGNMENT(alignment), 0, 0, 12, 0);
-    gtk_box_pack_start(GTK_BOX(main_vbox), alignment, FALSE, FALSE, 0);
-    gtk_widget_show(alignment);
-
     vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
     gtk_box_set_homogeneous (GTK_BOX (vbox), TRUE);
     gtk_container_set_border_width(GTK_CONTAINER(vbox), 6);
-    gtk_container_add(GTK_CONTAINER(alignment), vbox);
+    gtk_container_add(GTK_BOX(main_vbox), vbox);
     gtk_widget_show(vbox);
 
     for (node = radio_list, i = 0; node; node = node->next, i++)
     {
         radio_button = gtk_radio_button_new_with_mnemonic(group, node->data);
         group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radio_button));
+        gtk_widget_set_halign (GTK_WIDGET(radio_button), GTK_ALIGN_START);
 
         if (i == default_value) /* default is first radio button */
         {
diff --git a/src/gnome-utils/gnc-period-select.c b/src/gnome-utils/gnc-period-select.c
index 9fd2db1..3fe2f42 100644
--- a/src/gnome-utils/gnc-period-select.c
+++ b/src/gnome-utils/gnc-period-select.c
@@ -110,7 +110,6 @@ struct _GncPeriodSelectPrivate
 
     GDate     *date_base;
     GtkWidget *date_label;
-    GtkWidget *date_align;
 };
 
 #define GNC_PERIOD_SELECT_GET_PRIVATE(o)  \
@@ -331,12 +330,14 @@ gnc_period_select_set_date_common (GncPeriodSelect *period, const GDate *date)
                                          g_date_get_year(date));
         if (priv->date_label == NULL)
         {
-            priv->date_align = gtk_alignment_new(0.5, 0.5, 0, 0);
-            gtk_alignment_set_padding(GTK_ALIGNMENT(priv->date_align), 0, 0, 6, 0);
-            gtk_box_pack_start(GTK_BOX(period), priv->date_align, TRUE, TRUE, 0);
             priv->date_label = gtk_label_new("");
-            gtk_container_add(GTK_CONTAINER(priv->date_align), priv->date_label);
-            gtk_widget_show_all(priv->date_align);
+#if GTK_CHECK_VERSION(3,12,0)
+            gtk_widget_set_margin_start (GTK_WIDGET(priv->date_label), 6);
+#else
+            gtk_widget_set_margin_left (GTK_WIDGET(priv->date_label), 6);
+#endif
+            gtk_box_pack_start(GTK_BOX(period), priv->date_label, TRUE, TRUE, 0);
+            gtk_widget_show_all(priv->date_label);
         }
         gnc_period_sample_update_date_label(period);
         return;
@@ -346,8 +347,7 @@ gnc_period_select_set_date_common (GncPeriodSelect *period, const GDate *date)
     {
         g_date_free(priv->date_base);
         priv->date_base = NULL;
-        gtk_widget_destroy(priv->date_align);
-        priv->date_align = NULL;
+        gtk_widget_destroy(priv->date_label);
         priv->date_label = NULL;
     }
 }
diff --git a/src/gnome/dialog-tax-info.c b/src/gnome/dialog-tax-info.c
index 4f04c4e..230cf9d 100644
--- a/src/gnome/dialog-tax-info.c
+++ b/src/gnome/dialog-tax-info.c
@@ -1125,7 +1125,6 @@ identity_edit_clicked_cb (GtkButton *button,
     GtkWidget *content_area;
     GtkWidget *name_entry;
     GtkWidget *label;
-    GtkWidget *alignment;
     GtkWidget *table;
     GtkListStore *store;
     GList *types = NULL;
@@ -1152,16 +1151,10 @@ identity_edit_clicked_cb (GtkButton *button,
         gtk_entry_set_text (GTK_ENTRY (name_entry), ti_dialog->tax_name);
     label = gtk_label_new (_("Name"));
     gnc_label_set_alignment (label, 1.00, 0.50);
-    alignment = gtk_alignment_new(1.00, 0.50, 1.00, 0.00);
-    gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 12, 0);
-    gtk_container_add (GTK_CONTAINER (alignment), label);
     table = gtk_grid_new ();
-    gtk_grid_attach (GTK_GRID(table), alignment, 0, 0, 1, 1);
-
-    alignment = gtk_alignment_new(0.00, 0.50, 1.00, 0.00);
-    gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 12, 0);
-    gtk_container_add (GTK_CONTAINER (alignment), name_entry);
-    gtk_grid_attach (GTK_GRID(table), alignment, 1, 0, 1, 1);
+    gtk_grid_set_column_spacing (GTK_GRID(table), 12);
+    gtk_grid_attach (GTK_GRID(table), label, 0, 0, 1, 1);
+    gtk_grid_attach (GTK_GRID(table), name_entry, 1, 0, 1, 1);
 
     store = gtk_list_store_new (1, G_TYPE_STRING);
     gtk_list_store_clear(store);
@@ -1193,24 +1186,15 @@ identity_edit_clicked_cb (GtkButton *button,
     }
     label = gtk_label_new (_("Type"));
     gnc_label_set_alignment (label, 1.00, 0.50);
-    alignment = gtk_alignment_new(1.00, 0.50, 1.00, 0.00);
-    gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 12, 0);
-    gtk_container_add (GTK_CONTAINER (alignment), label);
-    gtk_grid_attach (GTK_GRID(table), alignment, 0, 1, 1, 1);
-
-    alignment = gtk_alignment_new(0.00, 0.50, 1.00, 0.00);
-    gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 12, 0);
-    gtk_container_add (GTK_CONTAINER (alignment), type_combo);
-    gtk_grid_attach (GTK_GRID(table), alignment, 1, 1, 1, 1);
+    gtk_grid_attach (GTK_GRID(table), label, 0, 1, 1, 1);
+    gtk_grid_attach (GTK_GRID(table), type_combo, 1, 1, 1, 1);
 
     label = gtk_label_new (_("CAUTION: If you set TXF categories, and later change 'Type', you will need to manually reset those categories one at a time"));
     gtk_label_set_max_width_chars (GTK_LABEL (label), 50);
     gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
     gnc_label_set_alignment (label, 0.50, 0.50);
-    alignment = gtk_alignment_new(0.50, 0.50, 1.00, 0.00);
-    gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 6, 6, 4, 4);
-    gtk_container_add (GTK_CONTAINER (alignment), label);
-    gtk_grid_attach (GTK_GRID(table), alignment, 0, 2, 2, 1);
+    gtk_widget_set_margin_top (GTK_WIDGET(label), 5);
+    gtk_grid_attach (GTK_GRID(table), label, 0, 2, 2, 1);
 
     gtk_container_add (GTK_CONTAINER (content_area), table);
     gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_APPLY);

commit 66de41bd57779d44a6414776babf88202886a19d
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 2 10:00:35 2017 +0100

    Replace deprecated Gtk3.14 function gtk_arrow_new with an icon
    
    Use icon 'go-down' as the arrow for the pop up selections.

diff --git a/lib/goffice/go-optionmenu.c b/lib/goffice/go-optionmenu.c
index b9f75af..6b4ff22 100644
--- a/lib/goffice/go-optionmenu.c
+++ b/lib/goffice/go-optionmenu.c
@@ -410,9 +410,17 @@ static void go_option_menu_init(GOOptionMenu *option_menu)
 
     option_menu->button_label = GTK_LABEL(gtk_label_new(""));
     gtk_box_pack_start(GTK_BOX(box), GTK_WIDGET(option_menu->button_label), FALSE, TRUE, 0);
+#if GTK_CHECK_VERSION(3,14,0)
+    arrow = gtk_image_new_from_icon_name ("go-down", GTK_ICON_SIZE_BUTTON);
+#else
+    arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_NONE);
+#endif
+#if GTK_CHECK_VERSION(3,12,0)
+    gtk_widget_set_margin_start (GTK_WIDGET(arrow), 5);
+#else
+    gtk_widget_set_margin_left (GTK_WIDGET(arrow), 5);
+#endif
 
-    arrow = gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_NONE);
-    g_object_set(arrow, "xalign", 0.75, NULL);
     gtk_box_pack_end(GTK_BOX(box), arrow, FALSE, FALSE, 0);
 
     sep = gtk_separator_new (GTK_ORIENTATION_VERTICAL);
diff --git a/src/gnome-utils/gnc-cell-renderer-popup-entry.c b/src/gnome-utils/gnc-cell-renderer-popup-entry.c
index b9790f9..c704176 100644
--- a/src/gnome-utils/gnc-cell-renderer-popup-entry.c
+++ b/src/gnome-utils/gnc-cell-renderer-popup-entry.c
@@ -108,7 +108,11 @@ gnc_popup_entry_init (GncPopupEntry *widget)
     widget->button = gtk_button_new ();
     gtk_widget_show (widget->button);
 
+#if GTK_CHECK_VERSION(3,14,0)
+    arrow = gtk_image_new_from_icon_name ("go-down", GTK_ICON_SIZE_BUTTON);
+#else
     arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_OUT);
+#endif
     gtk_widget_show (arrow);
 
     gtk_container_add (GTK_CONTAINER (widget->button), arrow);
@@ -298,7 +302,11 @@ gnc_popup_get_button_width (void)
     gtk_widget_show (button);
     gtk_container_add (GTK_CONTAINER (window), button);
 
+#if GTK_CHECK_VERSION(3,14,0)
+    arrow = gtk_image_new_from_icon_name ("go-down", GTK_ICON_SIZE_BUTTON);
+#else
     arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_OUT);
+#endif
     gtk_widget_show (arrow);
     gtk_container_add (GTK_CONTAINER (button), arrow);
 
diff --git a/src/gnome-utils/gnc-combott.c b/src/gnome-utils/gnc-combott.c
index 1f41624..fc9bf27 100644
--- a/src/gnome-utils/gnc-combott.c
+++ b/src/gnome-utils/gnc-combott.c
@@ -225,7 +225,16 @@ gctt_init (GncCombott *combott)
     hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
     gtk_box_set_homogeneous (GTK_BOX(hbox), FALSE);
 
-    arrow = gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_OUT);
+#if GTK_CHECK_VERSION(3,14,0)
+    arrow = gtk_image_new_from_icon_name ("go-down", GTK_ICON_SIZE_BUTTON);
+#else
+    arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_OUT);
+#endif
+#if GTK_CHECK_VERSION(3,12,0)
+    gtk_widget_set_margin_start (GTK_WIDGET(arrow), 5);
+#else
+    gtk_widget_set_margin_left (GTK_WIDGET(arrow), 5);
+#endif
     gtk_box_pack_end (GTK_BOX (hbox), arrow, FALSE, FALSE, 0);
 
     sep = gtk_separator_new (GTK_ORIENTATION_VERTICAL);
diff --git a/src/gnome-utils/gnc-date-edit.c b/src/gnome-utils/gnc-date-edit.c
index 0db5834..3c1874d 100644
--- a/src/gnome-utils/gnc-date-edit.c
+++ b/src/gnome-utils/gnc-date-edit.c
@@ -900,7 +900,11 @@ create_children (GNCDateEdit *gde)
         gtk_widget_show (GTK_WIDGET(gde->cal_label));
 
     /* Graphic for the popup button. */
+#if GTK_CHECK_VERSION(3,14,0)
+    arrow = gtk_image_new_from_icon_name ("go-down", GTK_ICON_SIZE_BUTTON);
+#else
     arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_NONE);
+#endif
     gtk_box_pack_start (GTK_BOX (hbox), arrow, TRUE, FALSE, 0);
     gtk_widget_show (GTK_WIDGET(arrow));
 

commit b513ab16f8cceca1d60a70935244bdd452eb3310
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 2 09:59:23 2017 +0100

    Replace deprecated Gtk3.16 function in dialog-account.c

diff --git a/src/gnome-utils/dialog-account.c b/src/gnome-utils/dialog-account.c
index 28ac776..9a6217c 100644
--- a/src/gnome-utils/dialog-account.c
+++ b/src/gnome-utils/dialog-account.c
@@ -611,6 +611,7 @@ add_children_to_expander (GObject *object, GParamSpec *param_spec, gpointer data
         gtk_container_add (GTK_CONTAINER (scrolled_window), GTK_WIDGET (view));
 
         gtk_container_add (GTK_CONTAINER (expander), scrolled_window);
+        gtk_widget_set_vexpand (GTK_WIDGET(scrolled_window), TRUE);
         gtk_widget_show_all (scrolled_window);
     }
 }
@@ -665,6 +666,20 @@ verify_children_compatible (AccountWindow *aw)
     gtk_label_set_selectable (GTK_LABEL (label), TRUE);
     gnc_label_set_alignment (label, 0.0, 0.0);
     {
+#if GTK_CHECK_VERSION(3,16,0)
+        GtkCssProvider *provider = gtk_css_provider_new();
+        const gchar *label_css = {
+                                  "label {\n"
+                                  " font-size:large;\n"
+                                  " font-weight: bold;\n"
+                                  "}\n"
+                                 };
+        gtk_css_provider_load_from_data (provider, label_css, strlen(label_css), NULL);
+        gtk_style_context_add_provider (gtk_widget_get_style_context(GTK_WIDGET(label)),
+                                   GTK_STYLE_PROVIDER (provider),
+                                   GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
+        g_object_unref (provider);
+#else
         gint size;
         PangoFontDescription *font_desc;
         GtkStyleContext *style;
@@ -678,6 +693,7 @@ verify_children_compatible (AccountWindow *aw)
         pango_font_description_set_size (font_desc, size * PANGO_SCALE_LARGE);
         gtk_widget_override_font(label, font_desc);
         pango_font_description_free (font_desc);
+#endif
     }
     gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
 

commit fa9d752beb706412012e339e4dc2abec0aa6bce1
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 2 09:58:42 2017 +0100

    Add css style context to various widgets so they can easily be changed
    
    With the use of css, there is the ability to change the appearance of
    the widgets to the users preference.

diff --git a/src/business/business-gnome/dialog-billterms.c b/src/business/business-gnome/dialog-billterms.c
index ce2ad27..789cb11 100644
--- a/src/business/business-gnome/dialog-billterms.c
+++ b/src/business/business-gnome/dialog-billterms.c
@@ -135,6 +135,9 @@ init_notebook_widgets (BillTermNB *notebook, gboolean read_only,
     notebook->notebook = GTK_WIDGET(gtk_builder_get_object (builder, "term_notebook"));
     parent = GTK_WIDGET(gtk_builder_get_object (builder, "terms_notebook_window"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(notebook->notebook), "GncBillTermsDialog");
+
     /* load the "days" widgets */
     notebook->days_due_days = read_widget (builder, "days:due_days", read_only);
     notebook->days_disc_days = read_widget (builder, "days:discount_days", read_only);
@@ -436,6 +439,10 @@ new_billterm_dialog (BillTermsWindow *btw, GncBillTerm *term,
     nbt->dialog = GTK_WIDGET(gtk_builder_get_object (builder, dialog_name));
     nbt->name_entry = GTK_WIDGET(gtk_builder_get_object (builder, "name_entry"));
     nbt->desc_entry = GTK_WIDGET(gtk_builder_get_object (builder, dialog_desc));
+
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(nbt->dialog), "GncBillTermsDialog");
+
     if (name)
         gtk_entry_set_text (GTK_ENTRY (nbt->name_entry), name);
 
@@ -773,6 +780,9 @@ gnc_ui_billterms_window_new (QofBook *book)
     btw->type_label = GTK_WIDGET(gtk_builder_get_object (builder, "type_label"));
     btw->term_vbox = GTK_WIDGET(gtk_builder_get_object (builder, "term_vbox"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(btw->dialog), "GncBillTermsDialog");
+
     /* Initialize the view */
     view = GTK_TREE_VIEW(btw->terms_view);
     store = gtk_list_store_new (NUM_BILL_TERM_COLS, G_TYPE_STRING, G_TYPE_POINTER);
diff --git a/src/business/business-gnome/dialog-choose-owner.c b/src/business/business-gnome/dialog-choose-owner.c
index 91be7ad..ce702f9 100644
--- a/src/business/business-gnome/dialog-choose-owner.c
+++ b/src/business/business-gnome/dialog-choose-owner.c
@@ -66,6 +66,9 @@ gcoi_create_dialog(Split* split)
     dco->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "choose_owner_dialog"));
     g_assert(dco->dialog);
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dco->dialog), "GncChooseOwnerDialog");
+
     /* Get the title widget and set the title */
     widget = GTK_WIDGET(gtk_builder_get_object (builder, "title_label"));
     if (1 == 1)
diff --git a/src/business/business-gnome/dialog-customer.c b/src/business/business-gnome/dialog-customer.c
index 2d4f189..ed94f86 100644
--- a/src/business/business-gnome/dialog-customer.c
+++ b/src/business/business-gnome/dialog-customer.c
@@ -575,6 +575,9 @@ gnc_customer_new_window (QofBook *bookp, GncCustomer *cust)
     gnc_builder_add_from_file (builder, "dialog-customer.glade", "customer_dialog");
     cw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "customer_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(cw->dialog), "GncCustomerDialog");
+
     g_object_set_data (G_OBJECT (cw->dialog), "dialog_info", cw);
 
     /* Get entry points */
diff --git a/src/business/business-gnome/dialog-date-close.c b/src/business/business-gnome/dialog-date-close.c
index 2576588..64aa22f 100644
--- a/src/business/business-gnome/dialog-date-close.c
+++ b/src/business/business-gnome/dialog-date-close.c
@@ -140,6 +140,9 @@ gnc_dialog_date_close_parented (GtkWidget *parent, const char *message,
     gnc_builder_add_from_file (builder, "dialog-date-close.glade", "date_close_dialog");
     ddc->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "date_close_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(ddc->dialog), "GncDateCloseDialog");
+
     date_box = GTK_WIDGET(gtk_builder_get_object (builder, "date_box"));
     ddc->date = gnc_date_edit_new (time(NULL), FALSE, FALSE);
     gtk_box_pack_start (GTK_BOX(date_box), ddc->date, TRUE, TRUE, 0);
@@ -231,6 +234,9 @@ gnc_dialog_dates_acct_question_parented (GtkWidget *parent, const char *message,
     ddc->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "date_account_dialog"));
     ddc->memo_entry = GTK_WIDGET(gtk_builder_get_object (builder, "memo_entry"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(ddc->dialog), "GncDateCloseDialog");
+
     acct_box = GTK_WIDGET(gtk_builder_get_object (builder, "acct_hbox"));
     ddc->acct_combo = gnc_account_sel_new();
     gtk_box_pack_start (GTK_BOX(acct_box), ddc->acct_combo, TRUE, TRUE, 0);
@@ -346,6 +352,9 @@ gnc_dialog_date_acct_parented (GtkWidget *parent, const char *message,
     gnc_builder_add_from_file (builder, "dialog-date-close.glade", "date_account_dialog");
     ddc->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "date_account_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(ddc->dialog), "GncDateCloseDialog");
+
     acct_box = GTK_WIDGET(gtk_builder_get_object (builder, "acct_hbox"));
     ddc->acct_combo = gnc_account_sel_new();
     if (*acct)
diff --git a/src/business/business-gnome/dialog-employee.c b/src/business/business-gnome/dialog-employee.c
index eb9b028..b0a66a3 100644
--- a/src/business/business-gnome/dialog-employee.c
+++ b/src/business/business-gnome/dialog-employee.c
@@ -438,6 +438,9 @@ gnc_employee_new_window (QofBook *bookp,
     gnc_builder_add_from_file (builder, "dialog-employee.glade", "employee_dialog");
     ew->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "employee_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(ew->dialog), "GncEmployeeDialog");
+
     g_object_set_data (G_OBJECT (ew->dialog), "dialog_info", ew);
 
     /* Get entry points */
diff --git a/src/business/business-gnome/dialog-invoice.c b/src/business/business-gnome/dialog-invoice.c
index e292430..c39cc65 100644
--- a/src/business/business-gnome/dialog-invoice.c
+++ b/src/business/business-gnome/dialog-invoice.c
@@ -252,6 +252,9 @@ iw_ask_unpost (InvoiceWindow *iw)
     dialog = GTK_WIDGET (gtk_builder_get_object (builder, "unpost_message_dialog"));
     toggle = GTK_TOGGLE_BUTTON(gtk_builder_get_object (builder, "yes_tt_reset"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncInvoiceDialog");
+
     gtk_window_set_transient_for (GTK_WINDOW(dialog),
                                   GTK_WINDOW(iw_get_window(iw)));
 
@@ -2262,6 +2265,9 @@ gnc_invoice_create_page (InvoiceWindow *iw, gpointer page)
     gnc_builder_add_from_file (builder, "dialog-invoice.glade", "invoice_entry_vbox");
     dialog = GTK_WIDGET (gtk_builder_get_object (builder, "invoice_entry_vbox"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncInvoiceDialog");
+
     /* Autoconnect all the signals */
     gtk_builder_connect_signals_full (builder, gnc_builder_connect_full_func, iw);
 
@@ -2537,6 +2543,9 @@ gnc_invoice_window_new_invoice (InvoiceDialogType dialog_type, QofBook *bookp,
     gnc_builder_add_from_file (builder, "dialog-invoice.glade", "new_invoice_dialog");
     iw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "new_invoice_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(iw->dialog), "GncInvoiceDialog");
+
     g_object_set_data (G_OBJECT (iw->dialog), "dialog_info", iw);
 
     /* Grab the widgets */
diff --git a/src/business/business-gnome/dialog-job.c b/src/business/business-gnome/dialog-job.c
index fcef398..e58aca8 100644
--- a/src/business/business-gnome/dialog-job.c
+++ b/src/business/business-gnome/dialog-job.c
@@ -340,6 +340,9 @@ gnc_job_new_window (QofBook *bookp, GncOwner *owner, GncJob *job)
     /* Find the dialog */
     jw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "job_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(jw->dialog), "GncJobDialog");
+
     /* Get entry points */
     jw->id_entry  = GTK_WIDGET(gtk_builder_get_object (builder, "id_entry"));
     jw->name_entry = GTK_WIDGET(gtk_builder_get_object (builder, "name_entry"));
diff --git a/src/business/business-gnome/dialog-order.c b/src/business/business-gnome/dialog-order.c
index 6e48712..4157b5e 100644
--- a/src/business/business-gnome/dialog-order.c
+++ b/src/business/business-gnome/dialog-order.c
@@ -592,6 +592,9 @@ gnc_order_new_window (QofBook *bookp, OrderDialogType type,
     gnc_builder_add_from_file (builder, "dialog-order.glade", "order_entry_dialog");
     ow->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "order_entry_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(ow->dialog), "GncOrderDialog");
+
     /* Grab the widgets */
     ow->id_entry = GTK_WIDGET(gtk_builder_get_object (builder, "id_entry"));
     ow->ref_entry = GTK_WIDGET(gtk_builder_get_object (builder, "ref_entry"));
@@ -704,6 +707,9 @@ gnc_order_window_new_order (QofBook *bookp, GncOwner *owner)
 
     ow->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "new_order_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(ow->dialog), "GncOrderDialog");
+
     g_object_set_data (G_OBJECT (ow->dialog), "dialog_info", ow);
 
     /* Grab the widgets */
diff --git a/src/business/business-gnome/dialog-payment.c b/src/business/business-gnome/dialog-payment.c
index b535ffc..ca8bd7e 100644
--- a/src/business/business-gnome/dialog-payment.c
+++ b/src/business/business-gnome/dialog-payment.c
@@ -930,6 +930,9 @@ new_payment_window (GncOwner *owner, QofBook *book, GncInvoice *invoice)
     gnc_builder_add_from_file (builder, "dialog-payment.glade", "payment_dialog");
     pw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "payment_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(pw->dialog), "GncPaymentDialog");
+
     /* Grab the widgets and build the dialog */
     pw->payment_warning = GTK_WIDGET (gtk_builder_get_object (builder, "payment_warning"));
     pw->ok_button = GTK_WIDGET (gtk_builder_get_object (builder, "okbutton"));
diff --git a/src/business/business-gnome/dialog-vendor.c b/src/business/business-gnome/dialog-vendor.c
index 66ec7d6..e95f480 100644
--- a/src/business/business-gnome/dialog-vendor.c
+++ b/src/business/business-gnome/dialog-vendor.c
@@ -441,6 +441,9 @@ gnc_vendor_new_window (QofBook *bookp, GncVendor *vendor)
     gnc_builder_add_from_file (builder, "dialog-vendor.glade", "vendor_dialog");
     vw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "vendor_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(vw->dialog), "GncVendorDialog");
+
     /* Get entry points */
     vw->id_entry = GTK_WIDGET (gtk_builder_get_object (builder, "id_entry"));
     vw->company_entry = GTK_WIDGET (gtk_builder_get_object (builder, "company_entry"));
diff --git a/src/business/business-gnome/gnc-plugin-page-invoice.c b/src/business/business-gnome/gnc-plugin-page-invoice.c
index e71cd9e..11aae9e 100644
--- a/src/business/business-gnome/gnc-plugin-page-invoice.c
+++ b/src/business/business-gnome/gnc-plugin-page-invoice.c
@@ -41,6 +41,7 @@
 #include "gnc-prefs.h"
 #include "gnc-ui-util.h"
 #include "gnc-window.h"
+#include "dialog-utils.h"
 
 /* This static indicates the debugging module that this .o belongs to.  */
 static QofLogModule log_module = GNC_MOD_GUI;
@@ -463,6 +464,9 @@ gnc_plugin_page_invoice_create_widget (GncPluginPage *plugin_page)
     priv->widget = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
     gtk_box_set_homogeneous (GTK_BOX (priv->widget), FALSE);
 
+    // Set the style context for this page so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(priv->widget), "GncInvoicePage");
+
     gtk_widget_show (priv->widget);
 
     widget = gnc_invoice_create_page(priv->iw, page);
diff --git a/src/business/business-gnome/gnc-plugin-page-owner-tree.c b/src/business/business-gnome/gnc-plugin-page-owner-tree.c
index 1af81fd..ce3b462 100644
--- a/src/business/business-gnome/gnc-plugin-page-owner-tree.c
+++ b/src/business/business-gnome/gnc-plugin-page-owner-tree.c
@@ -560,6 +560,7 @@ gnc_plugin_page_owner_tree_create_widget (GncPluginPage *plugin_page)
     GtkTreeViewColumn *col;
     const gchar *state_section = NULL;
     gchar* label = "";
+    const gchar *style_label = NULL;
 
     ENTER("page %p", plugin_page);
     page = GNC_PLUGIN_PAGE_OWNER_TREE (plugin_page);
@@ -574,6 +575,9 @@ gnc_plugin_page_owner_tree_create_widget (GncPluginPage *plugin_page)
     gtk_box_set_homogeneous (GTK_BOX (priv->widget), FALSE);
     gtk_widget_show (priv->widget);
 
+    // Set the style context for this page so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(priv->widget), "GncBusinessPage");
+
     scrolled_window = gtk_scrolled_window_new (NULL, NULL);
     gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
                                     GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
@@ -598,33 +602,39 @@ gnc_plugin_page_owner_tree_create_widget (GncPluginPage *plugin_page)
     g_object_set_data(G_OBJECT(col), DEFAULT_VISIBLE, GINT_TO_POINTER(1));
     gnc_tree_view_configure_columns(GNC_TREE_VIEW(tree_view));
 
-
-
     switch (priv->owner_type)
     {
     case GNC_OWNER_NONE :
     case GNC_OWNER_UNDEFINED :
         PWARN("missing owner_type");
         label = _("Unknown");
+        style_label = "GncUnknown";
         break;
     case GNC_OWNER_CUSTOMER :
         label = _("Customers");
         state_section = "Customers Overview";
+        style_label = "GncCustomers";
         break;
     case GNC_OWNER_JOB :
         label = _("Jobs");
         state_section = "Jobs Overview";
+        style_label = "GncJobs";
         break;
     case GNC_OWNER_VENDOR :
         label = _("Vendors");
         state_section = "Vendors Overview";
+        style_label = "GncVendors";
         break;
     case GNC_OWNER_EMPLOYEE :
         label = _("Employees");
         state_section = "Employees Overview";
+        style_label = "GncEmployees";
         break;
     }
 
+    // Set a secondary style context for this page so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(priv->widget), style_label);
+
     g_object_set(G_OBJECT(tree_view), "state-section", state_section,
                                       "show-column-menu", TRUE,
                                       NULL);
diff --git a/src/import-export/csv-exp/assistant-csv-export.c b/src/import-export/csv-exp/assistant-csv-export.c
index fc0476e..ba645ad 100644
--- a/src/import-export/csv-exp/assistant-csv-export.c
+++ b/src/import-export/csv-exp/assistant-csv-export.c
@@ -818,6 +818,9 @@ csv_export_assistant_create (CsvExportInfo *info)
     window = GTK_WIDGET(gtk_builder_get_object (builder, "csv_export_assistant"));
     info->window = window;
 
+    // Set the style context for this assistant so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(window), "GncAssistExport");
+
     /* Load default settings */
     load_settings (info);
 
diff --git a/src/import-export/csv-imp/assistant-csv-account-import.c b/src/import-export/csv-imp/assistant-csv-account-import.c
index e61e209..3e335ca 100644
--- a/src/import-export/csv-imp/assistant-csv-account-import.c
+++ b/src/import-export/csv-imp/assistant-csv-account-import.c
@@ -581,6 +581,9 @@ csv_import_assistant_create (CsvImportInfo *info)
     window = GTK_WIDGET(gtk_builder_get_object (builder, "csv_account_import_assistant"));
     info->window = window;
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(window), "GncAssistAccountImport");
+
     /* Load default settings */
     load_settings (info);
 
diff --git a/src/import-export/csv-imp/assistant-csv-trans-import.cpp b/src/import-export/csv-imp/assistant-csv-trans-import.cpp
index fa461ba..d619e9e 100644
--- a/src/import-export/csv-imp/assistant-csv-trans-import.cpp
+++ b/src/import-export/csv-imp/assistant-csv-trans-import.cpp
@@ -392,6 +392,9 @@ CsvImpTransAssist::CsvImpTransAssist ()
     gnc_builder_add_from_file  (builder , "assistant-csv-trans-import.glade", "csv_transaction_assistant");
     csv_imp_asst = GTK_ASSISTANT(gtk_builder_get_object (builder, "csv_transaction_assistant"));
 
+    // Set the style context for this assistant so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(csv_imp_asst), "GncAssistTransImport");
+
     /* Enable buttons on all page. */
     gtk_assistant_set_page_complete (csv_imp_asst,
                                      GTK_WIDGET(gtk_builder_get_object (builder, "start_page")),
diff --git a/src/import-export/qif-imp/assistant-qif-import.c b/src/import-export/qif-imp/assistant-qif-import.c
index d59df8a..9185957 100644
--- a/src/import-export/qif-imp/assistant-qif-import.c
+++ b/src/import-export/qif-imp/assistant-qif-import.c
@@ -3434,6 +3434,9 @@ get_assistant_widgets(QIFImportWindow *wind, GtkBuilder *builder)
                                    GTK_TEXT_VIEW(wind->convert_log));
     wind->summary_text       = GTK_WIDGET(gtk_builder_get_object (builder, "summary_page"));
 
+    // Set the style context for this assistant so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(wind->window), "GncAssistQifImport");
+
     wind->new_transaction_view =
         GTK_WIDGET(gtk_builder_get_object (builder, "new_transaction_view"));
     wind->old_transaction_view =
diff --git a/src/plugins/bi_import/dialog-bi-import-gui.c b/src/plugins/bi_import/dialog-bi-import-gui.c
index 5ff6901..9ecaac4 100644
--- a/src/plugins/bi_import/dialog-bi-import-gui.c
+++ b/src/plugins/bi_import/dialog-bi-import-gui.c
@@ -108,6 +108,9 @@ gnc_plugin_bi_import_showGUI(void)
     gui->tree_view = GTK_WIDGET(gtk_builder_get_object (builder, "treeview1"));
     gui->entryFilename = GTK_WIDGET(gtk_builder_get_object (builder, "entryFilename"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(gui->dialog), "GncBillImportDialog");
+
     gui->book = gnc_get_current_book();
 
     gui->regexp = g_string_new ( "^(?<id>[^;]*);(?<date_opened>[^;]*);(?<owner_id>[^;]*);(?<billing_id>[^;]*);?(?<notes>[^;]*);?(?<date>[^;]*);?(?<desc>[^;]*);?(?<action>[^;]*);?(?<account>[^;]*);?(?<quantity>[^;]*);?(?<price>[^;]*);?(?<disc_type>[^;]*);?(?<disc_how>[^;]*);?(?<discount>[^;]*);?(?<taxable>[^;]*);?(?<taxincluded>[^;]*);?(?<tax_table>[^;]*);(?<date_posted>[^;]*);(?<due_date>[^;]*);(?<account_posted>[^;]*);(?<memo_posted>[^;]*);(?<accu_splits>[^;]*)$");
diff --git a/src/plugins/customer_import/dialog-customer-import-gui.c b/src/plugins/customer_import/dialog-customer-import-gui.c
index 1114412..b0542ca 100644
--- a/src/plugins/customer_import/dialog-customer-import-gui.c
+++ b/src/plugins/customer_import/dialog-customer-import-gui.c
@@ -104,6 +104,9 @@ gnc_plugin_customer_import_showGUI(void)
     gui->entryFilename = GTK_WIDGET(gtk_builder_get_object (builder, "entryFilename"));
     gui->type = "CUSTOMER"; // Set a default type to import
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(gui->dialog), "GncCustomerImportDialog");
+
     gui->regexp = g_string_new ( "^(?<id>[^;]+);(?<company>[^;]*);(?<name>[^;]+);(?<addr1>[^;]+);?(?<addr2>[^;]*);?(?<addr3>[^;]*);?(?<addr4>[^;]*);?(?<phone>[^;]*);?(?<fax>[^;]*);?(?<email>[^;]*);?(?<shipname>[^;]*);?(?<shipaddr1>[^;]*);?(?<shipaddr2>[^;]*);?(?<shipaddr3>[^;]*);?(?<shipaddr4>[^;]*);?(?<shipphone>[^;]*);?(?<shipfax>[^;]*);?(?<shipemail>[^;]*)");
     gui->book = gnc_get_current_book();
 
diff --git a/src/report/report-gnome/dialog-custom-report.c b/src/report/report-gnome/dialog-custom-report.c
index 50bd6f7..3db3d9a 100644
--- a/src/report/report-gnome/dialog-custom-report.c
+++ b/src/report/report-gnome/dialog-custom-report.c
@@ -505,6 +505,9 @@ static CustomReportDialog *gnc_ui_custom_report_internal(GncMainWindow * window)
     set_reports_view_and_model(crd);
     crd->window = window;
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(crd->dialog), "GncCustomReportDialog");
+
     gnc_restore_window_size (GNC_PREFS_GROUP_REPORT_SAVED_CONFIGS, GTK_WINDOW(crd->dialog));
 
     /* connect the signals */
diff --git a/src/report/report-gnome/dialog-report-style-sheet.c b/src/report/report-gnome/dialog-report-style-sheet.c
index 85b6578..6991175 100644
--- a/src/report/report-gnome/dialog-report-style-sheet.c
+++ b/src/report/report-gnome/dialog-report-style-sheet.c
@@ -197,6 +197,9 @@ gnc_style_sheet_new (StyleSheetDialog * ssd)
     template_combo = GTK_WIDGET(gtk_builder_get_object (builder, "template_combobox"));
     name_entry     = GTK_WIDGET(gtk_builder_get_object (builder, "name_entry"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dlg), "GncStyleSheetDialog");
+
     g_assert(ssd);
 
     /* Erase the initial dummy entry. */
@@ -410,6 +413,9 @@ gnc_style_sheet_select_dialog_create(void)
 
     ss->toplevel   = GTK_WIDGET(gtk_builder_get_object (builder, "select_style_sheet_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(ss->toplevel), "GncStyleSheetDialog");
+
     ss->list_view  = GTK_TREE_VIEW(gtk_builder_get_object (builder, "style_sheet_list_view"));
     ss->list_store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_POINTER);
     gtk_tree_view_set_model(ss->list_view, GTK_TREE_MODEL(ss->list_store));
diff --git a/src/report/report-gnome/gnc-plugin-page-report.c b/src/report/report-gnome/gnc-plugin-page-report.c
index 75c53ec..8f86c5e 100644
--- a/src/report/report-gnome/gnc-plugin-page-report.c
+++ b/src/report/report-gnome/gnc-plugin-page-report.c
@@ -49,6 +49,7 @@
 #include <gnc-glib-utils.h>
 #include "gfec.h"
 #include "dialog-custom-report.h"
+#include "dialog-utils.h"
 #include "gnc-component-manager.h"
 #include "gnc-engine.h"
 #include "gnc-gnome-utils.h"
@@ -424,6 +425,9 @@ gnc_plugin_page_report_create_widget( GncPluginPage *page )
     priv->container = GTK_CONTAINER(gtk_frame_new(NULL));
     gtk_frame_set_shadow_type(GTK_FRAME(priv->container), GTK_SHADOW_NONE);
 
+    // Set the style context for this page so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(priv->container), "GncReportPage");
+
     gtk_container_add(GTK_CONTAINER(priv->container),
                       gnc_html_get_widget(priv->html));
 

commit aef95309960e2a30d5f3ffa9bc0223f9d2b115e3
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 2 09:57:53 2017 +0100

    Add css style context to various widgets so they can easily be changed
    
    With the use of css, there is the ability to change the appearance of
    the widgets to the users preference.

diff --git a/src/gnome-search/dialog-search.c b/src/gnome-search/dialog-search.c
index 8e91da2..294eda7 100644
--- a/src/gnome-search/dialog-search.c
+++ b/src/gnome-search/dialog-search.c
@@ -1157,6 +1157,9 @@ gnc_search_dialog_init_widgets (GNCSearchWindow *sw, const gchar *title)
     gtk_window_set_title(GTK_WINDOW(sw->dialog), title);
     g_object_set_data (G_OBJECT (sw->dialog), "dialog-info", sw);
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(sw->dialog), "GncSearchDialog");
+
     /* Grab the result hbox */
     sw->result_hbox = GTK_WIDGET(gtk_builder_get_object (builder, "result_hbox"));
 
diff --git a/src/gnome/assistant-acct-period.c b/src/gnome/assistant-acct-period.c
index 0357a14..9190119 100644
--- a/src/gnome/assistant-acct-period.c
+++ b/src/gnome/assistant-acct-period.c
@@ -545,6 +545,9 @@ ap_assistant_create (AcctPeriodInfo *info)
     window = GTK_WIDGET(gtk_builder_get_object (builder, "account_period_assistant"));
     info->window = window;
 
+    // Set the style context for this assistant so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(window), "GncAssistAccountPeriod");
+
     /* Enable all pages except menu page. */
     gtk_assistant_set_page_complete (GTK_ASSISTANT (window),
                                      GTK_WIDGET(gtk_builder_get_object(builder, "start_page")),
diff --git a/src/gnome/assistant-hierarchy.c b/src/gnome/assistant-hierarchy.c
index aeca858..abab75a 100644
--- a/src/gnome/assistant-hierarchy.c
+++ b/src/gnome/assistant-hierarchy.c
@@ -1201,6 +1201,9 @@ gnc_create_hierarchy_assistant (gboolean use_defaults, GncHierarchyAssistantFini
     dialog = GTK_WIDGET(gtk_builder_get_object (builder, "hierarchy_assistant"));
     data->dialog = dialog;
 
+    // Set the style context for this assistant so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncAssistAccountHierarchy");
+
     /* If we have a callback, make this window stay on top */
     if (when_completed != NULL)
         gtk_window_set_keep_above (GTK_WINDOW(data->dialog), TRUE);
diff --git a/src/gnome/assistant-loan.c b/src/gnome/assistant-loan.c
index 668c2fc..af871fa 100644
--- a/src/gnome/assistant-loan.c
+++ b/src/gnome/assistant-loan.c
@@ -464,6 +464,9 @@ gnc_loan_assistant_create( LoanAssistantData *ldd )
     window = GTK_WIDGET(gtk_builder_get_object (builder, "loan_mortgage_assistant"));
     ldd->window = window;
 
+    // Set the style context for this assistant so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(window), "GncAssistLoan");
+
     /* Enable buttons on complete pages. */
     gtk_assistant_set_page_complete (GTK_ASSISTANT (window),
                                      GTK_WIDGET(gtk_builder_get_object(builder, "loan_intro_page")),
diff --git a/src/gnome/assistant-stock-split.c b/src/gnome/assistant-stock-split.c
index b583805..640f1fd 100644
--- a/src/gnome/assistant-stock-split.c
+++ b/src/gnome/assistant-stock-split.c
@@ -538,6 +538,9 @@ gnc_stock_split_assistant_create (StockSplitInfo *info)
     window = GTK_WIDGET(gtk_builder_get_object (builder, "stock_split_assistant"));
     info->window = window;
 
+    // Set the style context for this assistant so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(window), "GncAssistStockSplit");
+
     /* Enable buttons on first, second, fourth and last page. */
     gtk_assistant_set_page_complete (GTK_ASSISTANT (window),
                                      GTK_WIDGET(gtk_builder_get_object(builder, "intro_page_label")),
diff --git a/src/gnome/dialog-commodities.c b/src/gnome/dialog-commodities.c
index 3d47193..e04003b 100644
--- a/src/gnome/dialog-commodities.c
+++ b/src/gnome/dialog-commodities.c
@@ -323,6 +323,9 @@ gnc_commodities_dialog_create (GtkWidget * parent, CommoditiesDialog *cd)
     cd->book = qof_session_get_book(cd->session);
     cd->show_currencies = gnc_prefs_get_bool(GNC_PREFS_GROUP, GNC_PREF_INCL_ISO);
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(cd->dialog), "GncCommoditiesDialog");
+
     gtk_builder_connect_signals(builder, cd);
 
     /* parent */
diff --git a/src/gnome/dialog-fincalc.c b/src/gnome/dialog-fincalc.c
index 2cbe10d..fe6a3c1 100644
--- a/src/gnome/dialog-fincalc.c
+++ b/src/gnome/dialog-fincalc.c
@@ -572,6 +572,9 @@ gnc_ui_fincalc_dialog_create(void)
 
     fcd->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "financial_calculator_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(fcd->dialog), "GncFinCalcDialog");
+
     gnc_register_gui_component (DIALOG_FINCALC_CM_CLASS,
                                 NULL, close_handler, fcd);
 
diff --git a/src/gnome/dialog-find-account.c b/src/gnome/dialog-find-account.c
index f247e66..4c0e289 100644
--- a/src/gnome/dialog-find-account.c
+++ b/src/gnome/dialog-find-account.c
@@ -270,6 +270,9 @@ gnc_find_account_dialog_create (GtkWidget *parent, FindAccountDialog *facc_dialo
     dialog = GTK_WIDGET(gtk_builder_get_object (builder, "find_account_dialog"));
     facc_dialog->dialog = dialog;
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncFindAccountDialog");
+
     facc_dialog->session = gnc_get_current_session();
 
     /* parent */
diff --git a/src/gnome/dialog-find-transactions.c b/src/gnome/dialog-find-transactions.c
index 8969d47..cbd721a 100644
--- a/src/gnome/dialog-find-transactions.c
+++ b/src/gnome/dialog-find-transactions.c
@@ -35,6 +35,7 @@
 #include "gnc-main-window.h"
 #include "gnc-plugin-page-register.h"
 #include "search-param.h"
+#include "dialog-utils.h"
 
 #define GNC_PREFS_GROUP_SEARCH "dialogs.find"
 
@@ -225,6 +226,9 @@ gnc_ui_find_transactions_dialog_create(GNCLedgerDisplay * orig_ledg)
                                         NULL, do_find_cb, NULL,
                                         ftd, free_ftd_cb, GNC_PREFS_GROUP_SEARCH, NULL);
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(ftd->sw), "GncFindTransDialog");
+
     if (!ftd->sw)
     {
         free_ftd_cb (ftd);
diff --git a/src/gnome/dialog-find-transactions2.c b/src/gnome/dialog-find-transactions2.c
index bd7749b..f4e255b 100644
--- a/src/gnome/dialog-find-transactions2.c
+++ b/src/gnome/dialog-find-transactions2.c
@@ -35,6 +35,7 @@
 #include "gnc-main-window.h"
 #include "gnc-plugin-page-register2.h"
 #include "search-param.h"
+#include "dialog-utils.h"
 
 #define GNC_PREFS_GROUP_SEARCH "dialogs.find"
 
@@ -226,6 +227,9 @@ gnc_ui_find_transactions_dialog_create2 (GNCLedgerDisplay2 * orig_ledg)
                                         NULL, do_find_cb, NULL,
                                         ftd, free_ftd_cb, GNC_PREFS_GROUP_SEARCH, NULL);
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(ftd->sw), "GncFindTransDialog");
+
     if (!ftd->sw)
     {
         free_ftd_cb (ftd);
diff --git a/src/gnome/dialog-imap-editor.c b/src/gnome/dialog-imap-editor.c
index b1236c1..6070ce8 100644
--- a/src/gnome/dialog-imap-editor.c
+++ b/src/gnome/dialog-imap-editor.c
@@ -651,6 +651,9 @@ gnc_imap_dialog_create (GtkWidget *parent, ImapDialog *imap_dialog)
     dialog = GTK_WIDGET(gtk_builder_get_object (builder, "import_map_dialog"));
     imap_dialog->dialog = dialog;
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncImapDialog");
+
     imap_dialog->session = gnc_get_current_session();
     imap_dialog->type = BAYES;
 
diff --git a/src/gnome/dialog-lot-viewer.c b/src/gnome/dialog-lot-viewer.c
index da85377..628801b 100644
--- a/src/gnome/dialog-lot-viewer.c
+++ b/src/gnome/dialog-lot-viewer.c
@@ -991,6 +991,9 @@ lv_create (GNCLotViewer *lv)
 
     lv->window = GTK_WIDGET(gtk_builder_get_object (builder, "lot_viewer_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(lv->window), "GncLotViewerDialog");
+
     win_title = g_strdup_printf (_("Lots in Account %s"),
                                  xaccAccountGetName(lv->account));
     gtk_window_set_title (GTK_WINDOW (lv->window), win_title);
diff --git a/src/gnome/dialog-new-user.c b/src/gnome/dialog-new-user.c
index aa839fd..52075ce 100644
--- a/src/gnome/dialog-new-user.c
+++ b/src/gnome/dialog-new-user.c
@@ -86,6 +86,9 @@ gnc_ui_new_user_dialog (void)
 
     dialog = GTK_WIDGET(gtk_builder_get_object (builder, "new_user_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncNewUserDialog");
+
     new_accounts_button = GTK_WIDGET(gtk_builder_get_object (builder, "new_accounts_button"));
     import_qif_button = GTK_WIDGET(gtk_builder_get_object (builder, "import_qif_button"));
     tutorial_button = GTK_WIDGET(gtk_builder_get_object (builder, "tutorial_button"));
diff --git a/src/gnome/dialog-price-edit-db.c b/src/gnome/dialog-price-edit-db.c
index 5d0373f..c0bade9 100644
--- a/src/gnome/dialog-price-edit-db.c
+++ b/src/gnome/dialog-price-edit-db.c
@@ -430,6 +430,9 @@ gnc_prices_dialog_create (GtkWidget * parent, PricesDialog *pdb_dialog)
     dialog = GTK_WIDGET(gtk_builder_get_object (builder, "prices_dialog"));
     pdb_dialog->dialog = dialog;
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncPriceEditDialog");
+
     pdb_dialog->session = gnc_get_current_session();
     pdb_dialog->book = qof_session_get_book(pdb_dialog->session);
     pdb_dialog->price_db = gnc_pricedb_get_db(pdb_dialog->book);
diff --git a/src/gnome/dialog-print-check.c b/src/gnome/dialog-print-check.c
index 5e07851..15d6d11 100644
--- a/src/gnome/dialog-print-check.c
+++ b/src/gnome/dialog-print-check.c
@@ -1649,6 +1649,9 @@ gnc_ui_print_check_dialog_create(GtkWidget *parent,
     pcd->builder = builder;
     pcd->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "print_check_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(pcd->dialog), "GncPrintCheckDialog");
+
     /* now pick out the relevant child widgets */
     pcd->format_combobox = GTK_WIDGET(gtk_builder_get_object (builder, "check_format_combobox"));
     pcd->position_combobox = GTK_WIDGET(gtk_builder_get_object (builder, "check_position_combobox"));
diff --git a/src/gnome/dialog-progress.c b/src/gnome/dialog-progress.c
index 528259a..843d129 100644
--- a/src/gnome/dialog-progress.c
+++ b/src/gnome/dialog-progress.c
@@ -207,6 +207,9 @@ gnc_progress_dialog_create(GtkWidget * parent, GNCProgressDialog *progress)
     dialog = GTK_WIDGET(gtk_builder_get_object (builder, "progress_dialog"));
     progress->dialog = dialog;
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncProgressDialog");
+
     /* parent */
     if (parent != NULL)
         gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(parent));
diff --git a/src/gnome/dialog-sx-editor.c b/src/gnome/dialog-sx-editor.c
index 52025bd..d5d9107 100644
--- a/src/gnome/dialog-sx-editor.c
+++ b/src/gnome/dialog-sx-editor.c
@@ -1195,6 +1195,9 @@ gnc_ui_scheduled_xaction_editor_dialog_create (SchedXaction *sx,
     sxed->endCountSpin = GTK_ENTRY(gtk_builder_get_object (builder, "end_spin"));
     sxed->endRemainSpin = GTK_ENTRY(gtk_builder_get_object (builder, "remain_spin"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(sxed->dialog), "GncSxEditorDialog");
+
     /* Setup the end-date GNC widget */
     {
         GtkWidget *endDateBox = GTK_WIDGET(gtk_builder_get_object (builder, "editor_end_date_box"));
diff --git a/src/gnome/dialog-sx-editor2.c b/src/gnome/dialog-sx-editor2.c
index 18e1f87..32cabe8 100644
--- a/src/gnome/dialog-sx-editor2.c
+++ b/src/gnome/dialog-sx-editor2.c
@@ -1165,6 +1165,9 @@ gnc_ui_scheduled_xaction_editor_dialog_create2 (SchedXaction *sx,
     sxed->endCountSpin = GTK_ENTRY (gtk_builder_get_object (builder, "end_spin"));
     sxed->endRemainSpin = GTK_ENTRY (gtk_builder_get_object (builder, "remain_spin"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(sxed->dialog), "GncSxEditorDialog");
+
     /* Setup the end-date GNC widget */
     {
         GtkWidget *endDateBox = GTK_WIDGET(gtk_builder_get_object (builder, "editor_end_date_box"));
diff --git a/src/gnome/dialog-sx-from-trans.c b/src/gnome/dialog-sx-from-trans.c
index 3e0666d..5c6a93c 100644
--- a/src/gnome/dialog-sx-from-trans.c
+++ b/src/gnome/dialog-sx-from-trans.c
@@ -769,6 +769,9 @@ gnc_sx_create_from_trans( Transaction *trans )
     gnc_builder_add_from_file  (builder , "dialog-sx.glade", "sx_from_real_trans_dialog");
     dialog = GTK_WIDGET(gtk_builder_get_object (builder, "sx_from_real_trans_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncSxFromTransDialog");
+
     sxfti->builder = builder;
     sxfti->dialog = dialog;
     sxfti->trans = trans;
diff --git a/src/gnome/dialog-sx-since-last-run.c b/src/gnome/dialog-sx-since-last-run.c
index 5795ed7..5b6a5c3 100644
--- a/src/gnome/dialog-sx-since-last-run.c
+++ b/src/gnome/dialog-sx-since-last-run.c
@@ -971,6 +971,9 @@ gnc_ui_sx_since_last_run_dialog(GncSxInstanceModel *sx_instances, GList *auto_cr
 
     dialog->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "since_last_run_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog->dialog), "GncSxSinceLastRunDialog");
+
     dialog->editing_model = gnc_sx_slr_tree_model_adapter_new(sx_instances);
     dialog->review_created_txns_toggle = GTK_TOGGLE_BUTTON(gtk_builder_get_object (builder, "review_txn_toggle"));
 
diff --git a/src/gnome/dialog-tax-info.c b/src/gnome/dialog-tax-info.c
index 9d5ad76..4f04c4e 100644
--- a/src/gnome/dialog-tax-info.c
+++ b/src/gnome/dialog-tax-info.c
@@ -1280,6 +1280,9 @@ gnc_tax_info_dialog_create (GtkWidget * parent, TaxInfoDialog *ti_dialog)
     dialog = GTK_WIDGET(gtk_builder_get_object (builder, "tax_information_dialog"));
     ti_dialog->dialog = dialog;
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncTaxInfoDialog");
+
     initialize_getters ();
 
     g_signal_connect (G_OBJECT (dialog), "response",
diff --git a/src/gnome/dialog-trans-assoc.c b/src/gnome/dialog-trans-assoc.c
index dc087a9..9c752bf 100644
--- a/src/gnome/dialog-trans-assoc.c
+++ b/src/gnome/dialog-trans-assoc.c
@@ -392,6 +392,9 @@ gnc_assoc_dialog_create (AssocDialog *assoc_dialog)
     dialog = GTK_WIDGET(gtk_builder_get_object (builder, "transaction_association_dialog"));
     assoc_dialog->dialog = dialog;
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncTransAssocDialog");
+
     assoc_dialog->view = GTK_WIDGET(gtk_builder_get_object (builder, "treeview"));
     path_head = GTK_WIDGET(gtk_builder_get_object (builder, "path-head"));
 
diff --git a/src/gnome/gnc-budget-view.c b/src/gnome/gnc-budget-view.c
index 0952ba7..3b1df98 100644
--- a/src/gnome/gnc-budget-view.c
+++ b/src/gnome/gnc-budget-view.c
@@ -332,6 +332,9 @@ gbv_create_widget(GncBudgetView *view)
     gtk_widget_show(GTK_WIDGET(vbox));
     gtk_box_set_homogeneous(GTK_BOX(vbox), FALSE);
 
+    // Set the style context for this page so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(vbox), "GncBudgetPage");
+
     scrolled_window = gtk_scrolled_window_new(NULL, NULL);
     gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window),
                                    GTK_POLICY_AUTOMATIC,
diff --git a/src/gnome/gnc-plugin-page-account-tree.c b/src/gnome/gnc-plugin-page-account-tree.c
index 88cddbd..6ff83e7 100644
--- a/src/gnome/gnc-plugin-page-account-tree.c
+++ b/src/gnome/gnc-plugin-page-account-tree.c
@@ -636,6 +636,9 @@ gnc_plugin_page_account_tree_create_widget (GncPluginPage *plugin_page)
     gtk_box_set_homogeneous (GTK_BOX (priv->widget), FALSE);
     gtk_widget_show (priv->widget);
 
+    // Set the style context for this page so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(priv->widget), "GncAccountPage");
+
     scrolled_window = gtk_scrolled_window_new (NULL, NULL);
     gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
                                     GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
diff --git a/src/gnome/gnc-plugin-page-register.c b/src/gnome/gnc-plugin-page-register.c
index 519f647..97f7e16 100644
--- a/src/gnome/gnc-plugin-page-register.c
+++ b/src/gnome/gnc-plugin-page-register.c
@@ -1085,6 +1085,9 @@ gnc_plugin_page_register_create_widget (GncPluginPage *plugin_page)
     gtk_box_set_homogeneous (GTK_BOX (priv->widget), FALSE);
     gtk_widget_show (priv->widget);
 
+    // Set the style context for this page so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(priv->widget), "GncRegisterPage");
+
     numRows = priv->lines_default;
     numRows = MIN(numRows, DEFAULT_LINES_AMOUNT);
 
diff --git a/src/gnome/gnc-plugin-page-register2.c b/src/gnome/gnc-plugin-page-register2.c
index fbc414c..89ad533 100644
--- a/src/gnome/gnc-plugin-page-register2.c
+++ b/src/gnome/gnc-plugin-page-register2.c
@@ -1095,6 +1095,9 @@ gnc_plugin_page_register2_create_widget (GncPluginPage *plugin_page)
     gtk_box_set_homogeneous (GTK_BOX (priv->widget), FALSE);
     gtk_widget_show (priv->widget);
 
+    // Set the style context for this page so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(priv->widget), "GncRegisterPage");
+
     numRows = priv->lines_default;
     numRows = MIN (numRows, DEFAULT_LINES_AMOUNT);
 
diff --git a/src/gnome/gnc-plugin-page-sx-list.c b/src/gnome/gnc-plugin-page-sx-list.c
index c410e24..dfeffd2 100644
--- a/src/gnome/gnc-plugin-page-sx-list.c
+++ b/src/gnome/gnc-plugin-page-sx-list.c
@@ -371,6 +371,9 @@ gnc_plugin_page_sx_list_create_widget (GncPluginPage *plugin_page)
     priv->widget = widget;
     gtk_widget_show (priv->widget);
 
+    // Set the style context for this page so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(priv->widget), "GncSxPage");
+
     /* Add vbox and label */
     vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
     gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
diff --git a/src/gnome/window-autoclear.c b/src/gnome/window-autoclear.c
index 2b977f8..fc7c286 100644
--- a/src/gnome/window-autoclear.c
+++ b/src/gnome/window-autoclear.c
@@ -314,6 +314,9 @@ autoClearWindow (GtkWidget *parent, Account *account)
     gtk_window_set_title(GTK_WINDOW(data->window), title);
     g_free (title);
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(data->window), "GncAutoClearDialog");
+
     /* Add amount edit box */
     data->end_value = GNC_AMOUNT_EDIT(gnc_amount_edit_new());
     g_signal_connect(GTK_WIDGET(data->end_value), "activate",
diff --git a/src/gnome/window-reconcile.c b/src/gnome/window-reconcile.c
index 7bece1d..d6b6c66 100644
--- a/src/gnome/window-reconcile.c
+++ b/src/gnome/window-reconcile.c
@@ -732,6 +732,9 @@ startRecnWindow(GtkWidget *parent, Account *account,
 
     dialog = GTK_WIDGET(gtk_builder_get_object (builder, "reconcile_start_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncReconcileDialog");
+
     title = gnc_recn_make_window_name (account);
     gtk_window_set_title(GTK_WINDOW(dialog), title);
     g_free (title);
diff --git a/src/gnome/window-reconcile2.c b/src/gnome/window-reconcile2.c
index 4ad5af5..5f5409c 100644
--- a/src/gnome/window-reconcile2.c
+++ b/src/gnome/window-reconcile2.c
@@ -695,6 +695,9 @@ startRecnWindow (GtkWidget *parent, Account *account,
 
     dialog = GTK_WIDGET(gtk_builder_get_object (builder, "reconcile_start_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncReconcileDialog");
+
     title = gnc_recn_make_window_name (account);
     gtk_window_set_title (GTK_WINDOW (dialog), title);
     g_free (title);

commit 443f92eed1a405ca77a51276f7fd5d1de534d266
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 2 09:55:18 2017 +0100

    Add css style context to various widgets so they can easily be changed
    
    With the use of css, there is the ability to change the appearance of
    the widgets to the users preference.

diff --git a/src/gnome-utils/assistant-xml-encoding.c b/src/gnome-utils/assistant-xml-encoding.c
index 04150c3..5df69a8 100644
--- a/src/gnome-utils/assistant-xml-encoding.c
+++ b/src/gnome-utils/assistant-xml-encoding.c
@@ -1188,6 +1188,10 @@ gxi_edit_encodings_clicked_cb (GtkButton *button, GncXmlImportData *data)
     dialog = GTK_WIDGET(gtk_builder_get_object (builder, "encodings_dialog"));
     data->encodings_dialog = dialog;
 
+
+    // Set the style context for this assistant so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncAssistXmlEncoding");
+
     gtk_builder_connect_signals_full (builder, gnc_builder_connect_full_func, data);
 
     gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (data->assistant));
diff --git a/src/gnome-utils/dialog-account.c b/src/gnome-utils/dialog-account.c
index 34dc8fd..28ac776 100644
--- a/src/gnome-utils/dialog-account.c
+++ b/src/gnome-utils/dialog-account.c
@@ -1320,6 +1320,9 @@ gnc_account_window_create(AccountWindow *aw)
     aw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "account_dialog"));
     awo = G_OBJECT (aw->dialog);
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(aw->dialog), "GncAccountDialog");
+
     g_object_set_data (awo, "dialog_info", aw);
 
     if (!aw->modal)
diff --git a/src/gnome-utils/dialog-book-close.c b/src/gnome-utils/dialog-book-close.c
index bd7ec21..3fe4ed8 100644
--- a/src/gnome-utils/dialog-book-close.c
+++ b/src/gnome-utils/dialog-book-close.c
@@ -340,6 +340,9 @@ void gnc_ui_close_book (QofBook* book)
     gnc_builder_add_from_file (builder, "dialog-book-close.glade", "close_book_dialog");
     cbw->dialog = GTK_WIDGET(gtk_builder_get_object (builder,  "close_book_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(cbw->dialog), "GncBookCloseDialog");
+
     PINFO("Closed Book Window is %p, Dialog is %p", cbw, cbw->dialog);
 
     /* close date */
diff --git a/src/gnome-utils/dialog-commodity.c b/src/gnome-utils/dialog-commodity.c
index 5d9a400..3ab91fe 100644
--- a/src/gnome-utils/dialog-commodity.c
+++ b/src/gnome-utils/dialog-commodity.c
@@ -266,6 +266,9 @@ gnc_ui_select_commodity_create(const gnc_commodity * orig_sel,
     retval->ok_button = GTK_WIDGET(gtk_builder_get_object (builder, "ss_ok_button"));
     label = GTK_WIDGET(gtk_builder_get_object (builder, "item_label"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(retval->dialog), "GncSecurityDialog");
+
     gnc_cbwe_require_list_item(GTK_COMBO_BOX(retval->namespace_combo));
     gnc_cbwe_require_list_item(GTK_COMBO_BOX(retval->commodity_combo));
 
@@ -966,8 +969,13 @@ gnc_ui_build_commodity_dialog(const char * selected_namespace,
     gtk_builder_connect_signals_full (builder, gnc_builder_connect_full_func, retval);
 
     retval->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "security_dialog"));
+
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(retval->dialog), "GncSecurityDialog");
+
     if (parent != NULL)
         gtk_window_set_transient_for (GTK_WINDOW (retval->dialog), GTK_WINDOW (parent));
+
     retval->edit_commodity = NULL;
 
     help_button = GTK_WIDGET(gtk_builder_get_object (builder, "help_button"));
diff --git a/src/gnome-utils/dialog-dup-trans.c b/src/gnome-utils/dialog-dup-trans.c
index 6d3279c..3b4a530 100644
--- a/src/gnome-utils/dialog-dup-trans.c
+++ b/src/gnome-utils/dialog-dup-trans.c
@@ -108,6 +108,9 @@ gnc_dup_trans_dialog_create (GtkWidget * parent, DupTransDialog *dt_dialog,
     dialog = GTK_WIDGET(gtk_builder_get_object (builder, "duplicate_transaction_dialog"));
     dt_dialog->dialog = dialog;
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncDupTransDialog");
+
     /* parent */
     if (parent != NULL)
         gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent));
diff --git a/src/gnome-utils/dialog-file-access.c b/src/gnome-utils/dialog-file-access.c
index f5d891c..1902368 100644
--- a/src/gnome-utils/dialog-file-access.c
+++ b/src/gnome-utils/dialog-file-access.c
@@ -277,6 +277,9 @@ gnc_ui_file_access( int type )
     faw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "file_access_dialog" ));
     g_object_set_data_full( G_OBJECT(faw->dialog), "FileAccessWindow", faw, g_free );
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(faw->dialog), "GncFileAccessDialog");
+
     faw->frame_file = GTK_WIDGET(gtk_builder_get_object (builder, "frame_file" ));
     faw->frame_database = GTK_WIDGET(gtk_builder_get_object (builder, "frame_database" ));
     faw->readonly_checkbutton = GTK_WIDGET(gtk_builder_get_object (builder, "readonly_checkbutton"));
diff --git a/src/gnome-utils/dialog-object-references.c b/src/gnome-utils/dialog-object-references.c
index 853384a..9d31da4 100644
--- a/src/gnome-utils/dialog-object-references.c
+++ b/src/gnome-utils/dialog-object-references.c
@@ -54,6 +54,9 @@ gnc_ui_object_references_show( const gchar* explanation_text, GList* objlist )
     gnc_builder_add_from_file (builder, "dialog-object-references.glade", "object_references_dialog" );
     dialog = GTK_WIDGET(gtk_builder_get_object (builder, "object_references_dialog" ));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncObjectRefDialog");
+
     explanation = GTK_LABEL(gtk_builder_get_object (builder, "lbl_explanation" ));
     gtk_label_set_text( explanation, explanation_text );
 
diff --git a/src/gnome-utils/dialog-options.c b/src/gnome-utils/dialog-options.c
index 1747797..39ca25f 100644
--- a/src/gnome-utils/dialog-options.c
+++ b/src/gnome-utils/dialog-options.c
@@ -1728,6 +1728,9 @@ gnc_options_dialog_new_modal(gboolean modal, gchar *title)
     retval->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "gnucash_options_dialog"));
     retval->page_list = GTK_WIDGET(gtk_builder_get_object (builder, "page_list_scroll"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(retval->dialog), "GncOptionsDialog");
+
     /* Page List */
     {
         GtkTreeView *view;
diff --git a/src/gnome-utils/dialog-preferences.c b/src/gnome-utils/dialog-preferences.c
index ed4ec0d..5776951 100644
--- a/src/gnome-utils/dialog-preferences.c
+++ b/src/gnome-utils/dialog-preferences.c
@@ -1267,6 +1267,9 @@ gnc_preferences_dialog_create(void)
 
     dialog = GTK_WIDGET(gtk_builder_get_object (builder, "gnucash_preferences_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncPreferenceDialog");
+
 #ifndef REGISTER2_ENABLED
     /* Hide preferences that are related to register2 */
     box = GTK_WIDGET (gtk_builder_get_object (builder, "label14"));
diff --git a/src/gnome-utils/dialog-query-view.c b/src/gnome-utils/dialog-query-view.c
index 85e0e9e..35cc6a7 100644
--- a/src/gnome-utils/dialog-query-view.c
+++ b/src/gnome-utils/dialog-query-view.c
@@ -192,6 +192,9 @@ gnc_dialog_query_view_new (GList *param_list, Query *q)
     dqv->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "query_view_dialog"));
     g_object_set_data (G_OBJECT (dqv->dialog), "dialog-info", dqv);
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dqv->dialog), "GncQueryViewDialog");
+
     /* grab the widgets */
     dqv->label = GTK_WIDGET(gtk_builder_get_object (builder, "dialog_label"));
     result_hbox = GTK_WIDGET(gtk_builder_get_object (builder, "result_hbox"));
diff --git a/src/gnome-utils/dialog-reset-warnings.c b/src/gnome-utils/dialog-reset-warnings.c
index b9a9e14..2b9252d 100644
--- a/src/gnome-utils/dialog-reset-warnings.c
+++ b/src/gnome-utils/dialog-reset-warnings.c
@@ -381,6 +381,9 @@ gnc_reset_warnings_dialog (GtkWindow *parent)
     gnc_builder_add_from_file (builder, "dialog-reset-warnings.glade", "reset_warnings_dialog");
     dialog = GTK_WIDGET(gtk_builder_get_object (builder, "reset_warnings_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncResetWarningsDialog");
+
     gtk_window_set_transient_for(GTK_WINDOW (dialog), parent);
 
     rw_dialog->dialog = dialog;
diff --git a/src/gnome-utils/dialog-tax-table.c b/src/gnome-utils/dialog-tax-table.c
index 15de019..d13d2f3 100644
--- a/src/gnome-utils/dialog-tax-table.c
+++ b/src/gnome-utils/dialog-tax-table.c
@@ -233,6 +233,10 @@ new_tax_table_dialog (TaxTableWindow *ttw, gboolean new_table,
     gnc_builder_add_from_file (builder, "dialog-tax-table.glade", "new_tax_table_dialog");
 
     ntt->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "new_tax_table_dialog"));
+
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(ntt->dialog), "GncTaxTableDialog");
+
     ntt->name_entry = GTK_WIDGET(gtk_builder_get_object (builder, "name_entry"));
     if (name)
         gtk_entry_set_text (GTK_ENTRY (ntt->name_entry), name);
@@ -712,6 +716,9 @@ gnc_ui_tax_table_window_new (QofBook *book)
     ttw->names_view = GTK_WIDGET(gtk_builder_get_object (builder, "tax_tables_view"));
     ttw->entries_view = GTK_WIDGET(gtk_builder_get_object (builder, "tax_table_entries"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(ttw->dialog), "GncTaxTableDialog");
+
     /* Create the tax tables view */
     view = GTK_TREE_VIEW(ttw->names_view);
     store = gtk_list_store_new (NUM_TAX_TABLE_COLS, G_TYPE_STRING,
diff --git a/src/gnome-utils/dialog-totd.c b/src/gnome-utils/dialog-totd.c
index 99a4ebf..b1944fa 100644
--- a/src/gnome-utils/dialog-totd.c
+++ b/src/gnome-utils/dialog-totd.c
@@ -336,6 +336,9 @@ gnc_totd_dialog (GtkWindow *parent, gboolean startup)
     dialog  = GTK_WIDGET(gtk_builder_get_object (builder, "totd_dialog"));
     gtk_window_set_transient_for(GTK_WINDOW (dialog), parent);
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncTotdDialog");
+
     totd_dialog->dialog = dialog;
 
     ENTER("totd_dialog %p, dialog %p", totd_dialog, dialog);
diff --git a/src/gnome-utils/dialog-transfer.c b/src/gnome-utils/dialog-transfer.c
index 0c4cf7f..70e04cc 100644
--- a/src/gnome-utils/dialog-transfer.c
+++ b/src/gnome-utils/dialog-transfer.c
@@ -1867,6 +1867,9 @@ gnc_xfer_dialog_create(GtkWidget *parent, XferDialog *xferData)
     xferData->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "transfer_dialog"));
     g_object_set_data_full (G_OBJECT (xferData->dialog), "builder", builder, g_object_unref);
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(xferData->dialog), "GncTransferDialog");
+
     /* parent */
     if (parent != NULL)
         gtk_window_set_transient_for (GTK_WINDOW (xferData->dialog), GTK_WINDOW (parent));
diff --git a/src/gnome-utils/dialog-userpass.c b/src/gnome-utils/dialog-userpass.c
index 5f9e1d0..d16e803 100644
--- a/src/gnome-utils/dialog-userpass.c
+++ b/src/gnome-utils/dialog-userpass.c
@@ -51,6 +51,9 @@ gnc_get_username_password (GtkWidget *parent,
 
     dialog = GTK_WIDGET(gtk_builder_get_object (builder, "username_password_dialog"));
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncUserPassDialog");
+
     if (parent)
         gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent));
 
diff --git a/src/gnome-utils/gnc-account-sel.c b/src/gnome-utils/gnc-account-sel.c
index 5ff25a3..d3aa98b 100644
--- a/src/gnome-utils/gnc-account-sel.c
+++ b/src/gnome-utils/gnc-account-sel.c
@@ -35,6 +35,7 @@
 #include "gnc-ui-util.h"
 #include "qof.h"
 #include "gnc-session.h"
+#include "dialog-utils.h"
 
 #define ACCT_DATA_TAG "gnc-account-sel_acct"
 
@@ -154,6 +155,9 @@ gnc_account_sel_init (GNCAccountSel *gas)
 
     g_object_set(gas, "spacing", 2, (gchar*)NULL);
 
+    // Set the style context for this widget so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(gas), "GncAccountSel");
+
     gas->store = gtk_list_store_new(NUM_ACCT_COLS, G_TYPE_STRING, G_TYPE_POINTER);
     widget = gtk_combo_box_new_with_model_and_entry(GTK_TREE_MODEL(gas->store));
     gas->combo = GTK_COMBO_BOX(widget);
diff --git a/src/gnome-utils/gnc-amount-edit.c b/src/gnome-utils/gnc-amount-edit.c
index bcb4166..d860f2e 100644
--- a/src/gnome-utils/gnc-amount-edit.c
+++ b/src/gnome-utils/gnc-amount-edit.c
@@ -42,6 +42,7 @@
 #include "gnc-locale-utils.h"
 #include "gnc-ui-util.h"
 #include "qof.h"
+#include "dialog-utils.h"
 
 #ifdef G_OS_WIN32
 # include <gdk/gdkwin32.h>
@@ -139,6 +140,9 @@ gnc_amount_edit_init (GNCAmountEdit *gae)
     gae->fraction = 0;
     gae->evaluate_on_enter = FALSE;
 
+    // Set the style context for this widget so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(gae), "GncAmountEdit");
+
     g_signal_connect (G_OBJECT (gae), "changed",
                       G_CALLBACK (gnc_amount_edit_changed), NULL);
 }
diff --git a/src/gnome-utils/gnc-autosave.c b/src/gnome-utils/gnc-autosave.c
index a5de9cf..26c21dc 100644
--- a/src/gnome-utils/gnc-autosave.c
+++ b/src/gnome-utils/gnc-autosave.c
@@ -34,6 +34,7 @@
 #include "gnc-prefs.h"
 #include "gnc-main-window.h"
 #include "gnc-gui-query.h"
+#include "dialog-utils.h"
 
 #define GNC_PREF_AUTOSAVE_SHOW_EXPLANATION "autosave-show-explanation"
 #define GNC_PREF_AUTOSAVE_INTERVAL         "autosave-interval-minutes"
@@ -96,6 +97,10 @@ static gboolean autosave_confirm(GtkWidget *toplevel)
                                GTK_BUTTONS_NONE,
                                "%s",
                                _("Save file automatically?"));
+
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncAutoSaveDialog");
+
     gtk_message_dialog_format_secondary_text
     (GTK_MESSAGE_DIALOG(dialog),
      ngettext("Your data file needs to be saved to your hard disk to save your changes. "
diff --git a/src/gnome-utils/gnc-combott.c b/src/gnome-utils/gnc-combott.c
index 4d3cd54..1f41624 100644
--- a/src/gnome-utils/gnc-combott.c
+++ b/src/gnome-utils/gnc-combott.c
@@ -215,6 +215,9 @@ gctt_init (GncCombott *combott)
 
     gtk_orientable_set_orientation (GTK_ORIENTABLE(combott), GTK_ORIENTATION_HORIZONTAL);
 
+    // Set the style context for this widget so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(combott), "GncCombott");
+
     priv->active = 0;
     priv->text_col = 0;
     priv->tip_col = 1;
diff --git a/src/gnome-utils/gnc-currency-edit.c b/src/gnome-utils/gnc-currency-edit.c
index 75402ed..bf62342 100644
--- a/src/gnome-utils/gnc-currency-edit.c
+++ b/src/gnome-utils/gnc-currency-edit.c
@@ -68,6 +68,7 @@
 #include "gnc-gtk-utils.h"
 #include "gnc-ui-util.h"
 #include "gnc-engine.h"
+#include "dialog-utils.h"
 
 /** The debugging module used by this file. */
 static QofLogModule log_module = GNC_MOD_GUI;
@@ -226,6 +227,9 @@ gnc_currency_edit_class_init (GNCCurrencyEditClass *klass)
 static void
 gnc_currency_edit_init (GNCCurrencyEdit *gce)
 {
+    // Set the style context for this widget so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(gce), "GncCurrencyEdit");
+
     g_signal_connect (gce, "notify::mnemonic",
                       G_CALLBACK (gnc_currency_edit_mnemonic_changed), gce);
     g_signal_connect (gce, "changed",
diff --git a/src/gnome-utils/gnc-date-delta.c b/src/gnome-utils/gnc-date-delta.c
index dfac3e7..a8ee05e 100644
--- a/src/gnome-utils/gnc-date-delta.c
+++ b/src/gnome-utils/gnc-date-delta.c
@@ -43,6 +43,7 @@
 
 #include "gnc-date.h"
 #include "gnc-date-delta.h"
+#include "dialog-utils.h"
 
 #define GDD_LABEL "gdd"
 
@@ -161,6 +162,9 @@ gnc_date_delta_init (GNCDateDelta *gdd)
 {
     gtk_orientable_set_orientation (GTK_ORIENTABLE(gdd), GTK_ORIENTATION_HORIZONTAL);
 
+    // Set the style context for this widget so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(gdd), "GncDateDelta");
+
     gdd->value_spin = NULL;
     gdd->units_combo = NULL;
     gdd->polarity_combo = NULL;
diff --git a/src/gnome-utils/gnc-date-edit.c b/src/gnome-utils/gnc-date-edit.c
index 3a423e7..0db5834 100644
--- a/src/gnome-utils/gnc-date-edit.c
+++ b/src/gnome-utils/gnc-date-edit.c
@@ -671,6 +671,9 @@ gnc_date_edit_init (GNCDateEdit *gde)
 {
     gtk_orientable_set_orientation (GTK_ORIENTABLE(gde), GTK_ORIENTATION_HORIZONTAL);
 
+    // Set the style context for this widget so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(gde), "GncDateEdit");
+
     gde->disposed = FALSE;
     gde->popup_in_progress = FALSE;
     gde->lower_hour = 7;
diff --git a/src/gnome-utils/gnc-date-format.c b/src/gnome-utils/gnc-date-format.c
index 1943e04..8130e7b 100644
--- a/src/gnome-utils/gnc-date-format.c
+++ b/src/gnome-utils/gnc-date-format.c
@@ -160,6 +160,9 @@ gnc_date_format_init (GNCDateFormat *gdf)
 
     gtk_orientable_set_orientation (GTK_ORIENTABLE(gdf), GTK_ORIENTATION_HORIZONTAL);
 
+    // Set the style context for this widget so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(gdf), "GncDateFormat");
+
     /* Open up the Glade and set the signals */
     builder = gtk_builder_new();
     gnc_builder_add_from_file (builder, "gnc-date-format.glade", "format-liststore");
diff --git a/src/gnome-utils/gnc-dense-cal.c b/src/gnome-utils/gnc-dense-cal.c
index f472cb2..e14e6b4 100644
--- a/src/gnome-utils/gnc-dense-cal.c
+++ b/src/gnome-utils/gnc-dense-cal.c
@@ -31,6 +31,7 @@
 #include <math.h>
 #include <stdlib.h>
 #include <gnc-gdate-utils.h>
+#include "dialog-utils.h"
 
 /**
  * Marking ...
@@ -261,13 +262,12 @@ _gdc_get_view_options(void)
 static void
 gnc_dense_cal_init(GncDenseCal *dcal)
 {
-    GtkStyleContext *context;
     gboolean colorAllocSuccess[MAX_COLORS];
 
     gtk_orientable_set_orientation (GTK_ORIENTABLE(dcal), GTK_ORIENTATION_VERTICAL);
 
-    context = gtk_widget_get_style_context (GTK_WIDGET(dcal));
-    gtk_style_context_add_class (context,"GncDenseCal");
+    // Set the style context for this widget so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(dcal), "GncDenseCal");
 
     {
         GtkTreeModel *options;
diff --git a/src/gnome-utils/gnc-embedded-window.c b/src/gnome-utils/gnc-embedded-window.c
index 50b2078..f388938 100644
--- a/src/gnome-utils/gnc-embedded-window.c
+++ b/src/gnome-utils/gnc-embedded-window.c
@@ -38,6 +38,7 @@
 #include "gnc-plugin-manager.h"
 #include "gnc-ui.h"
 #include "gnc-window.h"
+#include "dialog-utils.h"
 
 /* Static Globals *******************************************************/
 
@@ -239,6 +240,9 @@ gnc_embedded_window_init (GncEmbeddedWindow *window,
 
     gtk_orientable_set_orientation (GTK_ORIENTABLE(window), GTK_ORIENTATION_VERTICAL);
 
+    // Set the style context for this widget so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(window), "GncEmbededWindow");
+
     gnc_embedded_window_setup_window (window);
 
     gnc_gobject_tracking_remember(G_OBJECT(window),
diff --git a/src/gnome-utils/gnc-file.c b/src/gnome-utils/gnc-file.c
index 6fa0570..f7cbdb0 100644
--- a/src/gnome-utils/gnc-file.c
+++ b/src/gnome-utils/gnc-file.c
@@ -170,6 +170,9 @@ gnc_file_dialog (const char * title,
 
     response = gtk_dialog_run(GTK_DIALOG(file_box));
 
+    // Set the style context for this widget so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(file_box), "GncFileDialog");
+
     if (response == GTK_RESPONSE_ACCEPT)
     {
         /* look for constructs like postgres://foo */
diff --git a/src/gnome-utils/gnc-frequency.c b/src/gnome-utils/gnc-frequency.c
index 144c549..df210d3 100644
--- a/src/gnome-utils/gnc-frequency.c
+++ b/src/gnome-utils/gnc-frequency.c
@@ -203,6 +203,9 @@ gnc_frequency_init(GncFrequency *gf)
 
     gtk_orientable_set_orientation (GTK_ORIENTABLE(gf), GTK_ORIENTATION_VERTICAL);
 
+    // Set the style context for this widget so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(gf), "GncFrequency");
+
     builder = gtk_builder_new();
     gnc_builder_add_from_file  (builder , "gnc-frequency.glade", "adjustment1");
     gnc_builder_add_from_file  (builder , "gnc-frequency.glade", "adjustment2");
diff --git a/src/gnome-utils/gnc-general-select.c b/src/gnome-utils/gnc-general-select.c
index bee3ac7..cc16a46 100644
--- a/src/gnome-utils/gnc-general-select.c
+++ b/src/gnome-utils/gnc-general-select.c
@@ -37,6 +37,7 @@
 #include <stdio.h>
 
 #include "gnc-general-select.h"
+#include "dialog-utils.h"
 
 /* Signal codes */
 enum
@@ -144,6 +145,9 @@ gnc_general_select_init (GNCGeneralSelect *gsl)
 {
     gtk_orientable_set_orientation (GTK_ORIENTABLE(gsl), GTK_ORIENTATION_HORIZONTAL);
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(gsl), "GncGeneralSelect");
+
     gsl->disposed = FALSE;
     gsl->selected_item = NULL;
 }
diff --git a/src/gnome-utils/gnc-main-window.c b/src/gnome-utils/gnc-main-window.c
index 09960dc..c38ee45 100644
--- a/src/gnome-utils/gnc-main-window.c
+++ b/src/gnome-utils/gnc-main-window.c
@@ -2545,6 +2545,9 @@ gnc_main_window_init (GncMainWindow *window,
     priv->merged_actions_table =
         g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
 
+    // Set the style context for this widget so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(window), "GncMainWindow");
+
     priv->event_handler_id =
         qof_event_register_handler(gnc_main_window_event_handler, window);
 
diff --git a/src/gnome-utils/gnc-period-select.c b/src/gnome-utils/gnc-period-select.c
index 14bdf80..9fd2db1 100644
--- a/src/gnome-utils/gnc-period-select.c
+++ b/src/gnome-utils/gnc-period-select.c
@@ -38,6 +38,7 @@
 #include "gnc-period-select.h"
 #include "gnc-prefs.h"
 #include <gnc-gdate-utils.h>
+#include "dialog-utils.h"
 
 enum
 {
@@ -615,6 +616,9 @@ gnc_period_select_init (GncPeriodSelect *period)
 
     gtk_orientable_set_orientation (GTK_ORIENTABLE(period), GTK_ORIENTATION_HORIZONTAL);
 
+    // Set the style context for this widget so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(period), "GncPeriodSelect");
+
     priv = GNC_PERIOD_SELECT_GET_PRIVATE(period);
     priv->start = TRUE;
 }
diff --git a/src/gnome-utils/gnc-query-view.c b/src/gnome-utils/gnc-query-view.c
index a04ca51..7e8382c 100644
--- a/src/gnome-utils/gnc-query-view.c
+++ b/src/gnome-utils/gnc-query-view.c
@@ -215,6 +215,9 @@ gnc_query_view_init (GNCQueryView *qview)
 {
     GNCQueryViewPriv *priv;
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(qview), "GncQueryView");
+
     qview->query = NULL;
 
     qview->num_columns = 0;
diff --git a/src/gnome-utils/gnc-recurrence.c b/src/gnome-utils/gnc-recurrence.c
index 3d89f4c..300fbee 100644
--- a/src/gnome-utils/gnc-recurrence.c
+++ b/src/gnome-utils/gnc-recurrence.c
@@ -189,6 +189,9 @@ gnc_recurrence_init( GncRecurrence *gr )
 
     recurrenceSet(&gr->recurrence, 1, PERIOD_MONTH, NULL, WEEKEND_ADJ_NONE);
 
+    // Set the style context for this widget so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(gr), "GncRecurrence");
+
     /* Open up the builder file */
     builder = gtk_builder_new();
     gnc_builder_add_from_file (builder, "gnc-recurrence.glade", "GCB_PeriodType_liststore");
diff --git a/src/gnome-utils/gnc-splash.c b/src/gnome-utils/gnc-splash.c
index a25d67f..7720633 100644
--- a/src/gnome-utils/gnc-splash.c
+++ b/src/gnome-utils/gnc-splash.c
@@ -29,6 +29,7 @@
 #include "gnc-splash.h"
 #include "core-utils/gnc-version.h"
 #include "gnc-prefs.h"
+#include "dialog-utils.h"
 
 #define MARKUP_STRING "<span size='small'>%s</span>"
 #define GNC_PREF_SHOW_SPLASH "show-splash-screen"
@@ -68,6 +69,9 @@ gnc_show_splash_screen (void)
     gtk_window_set_decorated(GTK_WINDOW (splash), FALSE);
     gtk_window_set_skip_taskbar_hint (GTK_WINDOW (splash), TRUE);
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(splash), "GncSplash");
+
     g_signal_connect (splash, "destroy",
                       G_CALLBACK (splash_destroy_cb), NULL);
 
diff --git a/src/gnome-utils/gnc-tree-view.c b/src/gnome-utils/gnc-tree-view.c
index d6ff651..fd36ca5 100644
--- a/src/gnome-utils/gnc-tree-view.c
+++ b/src/gnome-utils/gnc-tree-view.c
@@ -250,6 +250,9 @@ gnc_tree_view_init (GncTreeView *view, GncTreeViewClass *klass)
     /* Ask gtk to help the user keep track of rows. */
     g_object_set(view, "rules-hint", TRUE, NULL);
 
+    // Set the style context for this page so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(view), "GncTreeView");
+
     /* Handle column drag and drop */
     gtk_tree_view_set_column_drag_function(GTK_TREE_VIEW(view),
                                            gnc_tree_view_drop_ok_cb, NULL, NULL);
diff --git a/src/gnome-utils/window-main-summarybar.c b/src/gnome-utils/window-main-summarybar.c
index e8a27a3..10a5dbd 100644
--- a/src/gnome-utils/window-main-summarybar.c
+++ b/src/gnome-utils/window-main-summarybar.c
@@ -37,6 +37,7 @@
 #include "gnc-locale-utils.h"
 #include "gnc-ui-util.h"
 #include "window-main-summarybar.h"
+#include "dialog-utils.h"
 
 typedef struct
 {
@@ -533,6 +534,9 @@ gnc_main_window_summary_new (void)
     retval->hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
     gtk_box_set_homogeneous (GTK_BOX (retval->hbox), FALSE);
 
+    // Set the style context for this widget so it can be easily manipulated with css
+    gnc_widget_set_style_context (GTK_WIDGET(retval->hbox), "GncSummaryBar");
+
     retval->totals_combo = gtk_combo_box_new_with_model (GTK_TREE_MODEL (retval->datamodel));
     g_object_unref (retval->datamodel);
 

commit 887a74e6d177fc73af1fffafcc6eab3f4176b03b
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 2 09:54:00 2017 +0100

    Add function to add css style context to a widget

diff --git a/src/gnome-utils/dialog-utils.c b/src/gnome-utils/dialog-utils.c
index 87ea888..c0757c1 100644
--- a/src/gnome-utils/dialog-utils.c
+++ b/src/gnome-utils/dialog-utils.c
@@ -270,6 +270,20 @@ gnc_tree_view_get_grid_lines_pref (void)
     return grid_lines;
 }
 
+/********************************************************************\
+ * Add a style context to a Widget so it can be altered with css    *
+ *                                                                  *
+ * Args:    widget - widget to add css style too                    *
+ *       gnc_class - character string for css class name            *
+ * Returns:  nothing                                                *
+\********************************************************************/
+void
+gnc_widget_set_style_context (GtkWidget *widget, const char *gnc_class)
+{
+    GtkStyleContext *context = gtk_widget_get_style_context (widget);
+    gtk_style_context_add_class (context, gnc_class);
+}
+
 gboolean
 gnc_handle_date_accelerator (GdkEventKey *event,
                              struct tm *tm,
diff --git a/src/gnome-utils/dialog-utils.h b/src/gnome-utils/dialog-utils.h
index 9347711..f311efa 100644
--- a/src/gnome-utils/dialog-utils.h
+++ b/src/gnome-utils/dialog-utils.h
@@ -79,6 +79,15 @@ void gnc_label_set_alignment (GtkWidget *widget, gfloat xalign, gfloat yalign);
 \********************************************************************/
 GtkTreeViewGridLines gnc_tree_view_get_grid_lines_pref (void);
 
+/********************************************************************\
+ * Add a style context to a Widget so it can be altered with css    *
+ *                                                                  *
+ * Args:    widget - widget to add css style too                    *
+ *       gnc_class - character string for css class name            *
+ * Returns:  nothing                                                *
+\********************************************************************/
+void gnc_widget_set_style_context (GtkWidget *widget, const char *gnc_class);
+
 gboolean gnc_handle_date_accelerator (GdkEventKey *event,
                                       struct tm *tm,
                                       const char *date_str);

commit 489edfe1dd3c73955d267aefad688a0178c12b0c
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 2 09:51:24 2017 +0100

    Use the new preference to control icons and labels on buttons
    
    Some buttons are part of a gnc_dialog and as such have the option to
    have an icon and label on the button. Add preference to just have label

diff --git a/src/gnome-utils/dialog-utils.c b/src/gnome-utils/dialog-utils.c
index 4f24a5f..87ea888 100644
--- a/src/gnome-utils/dialog-utils.c
+++ b/src/gnome-utils/dialog-utils.c
@@ -530,7 +530,8 @@ gnc_gtk_dialog_add_button (GtkWidget *dialog, const gchar *label, const gchar *i
 
         image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_BUTTON);
         gtk_button_set_image (GTK_BUTTON(button), image);
-        g_object_set (button, "always-show-image", TRUE, NULL); // Maybe this should be a preference
+        if (gnc_prefs_get_bool (GNC_PREFS_GROUP_GENERAL, "buttons-with-icons-and-labels"))
+            g_object_set (button, "always-show-image", TRUE, NULL);
     }
     g_object_set (button, "can-default", TRUE, NULL);
     gtk_widget_show_all(button);

commit 632764e1e27ffbe99b94a335fecb68cc44e455da
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 2 09:50:02 2017 +0100

    Add grid line preference to various tree views
    
    I have tried to add the grid line preference to tree views with more
    than one column. There maybe more required. With the addition of css
    classes, individual tree view grids maybe turned off by setting the
    border colour to transparent.

diff --git a/src/business/business-gnome/dialog-payment.c b/src/business/business-gnome/dialog-payment.c
index c1f54a7..b535ffc 100644
--- a/src/business/business-gnome/dialog-payment.c
+++ b/src/business/business-gnome/dialog-payment.c
@@ -993,6 +993,9 @@ new_payment_window (GncOwner *owner, QofBook *book, GncInvoice *invoice)
     selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(pw->docs_list_tree_view));
     gtk_tree_selection_set_mode (selection, GTK_SELECTION_MULTIPLE);
 
+    // Set grid lines option to preference
+    gtk_tree_view_set_grid_lines (GTK_TREE_VIEW(pw->docs_list_tree_view), gnc_tree_view_get_grid_lines_pref ());
+
     /* Configure date column */
     renderer = gtk_cell_renderer_text_new ();
     column = gtk_tree_view_get_column (GTK_TREE_VIEW (pw->docs_list_tree_view), 0);
diff --git a/src/gnome-utils/gnc-query-view.c b/src/gnome-utils/gnc-query-view.c
index 1f0d473..a04ca51 100644
--- a/src/gnome-utils/gnc-query-view.c
+++ b/src/gnome-utils/gnc-query-view.c
@@ -322,6 +322,9 @@ gnc_query_view_init_view (GNCQueryView *qview)
     /* compute the number of columns and fill in the rest of the view */
     qview->num_columns = g_list_length (qview->column_params);
 
+    // Set grid lines option to preference
+    gtk_tree_view_set_grid_lines (GTK_TREE_VIEW(view), gnc_tree_view_get_grid_lines_pref ());
+
     for (i = 0, node = qview->column_params; node; node = node->next, i++)
     {
         const char *type;
diff --git a/src/gnome-utils/gnc-tree-view.c b/src/gnome-utils/gnc-tree-view.c
index 1966566..d6ff651 100644
--- a/src/gnome-utils/gnc-tree-view.c
+++ b/src/gnome-utils/gnc-tree-view.c
@@ -44,6 +44,7 @@
 #include "gnc-gobject-utils.h"
 #include "gnc-cell-renderer-date.h"
 #include "gnc-state.h"
+#include "dialog-utils.h"
 
 /* The actual state key for a particular column visibility.  This is
  * attached to the menu items that are in the column selection menu.
@@ -266,6 +267,9 @@ gnc_tree_view_init (GncTreeView *view, GncTreeViewClass *klass)
 
     gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_FIXED);
 
+    // Set grid lines option to preference
+    gtk_tree_view_set_grid_lines (GTK_TREE_VIEW(view), gnc_tree_view_get_grid_lines_pref ());
+
     /* Create the last column which contains the column selection
      * widget.  gnc_tree_view_add_text_column will do most of the
      * work. */
diff --git a/src/gnome/assistant-loan.c b/src/gnome/assistant-loan.c
index c45b88b..668c2fc 100644
--- a/src/gnome/assistant-loan.c
+++ b/src/gnome/assistant-loan.c
@@ -1822,6 +1822,9 @@ loan_rev_prep( GtkAssistant *assistant, gpointer user_data )
                        gtk_tree_view_new_with_model( GTK_TREE_MODEL(store) ));
     g_object_unref(store);
 
+    // Set grid lines option to preference
+    gtk_tree_view_set_grid_lines (GTK_TREE_VIEW(ldd->revView), gnc_tree_view_get_grid_lines_pref ());
+
     renderer = gtk_cell_renderer_text_new();
     column = gtk_tree_view_column_new_with_attributes(_("Date"), renderer,
              "text", LOAN_COL_DATE,
diff --git a/src/gnome/assistant-stock-split.c b/src/gnome/assistant-stock-split.c
index 5185b3a..b583805 100644
--- a/src/gnome/assistant-stock-split.c
+++ b/src/gnome/assistant-stock-split.c
@@ -564,6 +564,9 @@ gnc_stock_split_assistant_create (StockSplitInfo *info)
 
         view = GTK_TREE_VIEW(info->account_view);
 
+        // Set grid lines option to preference
+        gtk_tree_view_set_grid_lines (GTK_TREE_VIEW(view), gnc_tree_view_get_grid_lines_pref ());
+
         store = gtk_list_store_new(NUM_SPLIT_COLS, G_TYPE_POINTER, G_TYPE_STRING,
                                    G_TYPE_STRING, G_TYPE_STRING);
         gtk_tree_view_set_model(view, GTK_TREE_MODEL(store));
diff --git a/src/gnome/dialog-find-account.c b/src/gnome/dialog-find-account.c
index 1e3217a..f247e66 100644
--- a/src/gnome/dialog-find-account.c
+++ b/src/gnome/dialog-find-account.c
@@ -301,6 +301,9 @@ gnc_find_account_dialog_create (GtkWidget *parent, FindAccountDialog *facc_dialo
     gtk_tree_view_set_rules_hint (GTK_TREE_VIEW(facc_dialog->view), TRUE);
 #endif
 
+    // Set grid lines option to preference
+    gtk_tree_view_set_grid_lines (GTK_TREE_VIEW(facc_dialog->view), gnc_tree_view_get_grid_lines_pref ());
+
     /* default to 'close' button */
     gtk_dialog_set_default_response (GTK_DIALOG(dialog), GTK_RESPONSE_CLOSE);
 
diff --git a/src/gnome/dialog-imap-editor.c b/src/gnome/dialog-imap-editor.c
index 57ac250..b1236c1 100644
--- a/src/gnome/dialog-imap-editor.c
+++ b/src/gnome/dialog-imap-editor.c
@@ -691,6 +691,10 @@ gnc_imap_dialog_create (GtkWidget *parent, ImapDialog *imap_dialog)
 #if !GTK_CHECK_VERSION(3, 14, 0)
     gtk_tree_view_set_rules_hint (GTK_TREE_VIEW(imap_dialog->view), TRUE);
 #endif
+
+    // Set grid lines option to preference
+    gtk_tree_view_set_grid_lines (GTK_TREE_VIEW(imap_dialog->view), gnc_tree_view_get_grid_lines_pref ());
+
     /* default to 'close' button */
     gtk_dialog_set_default_response (GTK_DIALOG(dialog), GTK_RESPONSE_CLOSE);
 
diff --git a/src/gnome/dialog-lot-viewer.c b/src/gnome/dialog-lot-viewer.c
index a4ebcbe..da85377 100644
--- a/src/gnome/dialog-lot-viewer.c
+++ b/src/gnome/dialog-lot-viewer.c
@@ -1017,6 +1017,15 @@ lv_create (GNCLotViewer *lv)
     lv->remove_split_from_lot_button = GTK_BUTTON(gtk_builder_get_object (builder, "remove_split_from_lot_button"));
     lv_init_split_buttons(lv);
 
+    // Set grid lines option to preference
+    gtk_tree_view_set_grid_lines (GTK_TREE_VIEW(lv->lot_view), gnc_tree_view_get_grid_lines_pref ());
+
+    // Set grid lines option to preference
+    gtk_tree_view_set_grid_lines (GTK_TREE_VIEW(lv->split_in_lot_view), gnc_tree_view_get_grid_lines_pref ());
+
+    // Set grid lines option to preference
+    gtk_tree_view_set_grid_lines (GTK_TREE_VIEW(lv->split_free_view), gnc_tree_view_get_grid_lines_pref ());
+
 
     if (gnc_prefs_get_bool(GNC_PREFS_GROUP_GENERAL, GNC_PREF_SAVE_GEOMETRY))
     {
diff --git a/src/gnome/dialog-sx-editor.c b/src/gnome/dialog-sx-editor.c
index a10c275..52025bd 100644
--- a/src/gnome/dialog-sx-editor.c
+++ b/src/gnome/dialog-sx-editor.c
@@ -1774,6 +1774,9 @@ _sx_engine_event_handler(QofInstance *ent, QofEventId event_type, gpointer user_
 
         list = GTK_TREE_VIEW(gtk_builder_get_object (builder, "sx_list"));
 
+        // Set grid lines option to preference
+        gtk_tree_view_set_grid_lines (GTK_TREE_VIEW(list), gnc_tree_view_get_grid_lines_pref ());
+
         data = (acct_deletion_handler_data*)g_new0(acct_deletion_handler_data, 1);
         data->dialog = dialog;
         data->affected_sxes = affected_sxes;
diff --git a/src/gnome/dialog-sx-editor2.c b/src/gnome/dialog-sx-editor2.c
index 1a47a25..18e1f87 100644
--- a/src/gnome/dialog-sx-editor2.c
+++ b/src/gnome/dialog-sx-editor2.c
@@ -1722,6 +1722,9 @@ _sx_engine_event_handler (QofInstance *ent, QofEventId event_type, gpointer user
 
         list = GTK_TREE_VIEW (gtk_builder_get_object (builder, "sx_list"));
 
+        // Set grid lines option to preference
+        gtk_tree_view_set_grid_lines (GTK_TREE_VIEW(list), gnc_tree_view_get_grid_lines_pref ());
+
         data = (acct_deletion_handler_data*)g_new0 (acct_deletion_handler_data, 1);
         data->dialog = dialog;
         data->affected_sxes = affected_sxes;
diff --git a/src/gnome/dialog-sx-since-last-run.c b/src/gnome/dialog-sx-since-last-run.c
index 6d85d4d..5795ed7 100644
--- a/src/gnome/dialog-sx-since-last-run.c
+++ b/src/gnome/dialog-sx-since-last-run.c
@@ -1029,6 +1029,9 @@ gnc_ui_sx_since_last_run_dialog(GncSxInstanceModel *sx_instances, GList *auto_cr
         gtk_tree_view_expand_all(dialog->instance_view);
     }
 
+    // Set grid lines option to preference
+    gtk_tree_view_set_grid_lines (GTK_TREE_VIEW(dialog->instance_view), gnc_tree_view_get_grid_lines_pref ());
+
     g_signal_connect(G_OBJECT(dialog->dialog), "response", G_CALLBACK(dialog_response_cb), dialog);
     g_signal_connect(G_OBJECT(dialog->dialog), "destroy", G_CALLBACK(dialog_destroy_cb), dialog);
 
diff --git a/src/gnome/dialog-trans-assoc.c b/src/gnome/dialog-trans-assoc.c
index ffb38db..dc087a9 100644
--- a/src/gnome/dialog-trans-assoc.c
+++ b/src/gnome/dialog-trans-assoc.c
@@ -438,6 +438,10 @@ gnc_assoc_dialog_create (AssocDialog *assoc_dialog)
 #if !GTK_CHECK_VERSION(3, 14, 0)
     gtk_tree_view_set_rules_hint (GTK_TREE_VIEW(assoc_dialog->view), TRUE);
 #endif
+
+    // 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 ());
+
     /* default to 'close' button */
     gtk_dialog_set_default_response (GTK_DIALOG(dialog), GTK_RESPONSE_CLOSE);
 
diff --git a/src/gnome/gnc-budget-view.c b/src/gnome/gnc-budget-view.c
index 01548f1..0952ba7 100644
--- a/src/gnome/gnc-budget-view.c
+++ b/src/gnome/gnc-budget-view.c
@@ -399,6 +399,9 @@ gbv_create_widget(GncBudgetView *view)
     totals_tree_view = GTK_TREE_VIEW(gtk_tree_view_new());
     priv->totals_tree_view = totals_tree_view;
 
+    // Set grid lines option to preference
+    gtk_tree_view_set_grid_lines (GTK_TREE_VIEW(totals_tree_view), gnc_tree_view_get_grid_lines_pref ());
+
     gtk_widget_show(GTK_WIDGET(totals_tree_view));
     gtk_tree_selection_set_mode(gtk_tree_view_get_selection(totals_tree_view),
                                 GTK_SELECTION_NONE);

commit 4cd13a0e1782c814139f3e327769b2add859dd69
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 2 09:48:13 2017 +0100

    Tweak the tab labels to add left and right margins

diff --git a/src/gnome-utils/gnc-main-window.c b/src/gnome-utils/gnc-main-window.c
index d76a25b..09960dc 100644
--- a/src/gnome-utils/gnc-main-window.c
+++ b/src/gnome-utils/gnc-main-window.c
@@ -2939,6 +2939,8 @@ gnc_main_window_open_page (GncMainWindow *window,
         image = gtk_image_new_from_icon_name (icon, GTK_ICON_SIZE_MENU);
         gtk_widget_show (image);
         gtk_box_pack_start (GTK_BOX (tab_hbox), image, FALSE, FALSE, 0);
+        gtk_widget_set_margin_start (GTK_WIDGET(image), 5);
+
         gtk_box_pack_start (GTK_BOX (tab_hbox), label, TRUE, TRUE, 0);
     }
     else
@@ -2989,6 +2991,7 @@ gnc_main_window_open_page (GncMainWindow *window,
                                   G_CALLBACK(gnc_main_window_close_page), page);
 
         gtk_box_pack_start (GTK_BOX (tab_hbox), close_button, FALSE, FALSE, 0);
+        gtk_widget_set_margin_end (GTK_WIDGET(close_button), 5);
 
         g_object_set_data (G_OBJECT (page), PLUGIN_PAGE_CLOSE_BUTTON, close_button);
     }

commit 6f27ad1ba0949fe0d9aa364e3d26047b98f7ebf9
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 2 09:47:21 2017 +0100

    Add new preference to show tree view grid lines

diff --git a/src/gnome-utils/dialog-utils.c b/src/gnome-utils/dialog-utils.c
index c1263b2..4f24a5f 100644
--- a/src/gnome-utils/dialog-utils.c
+++ b/src/gnome-utils/dialog-utils.c
@@ -224,6 +224,14 @@ gnc_window_adjust_for_screen(GtkWindow * window)
     gtk_widget_queue_resize(GTK_WIDGET(window));
 }
 
+/********************************************************************\
+ * Sets the alignament of a Label Widget, GTK3 version specific.    *
+ *                                                                  *
+ * Args: widget - the label widget to set alignment on              *
+ *       xalign - x alignment                                       *
+ *       yalign - y alignment                                       *
+ * Returns: nothing                                                 *
+\********************************************************************/
 void
 gnc_label_set_alignment (GtkWidget *widget, gfloat xalign, gfloat yalign)
 {
@@ -235,6 +243,33 @@ gnc_label_set_alignment (GtkWidget *widget, gfloat xalign, gfloat yalign)
 #endif
 }
 
+/********************************************************************\
+ * Get the preference for showing tree view grid lines              *
+ *                                                                  *
+ * Args: none                                                       *
+ * Returns:  GtkTreeViewGridLines setting                           *
+\********************************************************************/
+GtkTreeViewGridLines
+gnc_tree_view_get_grid_lines_pref (void)
+{
+    GtkTreeViewGridLines grid_lines;
+    gboolean h_lines = gnc_prefs_get_bool (GNC_PREFS_GROUP_GENERAL, "grid-lines-horizontal");
+    gboolean v_lines = gnc_prefs_get_bool (GNC_PREFS_GROUP_GENERAL, "grid-lines-vertical");
+
+    if (h_lines)
+    {
+        if (v_lines)
+            grid_lines = GTK_TREE_VIEW_GRID_LINES_BOTH;
+        else
+            grid_lines =  GTK_TREE_VIEW_GRID_LINES_HORIZONTAL;
+    }
+    else if (v_lines)
+        grid_lines = GTK_TREE_VIEW_GRID_LINES_VERTICAL;
+    else
+        grid_lines = GTK_TREE_VIEW_GRID_LINES_NONE;
+    return grid_lines;
+}
+
 gboolean
 gnc_handle_date_accelerator (GdkEventKey *event,
                              struct tm *tm,
diff --git a/src/gnome-utils/dialog-utils.h b/src/gnome-utils/dialog-utils.h
index a30befa..9347711 100644
--- a/src/gnome-utils/dialog-utils.h
+++ b/src/gnome-utils/dialog-utils.h
@@ -61,9 +61,24 @@ void gnc_save_window_size (const char *section, GtkWindow *window);
 \********************************************************************/
 void gnc_window_adjust_for_screen (GtkWindow * window);
 
-
+/********************************************************************\
+ * Sets the alignament of a Label Widget, GTK3 version specific.    *
+ *                                                                  *
+ * Args: widget - the label widget to set alignment on              *
+ *       xalign - x alignment                                       *
+ *       yalign - y alignment                                       *
+ * Returns: nothing                                                 *
+\********************************************************************/
 void gnc_label_set_alignment (GtkWidget *widget, gfloat xalign, gfloat yalign);
 
+/********************************************************************\
+ * Get the preference for showing tree view grid lines              *
+ *                                                                  *
+ * Args: none                                                       *
+ * Returns:  GtkTreeViewGridLines setting                           *
+\********************************************************************/
+GtkTreeViewGridLines gnc_tree_view_get_grid_lines_pref (void);
+
 gboolean gnc_handle_date_accelerator (GdkEventKey *event,
                                       struct tm *tm,
                                       const char *date_str);
diff --git a/src/gnome-utils/gtkbuilder/dialog-preferences.glade b/src/gnome-utils/gtkbuilder/dialog-preferences.glade
index 7079e12..2d71d01 100644
--- a/src/gnome-utils/gtkbuilder/dialog-preferences.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-preferences.glade
@@ -1225,7 +1225,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="top_attach">20</property>
+                    <property name="top_attach">23</property>
                   </packing>
                 </child>
                 <child>
@@ -1240,7 +1240,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">18</property>
+                    <property name="top_attach">21</property>
                   </packing>
                 </child>
                 <child>
@@ -1259,7 +1259,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">12</property>
+                    <property name="top_attach">15</property>
                   </packing>
                 </child>
                 <child>
@@ -1272,7 +1272,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">11</property>
+                    <property name="top_attach">14</property>
                   </packing>
                 </child>
                 <child>
@@ -1282,7 +1282,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">10</property>
+                    <property name="top_attach">13</property>
                   </packing>
                 </child>
                 <child>
@@ -1297,7 +1297,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">9</property>
+                    <property name="top_attach">12</property>
                   </packing>
                 </child>
                 <child>
@@ -1315,7 +1315,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="top_attach">9</property>
+                    <property name="top_attach">12</property>
                   </packing>
                 </child>
                 <child>
@@ -1334,7 +1334,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">8</property>
+                    <property name="top_attach">11</property>
                   </packing>
                 </child>
                 <child>
@@ -1353,7 +1353,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">7</property>
+                    <property name="top_attach">10</property>
                   </packing>
                 </child>
                 <child>
@@ -1366,7 +1366,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">6</property>
+                    <property name="top_attach">9</property>
                   </packing>
                 </child>
                 <child>
@@ -1376,7 +1376,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">5</property>
+                    <property name="top_attach">8</property>
                   </packing>
                 </child>
                 <child>
@@ -1389,7 +1389,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">25</property>
+                    <property name="top_attach">28</property>
                   </packing>
                 </child>
                 <child>
@@ -1404,7 +1404,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">26</property>
+                    <property name="top_attach">29</property>
                   </packing>
                 </child>
                 <child>
@@ -1422,7 +1422,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="top_attach">26</property>
+                    <property name="top_attach">29</property>
                   </packing>
                 </child>
                 <child>
@@ -1456,7 +1456,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">14</property>
+                    <property name="top_attach">17</property>
                   </packing>
                 </child>
                 <child>
@@ -1498,7 +1498,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="top_attach">14</property>
+                    <property name="top_attach">17</property>
                   </packing>
                 </child>
                 <child>
@@ -1517,7 +1517,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">13</property>
+                    <property name="top_attach">16</property>
                   </packing>
                 </child>
                 <child>
@@ -1527,7 +1527,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">17</property>
+                    <property name="top_attach">20</property>
                   </packing>
                 </child>
                 <child>
@@ -1546,7 +1546,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">19</property>
+                    <property name="top_attach">22</property>
                   </packing>
                 </child>
                 <child>
@@ -1565,7 +1565,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">20</property>
+                    <property name="top_attach">23</property>
                   </packing>
                 </child>
                 <child>
@@ -1584,7 +1584,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">21</property>
+                    <property name="top_attach">24</property>
                   </packing>
                 </child>
                 <child>
@@ -1601,7 +1601,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">15</property>
+                    <property name="top_attach">18</property>
                   </packing>
                 </child>
                 <child>
@@ -1616,7 +1616,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">16</property>
+                    <property name="top_attach">19</property>
                   </packing>
                 </child>
                 <child>
@@ -1656,7 +1656,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="top_attach">16</property>
+                    <property name="top_attach">19</property>
                   </packing>
                 </child>
                 <child>
@@ -1666,7 +1666,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">22</property>
+                    <property name="top_attach">25</property>
                   </packing>
                 </child>
                 <child>
@@ -1680,7 +1680,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="top_attach">23</property>
+                    <property name="top_attach">26</property>
                   </packing>
                 </child>
                 <child>
@@ -1716,7 +1716,61 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">23</property>
+                    <property name="top_attach">26</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="pref/general/buttons-with-icons-and-labels">
+                    <property name="label" translatable="yes">Enable icons on buttons which have been configured</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="tooltip_text" translatable="yes">Some buttons have been defined to show an icon and a label. With this setting the display of the icon can be enabled or disabled.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">5</property>
+                    <property name="width">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="pref/general/grid-lines-horizontal">
+                    <property name="label" translatable="yes">Enable horizontal grid lines on table displays</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="tooltip_text" translatable="yes">Enable horizontal grid lines on table displays. These will mainly be tree views like the Accounts page.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">6</property>
+                    <property name="width">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="pref/general/grid-lines-vertical">
+                    <property name="label" translatable="yes">Enable vertical grid lines on table displays</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="tooltip_text" translatable="yes">Enable vertical grid lines on table displays. These will mainly be tree views like the Accounts page.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">7</property>
+                    <property name="width">2</property>
                   </packing>
                 </child>
                 <child>
diff --git a/src/gnome/gschemas/org.gnucash.gschema.xml.in.in b/src/gnome/gschemas/org.gnucash.gschema.xml.in.in
index a57a341..8a22b47 100644
--- a/src/gnome/gschemas/org.gnucash.gschema.xml.in.in
+++ b/src/gnome/gschemas/org.gnucash.gschema.xml.in.in
@@ -125,6 +125,11 @@
       <summary>Width of notebook tabs</summary>
       <description>This key specifies the maximum width of notebook tabs. If the text in the tab is longer than this value (the test is approximate) then the tab label will have the middle cut and replaced with an ellipsis.</description>
     </key>
+    <key name="buttons-with-icons-and-labels" type="b">
+      <default>true</default>
+      <summary>Show Button Icons and Labels</summary>
+      <description>If active, buttons that have been configured to show icons and labels will show both. Otherwise only labels will be used.</description>
+    </key>
     <key name="currency-choice-locale" type="b">
       <default>true</default>
       <summary>Use the system locale currency for all newly created accounts.</summary>
@@ -165,6 +170,16 @@
       <summary>Maximum number of months to go back.</summary>
       <description>Dates will be completed so that they are close to the current date. Enter the maximum number of months to go backwards in time when completing dates.</description>
     </key>
+    <key name="grid-lines-horizontal" type="b">
+      <default>false</default>
+      <summary>Show Horizontal Grid Lines</summary>
+      <description>If active, horzontal grid lines will be shown on table displays. Otherwise no horizontal grid lines will be shown.</description>
+    </key>
+    <key name="grid-lines-vertical" type="b">
+      <default>false</default>
+      <summary>Show Vertical Grid Lines</summary>
+      <description>If active, vertical grid lines will be shown on table displays. Otherwise no vertical grid lines will be shown.</description>
+    </key>
     <key name="show-splash-screen" type="b">
       <default>true</default>
       <summary>Show splash screen</summary>

commit 6fbfb82220ff3d0dab428665b3fdaec068fa2eaf
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Wed Jun 28 11:25:50 2017 +0100

    Minor fixups to the assistant-csv-trans-import glade file

diff --git a/src/import-export/csv-imp/assistant-csv-trans-import.glade b/src/import-export/csv-imp/assistant-csv-trans-import.glade
index fdb2fac..eb9bf9e 100644
--- a/src/import-export/csv-imp/assistant-csv-trans-import.glade
+++ b/src/import-export/csv-imp/assistant-csv-trans-import.glade
@@ -245,6 +245,7 @@ Select location and file name for the Import, then click 'OK'...
                               <object class="GtkSeparator" id="hseparator1">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
+                                <property name="hexpand">True</property>
                               </object>
                               <packing>
                                 <property name="left_attach">0</property>
@@ -415,7 +416,10 @@ Select location and file name for the Import, then click 'OK'...
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                <property name="icon_name">dialog-info</property>
+                                <property name="halign">start</property>
+                                <property name="valign">start</property>
+                                <property name="icon_name">dialog-information</property>
+                                <property name="icon_size">3</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
@@ -464,7 +468,7 @@ Select location and file name for the Import, then click 'OK'...
                                     <property name="wrap">True</property>
                                   </object>
                                   <packing>
-                                    <property name="left_attach">2</property>
+                                    <property name="left_attach">0</property>
                                     <property name="top_attach">1</property>
                                   </packing>
                                 </child>
@@ -482,12 +486,6 @@ Select location and file name for the Import, then click 'OK'...
                                     <property name="top_attach">1</property>
                                   </packing>
                                 </child>
-                                <child>
-                                  <placeholder/>
-                                </child>
-                                <child>
-                                  <placeholder/>
-                                </child>
                               </object>
                               <packing>
                                 <property name="expand">True</property>
@@ -510,6 +508,7 @@ Select location and file name for the Import, then click 'OK'...
                               <object class="GtkSeparator" id="hseparator4">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
+                                <property name="hexpand">True</property>
                               </object>
                               <packing>
                                 <property name="left_attach">0</property>
@@ -917,7 +916,10 @@ For example
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <property name="icon_name">dialog-info</property>
+                <property name="halign">start</property>
+                <property name="valign">start</property>
+                <property name="icon_name">dialog-information</property>
+                <property name="icon_size">3</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -931,6 +933,7 @@ For example
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">Select the type of each column to import.</property>
               </object>
               <packing>

commit a8cdf2410fd814dfcfd7f708b8c13f289c32cc08
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Wed Jun 28 11:22:44 2017 +0100

    Replace deprecated gtk_image_menu_item in gnumeric popup
    
    Use a box packed with an icon and label instead. I am not really sure if
     this is necessary and should just be a label.

diff --git a/src/import-export/csv-imp/gnc-csv-gnumeric-popup.c b/src/import-export/csv-imp/gnc-csv-gnumeric-popup.c
index c821848..c60ea63 100644
--- a/src/import-export/csv-imp/gnc-csv-gnumeric-popup.c
+++ b/src/import-export/csv-imp/gnc-csv-gnumeric-popup.c
@@ -92,10 +92,8 @@ gnumeric_create_popup_menu_list (GSList *elements,
                                  int sensitive_filter,
                                  GdkEventButton *event)
 {
-    GtkWidget *menu, *item;
-    char const *trans;
-
-    menu = gtk_menu_new ();
+    GtkWidget *menu = gtk_menu_new ();
+    GtkWidget *item, *label;
 
     for (; elements != NULL ; elements = elements->next)
     {
@@ -103,35 +101,41 @@ gnumeric_create_popup_menu_list (GSList *elements,
         char const * const name = element->name;
         char const * const pix_name = element->pixmap;
 
-        item = NULL;
-
         if (element->display_filter != 0 &&
                 !(element->display_filter & display_filter))
             continue;
 
         if (name != NULL && *name != '\0')
         {
-            trans = _(name);
-            item = gtk_menu_item_new_with_mnemonic (trans);
-            if (element->sensitive_filter != 0 &&
-                    (element->sensitive_filter & sensitive_filter))
-                gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE);
+            GtkWidget *label = gtk_label_new_with_mnemonic (name);
+            GtkWidget *box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2);
+
+            item = gtk_menu_item_new();
+            gtk_box_set_homogeneous (GTK_BOX (box), FALSE);
+            gtk_widget_set_hexpand (GTK_WIDGET(box), FALSE);
+            gtk_widget_set_halign (GTK_WIDGET(box), GTK_ALIGN_START);
+
             if (pix_name != NULL)
             {
                 GtkWidget *image = gtk_image_new_from_icon_name (pix_name,
                                    GTK_ICON_SIZE_MENU);
+
+                gtk_container_add (GTK_CONTAINER (box), image);
                 gtk_widget_show (image);
-                gtk_image_menu_item_set_image (
-                    GTK_IMAGE_MENU_ITEM (item),
-                    image);
             }
+            gtk_box_pack_end (GTK_BOX (box), label, TRUE, TRUE, 0);
+            gtk_container_add (GTK_CONTAINER (item), box);
+
+            if (element->sensitive_filter != 0 &&
+                    (element->sensitive_filter & sensitive_filter))
+                gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE);
         }
         else
         {
             /* separator */
-            item = gtk_menu_item_new ();
-            gtk_widget_set_sensitive (item, FALSE);
+            item = gtk_separator_menu_item_new ();
         }
+        gtk_widget_show_all (item);
 
         if (element->index != 0)
         {

commit 56ca4113516a0c778d9746a13173c791c17cf520
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Wed Jun 28 11:19:37 2017 +0100

    Fix error of invalid cast to GTK_COMBO_BOX in trans importer
    
    To get to the combobox from the entry you need to go two levels above
    which takes you through a GTK_BOX to the GTK_COMBO_BOX

diff --git a/src/import-export/csv-imp/assistant-csv-trans-import.cpp b/src/import-export/csv-imp/assistant-csv-trans-import.cpp
index f718e44..fa461ba 100644
--- a/src/import-export/csv-imp/assistant-csv-trans-import.cpp
+++ b/src/import-export/csv-imp/assistant-csv-trans-import.cpp
@@ -731,7 +731,9 @@ CsvImpTransAssist::preview_settings_name (GtkEntry* entry)
     if (text)
         tx_imp->settings_name(text);
 
-    auto combo = gtk_widget_get_parent (GTK_WIDGET(entry));
+    auto box = gtk_widget_get_parent (GTK_WIDGET(entry));
+    auto combo = gtk_widget_get_parent (GTK_WIDGET(box));
+    
     preview_handle_save_del_sensitivity (GTK_COMBO_BOX(combo));
 }
 

commit ad89048242384100b9ae7335e1b833804a2e2130
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Wed Jun 28 11:18:32 2017 +0100

    Replace deprecated render_icon_pixbuf in dialog-print-check

diff --git a/src/gnome/dialog-print-check.c b/src/gnome/dialog-print-check.c
index b2c64d6..5e07851 100644
--- a/src/gnome/dialog-print-check.c
+++ b/src/gnome/dialog-print-check.c
@@ -1934,10 +1934,16 @@ draw_picture(GtkPrintContext *context, check_item_t *data)
     }
     else
     {
+        GtkIconTheme *def_theme = gtk_icon_theme_get_default ();
+
         g_warning("Filename '%s' cannot be read or understood.",
                   data->filename);
-        pixbuf = gtk_widget_render_icon_pixbuf (GTK_WIDGET(image),
-                                        "image-missing", -1);
+
+        pixbuf = gtk_icon_theme_load_icon (def_theme,
+                          "image-missing",
+                          16,
+                          GTK_ICON_LOOKUP_USE_BUILTIN,
+                          NULL);
     }
     pix_w = gdk_pixbuf_get_width(pixbuf);
     pix_h = gdk_pixbuf_get_height(pixbuf);

commit 96bd2f271ad357e474ce5fd732b41b98d9a9b408
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 27 14:08:54 2017 +0100

    Rename use of icon defines to reflect changes in icon.h

diff --git a/src/business/business-gnome/gnc-plugin-business.c b/src/business/business-gnome/gnc-plugin-business.c
index 422e3ea..5bcc5a6 100644
--- a/src/business/business-gnome/gnc-plugin-business.c
+++ b/src/business/business-gnome/gnc-plugin-business.c
@@ -47,7 +47,7 @@
 #include "gnc-file.h"
 #include "guile-mappings.h"
 #include "gnc-session.h"
-#include "gnome-utils/gnc-icons.h" /* for GNC_STOCK_INVOICE_NEW */
+#include "gnome-utils/gnc-icons.h" /* for GNC_ICON_INVOICE_NEW */
 
 #include "gnc-prefs.h"
 #include "gnome-utils/gnc-main-window.h"
@@ -308,7 +308,7 @@ static GtkActionEntry gnc_plugin_actions [] =
 
     /* Toolbar */
     {
-        "ToolbarNewInvoiceAction", GNC_STOCK_INVOICE_NEW, N_("New _Invoice..."), NULL,
+        "ToolbarNewInvoiceAction", GNC_ICON_INVOICE_NEW, N_("New _Invoice..."), NULL,
         N_("Open the New Invoice dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_customer_new_invoice)
     },
diff --git a/src/business/business-gnome/gnc-plugin-page-invoice.c b/src/business/business-gnome/gnc-plugin-page-invoice.c
index e7fea59..e71cd9e 100644
--- a/src/business/business-gnome/gnc-plugin-page-invoice.c
+++ b/src/business/business-gnome/gnc-plugin-page-invoice.c
@@ -99,7 +99,7 @@ static GtkActionEntry gnc_plugin_page_invoice_actions [] =
 
     /* File menu */
     {
-        "FileNewAccountAction", GNC_STOCK_NEW_ACCOUNT, N_("New _Account..."), NULL,
+        "FileNewAccountAction", GNC_ICON_NEW_ACCOUNT, N_("New _Account..."), NULL,
         N_("Create a new account"),
         G_CALLBACK (gnc_plugin_page_invoice_cmd_new_account)
     },
@@ -126,22 +126,22 @@ static GtkActionEntry gnc_plugin_page_invoice_actions [] =
         G_CALLBACK (gnc_plugin_page_invoice_cmd_paste)
     },
     {
-        "EditEditInvoiceAction", GNC_STOCK_INVOICE_EDIT, N_("_Edit Invoice"), NULL,
+        "EditEditInvoiceAction", GNC_ICON_INVOICE_EDIT, N_("_Edit Invoice"), NULL,
         N_("Edit this invoice"),
         G_CALLBACK (gnc_plugin_page_invoice_cmd_edit)
     },
     {
-        "EditDuplicateInvoiceAction", GNC_STOCK_INVOICE_DUPLICATE, N_("_Duplicate Invoice"),
+        "EditDuplicateInvoiceAction", GNC_ICON_INVOICE_DUPLICATE, N_("_Duplicate Invoice"),
         NULL, N_("Create a new invoice as a duplicate of the current one"),
         G_CALLBACK (gnc_plugin_page_invoice_cmd_duplicateInvoice)
     },
     {
-        "EditPostInvoiceAction", GNC_STOCK_INVOICE_POST, N_("_Post Invoice"), NULL,
+        "EditPostInvoiceAction", GNC_ICON_INVOICE_POST, N_("_Post Invoice"), NULL,
         N_("Post this Invoice to your Chart of Accounts"),
         G_CALLBACK (gnc_plugin_page_invoice_cmd_post)
     },
     {
-        "EditUnpostInvoiceAction", GNC_STOCK_INVOICE_UNPOST, N_("_Unpost Invoice"), NULL,
+        "EditUnpostInvoiceAction", GNC_ICON_INVOICE_UNPOST, N_("_Unpost Invoice"), NULL,
         N_("Unpost this Invoice and make it editable"),
         G_CALLBACK (gnc_plugin_page_invoice_cmd_unpost)
     },
@@ -185,12 +185,12 @@ static GtkActionEntry gnc_plugin_page_invoice_actions [] =
 
     /* Business menu */
     {
-        "BusinessNewInvoiceAction", GNC_STOCK_INVOICE_NEW, N_("New _Invoice"), "",
+        "BusinessNewInvoiceAction", GNC_ICON_INVOICE_NEW, N_("New _Invoice"), "",
         N_("Create a new invoice for the same owner as the current one"),
         G_CALLBACK (gnc_plugin_page_invoice_cmd_new_invoice)
     },
     {
-        "ToolsProcessPaymentAction", GNC_STOCK_INVOICE_PAY, N_("_Pay Invoice"), NULL,
+        "ToolsProcessPaymentAction", GNC_ICON_INVOICE_PAY, N_("_Pay Invoice"), NULL,
         N_("Enter a payment for the owner of this Invoice"),
         G_CALLBACK (gnc_plugin_page_invoice_cmd_pay_invoice)
     },
diff --git a/src/business/business-gnome/gnc-plugin-page-owner-tree.c b/src/business/business-gnome/gnc-plugin-page-owner-tree.c
index 85ebe86..1af81fd 100644
--- a/src/business/business-gnome/gnc-plugin-page-owner-tree.c
+++ b/src/business/business-gnome/gnc-plugin-page-owner-tree.c
@@ -138,39 +138,39 @@ static GtkActionEntry gnc_plugin_page_owner_tree_actions [] =
 
     /* Edit menu */
     {
-        "OTEditVendorAction", GNC_STOCK_EDIT_ACCOUNT, N_("E_dit Vendor"), "<primary>e",
+        "OTEditVendorAction", GNC_ICON_EDIT_ACCOUNT, N_("E_dit Vendor"), "<primary>e",
         N_("Edit the selected vendor"),
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_edit_owner)
     },
     {
-        "OTEditCustomerAction", GNC_STOCK_EDIT_ACCOUNT, N_("E_dit Customer"), "<primary>e",
+        "OTEditCustomerAction", GNC_ICON_EDIT_ACCOUNT, N_("E_dit Customer"), "<primary>e",
         N_("Edit the selected customer"),
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_edit_owner)
     },
     {
-        "OTEditEmployeeAction", GNC_STOCK_EDIT_ACCOUNT, N_("E_dit Employee"), "<primary>e",
+        "OTEditEmployeeAction", GNC_ICON_EDIT_ACCOUNT, N_("E_dit Employee"), "<primary>e",
         N_("Edit the selected employee"),
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_edit_owner)
     },
     {
-        "OTNewVendorAction", GNC_STOCK_NEW_ACCOUNT, N_("_New Vendor..."), NULL,
+        "OTNewVendorAction", GNC_ICON_NEW_ACCOUNT, N_("_New Vendor..."), NULL,
         N_("Create a new vendor"),
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_new_owner)
     },
     {
-        "OTNewCustomerAction", GNC_STOCK_NEW_ACCOUNT, N_("_New Customer..."), NULL,
+        "OTNewCustomerAction", GNC_ICON_NEW_ACCOUNT, N_("_New Customer..."), NULL,
         N_("Create a new customer"),
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_new_owner)
     },
     {
-        "OTNewEmployeeAction", GNC_STOCK_NEW_ACCOUNT, N_("_New Employee..."), NULL,
+        "OTNewEmployeeAction", GNC_ICON_NEW_ACCOUNT, N_("_New Employee..."), NULL,
         N_("Create a new employee"),
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_new_owner)
     },
 
 #if 0 /* Disabled due to crash */
     {
-        "EditDeleteOwnerAction", GNC_STOCK_DELETE_ACCOUNT, N_("_Delete Owner..."), "Delete",
+        "EditDeleteOwnerAction", GNC_ICON_DELETE_ACCOUNT, N_("_Delete Owner..."), "Delete",
         N_("Delete selected owner"),
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_delete_owner)
     },
@@ -184,17 +184,17 @@ static GtkActionEntry gnc_plugin_page_owner_tree_actions [] =
 
     /* Business menu */
     {
-        "OTNewBillAction", GNC_STOCK_INVOICE_NEW, N_("New _Bill..."), NULL,
+        "OTNewBillAction", GNC_ICON_INVOICE_NEW, N_("New _Bill..."), NULL,
         N_("Create a new bill"),
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_new_invoice)
     },
     {
-        "OTNewInvoiceAction", GNC_STOCK_INVOICE_NEW, N_("New _Invoice..."), NULL,
+        "OTNewInvoiceAction", GNC_ICON_INVOICE_NEW, N_("New _Invoice..."), NULL,
         N_("Create a new invoice"),
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_new_invoice)
     },
     {
-        "OTNewVoucherAction", GNC_STOCK_INVOICE_NEW, N_("New _Voucher..."), NULL,
+        "OTNewVoucherAction", GNC_ICON_INVOICE_NEW, N_("New _Voucher..."), NULL,
         N_("Create a new voucher"),
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_new_invoice)
     },
@@ -397,7 +397,7 @@ gnc_plugin_page_owner_tree_class_init (GncPluginPageOwnerTreeClass *klass)
 
     object_class->finalize = gnc_plugin_page_owner_tree_finalize;
 
-    gnc_plugin_class->tab_icon        = GNC_STOCK_ACCOUNT;
+    gnc_plugin_class->tab_icon        = GNC_ICON_ACCOUNT;
     gnc_plugin_class->plugin_name     = GNC_PLUGIN_PAGE_OWNER_TREE_NAME;
     gnc_plugin_class->create_widget   = gnc_plugin_page_owner_tree_create_widget;
     gnc_plugin_class->destroy_widget  = gnc_plugin_page_owner_tree_destroy_widget;
diff --git a/src/gnome-utils/gnc-tree-view-account.c b/src/gnome-utils/gnc-tree-view-account.c
index 0eeb893..83fdf38 100644
--- a/src/gnome-utils/gnc-tree-view-account.c
+++ b/src/gnome-utils/gnc-tree-view-account.c
@@ -718,7 +718,7 @@ gnc_tree_view_account_new_with_root (Account *root, gboolean show_root)
 
     priv->name_column
         = gnc_tree_view_add_text_column(view, _("Account Name"), "name",
-                                        GNC_STOCK_ACCOUNT, "Expenses:Entertainment",
+                                        GNC_ICON_ACCOUNT, "Expenses:Entertainment",
                                         GNC_TREE_MODEL_ACCOUNT_COL_NAME,
                                         GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
                                         sort_by_string);
diff --git a/src/gnome-utils/gnc-tree-view.c b/src/gnome-utils/gnc-tree-view.c
index d69687c..1966566 100644
--- a/src/gnome-utils/gnc-tree-view.c
+++ b/src/gnome-utils/gnc-tree-view.c
@@ -1771,7 +1771,7 @@ GtkTreeViewColumn *
 gnc_tree_view_add_text_column (GncTreeView *view,
                                const gchar *column_title,
                                const gchar *pref_name,
-                               const gchar *stock_icon_name,
+                               const gchar *icon_name,
                                const gchar *sizing_text,
                                gint model_data_column,
                                gint model_visibility_column,
@@ -1788,10 +1788,10 @@ gnc_tree_view_add_text_column (GncTreeView *view,
     gtk_tree_view_column_set_title (column, column_title);
 
     /* Set up an icon renderer if requested */
-    if (stock_icon_name)
+    if (icon_name)
     {
         renderer = gtk_cell_renderer_pixbuf_new ();
-        g_object_set (renderer, "stock-id", stock_icon_name, NULL);
+        g_object_set (renderer, "icon-name", icon_name, NULL);
         gtk_tree_view_column_pack_start (column, renderer, FALSE);
     }
 
@@ -1838,7 +1838,7 @@ GtkTreeViewColumn *
 gnc_tree_view_add_date_column (GncTreeView *view,
                                const gchar *column_title,
                                const gchar *pref_name,
-                               const gchar *stock_icon_name,
+                               const gchar *icon_name,
                                const gchar *sizing_text,
                                gint model_data_column,
                                gint model_visibility_column,
@@ -1855,10 +1855,10 @@ gnc_tree_view_add_date_column (GncTreeView *view,
     gtk_tree_view_column_set_title (column, column_title);
 
     /* Set up an icon renderer if requested */
-    if (stock_icon_name)
+    if (icon_name)
     {
         renderer = gtk_cell_renderer_pixbuf_new ();
-        g_object_set (renderer, "stock-id", stock_icon_name, NULL);
+        g_object_set (renderer, "icon-name", icon_name, NULL);
         gtk_tree_view_column_pack_start (column, renderer, FALSE);
     }
 
diff --git a/src/gnome-utils/gnc-tree-view.h b/src/gnome-utils/gnc-tree-view.h
index e9b56da..27f01f6 100644
--- a/src/gnome-utils/gnc-tree-view.h
+++ b/src/gnome-utils/gnc-tree-view.h
@@ -164,10 +164,10 @@ gnc_tree_view_add_toggle_column (GncTreeView *view,
  *  used in several functions to look up the column, and it is also
  *  used when saving/restoring the view's state.
  *
- *  @param stock_icon_name The name of the stock icon to display to
+ *  @param icon_name The name of the icon to display to
  *  the left of the text in this column.  Used for adding icons like
- *  the "account" icon to a view.  This must be a registered stock
- *  icon, not a filename.
+ *  the "account" icon to a view.  This must be a registered icon,
+ *  not a filename.
  *
  *  @param sizing_text A string used to compute the default width of
  *  the column.  This text is never displayed.
@@ -193,7 +193,7 @@ GtkTreeViewColumn *
 gnc_tree_view_add_text_column (GncTreeView *view,
                                const gchar *column_title,
                                const gchar *pref_name,
-                               const gchar *stock_icon_name,
+                               const gchar *icon_name,
                                const gchar *sizing_text,
                                gint model_data_column,
                                gint model_visibility_column,
@@ -226,7 +226,7 @@ GtkTreeViewColumn *
 gnc_tree_view_add_date_column (GncTreeView *view,
                                const gchar *column_title,
                                const gchar *pref_name,
-                               const gchar *stock_icon_name,
+                               const gchar *icon_name,
                                const gchar *sizing_text,
                                gint model_data_column,
                                gint model_visibility_column,
diff --git a/src/gnome/gnc-plugin-page-account-tree.c b/src/gnome/gnc-plugin-page-account-tree.c
index 72de2c6..88cddbd 100644
--- a/src/gnome/gnc-plugin-page-account-tree.c
+++ b/src/gnome/gnc-plugin-page-account-tree.c
@@ -166,29 +166,29 @@ static GtkActionEntry gnc_plugin_page_account_tree_actions [] =
 
     /* File menu */
     {
-        "FileNewAccountAction", GNC_STOCK_NEW_ACCOUNT, N_("New _Account..."), NULL,
+        "FileNewAccountAction", GNC_ICON_NEW_ACCOUNT, N_("New _Account..."), NULL,
         N_("Create a new Account"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_new_account)
     },
     {
-        "FileAddAccountHierarchyAssistantAction", GNC_STOCK_NEW_ACCOUNT, N_("New Account _Hierarchy..."), NULL,
+        "FileAddAccountHierarchyAssistantAction", GNC_ICON_NEW_ACCOUNT, N_("New Account _Hierarchy..."), NULL,
         N_("Extend the current book by merging with new account type categories"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_file_new_hierarchy)
     },
 #ifdef REGISTER2_ENABLED
     {
-        "FileOpenAccount2Action", GNC_STOCK_OPEN_ACCOUNT, N_("Open _Account"), NULL,
+        "FileOpenAccount2Action", GNC_ICON_OPEN_ACCOUNT, N_("Open _Account"), NULL,
         N_("Open the selected account"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_open2_account)
     },
     {
-        "FileOpenAccountAction", GNC_STOCK_OPEN_ACCOUNT, N_("Open _Old Style Register Account"), NULL,
+        "FileOpenAccountAction", GNC_ICON_OPEN_ACCOUNT, N_("Open _Old Style Register Account"), NULL,
         N_("Open the old style register selected account"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_open_account)
     },
 #else
     {
-        "FileOpenAccountAction", GNC_STOCK_OPEN_ACCOUNT, N_("Open _Account"), NULL,
+        "FileOpenAccountAction", GNC_ICON_OPEN_ACCOUNT, N_("Open _Account"), NULL,
         N_("Open the selected account"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_open_account)
     },
@@ -196,18 +196,18 @@ static GtkActionEntry gnc_plugin_page_account_tree_actions [] =
 
 #ifdef REGISTER2_ENABLED
     {
-        "FileOpenSubaccounts2Action", GNC_STOCK_OPEN_ACCOUNT, N_("Open _SubAccounts"), NULL,
+        "FileOpenSubaccounts2Action", GNC_ICON_OPEN_ACCOUNT, N_("Open _SubAccounts"), NULL,
         N_("Open the selected account and all its subaccounts"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_open2_subaccounts)
     },
     {
-        "FileOpenSubaccountsAction", GNC_STOCK_OPEN_ACCOUNT, N_("Open Old St_yle Subaccounts"), NULL,
+        "FileOpenSubaccountsAction", GNC_ICON_OPEN_ACCOUNT, N_("Open Old St_yle Subaccounts"), NULL,
         N_("Open the old style register selected account and all its subaccounts"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_open_subaccounts)
     },
 #else
     {
-        "FileOpenSubaccountsAction", GNC_STOCK_OPEN_ACCOUNT, N_("Open _SubAccounts"), NULL,
+        "FileOpenSubaccountsAction", GNC_ICON_OPEN_ACCOUNT, N_("Open _SubAccounts"), NULL,
         N_("Open the selected account and all its subaccounts"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_open_subaccounts)
     },
@@ -215,12 +215,12 @@ static GtkActionEntry gnc_plugin_page_account_tree_actions [] =
 
     /* Edit menu */
     {
-        "EditEditAccountAction", GNC_STOCK_EDIT_ACCOUNT, N_("Edit _Account"), "<primary>e",
+        "EditEditAccountAction", GNC_ICON_EDIT_ACCOUNT, N_("Edit _Account"), "<primary>e",
         N_("Edit the selected account"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_edit_account)
     },
     {
-        "EditDeleteAccountAction", GNC_STOCK_DELETE_ACCOUNT, N_("_Delete Account..."), "Delete",
+        "EditDeleteAccountAction", GNC_ICON_DELETE_ACCOUNT, N_("_Delete Account..."), "Delete",
         N_("Delete selected account"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_delete_account)
     },
@@ -291,12 +291,12 @@ static GtkActionEntry gnc_plugin_page_account_tree_actions [] =
     /* Extensions Menu */
     { "Register2TestAction", NULL, N_("_Register2"), NULL, NULL, NULL },
     {
-        "Register2TestAccountAction", GNC_STOCK_OPEN_ACCOUNT, N_("Open _Account"), NULL,
+        "Register2TestAccountAction", GNC_ICON_OPEN_ACCOUNT, N_("Open _Account"), NULL,
         N_("Open the selected account"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_open2_account)
     },
     {
-        "Register2TestSubAccountAction", GNC_STOCK_OPEN_ACCOUNT, N_("Open _SubAccounts"), NULL,
+        "Register2TestSubAccountAction", GNC_ICON_OPEN_ACCOUNT, N_("Open _SubAccounts"), NULL,
         N_("Open the selected account and all its subaccounts"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_open2_subaccounts)
     },
@@ -412,7 +412,7 @@ gnc_plugin_page_account_tree_class_init (GncPluginPageAccountTreeClass *klass)
 
     object_class->finalize = gnc_plugin_page_account_tree_finalize;
 
-    gnc_plugin_class->tab_icon        = GNC_STOCK_ACCOUNT;
+    gnc_plugin_class->tab_icon        = GNC_ICON_ACCOUNT;
     gnc_plugin_class->plugin_name     = GNC_PLUGIN_PAGE_ACCOUNT_TREE_NAME;
     gnc_plugin_class->create_widget   = gnc_plugin_page_account_tree_create_widget;
     gnc_plugin_class->destroy_widget  = gnc_plugin_page_account_tree_destroy_widget;
diff --git a/src/gnome/gnc-plugin-page-budget.c b/src/gnome/gnc-plugin-page-budget.c
index d2854d0..0cc9906 100644
--- a/src/gnome/gnc-plugin-page-budget.c
+++ b/src/gnome/gnc-plugin-page-budget.c
@@ -123,12 +123,12 @@ static GtkActionEntry gnc_plugin_page_budget_actions [] =
 
     /* File menu */
     {
-        "OpenAccountAction", GNC_STOCK_OPEN_ACCOUNT, N_("Open _Account"), NULL,
+        "OpenAccountAction", GNC_ICON_OPEN_ACCOUNT, N_("Open _Account"), NULL,
         N_("Open the selected account"),
         G_CALLBACK (gnc_plugin_page_budget_cmd_open_account)
     },
     {
-        "OpenSubaccountsAction", GNC_STOCK_OPEN_ACCOUNT,
+        "OpenSubaccountsAction", GNC_ICON_OPEN_ACCOUNT,
         N_("Open _Subaccounts"), NULL,
         N_("Open the selected account and all its subaccounts"),
         G_CALLBACK (gnc_plugin_page_budget_cmd_open_subaccounts)
@@ -136,7 +136,7 @@ static GtkActionEntry gnc_plugin_page_budget_actions [] =
 
     /* Edit menu */
     {
-        "DeleteBudgetAction", GNC_STOCK_DELETE_BUDGET, N_("_Delete Budget"),
+        "DeleteBudgetAction", GNC_ICON_DELETE_BUDGET, N_("_Delete Budget"),
         NULL, N_("Delete this budget"),
         G_CALLBACK (gnc_plugin_page_budget_cmd_delete_budget)
     },
@@ -287,7 +287,7 @@ gnc_plugin_page_budget_class_init (GncPluginPageBudgetClass *klass)
 
     object_class->finalize = gnc_plugin_page_budget_finalize;
 
-    gnc_plugin_class->tab_icon        = GNC_STOCK_BUDGET;
+    gnc_plugin_class->tab_icon        = GNC_ICON_BUDGET;
     gnc_plugin_class->plugin_name     = GNC_PLUGIN_PAGE_BUDGET_NAME;
     gnc_plugin_class->create_widget   = gnc_plugin_page_budget_create_widget;
     gnc_plugin_class->destroy_widget  = gnc_plugin_page_budget_destroy_widget;
diff --git a/src/gnome/gnc-plugin-page-register.c b/src/gnome/gnc-plugin-page-register.c
index f7eae11..519f647 100644
--- a/src/gnome/gnc-plugin-page-register.c
+++ b/src/gnome/gnc-plugin-page-register.c
@@ -247,7 +247,7 @@ static GtkActionEntry gnc_plugin_page_register_actions [] =
         G_CALLBACK (gnc_plugin_page_register_cmd_paste)
     },
     {
-        "EditEditAccountAction", GNC_STOCK_EDIT_ACCOUNT, N_("Edit _Account"), "<primary>e",
+        "EditEditAccountAction", GNC_ICON_EDIT_ACCOUNT, N_("Edit _Account"), "<primary>e",
         N_("Edit the selected account"),
         G_CALLBACK (gnc_plugin_page_register_cmd_edit_account)
     },
@@ -346,7 +346,7 @@ static GtkActionEntry gnc_plugin_page_register_actions [] =
     /* Actions menu */
 
     {
-        "ActionsTransferAction", GNC_STOCK_TRANSFER, N_("_Transfer..."), "<primary>t",
+        "ActionsTransferAction", GNC_ICON_TRANSFER, N_("_Transfer..."), "<primary>t",
         N_("Transfer funds from one account to another"),
         G_CALLBACK (gnc_plugin_page_register_cmd_transfer)
     },
@@ -381,12 +381,12 @@ static GtkActionEntry gnc_plugin_page_register_actions [] =
         G_CALLBACK (gnc_plugin_page_register_cmd_exchange_rate)
     },
     {
-        "JumpTransactionAction", GNC_STOCK_JUMP_TO, N_("_Jump"), NULL,
+        "JumpTransactionAction", GNC_ICON_JUMP_TO, N_("_Jump"), NULL,
         N_("Jump to the corresponding transaction in the other account"),
         G_CALLBACK (gnc_plugin_page_register_cmd_jump)
     },
     {
-        "ScheduleTransactionAction", GNC_STOCK_SCHEDULE, N_("Sche_dule..."), NULL,
+        "ScheduleTransactionAction", GNC_ICON_SCHEDULE, N_("Sche_dule..."), NULL,
         N_("Create a Scheduled Transaction with the current transaction as a template"),
         G_CALLBACK (gnc_plugin_page_register_cmd_schedule)
     },
@@ -424,7 +424,7 @@ static GtkToggleActionEntry toggle_entries[] =
     },
 
     {
-        "SplitTransactionAction", GNC_STOCK_SPLIT_TRANS, N_("S_plit Transaction"), NULL,
+        "SplitTransactionAction", GNC_ICON_SPLIT_TRANS, N_("S_plit Transaction"), NULL,
         N_("Show all splits in the current transaction"),
         G_CALLBACK (gnc_plugin_page_register_cmd_expand_transaction), FALSE
     },
@@ -736,7 +736,7 @@ gnc_plugin_page_register_class_init (GncPluginPageRegisterClass *klass)
 
     object_class->finalize = gnc_plugin_page_register_finalize;
 
-    gnc_plugin_class->tab_icon        = GNC_STOCK_ACCOUNT;
+    gnc_plugin_class->tab_icon        = GNC_ICON_ACCOUNT;
     gnc_plugin_class->plugin_name     = GNC_PLUGIN_PAGE_REGISTER_NAME;
     gnc_plugin_class->create_widget   = gnc_plugin_page_register_create_widget;
     gnc_plugin_class->destroy_widget  = gnc_plugin_page_register_destroy_widget;
diff --git a/src/gnome/gnc-plugin-page-register2.c b/src/gnome/gnc-plugin-page-register2.c
index d7fe4b6..fbc414c 100644
--- a/src/gnome/gnc-plugin-page-register2.c
+++ b/src/gnome/gnc-plugin-page-register2.c
@@ -240,7 +240,7 @@ static GtkActionEntry gnc_plugin_page_register2_actions [] =
         G_CALLBACK (gnc_plugin_page_register2_cmd_paste)
     },
     {
-        "EditEditAccountAction", GNC_STOCK_EDIT_ACCOUNT, N_("Edit _Account"), "<primary>e",
+        "EditEditAccountAction", GNC_ICON_EDIT_ACCOUNT, N_("Edit _Account"), "<primary>e",
         N_("Edit the selected account"),
         G_CALLBACK (gnc_plugin_page_register2_cmd_edit_account)
     },
@@ -335,7 +335,7 @@ static GtkActionEntry gnc_plugin_page_register2_actions [] =
     /* Actions menu */
 
     {
-        "ActionsTransferAction", GNC_STOCK_TRANSFER, N_("_Transfer..."), "<primary>t",
+        "ActionsTransferAction", GNC_ICON_TRANSFER, N_("_Transfer..."), "<primary>t",
         N_("Transfer funds from one account to another"),
         G_CALLBACK (gnc_plugin_page_register2_cmd_transfer)
     },
@@ -370,12 +370,12 @@ static GtkActionEntry gnc_plugin_page_register2_actions [] =
         G_CALLBACK (gnc_plugin_page_register2_cmd_exchange_rate)
     },
     {
-        "JumpTransactionAction", GNC_STOCK_JUMP_TO, N_("_Jump"), NULL,
+        "JumpTransactionAction", GNC_ICON_JUMP_TO, N_("_Jump"), NULL,
         N_("Jump to the corresponding transaction in the other account"),
         G_CALLBACK (gnc_plugin_page_register2_cmd_jump)
     },
     {
-        "ScheduleTransactionAction", GNC_STOCK_SCHEDULE, N_("Sche_dule..."), NULL,
+        "ScheduleTransactionAction", GNC_ICON_SCHEDULE, N_("Sche_dule..."), NULL,
         N_("Create a Scheduled Transaction with the current transaction as a template"),
         G_CALLBACK (gnc_plugin_page_register2_cmd_schedule)
     },
@@ -419,7 +419,7 @@ static GtkToggleActionEntry toggle_entries[] =
     },
 
     {
-        "SplitTransactionAction", GNC_STOCK_SPLIT_TRANS, N_("S_plit Transaction"), NULL,
+        "SplitTransactionAction", GNC_ICON_SPLIT_TRANS, N_("S_plit Transaction"), NULL,
         N_("Show all splits in the current transaction"),
         G_CALLBACK (gnc_plugin_page_register2_cmd_expand_transaction), FALSE
     },
@@ -727,7 +727,7 @@ gnc_plugin_page_register2_class_init (GncPluginPageRegister2Class *klass)
 
     object_class->finalize = gnc_plugin_page_register2_finalize;
 
-    gnc_plugin_class->tab_icon        = GNC_STOCK_ACCOUNT;
+    gnc_plugin_class->tab_icon        = GNC_ICON_ACCOUNT;
     gnc_plugin_class->plugin_name     = GNC_PLUGIN_PAGE_REGISTER2_NAME;
     gnc_plugin_class->create_widget   = gnc_plugin_page_register2_create_widget;
     gnc_plugin_class->destroy_widget  = gnc_plugin_page_register2_destroy_widget;
diff --git a/src/gnome/gnc-plugin-page-sx-list.c b/src/gnome/gnc-plugin-page-sx-list.c
index 234a24a..c410e24 100644
--- a/src/gnome/gnc-plugin-page-sx-list.c
+++ b/src/gnome/gnc-plugin-page-sx-list.c
@@ -131,31 +131,31 @@ static GtkActionEntry gnc_plugin_page_sx_list_actions [] =
 {
     { "SxListAction", NULL, N_("_Scheduled"), NULL, NULL, NULL },
     {
-        "SxListNewAction", GNC_STOCK_NEW_ACCOUNT, N_("_New"), NULL,
+        "SxListNewAction", GNC_ICON_NEW_ACCOUNT, N_("_New"), NULL,
         N_("Create a new scheduled transaction"), G_CALLBACK(gnc_plugin_page_sx_list_cmd_new)
     },
 #ifdef REGISTER2_ENABLED
 /*################## Added for Reg2 #################*/
     {
-        "SxListNewAction2", GNC_STOCK_NEW_ACCOUNT, N_("_New 2"), NULL,
+        "SxListNewAction2", GNC_ICON_NEW_ACCOUNT, N_("_New 2"), NULL,
         N_("Create a new scheduled transaction 2"), G_CALLBACK(gnc_plugin_page_sx_list_cmd_new2)
     },
 /*################## Added for Reg2 #################*/
 #endif
     {
-        "SxListEditAction", GNC_STOCK_EDIT_ACCOUNT, N_("_Edit"), NULL,
+        "SxListEditAction", GNC_ICON_EDIT_ACCOUNT, N_("_Edit"), NULL,
         N_("Edit the selected scheduled transaction"), G_CALLBACK(gnc_plugin_page_sx_list_cmd_edit)
     },
 #ifdef REGISTER2_ENABLED
 /*################## Added for Reg2 #################*/
     {
-        "SxListEditAction2", GNC_STOCK_EDIT_ACCOUNT, N_("_Edit 2"), NULL,
+        "SxListEditAction2", GNC_ICON_EDIT_ACCOUNT, N_("_Edit 2"), NULL,
         N_("Edit the selected scheduled transaction 2"), G_CALLBACK(gnc_plugin_page_sx_list_cmd_edit2)
     },
 /*################## Added for Reg2 #################*/
 #endif
     {
-        "SxListDeleteAction", GNC_STOCK_DELETE_ACCOUNT, N_("_Delete"), NULL,
+        "SxListDeleteAction", GNC_ICON_DELETE_ACCOUNT, N_("_Delete"), NULL,
         N_("Delete the selected scheduled transaction"), G_CALLBACK(gnc_plugin_page_sx_list_cmd_delete)
     },
 };
@@ -218,7 +218,7 @@ gnc_plugin_page_sx_list_class_init (GncPluginPageSxListClass *klass)
     object_class->dispose = gnc_plugin_page_sx_list_dispose;
     object_class->finalize = gnc_plugin_page_sx_list_finalize;
 
-    gnc_plugin_class->tab_icon        = GNC_STOCK_ACCOUNT;
+    gnc_plugin_class->tab_icon        = GNC_ICON_ACCOUNT;
     gnc_plugin_class->plugin_name     = GNC_PLUGIN_PAGE_SX_LIST_NAME;
     gnc_plugin_class->create_widget   = gnc_plugin_page_sx_list_create_widget;
     gnc_plugin_class->destroy_widget  = gnc_plugin_page_sx_list_destroy_widget;
diff --git a/src/report/report-gnome/gnc-plugin-page-report.c b/src/report/report-gnome/gnc-plugin-page-report.c
index 2ceb8b9..75c53ec 100644
--- a/src/report/report-gnome/gnc-plugin-page-report.c
+++ b/src/report/report-gnome/gnc-plugin-page-report.c
@@ -271,7 +271,7 @@ gnc_plugin_page_report_class_init (GncPluginPageReportClass *klass)
     object_class->set_property = gnc_plugin_page_report_set_property;
     object_class->get_property = gnc_plugin_page_report_get_property;
 
-    gnc_plugin_page_class->tab_icon        = GNC_STOCK_ACCOUNT_REPORT;
+    gnc_plugin_page_class->tab_icon        = GNC_ICON_ACCOUNT_REPORT;
     gnc_plugin_page_class->plugin_name     = GNC_PLUGIN_PAGE_REPORT_NAME;
 
     gnc_plugin_page_class->create_widget   = gnc_plugin_page_report_create_widget;
@@ -1129,7 +1129,7 @@ gnc_plugin_page_report_constr_init(GncPluginPageReport *plugin_page, gint report
             G_CALLBACK(gnc_plugin_page_report_print_cb)
         },
         {
-            "FilePrintPDFAction", GNC_STOCK_PDF_EXPORT, N_("Export as P_DF..."), NULL,
+            "FilePrintPDFAction", GNC_ICON_PDF_EXPORT, N_("Export as P_DF..."), NULL,
             N_("Export the current report as a PDF document"),
             G_CALLBACK(gnc_plugin_page_report_exportpdf_cb)
         },

commit 69238ec46364cfdbdcac468314fc5f93f31506fc
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 27 13:59:32 2017 +0100

    Change the way icons are loaded and the corresponding define names

diff --git a/src/gnome-utils/gnc-gnome-utils.c b/src/gnome-utils/gnc-gnome-utils.c
index 36dee28..3e31f11 100644
--- a/src/gnome-utils/gnc-gnome-utils.c
+++ b/src/gnome-utils/gnc-gnome-utils.c
@@ -747,7 +747,7 @@ gnc_gui_init(void)
     /* Load css configuration file */
     gnc_add_css_file ();
 
-    gnc_load_stock_icons();
+    gnc_load_app_icons();
     gnc_totd_dialog(GTK_WINDOW(main_window), TRUE);
 
     LEAVE ("");
diff --git a/src/gnome-utils/gnc-icons.c b/src/gnome-utils/gnc-icons.c
index 6d56719..b939fb8 100644
--- a/src/gnome-utils/gnc-icons.c
+++ b/src/gnome-utils/gnc-icons.c
@@ -1,5 +1,5 @@
 /*
- * gnc-icons.c -- Functions to create a GtkIconFactory for GnuCash
+ * gnc-icons.c -- Functions to add icons for GnuCash to use
  * Copyright (C) 2003 Jan Arne Petersen
  * Author: Jan Arne Petersen <jpetersen at uni-bonn.de>
  */
@@ -33,112 +33,58 @@
 #include "gnc-filepath-utils.h"
 #include "gnc-gnome-utils.h"
 
-static GtkStockItem items[] =
-{
-    { GNC_STOCK_ACCOUNT,        N_("Account"),         0, 0, NULL },
-    { GNC_STOCK_DELETE_ACCOUNT, N_("_Delete Account"), 0, 0, NULL },
-    { GNC_STOCK_EDIT_ACCOUNT,   N_("_Edit Account"),   0, 0, NULL },
-    { GNC_STOCK_NEW_ACCOUNT,    N_("_New Account"),    0, 0, NULL },
-    { GNC_STOCK_OPEN_ACCOUNT,   N_("_Open Account"),   0, 0, NULL },
-    { GNC_STOCK_TRANSFER,       N_("_Transfer..."),    0, 0, NULL },
-    { GNC_STOCK_SPLIT_TRANS,    N_("S_plit Transaction"), 0, 0, NULL },
-    { GNC_STOCK_JUMP_TO,        N_("_Jump"),              0, 0, NULL },
-};
-
 typedef struct _item_file
 {
-    const gchar *stock_name;
+    const gchar *icon_name;
     const gchar *filename_lg;
     const gchar *filename_sm;
 } item_file;
 
 static item_file item_files[] =
 {
-    { GNC_STOCK_ACCOUNT,        "gnc-account.png",        "gnc-account-16.png"},
-    { GNC_STOCK_ACCOUNT_REPORT, "gnc-account-report.png", "gnc-account-report-16.png"},
-    { GNC_STOCK_DELETE_ACCOUNT, "gnc-account-delete.png", "gnc-account-delete-16.png"},
-    { GNC_STOCK_EDIT_ACCOUNT,   "gnc-account-edit.png",   "gnc-account-edit-16.png"},
-    { GNC_STOCK_NEW_ACCOUNT,    "gnc-account-new.png",    "gnc-account-new-16.png"},
-    { GNC_STOCK_OPEN_ACCOUNT,   "gnc-account-open.png",   "gnc-account-open-16.png"},
-    { GNC_STOCK_TRANSFER,       "gnc-transfer.png",       "gnc-transfer-16.png"},
-    { GNC_STOCK_SCHEDULE,       "gnc-sx-new.png",         "gnc-sx-new-16.png"},
-    { GNC_STOCK_SPLIT_TRANS,    "gnc-split-trans.png",    "gnc-split-trans-16.png"},
-    { GNC_STOCK_JUMP_TO,        "gnc-jumpto.png",         "gnc-jumpto-16.png"},
-    { GNC_STOCK_INVOICE,        "gnc-invoice.png",        "gnc-invoice-16.png"},
-    { GNC_STOCK_INVOICE_PAY,    "gnc-invoice-pay.png",    "gnc-invoice-pay-16.png"},
-    { GNC_STOCK_INVOICE_POST,   "gnc-invoice-post.png",   "gnc-invoice-post-16.png"},
-    { GNC_STOCK_INVOICE_UNPOST, "gnc-invoice-unpost.png", "gnc-invoice-unpost-16.png"},
-    { GNC_STOCK_INVOICE_NEW,    "gnc-invoice-new.png",   "gnc-invoice-new-16.png"},
-    { GNC_STOCK_INVOICE_EDIT,   "gnc-invoice-edit.png",   "gnc-invoice-edit-16.png"},
-    { GNC_STOCK_INVOICE_DUPLICATE, "gnc-invoice-duplicate.png", "gnc-invoice-duplicate-16.png"},
-    { GNC_STOCK_PDF_EXPORT,     "gnc-gnome-pdf-24.png",   "gnc-gnome-pdf-16.png"},
+    { GNC_ICON_ACCOUNT,           "gnc-account.png",           "gnc-account-16.png"},
+    { GNC_ICON_ACCOUNT_REPORT,    "gnc-account-report.png",    "gnc-account-report-16.png"},
+    { GNC_ICON_DELETE_ACCOUNT,    "gnc-account-delete.png",    "gnc-account-delete-16.png"},
+    { GNC_ICON_EDIT_ACCOUNT,      "gnc-account-edit.png",      "gnc-account-edit-16.png"},
+    { GNC_ICON_NEW_ACCOUNT,       "gnc-account-new.png",       "gnc-account-new-16.png"},
+    { GNC_ICON_OPEN_ACCOUNT,      "gnc-account-open.png",      "gnc-account-open-16.png"},
+    { GNC_ICON_TRANSFER,          "gnc-transfer.png",          "gnc-transfer-16.png"},
+    { GNC_ICON_SCHEDULE,          "gnc-sx-new.png",            "gnc-sx-new-16.png"},
+    { GNC_ICON_SPLIT_TRANS,       "gnc-split-trans.png",       "gnc-split-trans-16.png"},
+    { GNC_ICON_JUMP_TO,           "gnc-jumpto.png",            "gnc-jumpto-16.png"},
+    { GNC_ICON_INVOICE,           "gnc-invoice.png",           "gnc-invoice-16.png"},
+    { GNC_ICON_INVOICE_PAY,       "gnc-invoice-pay.png",       "gnc-invoice-pay-16.png"},
+    { GNC_ICON_INVOICE_POST,      "gnc-invoice-post.png",      "gnc-invoice-post-16.png"},
+    { GNC_ICON_INVOICE_UNPOST,    "gnc-invoice-unpost.png",    "gnc-invoice-unpost-16.png"},
+    { GNC_ICON_INVOICE_NEW,       "gnc-invoice-new.png",       "gnc-invoice-new-16.png"},
+    { GNC_ICON_INVOICE_EDIT,      "gnc-invoice-edit.png",      "gnc-invoice-edit-16.png"},
+    { GNC_ICON_INVOICE_DUPLICATE, "gnc-invoice-duplicate.png", "gnc-invoice-duplicate-16.png"},
+    { GNC_ICON_PDF_EXPORT,        "gnc-gnome-pdf-24.png",      "gnc-gnome-pdf-16.png"},
     { 0 },
 };
 
-static void
-gnc_add_stock_icon_pair (GtkIconFactory *factory,
-                         const char *stock,
-                         const char *filename1,
-                         const char *filename2)
+void
+gnc_load_app_icons (void)
 {
-    GtkIconSet *set;
-    GtkIconSource *source;
-    GdkPixbuf *pixbuf1, *pixbuf2;
-    char *fullname1, *fullname2;
-
-    /* Find the complete path names for these files */
-    fullname1 = gnc_filepath_locate_pixmap (filename1);
-    fullname2 = gnc_filepath_locate_pixmap (filename2);
-    g_assert (fullname1 && fullname2);
-
-    /* Load the pixbufs */
-    pixbuf1 = gnc_gnome_get_gdkpixbuf (filename1);
-    pixbuf2 = gnc_gnome_get_gdkpixbuf (filename2);
-    g_assert (pixbuf1 && pixbuf2);
-
-    /* Create the icon set */
-    set = gtk_icon_set_new ();
-    source = gtk_icon_source_new ();
-    gtk_icon_source_set_filename (source, fullname1);
-    gtk_icon_source_set_pixbuf (source, pixbuf1);
-    gtk_icon_set_add_source (set, source);
-    gtk_icon_source_free(source);
-
-    source = gtk_icon_source_new ();
-    gtk_icon_source_set_filename (source, fullname2);
-    gtk_icon_source_set_pixbuf (source, pixbuf2);
-    gtk_icon_source_set_size (source, GTK_ICON_SIZE_MENU);
-    gtk_icon_source_set_size_wildcarded (source, FALSE);
-    gtk_icon_set_add_source (set, source);
-    gtk_icon_source_free(source);
+    item_file *file;
 
-    /* Add it to the factory */
-    gtk_icon_factory_add (factory, stock, set);
+    for (file = item_files; file->icon_name; file++)
+    {
+        GdkPixbuf *pixbuf_sm, *pixbuf_lg;
+        char *fullname_sm = NULL, *fullname_lg = NULL;
 
-    /* Cleanup */
-    g_object_unref (pixbuf2);
-    g_object_unref (pixbuf1);
-    g_free(fullname2);
-    g_free(fullname1);
-    gtk_icon_set_unref (set);
-}
+        fullname_sm = gnc_filepath_locate_pixmap (file->filename_sm);
+        fullname_lg = gnc_filepath_locate_pixmap (file->filename_lg);
+        g_assert (fullname_sm && fullname_lg);
 
-void
-gnc_load_stock_icons (void)
-{
-    GtkIconFactory *factory;
-    item_file *file;
+        pixbuf_sm = gnc_gnome_get_gdkpixbuf (fullname_sm);
+        pixbuf_lg = gnc_gnome_get_gdkpixbuf (fullname_lg);
+        g_assert (pixbuf_sm && pixbuf_lg);
 
-    /* Register our stock items */
-    gtk_stock_add (items, G_N_ELEMENTS (items));
+        gtk_icon_theme_add_builtin_icon (file->icon_name, 16, pixbuf_sm);
+        gtk_icon_theme_add_builtin_icon (file->icon_name, 24, pixbuf_lg);
 
-    /* Add our custom icon factory to the list of defaults */
-    factory = gtk_icon_factory_new ();
-    for (file = item_files; file->stock_name; file++)
-    {
-        gnc_add_stock_icon_pair (factory, file->stock_name,
-                                 file->filename_lg, file->filename_sm);
+        g_object_unref(pixbuf_sm);
+        g_object_unref(pixbuf_lg);
     }
-
-    gtk_icon_factory_add_default (factory);
 }
diff --git a/src/gnome-utils/gnc-icons.h b/src/gnome-utils/gnc-icons.h
index 395a9dd..369654c 100644
--- a/src/gnome-utils/gnc-icons.h
+++ b/src/gnome-utils/gnc-icons.h
@@ -1,5 +1,5 @@
 /*
- * gnc-icons.h -- Functions to create a GtkIconFactory for GnuCash
+ * gnc-icons.h -- Functions to add icons for GnuCash to use
  * Copyright (C) 2003 Jan Arne Petersen
  * Author: Jan Arne Petersen <jpetersen at uni-bonn.de>
  */
@@ -29,34 +29,34 @@
 
 G_BEGIN_DECLS
 
-#define GNC_STOCK_ACCOUNT "gnc-account"
-#define GNC_STOCK_ACCOUNT_REPORT "gnc-account-report"
-#define GNC_STOCK_DELETE_ACCOUNT "gnc-delete-account"
-#define GNC_STOCK_EDIT_ACCOUNT "gnc-edit-account"
-#define GNC_STOCK_NEW_ACCOUNT "gnc-new-account"
-#define GNC_STOCK_OPEN_ACCOUNT "gnc-open-account"
-#define GNC_STOCK_SPLIT_TRANS "gnc-split-transaction"
-#define GNC_STOCK_SCHEDULE "gnc-schedule-new"
-#define GNC_STOCK_TRANSFER "gnc-transfer"
-#define GNC_STOCK_JUMP_TO "gnc-jump-to"
-#define GNC_STOCK_INVOICE "gnc-invoice-post"
-#define GNC_STOCK_INVOICE_POST "gnc-invoice-post"
-#define GNC_STOCK_INVOICE_UNPOST "gnc-invoice-unpost"
-#define GNC_STOCK_INVOICE_PAY "gnc-invoice-pay"
-#define GNC_STOCK_INVOICE_NEW "gnc-invoice-new"
-#define GNC_STOCK_INVOICE_EDIT "gnc-invoice-edit"
-#define GNC_STOCK_INVOICE_DUPLICATE "gnc-invoice-duplicate"
-#define GNC_STOCK_PDF_EXPORT "gnc-pdf-export"
+#define GNC_ICON_ACCOUNT "gnc-account"
+#define GNC_ICON_ACCOUNT_REPORT "gnc-account-report"
+#define GNC_ICON_DELETE_ACCOUNT "gnc-account-delete"
+#define GNC_ICON_EDIT_ACCOUNT "gnc-account-edit"
+#define GNC_ICON_NEW_ACCOUNT "gnc-account-new"
+#define GNC_ICON_OPEN_ACCOUNT "gnc-account-open"
+#define GNC_ICON_SPLIT_TRANS "gnc-split-trans"
+#define GNC_ICON_SCHEDULE "gnc-sx-new"
+#define GNC_ICON_TRANSFER "gnc-transfer"
+#define GNC_ICON_JUMP_TO "gnc-jumpto"
+#define GNC_ICON_INVOICE "gnc-invoice"
+#define GNC_ICON_INVOICE_POST "gnc-invoice-post"
+#define GNC_ICON_INVOICE_UNPOST "gnc-invoice-unpost"
+#define GNC_ICON_INVOICE_PAY "gnc-invoice-pay"
+#define GNC_ICON_INVOICE_NEW "gnc-invoice-new"
+#define GNC_ICON_INVOICE_EDIT "gnc-invoice-edit"
+#define GNC_ICON_INVOICE_DUPLICATE "gnc-invoice-duplicate"
+#define GNC_ICON_PDF_EXPORT "gnc-gnome-pdf"
 
 //FIXME: use own budget icons?
-#define GNC_STOCK_BUDGET "gnc-budget"
-#define GNC_STOCK_NEW_BUDGET "gnc-account"
-#define GNC_STOCK_OPEN_BUDGET "gnc-open-account"
-//#define GNC_STOCK_CLOSE_BUDGET "gnc-close-account"
-//#define GNC_STOCK_EDIT_BUDGET "gnc-edit-account"
-#define GNC_STOCK_DELETE_BUDGET "gnc-delete-account"
-
-void gnc_load_stock_icons (void);
+#define GNC_ICON_BUDGET "gnc-budget"
+#define GNC_ICON_NEW_BUDGET "gnc-account"
+#define GNC_ICON_OPEN_BUDGET "gnc-account-open"
+//#define GNC_ICON_CLOSE_BUDGET "gnc-close-account"
+//#define GNC_ICON_EDIT_BUDGET "gnc-edit-account"
+#define GNC_ICON_DELETE_BUDGET "gnc-account-delete"
+
+void gnc_load_app_icons (void);
 
 G_END_DECLS
 

commit 75f17b674255da552fef20a09288e296ce42ca7e
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 27 13:57:47 2017 +0100

    Change some functions to use icon names instead of stock id's

diff --git a/src/gnome-utils/dialog-utils.c b/src/gnome-utils/dialog-utils.c
index 1f7ce9a..c1263b2 100644
--- a/src/gnome-utils/dialog-utils.c
+++ b/src/gnome-utils/dialog-utils.c
@@ -484,17 +484,18 @@ gnc_builder_connect_full_func(GtkBuilder *builder,
 
 
 void
-gnc_gtk_dialog_add_button (GtkWidget *dialog, const gchar *label, const gchar *stock_id, guint response)
+gnc_gtk_dialog_add_button (GtkWidget *dialog, const gchar *label, const gchar *icon_name, guint response)
 {
     GtkWidget *button;
 
     button = gtk_button_new_with_mnemonic(label);
-    if (stock_id)
+    if (icon_name)
     {
         GtkWidget *image;
 
-        image = gtk_image_new_from_stock (stock_id, GTK_ICON_SIZE_BUTTON);
-        gtk_button_set_image(GTK_BUTTON(button), image);
+        image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_BUTTON);
+        gtk_button_set_image (GTK_BUTTON(button), image);
+        g_object_set (button, "always-show-image", TRUE, NULL); // Maybe this should be a preference
     }
     g_object_set (button, "can-default", TRUE, NULL);
     gtk_widget_show_all(button);
diff --git a/src/gnome-utils/dialog-utils.h b/src/gnome-utils/dialog-utils.h
index 4e9f77e..a30befa 100644
--- a/src/gnome-utils/dialog-utils.h
+++ b/src/gnome-utils/dialog-utils.h
@@ -87,13 +87,13 @@ void gnc_builder_connect_full_func (GtkBuilder *builder,
  *
  *  @param label The text of the button.
  *
- *  @param stock_id The name of the stock button to use.
+ *  @param icon_name The name of the icon button to use.
  *
  *  @param response The response id to return if this button is
  *  clicked.*/
 void gnc_gtk_dialog_add_button (GtkWidget *dialog,
                                 const gchar *label,
-                                const gchar *stock_id,
+                                const gchar *icon_name,
                                 guint response);
 
 /** Note: This dialog is modal!  (It calls gtk_dialog_run() which is modal.)
diff --git a/src/gnome-utils/gnc-file.c b/src/gnome-utils/gnc-file.c
index 8590d0b..6fa0570 100644
--- a/src/gnome-utils/gnc-file.c
+++ b/src/gnome-utils/gnc-file.c
@@ -791,11 +791,11 @@ RESTART:
         gtk_window_set_skip_taskbar_hint(GTK_WINDOW(dialog), FALSE);
 
         gnc_gtk_dialog_add_button(dialog, _("_Open Read-Only"),
-                                  _("Revert"), RESPONSE_READONLY);
+                                  "document-revert", RESPONSE_READONLY);
         gnc_gtk_dialog_add_button(dialog, _("_Create New File"),
-                                  _("New"), RESPONSE_NEW);
+                                  "document-new", RESPONSE_NEW);
         gnc_gtk_dialog_add_button(dialog, _("Open _Anyway"),
-                                  _("Open"), RESPONSE_OPEN);
+                                  "document-open", RESPONSE_OPEN);
         if (shutdown_cb)
             gtk_dialog_add_button(GTK_DIALOG(dialog),
                                   _("Quit"), RESPONSE_QUIT);
diff --git a/src/gnome-utils/gnc-main-window.c b/src/gnome-utils/gnc-main-window.c
index 4304b55..d76a25b 100644
--- a/src/gnome-utils/gnc-main-window.c
+++ b/src/gnome-utils/gnc-main-window.c
@@ -2936,7 +2936,7 @@ gnc_main_window_open_page (GncMainWindow *window,
 
     if (icon != NULL)
     {
-        image = gtk_image_new_from_stock (icon, GTK_ICON_SIZE_MENU);
+        image = gtk_image_new_from_icon_name (icon, GTK_ICON_SIZE_MENU);
         gtk_widget_show (image);
         gtk_box_pack_start (GTK_BOX (tab_hbox), image, FALSE, FALSE, 0);
         gtk_box_pack_start (GTK_BOX (tab_hbox), label, TRUE, TRUE, 0);
diff --git a/src/gnome-utils/gnc-tree-control-split-reg.c b/src/gnome-utils/gnc-tree-control-split-reg.c
index 25eda87..a11b4fd 100644
--- a/src/gnome-utils/gnc-tree-control-split-reg.c
+++ b/src/gnome-utils/gnc-tree-control-split-reg.c
@@ -886,7 +886,7 @@ gnc_tree_control_split_reg_reinit (GncTreeViewSplitReg *view, gpointer data)
     gtk_dialog_add_button (GTK_DIALOG (dialog),
                           _("Cancel"), GTK_RESPONSE_CANCEL);
     gnc_gtk_dialog_add_button(dialog, _("_Remove Splits"),
-                              _("Delete"), GTK_RESPONSE_ACCEPT);
+                              "edit-delete", GTK_RESPONSE_ACCEPT);
     response = gnc_dialog_run (GTK_DIALOG(dialog), warning);
     gtk_widget_destroy (dialog);
     if (response != GTK_RESPONSE_ACCEPT)
@@ -1023,7 +1023,7 @@ gnc_tree_control_split_reg_delete (GncTreeViewSplitReg *view, gpointer data)
         gtk_dialog_add_button (GTK_DIALOG (dialog),
                               _("Cancel"), GTK_RESPONSE_CANCEL);
         gnc_gtk_dialog_add_button (dialog, _("_Delete Split"),
-                                  _("Delete"), GTK_RESPONSE_ACCEPT);
+                                  "edit-delete", GTK_RESPONSE_ACCEPT);
         response = gnc_dialog_run (GTK_DIALOG (dialog), warning);
         gtk_widget_destroy (dialog);
         if (response != GTK_RESPONSE_ACCEPT)
@@ -1063,7 +1063,7 @@ gnc_tree_control_split_reg_delete (GncTreeViewSplitReg *view, gpointer data)
         gtk_dialog_add_button (GTK_DIALOG (dialog),
                               _("Cancel"), GTK_RESPONSE_CANCEL);
         gnc_gtk_dialog_add_button (dialog, _("_Delete Transaction"),
-                                  _("Delete"), GTK_RESPONSE_ACCEPT);
+                                  "edit-delete", GTK_RESPONSE_ACCEPT);
         response =  gnc_dialog_run (GTK_DIALOG (dialog), warning);
         gtk_widget_destroy (dialog);
         if (response != GTK_RESPONSE_ACCEPT)
diff --git a/src/gnome/gnc-plugin-page-register.c b/src/gnome/gnc-plugin-page-register.c
index 4ba43b2..f7eae11 100644
--- a/src/gnome/gnc-plugin-page-register.c
+++ b/src/gnome/gnc-plugin-page-register.c
@@ -1569,11 +1569,11 @@ gnc_plugin_page_register_finish_pending (GncPluginPage *page)
        "Would you like to save the changes to this transaction, "
        "discard the transaction, or cancel the operation?"));
     gnc_gtk_dialog_add_button(dialog, _("_Discard Transaction"),
-                              _("Delete"), GTK_RESPONSE_REJECT);
+                              "edit-delete", GTK_RESPONSE_REJECT);
     gtk_dialog_add_button(GTK_DIALOG(dialog),
                           _("Cancel"), GTK_RESPONSE_CANCEL);
     gnc_gtk_dialog_add_button(dialog, _("_Save Transaction"),
-                              _("Save"), GTK_RESPONSE_ACCEPT);
+                              "document-save", GTK_RESPONSE_ACCEPT);
 
     response = gtk_dialog_run(GTK_DIALOG(dialog));
     gtk_widget_destroy(dialog);
diff --git a/src/gnome/gnc-plugin-page-register2.c b/src/gnome/gnc-plugin-page-register2.c
index 131a645..d7fe4b6 100644
--- a/src/gnome/gnc-plugin-page-register2.c
+++ b/src/gnome/gnc-plugin-page-register2.c
@@ -1626,11 +1626,11 @@ gnc_plugin_page_register2_finish_pending (GncPluginPage *page) //this works
        "Would you like to save the changes to this transaction, "
        "discard the transaction, or cancel the operation?"));
     gnc_gtk_dialog_add_button (dialog, _("_Discard Transaction"),
-                              _("Delete"), GTK_RESPONSE_REJECT);
+                              "edit-delete", GTK_RESPONSE_REJECT);
     gtk_dialog_add_button (GTK_DIALOG (dialog),
                           _("Cancel"), GTK_RESPONSE_CANCEL);
     gnc_gtk_dialog_add_button (dialog, _("_Save Transaction"),
-                              _("Save"), GTK_RESPONSE_ACCEPT);
+                              "document-save", GTK_RESPONSE_ACCEPT);
 
     response = gtk_dialog_run (GTK_DIALOG (dialog));
     gtk_widget_destroy (dialog);
diff --git a/src/gnome/gnc-split-reg.c b/src/gnome/gnc-split-reg.c
index e94c902..c76d51d 100644
--- a/src/gnome/gnc-split-reg.c
+++ b/src/gnome/gnc-split-reg.c
@@ -872,7 +872,7 @@ gsr_default_reinit_handler( GNCSplitReg *gsr, gpointer data )
     gtk_dialog_add_button(GTK_DIALOG(dialog),
                           _("Cancel"), GTK_RESPONSE_CANCEL);
     gnc_gtk_dialog_add_button(dialog, _("_Remove Splits"),
-                              _("Delete"), GTK_RESPONSE_ACCEPT);
+                              "edit-delete", GTK_RESPONSE_ACCEPT);
     response = gnc_dialog_run(GTK_DIALOG(dialog), warning);
     gtk_widget_destroy (dialog);
     if (response != GTK_RESPONSE_ACCEPT)
@@ -1253,7 +1253,7 @@ gsr_default_delete_handler( GNCSplitReg *gsr, gpointer data )
         gtk_dialog_add_button(GTK_DIALOG(dialog),
                               _("Cancel"), GTK_RESPONSE_CANCEL);
         gnc_gtk_dialog_add_button(dialog, _("_Delete Split"),
-                                  _("Delete"), GTK_RESPONSE_ACCEPT);
+                                  "edit-delete", GTK_RESPONSE_ACCEPT);
         response = gnc_dialog_run(GTK_DIALOG(dialog), warning);
         gtk_widget_destroy (dialog);
         if (response != GTK_RESPONSE_ACCEPT)
@@ -1293,7 +1293,7 @@ gsr_default_delete_handler( GNCSplitReg *gsr, gpointer data )
         gtk_dialog_add_button(GTK_DIALOG(dialog),
                               _("Cancel"), GTK_RESPONSE_CANCEL);
         gnc_gtk_dialog_add_button(dialog, _("_Delete Transaction"),
-                                  _("Delete"), GTK_RESPONSE_ACCEPT);
+                                  "edit-delete", GTK_RESPONSE_ACCEPT);
         response =  gnc_dialog_run(GTK_DIALOG(dialog), warning);
         gtk_widget_destroy (dialog);
         if (response != GTK_RESPONSE_ACCEPT)
diff --git a/src/import-export/csv-imp/gnc-csv-gnumeric-popup.c b/src/import-export/csv-imp/gnc-csv-gnumeric-popup.c
index 00c3132..c821848 100644
--- a/src/import-export/csv-imp/gnc-csv-gnumeric-popup.c
+++ b/src/import-export/csv-imp/gnc-csv-gnumeric-popup.c
@@ -118,7 +118,7 @@ gnumeric_create_popup_menu_list (GSList *elements,
                 gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE);
             if (pix_name != NULL)
             {
-                GtkWidget *image = gtk_image_new_from_stock (pix_name,
+                GtkWidget *image = gtk_image_new_from_icon_name (pix_name,
                                    GTK_ICON_SIZE_MENU);
                 gtk_widget_show (image);
                 gtk_image_menu_item_set_image (

commit dc0d8727f5f9c25d4484386c4a7022e9bb79f97c
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Mon Jun 26 17:38:50 2017 +0100

    Replace GTK_STOCK_INDEX, _YES and _APPLY with icon names.
    
    These may need changing as there is no equivalent or add our own.

diff --git a/src/gnome/gnc-plugin-page-register.c b/src/gnome/gnc-plugin-page-register.c
index bac7901..4ba43b2 100644
--- a/src/gnome/gnc-plugin-page-register.c
+++ b/src/gnome/gnc-plugin-page-register.c
@@ -351,12 +351,12 @@ static GtkActionEntry gnc_plugin_page_register_actions [] =
         G_CALLBACK (gnc_plugin_page_register_cmd_transfer)
     },
     {
-        "ActionsReconcileAction", GTK_STOCK_INDEX, N_("_Reconcile..."), NULL,
+        "ActionsReconcileAction", "edit-select-all", N_("_Reconcile..."), NULL,
         N_("Reconcile the selected account"),
         G_CALLBACK (gnc_plugin_page_register_cmd_reconcile)
     },
     {
-        "ActionsAutoClearAction", GTK_STOCK_INDEX, N_("_Auto-clear..."), NULL,
+        "ActionsAutoClearAction", "edit-select-all", N_("_Auto-clear..."), NULL,
         N_("Automatically clear individual transactions, so as to reach a certain cleared amount"),
         G_CALLBACK (gnc_plugin_page_register_cmd_autoclear)
     },
diff --git a/src/gnome/gnc-plugin-page-register2.c b/src/gnome/gnc-plugin-page-register2.c
index e911ff0..131a645 100644
--- a/src/gnome/gnc-plugin-page-register2.c
+++ b/src/gnome/gnc-plugin-page-register2.c
@@ -340,12 +340,12 @@ static GtkActionEntry gnc_plugin_page_register2_actions [] =
         G_CALLBACK (gnc_plugin_page_register2_cmd_transfer)
     },
     {
-        "ActionsReconcileAction", GTK_STOCK_INDEX, N_("_Reconcile..."), NULL,
+        "ActionsReconcileAction", "edit-select-all", N_("_Reconcile..."), NULL,
         N_("Reconcile the selected account"),
         G_CALLBACK (gnc_plugin_page_register2_cmd_reconcile)
     },
     {
-        "ActionsAutoClearAction", GTK_STOCK_INDEX, N_("_Auto-clear..."), NULL,
+        "ActionsAutoClearAction", "edit-select-all", N_("_Auto-clear..."), NULL,
         N_("Automatically clear individual transactions, so as to reach a certain cleared amount"),
         G_CALLBACK (gnc_plugin_page_register2_cmd_autoclear)
     },
diff --git a/src/gnome/window-reconcile.c b/src/gnome/window-reconcile.c
index 3d742e0..7bece1d 100644
--- a/src/gnome/window-reconcile.c
+++ b/src/gnome/window-reconcile.c
@@ -2213,7 +2213,7 @@ static GtkActionEntry recnWindow_actions [] =
         G_CALLBACK (gnc_ui_reconcile_window_change_cb)
     },
     {
-        "RecnFinishAction", GTK_STOCK_YES, N_("_Finish"), "<primary>w",
+        "RecnFinishAction", "system-run", N_("_Finish"), "<primary>w",
         N_("Finish the reconciliation of this account"),
         G_CALLBACK(recnFinishCB)
     },
@@ -2270,7 +2270,7 @@ static GtkActionEntry recnWindow_actions [] =
         G_CALLBACK(gnc_ui_reconcile_window_delete_cb)
     },
     {
-        "TransRecAction", GTK_STOCK_APPLY, N_("_Reconcile Selection"), "<primary>r",
+        "TransRecAction", "emblem-default", N_("_Reconcile Selection"), "<primary>r",
         N_("Reconcile the selected transactions"),
         G_CALLBACK(gnc_ui_reconcile_window_rec_cb)
     },
diff --git a/src/gnome/window-reconcile2.c b/src/gnome/window-reconcile2.c
index 8f6758c..4ad5af5 100644
--- a/src/gnome/window-reconcile2.c
+++ b/src/gnome/window-reconcile2.c
@@ -2173,7 +2173,7 @@ static GtkActionEntry recnWindow2_actions [] =
         G_CALLBACK (gnc_ui_reconcile_window_change_cb)
     },
     {
-        "RecnFinishAction", GTK_STOCK_YES, N_("_Finish"), "<primary>w",
+        "RecnFinishAction", "system-run", N_("_Finish"), "<primary>w",
         N_("Finish the reconciliation of this account"),
         G_CALLBACK(recnFinishCB)
     },
@@ -2230,7 +2230,7 @@ static GtkActionEntry recnWindow2_actions [] =
         G_CALLBACK(gnc_ui_reconcile_window_delete_cb)
     },
     {
-        "TransRecAction", GTK_STOCK_APPLY, N_("_Reconcile Selection"), "<primary>r",
+        "TransRecAction", "emblem-default", N_("_Reconcile Selection"), "<primary>r",
         N_("Reconcile the selected transactions"),
         G_CALLBACK(gnc_ui_reconcile_window_rec_cb)
     },

commit 9f989a66bc755944855d7d913e2de29c8ce2b1e8
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Mon Jun 26 16:53:47 2017 +0100

    Replace GTK_STOCK_PRINT_PREVIEW with icon name "document-print-preview"

diff --git a/src/business/business-gnome/gnc-plugin-page-owner-tree.c b/src/business/business-gnome/gnc-plugin-page-owner-tree.c
index 1d54611..85ebe86 100644
--- a/src/business/business-gnome/gnc-plugin-page-owner-tree.c
+++ b/src/business/business-gnome/gnc-plugin-page-owner-tree.c
@@ -199,12 +199,12 @@ static GtkActionEntry gnc_plugin_page_owner_tree_actions [] =
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_new_invoice)
     },
     {
-        "OTVendorListingReportAction", GTK_STOCK_PRINT_PREVIEW, N_("Vendor Listing"), NULL,
+        "OTVendorListingReportAction", "document-print-preview", N_("Vendor Listing"), NULL,
         N_("Show vendor aging overview for all vendors"),
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_owners_report)
     },
     {
-        "OTCustomerListingReportAction", GTK_STOCK_PRINT_PREVIEW, N_("Customer Listing"), NULL,
+        "OTCustomerListingReportAction", "document-print-preview", N_("Customer Listing"), NULL,
         N_("Show customer aging overview for all customers"),
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_owners_report)
     },

commit 7a53271d1d98b87e96fcf7861533a835e6fd4cd6
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Mon Jun 26 16:49:01 2017 +0100

    Replace GTK_STOCK_CANCEL with icon name "process-stop"

diff --git a/src/business/business-gnome/gnc-plugin-page-invoice.c b/src/business/business-gnome/gnc-plugin-page-invoice.c
index 8e30b36..e7fea59 100644
--- a/src/business/business-gnome/gnc-plugin-page-invoice.c
+++ b/src/business/business-gnome/gnc-plugin-page-invoice.c
@@ -153,7 +153,7 @@ static GtkActionEntry gnc_plugin_page_invoice_actions [] =
         G_CALLBACK (gnc_plugin_page_invoice_cmd_enter)
     },
     {
-        "CancelEntryAction", GTK_STOCK_CANCEL, N_("_Cancel"), NULL,
+        "CancelEntryAction", "process-stop", N_("_Cancel"), NULL,
         N_("Cancel the current entry"),
         G_CALLBACK (gnc_plugin_page_invoice_cmd_cancel)
     },
diff --git a/src/gnome/gnc-plugin-page-register.c b/src/gnome/gnc-plugin-page-register.c
index 212b633..bac7901 100644
--- a/src/gnome/gnc-plugin-page-register.c
+++ b/src/gnome/gnc-plugin-page-register.c
@@ -300,7 +300,7 @@ static GtkActionEntry gnc_plugin_page_register_actions [] =
         G_CALLBACK (gnc_plugin_page_register_cmd_enter_transaction)
     },
     {
-        "CancelTransactionAction", GTK_STOCK_CANCEL, N_("Ca_ncel Transaction"), NULL,
+        "CancelTransactionAction", "process-stop", N_("Ca_ncel Transaction"), NULL,
         N_("Cancel the current transaction"),
         G_CALLBACK (gnc_plugin_page_register_cmd_cancel_transaction)
     },
diff --git a/src/gnome/gnc-plugin-page-register2.c b/src/gnome/gnc-plugin-page-register2.c
index 04d770e..e911ff0 100644
--- a/src/gnome/gnc-plugin-page-register2.c
+++ b/src/gnome/gnc-plugin-page-register2.c
@@ -293,7 +293,7 @@ static GtkActionEntry gnc_plugin_page_register2_actions [] =
         G_CALLBACK (gnc_plugin_page_register2_cmd_enter_transaction)
     },
     {
-        "CancelTransactionAction", GTK_STOCK_CANCEL, N_("Ca_ncel Transaction"), NULL,
+        "CancelTransactionAction", "process-stop", N_("Ca_ncel Transaction"), NULL,
         N_("Cancel the current transaction"),
         G_CALLBACK (gnc_plugin_page_register2_cmd_cancel_transaction)
     },
diff --git a/src/gnome/window-reconcile.c b/src/gnome/window-reconcile.c
index f5d955e..3d742e0 100644
--- a/src/gnome/window-reconcile.c
+++ b/src/gnome/window-reconcile.c
@@ -2223,7 +2223,7 @@ static GtkActionEntry recnWindow_actions [] =
         G_CALLBACK(recnPostponeCB)
     },
     {
-        "RecnCancelAction", GTK_STOCK_CANCEL, N_("_Cancel"), NULL,
+        "RecnCancelAction", "process-stop", N_("_Cancel"), NULL,
         N_("Cancel the reconciliation of this account"),
         G_CALLBACK(recnCancelCB)
     },
diff --git a/src/gnome/window-reconcile2.c b/src/gnome/window-reconcile2.c
index 2692124..8f6758c 100644
--- a/src/gnome/window-reconcile2.c
+++ b/src/gnome/window-reconcile2.c
@@ -2183,7 +2183,7 @@ static GtkActionEntry recnWindow2_actions [] =
         G_CALLBACK(recnPostponeCB)
     },
     {
-        "RecnCancelAction", GTK_STOCK_CANCEL, N_("_Cancel"), NULL,
+        "RecnCancelAction", "process-stop", N_("_Cancel"), NULL,
         N_("Cancel the reconciliation of this account"),
         G_CALLBACK(recnCancelCB)
     },

commit 4d2a4a61fb9061d158d819f338bf406a9e198ae0
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Mon Jun 26 16:29:13 2017 +0100

    Replace GTK_STOCK_CONVERT with two icon names
    
    This may need changing to different icons names or add a couple of new
    GNC_... icons

diff --git a/src/gnome-utils/gnc-file.c b/src/gnome-utils/gnc-file.c
index fc6b5b6..8590d0b 100644
--- a/src/gnome-utils/gnc-file.c
+++ b/src/gnome-utils/gnc-file.c
@@ -114,7 +114,7 @@ gnc_file_dialog (const char * title,
     case GNC_FILE_DIALOG_EXPORT:
         action = GTK_FILE_CHOOSER_ACTION_SAVE;
         okbutton = _("_Export");
-        ok_icon = GTK_STOCK_CONVERT;
+        ok_icon = "go-next";
         if (title == NULL)
             title = _("Export");
         break;
diff --git a/src/gnome/gnc-plugin-basic-commands.c b/src/gnome/gnc-plugin-basic-commands.c
index 0dc69e4..9b8e03b 100644
--- a/src/gnome/gnc-plugin-basic-commands.c
+++ b/src/gnome/gnc-plugin-basic-commands.c
@@ -133,7 +133,7 @@ static GtkActionEntry gnc_plugin_actions [] =
         G_CALLBACK (gnc_main_window_cmd_file_revert)
     },
     {
-        "FileExportAccountsAction", GTK_STOCK_CONVERT,
+        "FileExportAccountsAction", "go-next",
         N_("Export _Accounts"), NULL,
         N_("Export the account hierarchy to a new GnuCash datafile"),
         G_CALLBACK (gnc_main_window_cmd_file_export_accounts)
diff --git a/src/import-export/csv-exp/gnc-plugin-csv-export.c b/src/import-export/csv-exp/gnc-plugin-csv-export.c
index de144b7..f9dbfe6 100644
--- a/src/import-export/csv-exp/gnc-plugin-csv-export.c
+++ b/src/import-export/csv-exp/gnc-plugin-csv-export.c
@@ -51,17 +51,17 @@ static void gnc_plugin_csv_export_register_cmd (GtkAction *action, GncMainWindow
 static GtkActionEntry gnc_plugin_actions [] =
 {
     {
-        "CsvExportTreeAction", GTK_STOCK_CONVERT, N_("Export Account T_ree to CSV..."), NULL,
+        "CsvExportTreeAction", "go-next", N_("Export Account T_ree to CSV..."), NULL,
         N_("Export the Account Tree to a CSV file"),
         G_CALLBACK (gnc_plugin_csv_export_tree_cmd)
     },
     {
-        "CsvExportTransAction", GTK_STOCK_CONVERT, N_("Export _Transactions to CSV..."), NULL,
+        "CsvExportTransAction", "go-next", N_("Export _Transactions to CSV..."), NULL,
         N_("Export the Transactions to a CSV file"),
         G_CALLBACK (gnc_plugin_csv_export_trans_cmd)
     },
     {
-        "CsvExportRegisterAction", GTK_STOCK_CONVERT, N_("Export _Active Register to CSV..."), NULL,
+        "CsvExportRegisterAction", "go-next", N_("Export _Active Register to CSV..."), NULL,
         N_("Export the Active Register to a CSV file"),
         G_CALLBACK (gnc_plugin_csv_export_register_cmd)
     },
diff --git a/src/import-export/csv-imp/gnc-plugin-csv-import.c b/src/import-export/csv-imp/gnc-plugin-csv-import.c
index 2b46afb..ec9168a 100644
--- a/src/import-export/csv-imp/gnc-plugin-csv-import.c
+++ b/src/import-export/csv-imp/gnc-plugin-csv-import.c
@@ -45,12 +45,12 @@ static void gnc_plugin_csv_import_trans_cmd (GtkAction *action, GncMainWindowAct
 static GtkActionEntry gnc_plugin_actions [] =
 {
     {
-        "CsvImportAccountAction", GTK_STOCK_CONVERT, N_("Import _Accounts from CSV..."), NULL,
+        "CsvImportAccountAction", "go-previous", N_("Import _Accounts from CSV..."), NULL,
         N_("Import Accounts from a CSV file"),
         G_CALLBACK (gnc_plugin_csv_import_tree_cmd)
     },
     {
-        "CsvImportTransAction", GTK_STOCK_CONVERT, N_("Import _Transactions from CSV..."), NULL,
+        "CsvImportTransAction", "go-previous", N_("Import _Transactions from CSV..."), NULL,
         N_("Import Transactions from a CSV file"),
         G_CALLBACK (gnc_plugin_csv_import_trans_cmd)
     },
diff --git a/src/import-export/log-replay/gnc-plugin-log-replay.c b/src/import-export/log-replay/gnc-plugin-log-replay.c
index b8135bd..9bb1728 100644
--- a/src/import-export/log-replay/gnc-plugin-log-replay.c
+++ b/src/import-export/log-replay/gnc-plugin-log-replay.c
@@ -45,7 +45,7 @@ static void gnc_plugin_log_replay_cmd_new_log_replay (GtkAction *action, GncMain
 static GtkActionEntry gnc_plugin_actions [] =
 {
     {
-        "LogReplayAction", GTK_STOCK_CONVERT, N_("_Replay GnuCash .log file..."), NULL,
+        "LogReplayAction", "go-previous", N_("_Replay GnuCash .log file..."), NULL,
         N_("Replay a GnuCash log file after a crash. This cannot be undone."),
         G_CALLBACK (gnc_plugin_log_replay_cmd_new_log_replay)
     },
diff --git a/src/import-export/ofx/gnc-plugin-ofx.c b/src/import-export/ofx/gnc-plugin-ofx.c
index 4c8e5f0..d8fcfcc 100644
--- a/src/import-export/ofx/gnc-plugin-ofx.c
+++ b/src/import-export/ofx/gnc-plugin-ofx.c
@@ -43,7 +43,7 @@ static void gnc_plugin_ofx_cmd_import (GtkAction *action, GncMainWindowActionDat
 static GtkActionEntry gnc_plugin_actions [] =
 {
     {
-        "OfxImportAction", GTK_STOCK_CONVERT, N_("Import _OFX/QFX..."), NULL,
+        "OfxImportAction", "go-previous", N_("Import _OFX/QFX..."), NULL,
         N_("Process an OFX/QFX response file"),
         G_CALLBACK (gnc_plugin_ofx_cmd_import)
     },
diff --git a/src/import-export/qif-imp/gnc-plugin-qif-import.c b/src/import-export/qif-imp/gnc-plugin-qif-import.c
index 74090a4..b089bb4 100644
--- a/src/import-export/qif-imp/gnc-plugin-qif-import.c
+++ b/src/import-export/qif-imp/gnc-plugin-qif-import.c
@@ -44,7 +44,7 @@ static void gnc_plugin_qif_import_cmd_new_qif_import (GtkAction *action, GncMain
 static GtkActionEntry gnc_plugin_actions [] =
 {
     {
-        "QIFImportAction", GTK_STOCK_CONVERT, N_("Import _QIF..."), NULL,
+        "QIFImportAction", "go-previous", N_("Import _QIF..."), NULL,
         N_("Import a Quicken QIF file"),
         G_CALLBACK (gnc_plugin_qif_import_cmd_new_qif_import)
     },
diff --git a/src/report/report-gnome/gnc-plugin-page-report.c b/src/report/report-gnome/gnc-plugin-page-report.c
index 84b7cbd..2ceb8b9 100644
--- a/src/report/report-gnome/gnc-plugin-page-report.c
+++ b/src/report/report-gnome/gnc-plugin-page-report.c
@@ -1162,7 +1162,7 @@ gnc_plugin_page_report_constr_init(GncPluginPageReport *plugin_page, gint report
             report_saveas_str, G_CALLBACK(gnc_plugin_page_report_save_as_cb)
         },
         {
-            "ReportExportAction", GTK_STOCK_CONVERT, N_("Export _Report"), NULL,
+            "ReportExportAction", "go-next", N_("Export _Report"), NULL,
             N_("Export HTML-formatted report to file"),
             G_CALLBACK(gnc_plugin_page_report_export_cb)
         },

commit 20c1630a316e6c21845f193ff652095bae36aa32
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Mon Jun 26 16:27:34 2017 +0100

    Missed some replace GTK_STOCK_... images with there equivalent icon name

diff --git a/src/report/report-gnome/dialog-custom-report.c b/src/report/report-gnome/dialog-custom-report.c
index a048a89..50bd6f7 100644
--- a/src/report/report-gnome/dialog-custom-report.c
+++ b/src/report/report-gnome/dialog-custom-report.c
@@ -212,21 +212,21 @@ set_reports_view_and_model(CustomReportDialog *crd)
     gtk_tree_view_column_set_expand (crd->namecol, TRUE);
 
     renderer = gtk_cell_renderer_pixbuf_new();
-    g_object_set (G_OBJECT (renderer), "stock-id", GTK_STOCK_EXECUTE, NULL);
+    g_object_set (G_OBJECT (renderer), "icon-name", "system-run", NULL);
     gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (crd->reportview), -1,
             "R", renderer,
             NULL);
     crd->runcol = gtk_tree_view_get_column (GTK_TREE_VIEW (crd->reportview), VIEW_COL_RUN);
 
     renderer = gtk_cell_renderer_pixbuf_new();
-    g_object_set (G_OBJECT (renderer), "stock-id", GTK_STOCK_EDIT, NULL);
+    g_object_set (G_OBJECT (renderer), "icon-name", "accessories-text-editor", NULL);
     gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (crd->reportview), -1,
             "E", renderer,
             NULL);
     crd->editcol = gtk_tree_view_get_column (GTK_TREE_VIEW (crd->reportview), VIEW_COL_EDIT);
 
     renderer = gtk_cell_renderer_pixbuf_new();
-    g_object_set (G_OBJECT (renderer), "stock-id", GTK_STOCK_DELETE, NULL);
+    g_object_set (G_OBJECT (renderer), "icon-name", "edit-delete", NULL);
     colnum = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (crd->reportview), -1,
              "D", renderer,
              NULL);
diff --git a/src/report/report-gnome/gnc-plugin-page-report.c b/src/report/report-gnome/gnc-plugin-page-report.c
index af82377..84b7cbd 100644
--- a/src/report/report-gnome/gnc-plugin-page-report.c
+++ b/src/report/report-gnome/gnc-plugin-page-report.c
@@ -1124,7 +1124,7 @@ gnc_plugin_page_report_constr_init(GncPluginPageReport *plugin_page, gint report
     GtkActionEntry report_actions[] =
     {
         {
-            "FilePrintAction", GTK_STOCK_PRINT, N_("_Print Report..."), "<primary>p",
+            "FilePrintAction", "document-print", N_("_Print Report..."), "<primary>p",
             N_("Print the current report"),
             G_CALLBACK(gnc_plugin_page_report_print_cb)
         },
@@ -1134,31 +1134,31 @@ gnc_plugin_page_report_constr_init(GncPluginPageReport *plugin_page, gint report
             G_CALLBACK(gnc_plugin_page_report_exportpdf_cb)
         },
         {
-            "EditCutAction", GTK_STOCK_CUT, N_("Cu_t"), NULL,
+            "EditCutAction", "edit-cut", N_("Cu_t"), NULL,
             N_("Cut the current selection and copy it to clipboard"),
             NULL
         },
         {
-            "EditCopyAction", GTK_STOCK_COPY, N_("_Copy"), NULL,
+            "EditCopyAction", "edit-copy", N_("_Copy"), NULL,
             N_("Copy the current selection to clipboard"),
             G_CALLBACK(gnc_plugin_page_report_copy_cb)
         },
         {
-            "EditPasteAction", GTK_STOCK_PASTE, N_("_Paste"), NULL,
+            "EditPasteAction", "edit-paste", N_("_Paste"), NULL,
             N_("Paste the clipboard content at the cursor position"),
             NULL
         },
         {
-            "ViewRefreshAction", GTK_STOCK_REFRESH, N_("_Refresh"), "<primary>r",
+            "ViewRefreshAction", "view-refresh", N_("_Refresh"), "<primary>r",
             N_("Refresh this window"),
             G_CALLBACK (gnc_plugin_page_report_reload_cb)
         },
         {
-            "ReportSaveAction", GTK_STOCK_SAVE, N_("Save _Report Configuration"), "<primary><alt>s",
+            "ReportSaveAction", "document-save", N_("Save _Report Configuration"), "<primary><alt>s",
             report_save_str, G_CALLBACK(gnc_plugin_page_report_save_cb)
         },
         {
-            "ReportSaveAsAction", GTK_STOCK_SAVE_AS, N_("Save Report Configuration As..."), "<primary><alt><shift>s",
+            "ReportSaveAsAction", "document-save-as", N_("Save Report Configuration As..."), "<primary><alt><shift>s",
             report_saveas_str, G_CALLBACK(gnc_plugin_page_report_save_as_cb)
         },
         {
@@ -1167,28 +1167,28 @@ gnc_plugin_page_report_constr_init(GncPluginPageReport *plugin_page, gint report
             G_CALLBACK(gnc_plugin_page_report_export_cb)
         },
         {
-            "ReportOptionsAction", GTK_STOCK_PROPERTIES, N_("_Report Options"), NULL,
+            "ReportOptionsAction", "document-properties", N_("_Report Options"), NULL,
             N_("Edit report options"),
             G_CALLBACK(gnc_plugin_page_report_options_cb)
         },
 
         {
-            "ReportBackAction", GTK_STOCK_GO_BACK, N_("Back"), NULL,
+            "ReportBackAction", "go-previous", N_("Back"), NULL,
             N_("Move back one step in the history"),
             G_CALLBACK(gnc_plugin_page_report_back_cb)
         },
         {
-            "ReportForwAction", GTK_STOCK_GO_FORWARD, N_("Forward"), NULL,
+            "ReportForwAction", "go-next", N_("Forward"), NULL,
             N_("Move forward one step in the history"),
             G_CALLBACK(gnc_plugin_page_report_forw_cb)
         },
         {
-            "ReportReloadAction", GTK_STOCK_REFRESH, N_("Reload"), NULL,
+            "ReportReloadAction", "view-refresh", N_("Reload"), NULL,
             N_("Reload the current page"),
             G_CALLBACK(gnc_plugin_page_report_reload_cb)
         },
         {
-            "ReportStopAction", GTK_STOCK_STOP, N_("Stop"), NULL,
+            "ReportStopAction", "process-stop", N_("Stop"), NULL,
             N_("Cancel outstanding HTML requests"),
             G_CALLBACK(gnc_plugin_page_report_stop_cb)
         },

commit 1c08232b6ef9d50a88623d8dc4690c78b74b3216
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Mon Jun 26 16:22:14 2017 +0100

    Missed changing some stock labels on buttons to icon names

diff --git a/src/plugins/bi_import/gtkbuilder/dialog-bi-import-gui.glade b/src/plugins/bi_import/gtkbuilder/dialog-bi-import-gui.glade
index b8ad746..66a7ffd 100644
--- a/src/plugins/bi_import/gtkbuilder/dialog-bi-import-gui.glade
+++ b/src/plugins/bi_import/gtkbuilder/dialog-bi-import-gui.glade
@@ -107,11 +107,11 @@
                     </child>
                     <child>
                       <object class="GtkButton" id="buttonOpen">
-                        <property name="label">gtk-open</property>
+                        <property name="label">_Open</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_stock">True</property>
+                        <property name="use_underline">True</property>
                         <signal name="clicked" handler="gnc_bi_import_gui_buttonOpen_cb" swapped="no"/>
                       </object>
                       <packing>
diff --git a/src/report/report-gnome/dialog-report.glade b/src/report/report-gnome/dialog-report.glade
index b2af41b..222bafb 100644
--- a/src/report/report-gnome/dialog-report.glade
+++ b/src/report/report-gnome/dialog-report.glade
@@ -260,12 +260,12 @@
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="closebutton1">
-                <property name="label">gtk-close</property>
+                <property name="label">_Close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>

commit 34d1d840e0ff21d9ab7f3fecc95cd60bc63224a8
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Mon Jun 26 15:58:59 2017 +0100

    Replace GTK_STOCK_... images with there equivalent icon name

diff --git a/src/business/business-gnome/gnc-plugin-page-invoice.c b/src/business/business-gnome/gnc-plugin-page-invoice.c
index 121a8b1..8e30b36 100644
--- a/src/business/business-gnome/gnc-plugin-page-invoice.c
+++ b/src/business/business-gnome/gnc-plugin-page-invoice.c
@@ -104,24 +104,24 @@ static GtkActionEntry gnc_plugin_page_invoice_actions [] =
         G_CALLBACK (gnc_plugin_page_invoice_cmd_new_account)
     },
     {
-        "FilePrintAction", GTK_STOCK_PRINT, N_("Print Invoice"), "<primary>p",
+        "FilePrintAction", "document-print", N_("Print Invoice"), "<primary>p",
         N_("Make a printable invoice"),
         G_CALLBACK (gnc_plugin_page_invoice_cmd_print)
     },
 
     /* Edit menu */
     {
-        "EditCutAction", GTK_STOCK_CUT, N_("_Cut"), NULL,
+        "EditCutAction", "edit-cut", N_("_Cut"), NULL,
         NULL,
         G_CALLBACK (gnc_plugin_page_invoice_cmd_cut)
     },
     {
-        "EditCopyAction", GTK_STOCK_COPY, N_("Copy"), NULL,
+        "EditCopyAction", "edit-copy", N_("Copy"), NULL,
         NULL,
         G_CALLBACK (gnc_plugin_page_invoice_cmd_copy)
     },
     {
-        "EditPasteAction", GTK_STOCK_PASTE, N_("_Paste"), NULL,
+        "EditPasteAction", "edit-paste", N_("_Paste"), NULL,
         NULL,
         G_CALLBACK (gnc_plugin_page_invoice_cmd_paste)
     },
@@ -148,7 +148,7 @@ static GtkActionEntry gnc_plugin_page_invoice_actions [] =
 
     /* Actions menu */
     {
-        "RecordEntryAction", GTK_STOCK_ADD, N_("_Enter"), NULL,
+        "RecordEntryAction", "list-add", N_("_Enter"), NULL,
         N_("Record the current entry"),
         G_CALLBACK (gnc_plugin_page_invoice_cmd_enter)
     },
@@ -158,27 +158,27 @@ static GtkActionEntry gnc_plugin_page_invoice_actions [] =
         G_CALLBACK (gnc_plugin_page_invoice_cmd_cancel)
     },
     {
-        "DeleteEntryAction", GTK_STOCK_DELETE, N_("_Delete"), NULL,
+        "DeleteEntryAction", "edit-delete", N_("_Delete"), NULL,
         N_("Delete the current entry"),
         G_CALLBACK (gnc_plugin_page_invoice_cmd_delete)
     },
     {
-        "BlankEntryAction", GTK_STOCK_GOTO_BOTTOM, N_("_Blank"), NULL,
+        "BlankEntryAction", "go-bottom", N_("_Blank"), NULL,
         N_("Move to the blank entry at the bottom of the Invoice"),
         G_CALLBACK (gnc_plugin_page_invoice_cmd_blank)
     },
     {
-        "DuplicateEntryAction", GTK_STOCK_COPY, N_("Dup_licate Entry"), NULL,
+        "DuplicateEntryAction", "edit-copy", N_("Dup_licate Entry"), NULL,
         N_("Make a copy of the current entry"),
         G_CALLBACK (gnc_plugin_page_invoice_cmd_duplicateEntry)
     },
     {
-        "EntryUpAction", GTK_STOCK_GO_UP, N_("Move Entry _Up"), NULL,
+        "EntryUpAction", "go-up", N_("Move Entry _Up"), NULL,
         N_("Move the current entry one row upwards"),
         G_CALLBACK (gnc_plugin_page_invoice_cmd_entryUp)
     },
     {
-        "EntryDownAction", GTK_STOCK_GO_DOWN, N_("Move Entry Do_wn"), NULL,
+        "EntryDownAction", "go-down", N_("Move Entry Do_wn"), NULL,
         N_("Move the current entry one row downwards"),
         G_CALLBACK (gnc_plugin_page_invoice_cmd_entryDown)
     },
diff --git a/src/business/business-gnome/gtkbuilder/dialog-date-close.glade b/src/business/business-gnome/gtkbuilder/dialog-date-close.glade
index 169b073..64d2bb4 100644
--- a/src/business/business-gnome/gtkbuilder/dialog-date-close.glade
+++ b/src/business/business-gnome/gtkbuilder/dialog-date-close.glade
@@ -73,7 +73,7 @@
                   <object class="GtkImage" id="image2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="stock">gtk-dialog-question</property>
+                    <property name="icon_name">dialog-question</property>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -389,7 +389,7 @@
                   <object class="GtkImage" id="image1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="stock">gtk-dialog-question</property>
+                    <property name="icon_name">dialog-question</property>
                   </object>
                   <packing>
                     <property name="expand">False</property>
diff --git a/src/business/business-gnome/gtkbuilder/dialog-invoice.glade b/src/business/business-gnome/gtkbuilder/dialog-invoice.glade
index cccdde6..1d998e5 100644
--- a/src/business/business-gnome/gtkbuilder/dialog-invoice.glade
+++ b/src/business/business-gnome/gtkbuilder/dialog-invoice.glade
@@ -1343,7 +1343,7 @@
                   <object class="GtkImage" id="q_pixmap">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="stock">gtk-dialog-question</property>
+                    <property name="icon_name">dialog-question</property>
                   </object>
                   <packing>
                     <property name="expand">False</property>
diff --git a/src/business/business-gnome/gtkbuilder/dialog-payment.glade b/src/business/business-gnome/gtkbuilder/dialog-payment.glade
index 196683b..d6e5059 100644
--- a/src/business/business-gnome/gtkbuilder/dialog-payment.glade
+++ b/src/business/business-gnome/gtkbuilder/dialog-payment.glade
@@ -87,7 +87,7 @@
             <child>
               <object class="GtkImage" id="payment_warning">
                 <property name="can_focus">False</property>
-                <property name="stock">gtk-dialog-warning</property>
+                <property name="icon_name">dialog-warning</property>
               </object>
               <packing>
                 <property name="expand">False</property>
diff --git a/src/gnome-utils/dialog-account.c b/src/gnome-utils/dialog-account.c
index 2468b03..34dc8fd 100644
--- a/src/gnome-utils/dialog-account.c
+++ b/src/gnome-utils/dialog-account.c
@@ -656,7 +656,7 @@ verify_children_compatible (AccountWindow *aw)
 
     gtk_box_pack_start (
         GTK_BOX (hbox),
-        gtk_image_new_from_stock (GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG),
+        gtk_image_new_from_icon_name ("dialog-information", GTK_ICON_SIZE_DIALOG),
         FALSE, FALSE, 0);
 
     /* primary label */
diff --git a/src/gnome-utils/gnc-main-window.c b/src/gnome-utils/gnc-main-window.c
index d924646..4304b55 100644
--- a/src/gnome-utils/gnc-main-window.c
+++ b/src/gnome-utils/gnc-main-window.c
@@ -273,29 +273,29 @@ static GtkActionEntry gnc_menu_actions [] =
     { "FileImportAction", NULL, N_("_Import"), NULL, NULL, NULL },
     { "FileExportAction", NULL, N_("_Export"), NULL, NULL, NULL },
     {
-        "FilePrintAction", GTK_STOCK_PRINT, N_("_Print..."), "<primary>p",
+        "FilePrintAction", "document-print", N_("_Print..."), "<primary>p",
         N_("Print the currently active page"), NULL
     },
 #ifndef GTK_STOCK_PAGE_SETUP
 #    define GTK_STOCK_PAGE_SETUP NULL
 #endif
     {
-        "FilePageSetupAction", GTK_STOCK_PAGE_SETUP, N_("Pa_ge Setup..."), "<primary><shift>p",
+        "FilePageSetupAction", "document-page-setup", N_("Pa_ge Setup..."), "<primary><shift>p",
         N_("Specify the page size and orientation for printing"),
         G_CALLBACK (gnc_main_window_cmd_page_setup)
     },
     {
-        "FilePropertiesAction", GTK_STOCK_PROPERTIES, N_("Proper_ties"), "<Alt>Return",
+        "FilePropertiesAction", "document-properties", N_("Proper_ties"), "<Alt>Return",
         N_("Edit the properties of the current file"),
         G_CALLBACK (gnc_main_window_cmd_file_properties)
     },
     {
-        "FileCloseAction", GTK_STOCK_CLOSE, N_("_Close"), NULL,
+        "FileCloseAction", "window-close", N_("_Close"), NULL,
         N_("Close the currently active page"),
         G_CALLBACK (gnc_main_window_cmd_file_close)
     },
     {
-        "FileQuitAction", GTK_STOCK_QUIT, N_("_Quit"), NULL,
+        "FileQuitAction", "application-exit", N_("_Quit"), NULL,
         N_("Quit this application"),
         G_CALLBACK (gnc_main_window_cmd_file_quit)
     },
@@ -303,22 +303,22 @@ static GtkActionEntry gnc_menu_actions [] =
     /* Edit menu */
 
     {
-        "EditCutAction", GTK_STOCK_CUT, N_("Cu_t"), NULL,
+        "EditCutAction", "edit-cut", N_("Cu_t"), NULL,
         N_("Cut the current selection and copy it to clipboard"),
         G_CALLBACK (gnc_main_window_cmd_edit_cut)
     },
     {
-        "EditCopyAction", GTK_STOCK_COPY, N_("_Copy"), NULL,
+        "EditCopyAction", "edit-copy", N_("_Copy"), NULL,
         N_("Copy the current selection to clipboard"),
         G_CALLBACK (gnc_main_window_cmd_edit_copy)
     },
     {
-        "EditPasteAction", GTK_STOCK_PASTE, N_("_Paste"), NULL,
+        "EditPasteAction", "edit-paste", N_("_Paste"), NULL,
         N_("Paste the clipboard content at the cursor position"),
         G_CALLBACK (gnc_main_window_cmd_edit_paste)
     },
     {
-        "EditPreferencesAction", GTK_STOCK_PREFERENCES, N_("Pr_eferences"), NULL,
+        "EditPreferencesAction", "preferences-system", N_("Pr_eferences"), NULL,
         N_("Edit the global preferences of GnuCash"),
         G_CALLBACK (gnc_main_window_cmd_edit_preferences)
     },
@@ -334,7 +334,7 @@ static GtkActionEntry gnc_menu_actions [] =
         N_("Select the account types that should be displayed."), NULL
     },
     {
-        "ViewRefreshAction", GTK_STOCK_REFRESH, N_("_Refresh"), "<primary>r",
+        "ViewRefreshAction", "view-refresh", N_("_Refresh"), "<primary>r",
         N_("Refresh this window"),
         G_CALLBACK (gnc_main_window_cmd_view_refresh)
     },
@@ -369,17 +369,17 @@ static GtkActionEntry gnc_menu_actions [] =
     /* Help menu */
 
     {
-        "HelpTutorialAction", GTK_STOCK_HELP, N_("Tutorial and Concepts _Guide"), NULL,
+        "HelpTutorialAction", "help-browser", N_("Tutorial and Concepts _Guide"), NULL,
         N_("Open the GnuCash Tutorial"),
         G_CALLBACK (gnc_main_window_cmd_help_tutorial)
     },
     {
-        "HelpContentsAction", GTK_STOCK_HELP, N_("_Contents"), "F1",
+        "HelpContentsAction", "help-browser", N_("_Contents"), "F1",
         N_("Open the GnuCash Help"),
         G_CALLBACK (gnc_main_window_cmd_help_contents)
     },
     {
-        "HelpAboutAction", GTK_STOCK_ABOUT, N_("_About"), NULL,
+        "HelpAboutAction", "help-about", N_("_About"), NULL,
         N_("About GnuCash"),
         G_CALLBACK (gnc_main_window_cmd_help_about)
     },
@@ -2973,7 +2973,7 @@ gnc_main_window_open_page (GncMainWindow *window,
 
         close_button = gtk_button_new();
         gtk_button_set_relief(GTK_BUTTON(close_button), GTK_RELIEF_NONE);
-        close_image = gtk_image_new_from_stock(GTK_STOCK_CLOSE, GTK_ICON_SIZE_MENU);
+        close_image = gtk_image_new_from_icon_name ("window-close", GTK_ICON_SIZE_MENU);
         gtk_widget_show(close_image);
         gtk_widget_get_preferred_size (close_image, &requisition, NULL);
         gtk_widget_set_size_request(close_button, requisition.width + 4,
diff --git a/src/gnome-utils/gnc-tree-view.c b/src/gnome-utils/gnc-tree-view.c
index fff90b3..d69687c 100644
--- a/src/gnome-utils/gnc-tree-view.c
+++ b/src/gnome-utils/gnc-tree-view.c
@@ -269,7 +269,7 @@ gnc_tree_view_init (GncTreeView *view, GncTreeViewClass *klass)
     /* Create the last column which contains the column selection
      * widget.  gnc_tree_view_add_text_column will do most of the
      * work. */
-    icon = gtk_image_new_from_stock(GTK_STOCK_GO_DOWN,
+    icon = gtk_image_new_from_icon_name ("go-down",
                                     GTK_ICON_SIZE_SMALL_TOOLBAR);
     gtk_widget_show(icon);
     gtk_widget_get_preferred_size(icon, &requisition, NULL);
diff --git a/src/gnome-utils/gtkbuilder/assistant-xml-encoding.glade b/src/gnome-utils/gtkbuilder/assistant-xml-encoding.glade
index 14203c7..49dbb87 100644
--- a/src/gnome-utils/gtkbuilder/assistant-xml-encoding.glade
+++ b/src/gnome-utils/gtkbuilder/assistant-xml-encoding.glade
@@ -170,6 +170,9 @@
       <object class="GtkBox" id="assistant-action_area2">
         <property name="can_focus">False</property>
       </object>
+      <packing>
+        <property name="has_padding">False</property>
+      </packing>
     </child>
   </object>
   <object class="GtkDialog" id="encodings_dialog">
@@ -309,7 +312,7 @@
                                       <object class="GtkImage" id="image11">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
-                                        <property name="stock">gtk-go-forward</property>
+                                        <property name="icon_name">go-next</property>
                                       </object>
                                     </child>
                                   </object>
@@ -392,7 +395,7 @@
                                   <object class="GtkImage" id="image10">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="stock">gtk-go-forward</property>
+                                    <property name="icon_name">go-next</property>
                                   </object>
                                 </child>
                               </object>
@@ -471,7 +474,7 @@
                                   <object class="GtkImage" id="image12">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="stock">gtk-go-back</property>
+                                    <property name="icon_name">go-previous</property>
                                   </object>
                                 </child>
                               </object>
diff --git a/src/gnome-utils/gtkbuilder/dialog-preferences.glade b/src/gnome-utils/gtkbuilder/dialog-preferences.glade
index 8c0481b..7079e12 100644
--- a/src/gnome-utils/gtkbuilder/dialog-preferences.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-preferences.glade
@@ -626,25 +626,6 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkEntry" id="pref/general/account-separator">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="events">GDK_FOCUS_CHANGE_MASK | GDK_STRUCTURE_MASK</property>
-                    <property name="has_tooltip">True</property>
-                    <property name="tooltip_markup">The character that will be used between components of an account name. A legal value is any single character except letters and numbers, or any of the following strings: &quot;colon&quot; &quot;slash&quot;, &quot;backslash&quot;, &quot;dash&quot; and &quot;period&quot;.</property>
-                    <property name="tooltip_text" translatable="yes">The character that will be used between components of an account name. A legal value is any single character except letters and numbers, or any of the following strings: "colon" "slash", "backslash", "dash" and "period".</property>
-                    <property name="invisible_char">●</property>
-                    <property name="primary_icon_activatable">False</property>
-                    <property name="secondary_icon_activatable">False</property>
-                    <signal name="changed" handler="gnc_account_separator_pref_changed_cb" swapped="no"/>
-                    <signal name="focus-out-event" handler="gnc_account_separator_validate_cb" swapped="no"/>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">1</property>
-                  </packing>
-                </child>
-                <child>
                   <object class="GtkLabel" id="sample_account">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
@@ -695,17 +676,6 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkImage" id="separator_error">
-                    <property name="can_focus">False</property>
-                    <property name="halign">start</property>
-                    <property name="stock">gtk-dialog-warning</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">1</property>
-                  </packing>
-                </child>
-                <child>
                   <object class="GtkLabel" id="label11">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
@@ -793,6 +763,48 @@
                   </packing>
                 </child>
                 <child>
+                  <object class="GtkBox">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <child>
+                      <object class="GtkImage" id="separator_error">
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="icon_name">dialog-warning</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkEntry" id="pref/general/account-separator">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_FOCUS_CHANGE_MASK | GDK_STRUCTURE_MASK</property>
+                        <property name="has_tooltip">True</property>
+                        <property name="tooltip_markup">The character that will be used between components of an account name. A legal value is any single character except letters and numbers, or any of the following strings: &quot;colon&quot; &quot;slash&quot;, &quot;backslash&quot;, &quot;dash&quot; and &quot;period&quot;.</property>
+                        <property name="tooltip_text" translatable="yes">The character that will be used between components of an account name. A legal value is any single character except letters and numbers, or any of the following strings: "colon" "slash", "backslash", "dash" and "period".</property>
+                        <property name="invisible_char">●</property>
+                        <property name="primary_icon_activatable">False</property>
+                        <property name="secondary_icon_activatable">False</property>
+                        <signal name="changed" handler="gnc_account_separator_pref_changed_cb" swapped="no"/>
+                        <signal name="focus-out-event" handler="gnc_account_separator_validate_cb" swapped="no"/>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">1</property>
+                  </packing>
+                </child>
+                <child>
                   <placeholder/>
                 </child>
                 <child>
@@ -1693,7 +1705,7 @@ many months before the current month:</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="margin_left">12</property>
-                        <property name="stock">gtk-dialog-warning</property>
+                        <property name="icon_name">dialog-warning</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
diff --git a/src/gnome/dialog-find-account.c b/src/gnome/dialog-find-account.c
index c7212eb..1e3217a 100644
--- a/src/gnome/dialog-find-account.c
+++ b/src/gnome/dialog-find-account.c
@@ -187,10 +187,10 @@ fill_model (FindAccountDialog *facc_dialog, Account *account)
 
     gtk_list_store_set (GTK_LIST_STORE(model), &iter,
                         ACC_FULL_NAME, fullname, ACCOUNT, account,
-                        PLACE_HOLDER, (xaccAccountGetPlaceholder (account) == TRUE ? GTK_STOCK_YES : NULL),
-                        HIDDEN, (xaccAccountGetHidden (account) == TRUE ? GTK_STOCK_YES : NULL),
-                        NOT_USED, (splits == 0 ? GTK_STOCK_YES : NULL),
-                        BAL_ZERO, (gnc_numeric_zero_p (total) == TRUE ? GTK_STOCK_YES : NULL), -1);
+                        PLACE_HOLDER, (xaccAccountGetPlaceholder (account) == TRUE ? "emblem-default" : NULL),
+                        HIDDEN, (xaccAccountGetHidden (account) == TRUE ? "emblem-default" : NULL),
+                        NOT_USED, (splits == 0 ? "emblem-default" : NULL),
+                        BAL_ZERO, (gnc_numeric_zero_p (total) == TRUE ? "emblem-default" : NULL), -1);
     g_free (fullname);
 }
 
@@ -316,7 +316,7 @@ gnc_find_account_dialog_create (GtkWidget *parent, FindAccountDialog *facc_dialo
     cr = gtk_cell_renderer_pixbuf_new();
     gtk_tree_view_column_pack_start (tree_column, cr, TRUE);
     // connect 'active' and set 'xalign' property of the cell renderer
-    gtk_tree_view_column_set_attributes (tree_column, cr, "stock-id", PLACE_HOLDER, NULL);
+    gtk_tree_view_column_set_attributes (tree_column, cr, "icon-name", PLACE_HOLDER, NULL);
     gtk_cell_renderer_set_alignment (cr, 0.5, 0.5);
 
     tree_column = gtk_tree_view_column_new();
@@ -327,7 +327,7 @@ gnc_find_account_dialog_create (GtkWidget *parent, FindAccountDialog *facc_dialo
     cr = gtk_cell_renderer_pixbuf_new();
     gtk_tree_view_column_pack_start (tree_column, cr, TRUE);
     // connect 'active' and set 'xalign' property of the cell renderer
-    gtk_tree_view_column_set_attributes (tree_column, cr, "stock-id", HIDDEN, NULL);
+    gtk_tree_view_column_set_attributes (tree_column, cr, "icon-name", HIDDEN, NULL);
     gtk_cell_renderer_set_alignment (cr, 0.5, 0.5);
 
     tree_column = gtk_tree_view_column_new();
@@ -338,7 +338,7 @@ gnc_find_account_dialog_create (GtkWidget *parent, FindAccountDialog *facc_dialo
     cr = gtk_cell_renderer_pixbuf_new();
     gtk_tree_view_column_pack_start (tree_column, cr, TRUE);
     // connect 'active' and set 'xalign' property of the cell renderer
-    gtk_tree_view_column_set_attributes (tree_column, cr, "stock-id", NOT_USED, NULL);
+    gtk_tree_view_column_set_attributes (tree_column, cr, "icon-name", NOT_USED, NULL);
     gtk_cell_renderer_set_alignment (cr, 0.5, 0.5);
 
     tree_column = gtk_tree_view_column_new();
@@ -349,7 +349,7 @@ gnc_find_account_dialog_create (GtkWidget *parent, FindAccountDialog *facc_dialo
     cr = gtk_cell_renderer_pixbuf_new();
     gtk_tree_view_column_pack_start (tree_column, cr, TRUE);
     // connect 'active' and set 'xalign' property of the cell renderer
-    gtk_tree_view_column_set_attributes (tree_column, cr, "stock-id", BAL_ZERO, NULL);
+    gtk_tree_view_column_set_attributes (tree_column, cr, "icon-name", BAL_ZERO, NULL);
     gtk_cell_renderer_set_alignment (cr, 0.5, 0.5);
 
     gtk_builder_connect_signals_full (builder, gnc_builder_connect_full_func, facc_dialog);
diff --git a/src/gnome/dialog-print-check.c b/src/gnome/dialog-print-check.c
index 434aadc..b2c64d6 100644
--- a/src/gnome/dialog-print-check.c
+++ b/src/gnome/dialog-print-check.c
@@ -1937,7 +1937,7 @@ draw_picture(GtkPrintContext *context, check_item_t *data)
         g_warning("Filename '%s' cannot be read or understood.",
                   data->filename);
         pixbuf = gtk_widget_render_icon_pixbuf (GTK_WIDGET(image),
-                                        GTK_STOCK_MISSING_IMAGE, -1);
+                                        "image-missing", -1);
     }
     pix_w = gdk_pixbuf_get_width(pixbuf);
     pix_h = gdk_pixbuf_get_height(pixbuf);
diff --git a/src/gnome/gnc-plugin-basic-commands.c b/src/gnome/gnc-plugin-basic-commands.c
index 395e68a..0dc69e4 100644
--- a/src/gnome/gnc-plugin-basic-commands.c
+++ b/src/gnome/gnc-plugin-basic-commands.c
@@ -108,27 +108,27 @@ static GtkActionEntry gnc_plugin_actions [] =
     /* File menu */
 
     {
-        "FileNewAction", GTK_STOCK_NEW, N_("New _File"), "<primary>n",
+        "FileNewAction", "document-new", N_("New _File"), "<primary>n",
         N_("Create a new file"),
         G_CALLBACK (gnc_main_window_cmd_file_new)
     },
     {
-        "FileOpenAction", GTK_STOCK_OPEN, N_("_Open..."), "<primary>o",
+        "FileOpenAction", "document-open", N_("_Open..."), "<primary>o",
         N_("Open an existing GnuCash file"),
         G_CALLBACK (gnc_main_window_cmd_file_open)
     },
     {
-        "FileSaveAction", GTK_STOCK_SAVE, N_("_Save"), "<primary>s",
+        "FileSaveAction", "document-save", N_("_Save"), "<primary>s",
         N_("Save the current file"),
         G_CALLBACK (gnc_main_window_cmd_file_save)
     },
     {
-        "FileSaveAsAction", GTK_STOCK_SAVE_AS, N_("Save _As..."), "<shift><primary>s",
+        "FileSaveAsAction", "document-save-as", N_("Save _As..."), "<shift><primary>s",
         N_("Save this file with a different name"),
         G_CALLBACK (gnc_main_window_cmd_file_save_as)
     },
     {
-        "FileRevertAction", GTK_STOCK_REVERT_TO_SAVED, N_("Re_vert"), NULL,
+        "FileRevertAction", "document-revert", N_("Re_vert"), NULL,
         N_("Reload the current database, reverting all unsaved changes"),
         G_CALLBACK (gnc_main_window_cmd_file_revert)
     },
@@ -142,7 +142,7 @@ static GtkActionEntry gnc_plugin_actions [] =
     /* Edit menu */
 
     {
-        "EditFindTransactionsAction", GTK_STOCK_FIND, N_("_Find..."), "<primary>f",
+        "EditFindTransactionsAction", "edit-find", N_("_Find..."), "<primary>f",
         N_("Find transactions with a search"),
         G_CALLBACK (gnc_main_window_cmd_tools_find_transactions)
     },
diff --git a/src/gnome/gnc-plugin-page-account-tree.c b/src/gnome/gnc-plugin-page-account-tree.c
index 4e07a0a..72de2c6 100644
--- a/src/gnome/gnc-plugin-page-account-tree.c
+++ b/src/gnome/gnc-plugin-page-account-tree.c
@@ -225,12 +225,12 @@ static GtkActionEntry gnc_plugin_page_account_tree_actions [] =
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_delete_account)
     },
     {
-        "EditFindAccountAction", GTK_STOCK_FIND, N_("F_ind Account"), "<primary>i",
+        "EditFindAccountAction", "edit-find", N_("F_ind Account"), "<primary>i",
         N_("Find an account"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_find_account)
     },
     {
-        "EditFindAccountPopupAction", GTK_STOCK_FIND, N_("F_ind Account"), "<primary>i",
+        "EditFindAccountPopupAction", "edit-find", N_("F_ind Account"), "<primary>i",
         N_("Find an account"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_find_account_popup)
     },
diff --git a/src/gnome/gnc-plugin-page-budget.c b/src/gnome/gnc-plugin-page-budget.c
index 788956c..d2854d0 100644
--- a/src/gnome/gnc-plugin-page-budget.c
+++ b/src/gnome/gnc-plugin-page-budget.c
@@ -141,12 +141,12 @@ static GtkActionEntry gnc_plugin_page_budget_actions [] =
         G_CALLBACK (gnc_plugin_page_budget_cmd_delete_budget)
     },
     {
-        "OptionsBudgetAction", GTK_STOCK_PROPERTIES, N_("Budget Options"),
+        "OptionsBudgetAction", "document-properties", N_("Budget Options"),
         NULL, N_("Edit this budget's options"),
         G_CALLBACK (gnc_plugin_page_budget_cmd_view_options)
     },
     {
-        "EstimateBudgetAction", GTK_STOCK_EXECUTE, N_("Estimate Budget"),
+        "EstimateBudgetAction", "system-run", N_("Estimate Budget"),
         NULL,
         N_("Estimate a budget value for the selected accounts from past transactions"),
         G_CALLBACK (gnc_plugin_page_budget_cmd_estimate_budget)
diff --git a/src/gnome/gnc-plugin-page-register.c b/src/gnome/gnc-plugin-page-register.c
index 7f67411..212b633 100644
--- a/src/gnome/gnc-plugin-page-register.c
+++ b/src/gnome/gnc-plugin-page-register.c
@@ -225,24 +225,24 @@ static GtkActionEntry gnc_plugin_page_register_actions [] =
     /* File menu */
 
     {
-        "FilePrintAction", GTK_STOCK_PRINT, N_("_Print Checks..."), "<primary>p", NULL,
+        "FilePrintAction", "document-print", N_("_Print Checks..."), "<primary>p", NULL,
         G_CALLBACK (gnc_plugin_page_register_cmd_print_check)
     },
 
     /* Edit menu */
 
     {
-        "EditCutAction", GTK_STOCK_CUT, N_("Cu_t"), NULL,
+        "EditCutAction", "edit-cut", N_("Cu_t"), NULL,
         N_("Cut the current selection and copy it to clipboard"),
         G_CALLBACK (gnc_plugin_page_register_cmd_cut)
     },
     {
-        "EditCopyAction", GTK_STOCK_COPY, N_("_Copy"), NULL,
+        "EditCopyAction", "edit-copy", N_("_Copy"), NULL,
         N_("Copy the current selection to clipboard"),
         G_CALLBACK (gnc_plugin_page_register_cmd_copy)
     },
     {
-        "EditPasteAction", GTK_STOCK_PASTE, N_("_Paste"), NULL,
+        "EditPasteAction", "edit-paste", N_("_Paste"), NULL,
         N_("Paste the clipboard content at the cursor position"),
         G_CALLBACK (gnc_plugin_page_register_cmd_paste)
     },
@@ -252,12 +252,12 @@ static GtkActionEntry gnc_plugin_page_register_actions [] =
         G_CALLBACK (gnc_plugin_page_register_cmd_edit_account)
     },
     {
-        "EditFindAccountAction", GTK_STOCK_FIND, N_("F_ind Account"), "<primary>i",
+        "EditFindAccountAction", "edit-find", N_("F_ind Account"), "<primary>i",
         N_("Find an account"),
         G_CALLBACK (gnc_plugin_page_register_cmd_find_account)
     },
     {
-        "EditFindTransactionsAction", GTK_STOCK_FIND, N_("_Find..."), "<primary>f",
+        "EditFindTransactionsAction", "edit-find", N_("_Find..."), "<primary>f",
         N_("Find transactions with a search"),
         G_CALLBACK (gnc_plugin_page_register_cmd_find_transactions)
     },
@@ -265,37 +265,37 @@ static GtkActionEntry gnc_plugin_page_register_actions [] =
     /* Transaction menu */
 
     {
-        "CutTransactionAction", GTK_STOCK_CUT, CUT_TRANSACTION_LABEL, "",
+        "CutTransactionAction", "edit-cut", CUT_TRANSACTION_LABEL, "",
         CUT_TRANSACTION_TIP,
         G_CALLBACK (gnc_plugin_page_register_cmd_cut_transaction)
     },
     {
-        "CopyTransactionAction", GTK_STOCK_COPY, COPY_TRANSACTION_LABEL, "",
+        "CopyTransactionAction", "edit-copy", COPY_TRANSACTION_LABEL, "",
         COPY_TRANSACTION_TIP,
         G_CALLBACK (gnc_plugin_page_register_cmd_copy_transaction)
     },
     {
-        "PasteTransactionAction", GTK_STOCK_PASTE, PASTE_TRANSACTION_LABEL, "",
+        "PasteTransactionAction", "edit-paste", PASTE_TRANSACTION_LABEL, "",
         PASTE_TRANSACTION_TIP,
         G_CALLBACK (gnc_plugin_page_register_cmd_paste_transaction)
     },
     {
-        "DuplicateTransactionAction", GTK_STOCK_COPY, DUPLICATE_TRANSACTION_LABEL, "",
+        "DuplicateTransactionAction", "edit-copy", DUPLICATE_TRANSACTION_LABEL, "",
         DUPLICATE_TRANSACTION_TIP,
         G_CALLBACK (gnc_plugin_page_register_cmd_duplicate_transaction)
     },
     {
-        "DeleteTransactionAction", GTK_STOCK_DELETE, DELETE_TRANSACTION_LABEL, NULL,
+        "DeleteTransactionAction", "edit-delete", DELETE_TRANSACTION_LABEL, NULL,
         DELETE_TRANSACTION_TIP,
         G_CALLBACK (gnc_plugin_page_register_cmd_delete_transaction)
     },
     {
-        "RemoveTransactionSplitsAction", GTK_STOCK_CLEAR, N_("Remo_ve Other Splits"), NULL,
+        "RemoveTransactionSplitsAction", "edit-clear", N_("Remo_ve Other Splits"), NULL,
         N_("Remove all splits in the current transaction"),
         G_CALLBACK (gnc_plugin_page_register_cmd_reinitialize_transaction)
     },
     {
-        "RecordTransactionAction", GTK_STOCK_ADD, N_("_Enter Transaction"), NULL,
+        "RecordTransactionAction", "list-add", N_("_Enter Transaction"), NULL,
         N_("Record the current transaction"),
         G_CALLBACK (gnc_plugin_page_register_cmd_enter_transaction)
     },
@@ -371,7 +371,7 @@ static GtkActionEntry gnc_plugin_page_register_actions [] =
         G_CALLBACK (gnc_plugin_page_register_cmd_lots)
     },
     {
-        "BlankTransactionAction", GTK_STOCK_GOTO_BOTTOM, N_("_Blank Transaction"), "<primary>Page_Down",
+        "BlankTransactionAction", "go-bottom", N_("_Blank Transaction"), "<primary>Page_Down",
         N_("Move to the blank transaction at the bottom of the register"),
         G_CALLBACK (gnc_plugin_page_register_cmd_blank_transaction)
     },
diff --git a/src/gnome/gnc-plugin-page-register2.c b/src/gnome/gnc-plugin-page-register2.c
index 3d26ca1..04d770e 100644
--- a/src/gnome/gnc-plugin-page-register2.c
+++ b/src/gnome/gnc-plugin-page-register2.c
@@ -218,24 +218,24 @@ static GtkActionEntry gnc_plugin_page_register2_actions [] =
     /* File menu */
 
     {
-        "FilePrintAction", GTK_STOCK_PRINT, N_("_Print Checks..."), "<primary>p", NULL,
+        "FilePrintAction", "document-print", N_("_Print Checks..."), "<primary>p", NULL,
         G_CALLBACK (gnc_plugin_page_register2_cmd_print_check)
     },
 
     /* Edit menu */
 
     {
-        "EditCutAction", GTK_STOCK_CUT, N_("Cu_t"), NULL,
+        "EditCutAction", "edit-cut", N_("Cu_t"), NULL,
         N_("Cut the current selection and copy it to clipboard"),
         G_CALLBACK (gnc_plugin_page_register2_cmd_cut)
     },
     {
-        "EditCopyAction", GTK_STOCK_COPY, N_("_Copy"), NULL,
+        "EditCopyAction", "edit-copy", N_("_Copy"), NULL,
         N_("Copy the current selection to clipboard"),
         G_CALLBACK (gnc_plugin_page_register2_cmd_copy)
     },
     {
-        "EditPasteAction", GTK_STOCK_PASTE, N_("_Paste"), NULL,
+        "EditPasteAction", "edit-paste", N_("_Paste"), NULL,
         N_("Paste the clipboard content at the cursor position"),
         G_CALLBACK (gnc_plugin_page_register2_cmd_paste)
     },
@@ -245,12 +245,12 @@ static GtkActionEntry gnc_plugin_page_register2_actions [] =
         G_CALLBACK (gnc_plugin_page_register2_cmd_edit_account)
     },
     {
-        "EditFindAccountAction", GTK_STOCK_FIND, N_("F_ind Account"), "<primary>i",
+        "EditFindAccountAction", "edit-find", N_("F_ind Account"), "<primary>i",
         N_("Find an account"),
         G_CALLBACK (gnc_plugin_page_register2_cmd_find_account)
     },
     {
-        "EditFindTransactionsAction", GTK_STOCK_FIND, N_("_Find..."), "<primary>f",
+        "EditFindTransactionsAction", "edit-find", N_("_Find..."), "<primary>f",
         N_("Find transactions with a search"),
         G_CALLBACK (gnc_plugin_page_register2_cmd_find_transactions)
     },
@@ -258,37 +258,37 @@ static GtkActionEntry gnc_plugin_page_register2_actions [] =
     /* Transaction menu */
 
     {
-        "CutTransactionAction", GTK_STOCK_CUT, CUT_TRANSACTION_LABEL, "",
+        "CutTransactionAction", "edit-cut", CUT_TRANSACTION_LABEL, "",
         CUT_TRANSACTION_TIP,
         G_CALLBACK (gnc_plugin_page_register2_cmd_cut_transaction)
     },
     {
-        "CopyTransactionAction", GTK_STOCK_COPY, COPY_TRANSACTION_LABEL, "",
+        "CopyTransactionAction", "edit-copy", COPY_TRANSACTION_LABEL, "",
         COPY_TRANSACTION_TIP,
         G_CALLBACK (gnc_plugin_page_register2_cmd_copy_transaction)
     },
     {
-        "PasteTransactionAction", GTK_STOCK_PASTE, PASTE_TRANSACTION_LABEL, "",
+        "PasteTransactionAction", "edit-paste", PASTE_TRANSACTION_LABEL, "",
         PASTE_TRANSACTION_TIP,
         G_CALLBACK (gnc_plugin_page_register2_cmd_paste_transaction)
     },
     {
-        "DuplicateTransactionAction", GTK_STOCK_COPY, DUPLICATE_TRANSACTION_LABEL, "",
+        "DuplicateTransactionAction", "edit-copy", DUPLICATE_TRANSACTION_LABEL, "",
         DUPLICATE_TRANSACTION_TIP,
         G_CALLBACK (gnc_plugin_page_register2_cmd_duplicate_transaction)
     },
     {
-        "DeleteTransactionAction", GTK_STOCK_DELETE, DELETE_TRANSACTION_LABEL, NULL,
+        "DeleteTransactionAction", "edit-delete", DELETE_TRANSACTION_LABEL, NULL,
         DELETE_TRANSACTION_TIP,
         G_CALLBACK (gnc_plugin_page_register2_cmd_delete_transaction)
     },
     {
-        "RemoveTransactionSplitsAction", GTK_STOCK_CLEAR, N_("Remo_ve All Splits"), NULL,
+        "RemoveTransactionSplitsAction", "edit-clear", N_("Remo_ve All Splits"), NULL,
         N_("Remove all splits in the current transaction"),
         G_CALLBACK (gnc_plugin_page_register2_cmd_reinitialize_transaction)
     },
     {
-        "RecordTransactionAction", GTK_STOCK_ADD, N_("_Enter Transaction"), NULL,
+        "RecordTransactionAction", "list-add", N_("_Enter Transaction"), NULL,
         N_("Record the current transaction"),
         G_CALLBACK (gnc_plugin_page_register2_cmd_enter_transaction)
     },
@@ -310,12 +310,12 @@ static GtkActionEntry gnc_plugin_page_register2_actions [] =
         G_CALLBACK (gnc_plugin_page_register2_cmd_reverse_transaction)
     },
     {
-        TRANSACTION_UP_ACTION, GTK_STOCK_GO_UP, N_("Move Transaction _Up"), NULL,
+        TRANSACTION_UP_ACTION, "go-up", N_("Move Transaction _Up"), NULL,
         N_("Move the current transaction one row upwards. Only available if the date and number of both rows are identical and the register window is sorted by date."),
         G_CALLBACK (gnc_plugin_page_register2_cmd_entryUp)
     },
     {
-        TRANSACTION_DOWN_ACTION, GTK_STOCK_GO_DOWN, N_("Move Transaction Do_wn"), NULL,
+        TRANSACTION_DOWN_ACTION, "go-down", N_("Move Transaction Do_wn"), NULL,
         N_("Move the current transaction one row downwards. Only available if the date and number of both rows are identical and the register window is sorted by date."),
         G_CALLBACK (gnc_plugin_page_register2_cmd_entryDown)
     },
@@ -327,7 +327,7 @@ static GtkActionEntry gnc_plugin_page_register2_actions [] =
         G_CALLBACK (gnc_plugin_page_register2_cmd_view_filter_by)
     },
     {
-        "ViewRefreshAction", GTK_STOCK_REFRESH, N_("_Refresh"), "<primary>r",
+        "ViewRefreshAction", "view-refresh", N_("_Refresh"), "<primary>r",
         N_("Refresh this window"),
         G_CALLBACK (gnc_plugin_page_register2_cmd_reload)
     },
@@ -360,7 +360,7 @@ static GtkActionEntry gnc_plugin_page_register2_actions [] =
         G_CALLBACK (gnc_plugin_page_register2_cmd_lots)
     },
     {
-        "BlankTransactionAction", GTK_STOCK_GOTO_BOTTOM, N_("_Blank Transaction"), "<primary>Page_Down",
+        "BlankTransactionAction", "go-bottom", N_("_Blank Transaction"), "<primary>Page_Down",
         N_("Move to the blank transaction at the bottom of the register"),
         G_CALLBACK (gnc_plugin_page_register2_cmd_blank_transaction)
     },
diff --git a/src/gnome/gtkbuilder/dialog-new-user.glade b/src/gnome/gtkbuilder/dialog-new-user.glade
index 9193838..e2c4fa7 100644
--- a/src/gnome/gtkbuilder/dialog-new-user.glade
+++ b/src/gnome/gtkbuilder/dialog-new-user.glade
@@ -72,7 +72,7 @@
               <object class="GtkImage" id="image">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="stock">gtk-home</property>
+                <property name="icon_name">go-home</property>
                 <property name="icon_size">6</property>
               </object>
               <packing>
@@ -201,7 +201,7 @@
               <object class="GtkImage" id="image1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="stock">gtk-home</property>
+                <property name="icon_name">go-home</property>
                 <property name="icon_size">6</property>
               </object>
               <packing>
diff --git a/src/gnome/window-reconcile.c b/src/gnome/window-reconcile.c
index 7ed393b..f5d955e 100644
--- a/src/gnome/window-reconcile.c
+++ b/src/gnome/window-reconcile.c
@@ -2218,7 +2218,7 @@ static GtkActionEntry recnWindow_actions [] =
         G_CALLBACK(recnFinishCB)
     },
     {
-        "RecnPostponeAction", GTK_STOCK_GO_BACK, N_("_Postpone"), "<primary>p",
+        "RecnPostponeAction", "go-previous", N_("_Postpone"), "<primary>p",
         N_("Postpone the reconciliation of this account"),
         G_CALLBACK(recnPostponeCB)
     },
@@ -2231,7 +2231,7 @@ static GtkActionEntry recnWindow_actions [] =
     /* Account menu */
 
     {
-        "AccountOpenAccountAction", GTK_STOCK_JUMP_TO, N_("_Open Account"), NULL,
+        "AccountOpenAccountAction", "go-jump", N_("_Open Account"), NULL,
         N_("Open the account"),
         G_CALLBACK(gnc_recn_open_cb)
     },
@@ -2255,17 +2255,17 @@ static GtkActionEntry recnWindow_actions [] =
     /* Transaction menu */
 
     {
-        "TransBalanceAction", GTK_STOCK_NEW, N_("_Balance"), "<primary>b",
+        "TransBalanceAction", "document-new", N_("_Balance"), "<primary>b",
         N_("Add a new balancing entry to the account"),
         G_CALLBACK(gnc_ui_reconcile_window_balance_cb)
     },
     {
-        "TransEditAction", GTK_STOCK_PROPERTIES, N_("_Edit"),  "<primary>e",
+        "TransEditAction", "document-properties", N_("_Edit"),  "<primary>e",
         N_("Edit the current transaction"),
         G_CALLBACK(gnc_ui_reconcile_window_edit_cb)
     },
     {
-        "TransDeleteAction", GTK_STOCK_DELETE, N_("_Delete"),  "<primary>d",
+        "TransDeleteAction", "edit-delete", N_("_Delete"),  "<primary>d",
         N_("Delete the selected transaction"),
         G_CALLBACK(gnc_ui_reconcile_window_delete_cb)
     },
@@ -2275,7 +2275,7 @@ static GtkActionEntry recnWindow_actions [] =
         G_CALLBACK(gnc_ui_reconcile_window_rec_cb)
     },
     {
-        "TransUnRecAction", GTK_STOCK_CLEAR, N_("_Unreconcile Selection"), "<primary>u",
+        "TransUnRecAction", "edit-clear", N_("_Unreconcile Selection"), "<primary>u",
         N_("Unreconcile the selected transactions"),
         G_CALLBACK(gnc_ui_reconcile_window_unrec_cb)
     },
diff --git a/src/gnome/window-reconcile2.c b/src/gnome/window-reconcile2.c
index ac12383..2692124 100644
--- a/src/gnome/window-reconcile2.c
+++ b/src/gnome/window-reconcile2.c
@@ -2178,7 +2178,7 @@ static GtkActionEntry recnWindow2_actions [] =
         G_CALLBACK(recnFinishCB)
     },
     {
-        "RecnPostponeAction", GTK_STOCK_GO_BACK, N_("_Postpone"), "<primary>p",
+        "RecnPostponeAction", "go-previous", N_("_Postpone"), "<primary>p",
         N_("Postpone the reconciliation of this account"),
         G_CALLBACK(recnPostponeCB)
     },
@@ -2191,7 +2191,7 @@ static GtkActionEntry recnWindow2_actions [] =
     /* Account menu */
 
     {
-        "AccountOpenAccountAction", GTK_STOCK_JUMP_TO, N_("_Open Account"), NULL,
+        "AccountOpenAccountAction", "go-jump", N_("_Open Account"), NULL,
         N_("Open the account"),
         G_CALLBACK(gnc_recn_open_cb)
     },
@@ -2215,17 +2215,17 @@ static GtkActionEntry recnWindow2_actions [] =
     /* Transaction menu */
 
     {
-        "TransBalanceAction", GTK_STOCK_NEW, N_("_Balance"), "<primary>b",
+        "TransBalanceAction", "document-new", N_("_Balance"), "<primary>b",
         N_("Add a new balancing entry to the account"),
         G_CALLBACK(gnc_ui_reconcile_window_balance_cb)
     },
     {
-        "TransEditAction", GTK_STOCK_PROPERTIES, N_("_Edit"),  "<primary>e",
+        "TransEditAction", "document-properties", N_("_Edit"),  "<primary>e",
         N_("Edit the current transaction"),
         G_CALLBACK(gnc_ui_reconcile_window_edit_cb)
     },
     {
-        "TransDeleteAction", GTK_STOCK_DELETE, N_("_Delete"),  "<primary>d",
+        "TransDeleteAction", "edit-delete", N_("_Delete"),  "<primary>d",
         N_("Delete the selected transaction"),
         G_CALLBACK(gnc_ui_reconcile_window_delete_cb)
     },
@@ -2235,7 +2235,7 @@ static GtkActionEntry recnWindow2_actions [] =
         G_CALLBACK(gnc_ui_reconcile_window_rec_cb)
     },
     {
-        "TransUnRecAction", GTK_STOCK_CLEAR, N_("_Unreconcile Selection"), "<primary>u",
+        "TransUnRecAction", "edit-clear", N_("_Unreconcile Selection"), "<primary>u",
         N_("Unreconcile the selected transactions"),
         G_CALLBACK(gnc_ui_reconcile_window_unrec_cb)
     },
diff --git a/src/import-export/csv-imp/assistant-csv-trans-import.cpp b/src/import-export/csv-imp/assistant-csv-trans-import.cpp
index 473c77f..f718e44 100644
--- a/src/import-export/csv-imp/assistant-csv-trans-import.cpp
+++ b/src/import-export/csv-imp/assistant-csv-trans-import.cpp
@@ -1145,11 +1145,11 @@ enum
 static GnumericPopupMenuElement const popup_elements[] =
 {
     {
-        N_("Merge with column on _left"), GTK_STOCK_REMOVE,
+        N_("Merge with column on _left"), "list-remove",
         0, 1 << CONTEXT_STF_IMPORT_MERGE_LEFT, CONTEXT_STF_IMPORT_MERGE_LEFT
     },
     {
-        N_("Merge with column on _right"), GTK_STOCK_REMOVE,
+        N_("Merge with column on _right"), "list-remove",
         0, 1 << CONTEXT_STF_IMPORT_MERGE_RIGHT, CONTEXT_STF_IMPORT_MERGE_RIGHT
     },
     { "", nullptr, 0, 0, 0 },
@@ -1159,11 +1159,11 @@ static GnumericPopupMenuElement const popup_elements[] =
     },
     { "", nullptr, 0, 0, 0 },
     {
-        N_("_Widen this column"), GTK_STOCK_GO_FORWARD,
+        N_("_Widen this column"), "go-next",
         0, 1 << CONTEXT_STF_IMPORT_WIDEN, CONTEXT_STF_IMPORT_WIDEN
     },
     {
-        N_("_Narrow this column"), GTK_STOCK_GO_BACK,
+        N_("_Narrow this column"), "go-previous",
         0, 1 << CONTEXT_STF_IMPORT_NARROW, CONTEXT_STF_IMPORT_NARROW
     },
     { nullptr, nullptr, 0, 0, 0 },
@@ -1333,7 +1333,7 @@ CsvImpTransAssist::preview_row_fill_state_cells (GtkListStore *store, GtkTreeIte
         fcolor = "black";
         bcolor = "pink";
         c_err_msg = err_msg.c_str();
-        icon_name = GTK_STOCK_DIALOG_ERROR;
+        icon_name = "dialog-error";
     }
     gtk_list_store_set (store, iter,
             PREV_COL_FCOLOR, fcolor,
diff --git a/src/import-export/csv-imp/assistant-csv-trans-import.glade b/src/import-export/csv-imp/assistant-csv-trans-import.glade
index f68902b..fdb2fac 100644
--- a/src/import-export/csv-imp/assistant-csv-trans-import.glade
+++ b/src/import-export/csv-imp/assistant-csv-trans-import.glade
@@ -130,7 +130,7 @@ Select location and file name for the Import, then click 'OK'...
                               <object class="GtkImage" id="image2">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="stock">gtk-delete</property>
+                                <property name="icon_name">edit-delete</property>
                               </object>
                             </child>
                           </object>
@@ -155,7 +155,7 @@ Select location and file name for the Import, then click 'OK'...
                               <object class="GtkImage" id="image1">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="stock">gtk-save</property>
+                                <property name="icon_name">document-save</property>
                               </object>
                             </child>
                           </object>
@@ -415,7 +415,7 @@ Select location and file name for the Import, then click 'OK'...
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                <property name="stock">gtk-dialog-info</property>
+                                <property name="icon_name">dialog-info</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
@@ -917,7 +917,7 @@ For example
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <property name="stock">gtk-dialog-info</property>
+                <property name="icon_name">dialog-info</property>
               </object>
               <packing>
                 <property name="expand">False</property>

commit d67c15ad452cffd674458938e2a046dff1704f97
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Mon Jun 26 15:37:33 2017 +0100

    Missed changing some stock labels on some buttons

diff --git a/src/gnome-utils/gtkbuilder/dialog-transfer.glade b/src/gnome-utils/gtkbuilder/dialog-transfer.glade
index 254e7c0..2cf104f 100644
--- a/src/gnome-utils/gtkbuilder/dialog-transfer.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-transfer.glade
@@ -21,12 +21,12 @@
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="button">
-                <property name="label">gtk-cancel</property>
+                <property name="label">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -36,13 +36,13 @@
             </child>
             <child>
               <object class="GtkButton" id="button1">
-                <property name="label">gtk-ok</property>
+                <property name="label">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
diff --git a/src/gnome/gtkbuilder/dialog-trans-assoc.glade b/src/gnome/gtkbuilder/dialog-trans-assoc.glade
index 73374c7..16d31c1 100644
--- a/src/gnome/gtkbuilder/dialog-trans-assoc.glade
+++ b/src/gnome/gtkbuilder/dialog-trans-assoc.glade
@@ -71,13 +71,13 @@
             </child>
             <child>
               <object class="GtkButton" id="close_button">
-                <property name="label">gtk-close</property>
+                <property name="label">_Close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
diff --git a/src/import-export/qif-imp/assistant-qif-import.c b/src/import-export/qif-imp/assistant-qif-import.c
index 7663a1e..d59df8a 100644
--- a/src/import-export/qif-imp/assistant-qif-import.c
+++ b/src/import-export/qif-imp/assistant-qif-import.c
@@ -1687,7 +1687,7 @@ gnc_ui_qif_import_load_progress_pause_cb(GtkButton * button,
     else
     {
         gtk_button_set_use_underline(button, FALSE);
-        gtk_button_set_label(button, "gtk-media-pause");
+        gtk_button_set_label(button, _("P_ause"));
     }
 }
 
@@ -2805,7 +2805,7 @@ gnc_ui_qif_import_convert_progress_pause_cb(GtkButton * button,
     else
     {
         gtk_button_set_use_underline(button, FALSE);
-        gtk_button_set_label(button, "gtk-media-pause");
+        gtk_button_set_label(button, _("P_ause"));
     }
 }
 
diff --git a/src/import-export/qif-imp/assistant-qif-import.glade b/src/import-export/qif-imp/assistant-qif-import.glade
index 0a9f9cb..d7564f9 100644
--- a/src/import-export/qif-imp/assistant-qif-import.glade
+++ b/src/import-export/qif-imp/assistant-qif-import.glade
@@ -210,12 +210,12 @@ You will have the opportunity to load as many files as you wish, so don't worry
                 </child>
                 <child>
                   <object class="GtkButton" id="load_progress_pause">
-                    <property name="label">gtk-media-pause</property>
+                    <property name="label">P_ause</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="can_default">True</property>
                     <property name="receives_default">True</property>
-                    <property name="use_stock">True</property>
+                    <property name="use_underline">True</property>
                     <signal name="clicked" handler="gnc_ui_qif_import_load_progress_pause_cb" swapped="no"/>
                   </object>
                   <packing>
@@ -1098,12 +1098,12 @@ If you don't see your exchange listed, or none of the available choices are appr
                 </child>
                 <child>
                   <object class="GtkButton" id="convert_progress_pause">
-                    <property name="label">gtk-media-pause</property>
+                    <property name="label">P_ause</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="can_default">True</property>
                     <property name="receives_default">True</property>
-                    <property name="use_stock">True</property>
+                    <property name="use_underline">True</property>
                     <signal name="clicked" handler="gnc_ui_qif_import_convert_progress_pause_cb" swapped="no"/>
                   </object>
                   <packing>

commit 00f6977fccdf81500f8eb88366e2f7503f1e5828
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 25 11:26:58 2017 +0100

    Replace deprecated functions in gnc_cell_renderer_date
    
    This still needs more work as there appears to be a size issue and a
    missing procedure. As this is not used currently, will fix in a later
    commit.

diff --git a/src/gnome-utils/gnc-cell-renderer-date.c b/src/gnome-utils/gnc-cell-renderer-date.c
index 04d27f5..11ff18d 100644
--- a/src/gnome-utils/gnc-cell-renderer-date.c
+++ b/src/gnome-utils/gnc-cell-renderer-date.c
@@ -433,27 +433,6 @@ gcrd_day_selected (GtkWidget *popup_window, GncCellRendererDate *cell)
 
 }
 
-static gboolean
-gcrd_grab_on_window (GdkWindow *window,
-		     guint32    activate_time)
-{
-	if ((gdk_pointer_grab (window, TRUE,
-			       GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
-			       GDK_POINTER_MOTION_MASK,
-			       NULL, NULL, activate_time) == 0)) {
-		if (gdk_keyboard_grab (window, TRUE,
-			       activate_time) == 0)
-			return TRUE;
-		else {
-			gdk_pointer_ungrab (activate_time);
-			return FALSE;
-		}
-	}
-
-	return FALSE;
-}
-
-
 /* This function converts a time64 value date to separate entities */
 gboolean
 gcrd_time2dmy (time64 raw_time, gint *day, gint *month, gint *year)
@@ -514,7 +493,3 @@ gcrd_string_dmy2time (const gchar *date_string)
     }
 }
 
-
-
-
-
diff --git a/src/gnome-utils/gnc-cell-renderer-popup-entry.c b/src/gnome-utils/gnc-cell-renderer-popup-entry.c
index 4f675f7..b9790f9 100644
--- a/src/gnome-utils/gnc-cell-renderer-popup-entry.c
+++ b/src/gnome-utils/gnc-cell-renderer-popup-entry.c
@@ -305,7 +305,7 @@ gnc_popup_get_button_width (void)
     gtk_window_move (GTK_WINDOW (window), -500, -500);
     gtk_widget_show (window);
 
-    gtk_widget_size_request (window, &req);
+    gtk_widget_get_preferred_size (window, &req, NULL);
 
     width = req.width;
 
diff --git a/src/gnome-utils/gnc-cell-renderer-popup.c b/src/gnome-utils/gnc-cell-renderer-popup.c
index f8e06f1..7cbec35 100644
--- a/src/gnome-utils/gnc-cell-renderer-popup.c
+++ b/src/gnome-utils/gnc-cell-renderer-popup.c
@@ -215,21 +215,25 @@ static gboolean
 gcrp_grab_on_window (GdkWindow *window,
 		     guint32    activate_time)
 {
-	if ((gdk_pointer_grab (window, TRUE,
-			       GDK_BUTTON_PRESS_MASK |
-			       GDK_BUTTON_RELEASE_MASK |
-			       GDK_POINTER_MOTION_MASK,
-			       NULL, NULL, activate_time) == 0)) {
-		if (gdk_keyboard_grab (window, TRUE,
-			       activate_time) == 0)
-			return TRUE;
-		else {
-			gdk_pointer_ungrab (activate_time);
-			return FALSE;
-		}
-	}
-
-	return FALSE;
+    GdkDisplay *display = gdk_display_get_default ();
+    GdkDeviceManager *dm = gdk_display_get_device_manager (display);
+    GdkDevice *device = gdk_device_manager_get_client_pointer (dm);
+
+    if ((gdk_device_grab (device, window, GDK_OWNERSHIP_WINDOW, TRUE,
+                          GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
+                          GDK_POINTER_MOTION_MASK,
+                          NULL, activate_time) == 0)) {
+
+        if (gdk_device_grab (device, window, GDK_OWNERSHIP_WINDOW, TRUE,
+                             GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK,
+			     NULL, activate_time) == 0)
+            return TRUE;
+        else {
+            gdk_device_ungrab (device, activate_time);
+            return FALSE;
+        }
+    }
+    return FALSE;
 }
 
 static void
@@ -336,7 +340,7 @@ gcrp_arrow_clicked (GtkCellEditable     *entry,
 		gnc_cell_renderer_popup_hide (cell);
 		return;
 	}
-	
+
 	path = g_object_get_data (G_OBJECT (entry),
 				  GNC_CELL_RENDERER_POPUP_PATH);
 

commit 5cd60d2e58b6b65adc7d108a84666337bcccc959
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 25 11:23:56 2017 +0100

    Replace deprecated function to get mouse pointer position

diff --git a/src/gnome/reconcile-view.c b/src/gnome/reconcile-view.c
index e8ea5b1..8eec038 100644
--- a/src/gnome/reconcile-view.c
+++ b/src/gnome/reconcile-view.c
@@ -102,6 +102,7 @@ gnc_reconcile_view_tooltip_cb (GNCQueryView *qview, gint x, gint y,
     GtkTreeModel* model;
     GtkTreeIter iter;
 
+    // If the Description is longer than can be display, show it in a tooltip
     if (gtk_tree_view_get_tooltip_context (GTK_TREE_VIEW (qview), &x, &y, keyboard_mode, &model, NULL, &iter))
     {
         GtkTreeViewColumn *col;
@@ -109,7 +110,7 @@ gnc_reconcile_view_tooltip_cb (GNCQueryView *qview, gint x, gint y,
         gint col_pos, col_width;
 	gchar* desc_text = NULL;
 
-        /* Are we in keyboard tooltip mode, CTRL+F1 */
+        /* Are we in keyboard tooltip mode, displays tooltip below/above treeview CTRL+F1 */
         if (keyboard_mode == FALSE)
         {
             if (gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (qview), x, y, NULL, &col, NULL, NULL) == FALSE)
@@ -149,13 +150,20 @@ gnc_reconcile_view_tooltip_cb (GNCQueryView *qview, gint x, gint y,
 
             if (keyboard_mode == FALSE)
             {
+                GdkDeviceManager *device_manager;
+                GdkDevice *pointer;
                 GdkScreen *screen;
                 GtkWindow *tip_win = NULL;
-                GdkWindow *parent_window, *temp_window;
+                GdkWindow *parent_window;
                 GList *win_list, *node;
 
                 parent_window = gtk_widget_get_parent_window (GTK_WIDGET (qview));
-                temp_window = gdk_window_get_pointer (parent_window, &cur_x, &cur_y, NULL);
+
+                device_manager = gdk_display_get_device_manager (gdk_window_get_display (parent_window));
+                pointer = gdk_device_manager_get_client_pointer (device_manager);
+
+                gdk_window_get_device_position (parent_window, pointer, &cur_x, &cur_y, NULL);
+
                 gdk_window_get_origin (parent_window, &root_x, &root_y);
 
                 screen = gtk_widget_get_screen (GTK_WIDGET (qview));
@@ -181,7 +189,7 @@ gnc_reconcile_view_tooltip_cb (GNCQueryView *qview, gint x, gint y,
                     gint monitor_num;
                     gint x, y;
 
-                    gtk_widget_size_request (GTK_WIDGET (tip_win), &requisition);
+                    gtk_widget_get_preferred_size (GTK_WIDGET (tip_win), &requisition, NULL);
 
                     x = root_x + cur_x + 10;
                     y = root_y + cur_y + 10;

commit 44cf167297df74981740f9faa2ed64b934c97a16
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sat Jun 24 12:01:30 2017 +0100

    GtkTreeView rules_hint is deprecated after version 3.14
    
    Rules hint is deprecated after version 3.14, add version test to remove.

diff --git a/src/gnome/dialog-find-account.c b/src/gnome/dialog-find-account.c
index 02e2055..c7212eb 100644
--- a/src/gnome/dialog-find-account.c
+++ b/src/gnome/dialog-find-account.c
@@ -297,7 +297,9 @@ gnc_find_account_dialog_create (GtkWidget *parent, FindAccountDialog *facc_dialo
                      G_CALLBACK(row_double_clicked), (gpointer)facc_dialog);
 
     /* Enable alternative line colors */
+#if !GTK_CHECK_VERSION(3, 14, 0)
     gtk_tree_view_set_rules_hint (GTK_TREE_VIEW(facc_dialog->view), TRUE);
+#endif
 
     /* default to 'close' button */
     gtk_dialog_set_default_response (GTK_DIALOG(dialog), GTK_RESPONSE_CLOSE);
diff --git a/src/gnome/dialog-imap-editor.c b/src/gnome/dialog-imap-editor.c
index 0f8c93f..57ac250 100644
--- a/src/gnome/dialog-imap-editor.c
+++ b/src/gnome/dialog-imap-editor.c
@@ -688,8 +688,9 @@ gnc_imap_dialog_create (GtkWidget *parent, ImapDialog *imap_dialog)
     gtk_tree_model_filter_set_visible_column (GTK_TREE_MODEL_FILTER(filter), FILTER);
 
     /* Enable alternative line colors */
+#if !GTK_CHECK_VERSION(3, 14, 0)
     gtk_tree_view_set_rules_hint (GTK_TREE_VIEW(imap_dialog->view), TRUE);
-
+#endif
     /* default to 'close' button */
     gtk_dialog_set_default_response (GTK_DIALOG(dialog), GTK_RESPONSE_CLOSE);
 
diff --git a/src/gnome/dialog-trans-assoc.c b/src/gnome/dialog-trans-assoc.c
index 04e27b0..ffb38db 100644
--- a/src/gnome/dialog-trans-assoc.c
+++ b/src/gnome/dialog-trans-assoc.c
@@ -435,8 +435,9 @@ gnc_assoc_dialog_create (AssocDialog *assoc_dialog)
                       G_CALLBACK(row_selected_cb), (gpointer)assoc_dialog);
 
     /* Enable alternative line colors */
+#if !GTK_CHECK_VERSION(3, 14, 0)
     gtk_tree_view_set_rules_hint (GTK_TREE_VIEW(assoc_dialog->view), TRUE);
-
+#endif
     /* default to 'close' button */
     gtk_dialog_set_default_response (GTK_DIALOG(dialog), GTK_RESPONSE_CLOSE);
 

commit 4d614030373862526d1610a5ea45548a0139bc89
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sat Jun 24 11:06:47 2017 +0100

    Replace deprecated widget_render_icon function in print-check

diff --git a/src/gnome/dialog-print-check.c b/src/gnome/dialog-print-check.c
index ab4270a..434aadc 100644
--- a/src/gnome/dialog-print-check.c
+++ b/src/gnome/dialog-print-check.c
@@ -1936,9 +1936,8 @@ draw_picture(GtkPrintContext *context, check_item_t *data)
     {
         g_warning("Filename '%s' cannot be read or understood.",
                   data->filename);
-        pixbuf = gtk_widget_render_icon(GTK_WIDGET(image),
-                                        GTK_STOCK_MISSING_IMAGE,
-                                        -1, NULL);
+        pixbuf = gtk_widget_render_icon_pixbuf (GTK_WIDGET(image),
+                                        GTK_STOCK_MISSING_IMAGE, -1);
     }
     pix_w = gdk_pixbuf_get_width(pixbuf);
     pix_h = gdk_pixbuf_get_height(pixbuf);

commit 8a2d6c4bcb30478114b9c9e97bb72b291404b1a4
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Jun 23 17:53:26 2017 +0100

    Replace GtkTable with GtkGrid in the register

diff --git a/src/register/register-gnome/gnucash-register.c b/src/register/register-gnome/gnucash-register.c
index d367c94..a3c9d6e 100644
--- a/src/register/register-gnome/gnucash-register.c
+++ b/src/register/register-gnome/gnucash-register.c
@@ -61,13 +61,13 @@ enum
 
 /* This static indicates the debugging module that this .o belongs to. */
 static QofLogModule log_module = GNC_MOD_REGISTER;
-static GtkTable *register_parent_class;
+static GtkGrid *register_parent_class;
 static guint register_signals[LAST_SIGNAL];
 
 
 struct _GnucashRegister
 {
-    GtkTable table;
+    GtkGrid table;
 
     GtkWidget *hscrollbar;
     GtkWidget *sheet;
@@ -77,7 +77,7 @@ struct _GnucashRegister
 
 struct _GnucashRegisterClass
 {
-    GtkTableClass parent_class;
+    GtkGridClass parent_class;
 
     void (*activate_cursor) (GnucashRegister *reg);
     void (*redraw_all)      (GnucashRegister *reg);
@@ -341,13 +341,13 @@ gnucash_register_class_init (GnucashRegisterClass *klass)
 static void
 gnucash_register_init (GnucashRegister *g_reg)
 {
-    GtkTable *table = GTK_TABLE(g_reg);
+    GtkGrid *table = GTK_GRID(g_reg);
 
     gtk_widget_set_can_focus (GTK_WIDGET(table), FALSE);
     gtk_widget_set_can_default (GTK_WIDGET(table), FALSE);
 
-    gtk_table_set_homogeneous (table, FALSE);
-    gtk_table_resize (table, 3, 2);
+    gtk_grid_set_row_homogeneous (GTK_GRID(table), FALSE);
+    gtk_grid_set_column_homogeneous (GTK_GRID(table), FALSE);
 }
 
 
@@ -372,7 +372,7 @@ gnucash_register_get_type (void)
         };
 
         gnucash_register_type = g_type_register_static
-                                (gtk_table_get_type (),
+                                (gtk_grid_get_type (),
                                  "GnucashRegister",
                                  &gnucash_register_info, 0);
     }
@@ -486,36 +486,40 @@ gnucash_register_create_widget (Table *table)
 
     header = gnc_header_new (GNUCASH_SHEET(sheet));
 
-    gtk_table_attach (GTK_TABLE(widget), header,
-                      0, 1, 0, 1,
-                      GTK_FILL | GTK_EXPAND | GTK_SHRINK,
-                      GTK_FILL,
-                      0, 0);
-    gtk_widget_show(header);
-
-    gtk_table_attach (GTK_TABLE(widget), sheet,
-                      0, 1, 1, 2,
-                      GTK_FILL | GTK_EXPAND | GTK_SHRINK,
-                      GTK_FILL | GTK_EXPAND | GTK_SHRINK,
-                      0, 0);
-    gtk_widget_show(sheet);
-
-    scrollbar = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL, GNUCASH_SHEET(sheet)->vadj);
-    gtk_table_attach (GTK_TABLE(widget), GTK_WIDGET(scrollbar),
-                      1, 2, 0, 3,
-                      GTK_FILL,
-                      GTK_EXPAND | GTK_SHRINK | GTK_FILL,
-                      0, 0);
-    gtk_widget_show(scrollbar);
-
-    scrollbar = gtk_scrollbar_new(GTK_ORIENTATION_HORIZONTAL, GNUCASH_SHEET(sheet)->hadj);
-    gtk_table_attach (GTK_TABLE(widget), GTK_WIDGET(scrollbar),
-                      0, 1, 2, 3,
-                      GTK_EXPAND | GTK_SHRINK | GTK_FILL,
-                      GTK_FILL,
-                      0, 0);
+    gtk_grid_attach (GTK_GRID(widget), header, 0, 0, 1, 1);
+    gtk_widget_set_hexpand (header, TRUE);
+    gtk_widget_set_halign (header, GTK_ALIGN_FILL);
+    gtk_widget_set_vexpand (header, FALSE);
+    gtk_widget_set_valign (header, GTK_ALIGN_FILL);
+    g_object_set (header, "margin", 0, NULL);
+    gtk_widget_show (header);
+
+    gtk_grid_attach (GTK_GRID(widget), sheet, 0, 1, 1, 1);
+    gtk_widget_set_hexpand (sheet, TRUE);
+    gtk_widget_set_halign (sheet, GTK_ALIGN_FILL);
+    gtk_widget_set_vexpand (sheet, TRUE);
+    gtk_widget_set_valign (sheet, GTK_ALIGN_FILL);
+    g_object_set (sheet, "margin", 0, NULL);
+    gtk_widget_show (sheet);
+
+    scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, GNUCASH_SHEET(sheet)->vadj);
+    gtk_grid_attach (GTK_GRID(widget), GTK_WIDGET(scrollbar), 1, 0, 1, 4);
+    gtk_widget_set_hexpand (GTK_WIDGET(scrollbar), FALSE);
+    gtk_widget_set_halign (GTK_WIDGET(scrollbar), GTK_ALIGN_FILL);
+    gtk_widget_set_vexpand (GTK_WIDGET(scrollbar), TRUE);
+    gtk_widget_set_valign (GTK_WIDGET(scrollbar), GTK_ALIGN_FILL);
+    g_object_set (GTK_WIDGET(scrollbar), "margin", 0, NULL);
+    gtk_widget_show (scrollbar);
+
+    scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_HORIZONTAL, GNUCASH_SHEET(sheet)->hadj);
+    gtk_grid_attach (GTK_GRID(widget), GTK_WIDGET(scrollbar), 0, 3, 1, 1);
+    gtk_widget_set_hexpand (GTK_WIDGET(scrollbar), TRUE);
+    gtk_widget_set_halign (GTK_WIDGET(scrollbar), GTK_ALIGN_FILL);
+    gtk_widget_set_vexpand (GTK_WIDGET(scrollbar), FALSE);
+    gtk_widget_set_valign (GTK_WIDGET(scrollbar), GTK_ALIGN_FILL);
+    g_object_set (GTK_WIDGET(scrollbar), "margin", 0, NULL);
     reg->hscrollbar = scrollbar;
-    gtk_widget_show(scrollbar);
+    gtk_widget_show (reg->hscrollbar);
     reg->hscrollbar_visible = TRUE;
 
     /* The gtkrc color helper widgets need to be part of a window
@@ -535,11 +539,12 @@ gnucash_register_create_widget (Table *table)
     gtk_box_pack_start(GTK_BOX(box),
                                 GNUCASH_SHEET(sheet)->split_color, TRUE, TRUE, 0);
 
-    gtk_table_attach (GTK_TABLE(widget), box,
-                      0, 1, 4, 5,
-                      GTK_FILL | GTK_EXPAND | GTK_SHRINK,
-                      GTK_FILL | GTK_EXPAND | GTK_SHRINK,
-                      0, 0);
+    gtk_grid_attach (GTK_GRID(widget), GTK_WIDGET(box), 0, 4, 1, 1);
+    gtk_widget_set_hexpand (GTK_WIDGET(box), TRUE);
+    gtk_widget_set_halign (GTK_WIDGET(box), GTK_ALIGN_FILL);
+    gtk_widget_set_vexpand (GTK_WIDGET(box), TRUE);
+    gtk_widget_set_valign (GTK_WIDGET(box), GTK_ALIGN_FILL);
+    g_object_set (GTK_WIDGET(box), "margin", 0, NULL);
 
     g_signal_connect (GNUCASH_SHEET(sheet)->hadj, "changed",
                       G_CALLBACK (gnucash_register_update_hadjustment), reg);

commit cac49a2d6d6e8b050bdb30b409f7ec005b7d3b7e
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Jun 23 17:52:23 2017 +0100

    Replace deprecated size_request in register date-picker

diff --git a/src/register/register-gnome/gnucash-date-picker.c b/src/register/register-gnome/gnucash-date-picker.c
index 53e52a4..20f4709 100644
--- a/src/register/register-gnome/gnucash-date-picker.c
+++ b/src/register/register-gnome/gnucash-date-picker.c
@@ -207,7 +207,7 @@ gnc_date_picker_new (void)
 
     gtk_box_pack_start (GTK_BOX(date_picker), calendar, TRUE, TRUE, 0);
 
-    gtk_widget_size_request (calendar, &requisition);
+    gtk_widget_get_preferred_size (calendar, &requisition, NULL);
     allocation.x = 0;
     allocation.y = 0;
     allocation.width = requisition.width;

commit 7674340ccc06270f40893ad3158a50ef52188ba2
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Jun 23 17:50:13 2017 +0100

    Replace deprecated menu function in gnc-csv-gnumeric-popup.c

diff --git a/src/import-export/csv-imp/gnc-csv-gnumeric-popup.c b/src/import-export/csv-imp/gnc-csv-gnumeric-popup.c
index 933c203..00c3132 100644
--- a/src/import-export/csv-imp/gnc-csv-gnumeric-popup.c
+++ b/src/import-export/csv-imp/gnc-csv-gnumeric-popup.c
@@ -112,7 +112,7 @@ gnumeric_create_popup_menu_list (GSList *elements,
         if (name != NULL && *name != '\0')
         {
             trans = _(name);
-            item = gtk_image_menu_item_new_with_mnemonic (trans);
+            item = gtk_menu_item_new_with_mnemonic (trans);
             if (element->sensitive_filter != 0 &&
                     (element->sensitive_filter & sensitive_filter))
                 gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE);

commit 9031dddd95cc76c71d9f0bea10a4186e3d3d34cb
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Jun 23 17:49:10 2017 +0100

    Replace deprecated size_request in gnc-tree-view.c

diff --git a/src/gnome-utils/gnc-tree-view.c b/src/gnome-utils/gnc-tree-view.c
index db9fef1..fff90b3 100644
--- a/src/gnome-utils/gnc-tree-view.c
+++ b/src/gnome-utils/gnc-tree-view.c
@@ -272,7 +272,7 @@ gnc_tree_view_init (GncTreeView *view, GncTreeViewClass *klass)
     icon = gtk_image_new_from_stock(GTK_STOCK_GO_DOWN,
                                     GTK_ICON_SIZE_SMALL_TOOLBAR);
     gtk_widget_show(icon);
-    gtk_widget_size_request(icon, &requisition);
+    gtk_widget_get_preferred_size(icon, &requisition, NULL);
     column = gnc_tree_view_add_text_column (view, NULL, NULL, NULL, NULL,
                                             -1, -1, NULL);
     g_object_set(G_OBJECT(column),

commit 7dc23aed49fa74ee8c43bf607e3fbf278d3a9886
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Jun 23 17:47:26 2017 +0100

    Replace deprecated gtk_rc... functions in gnc-tree-view_split-reg.c

diff --git a/src/gnome-utils/gnc-tree-view-split-reg.c b/src/gnome-utils/gnc-tree-view-split-reg.c
index b833372..ebc520b 100644
--- a/src/gnome-utils/gnc-tree-view-split-reg.c
+++ b/src/gnome-utils/gnc-tree-view-split-reg.c
@@ -623,15 +623,11 @@ gnc_tree_view_split_reg_pref_changed (gpointer prefs, gchar *pref, gpointer user
 
 
 /* Set the grid lines to be solid */
-static const gchar *rc_string =
+static const gchar *css_string =
 {
-"style \"solidTreeLines\"\n"
-"{\n"
-" GtkTreeView::grid-line-pattern = \"\1\"\n"
-" GtkTreeView::grid-line-width = 1\n" 
+"treeview.view {\n"
+" border-color: black;\n"
 "}\n"
-"\n"
-"class \"GtkTreeView\" style \"solidTreeLines\"\n"
 };
 
 
@@ -1022,6 +1018,7 @@ gnc_tree_view_split_reg_new_with_model (GncTreeModelSplitReg *model)
     GtkTreeModel        *s_model;
     GncTreeViewSplitReg *view;
     GtkTreeSelection    *selection;
+    GtkCssProvider* provider = gtk_css_provider_new();
 
     view = g_object_new (gnc_tree_view_split_reg_get_type(), NULL);
     g_object_set (view, "name", "split_reg_tree", NULL);
@@ -1034,7 +1031,11 @@ gnc_tree_view_split_reg_new_with_model (GncTreeModelSplitReg *model)
     view->help_text = g_strdup ("Help Text");
 
     // This sets up solid lines for the grid line.
-    gtk_rc_parse_string (rc_string);
+    gtk_css_provider_load_from_data (provider, css_string, strlen(css_string), NULL);
+    gtk_style_context_add_provider (gtk_widget_get_style_context(GTK_WIDGET(view)),
+                                   GTK_STYLE_PROVIDER (provider),
+                                   GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
+    g_object_unref (provider);
 
     /* TreeView Grid lines */
     if (view->priv->use_horizontal_lines)

commit 47d7b07f0782ad87c39dc571cdddf4e1ceeccedf
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Jun 23 14:43:23 2017 +0100

    Replace deprecated functions in gnc-date-edit.c

diff --git a/src/gnome-utils/gnc-date-edit.c b/src/gnome-utils/gnc-date-edit.c
index 80c92ea..3a423e7 100644
--- a/src/gnome-utils/gnc-date-edit.c
+++ b/src/gnome-utils/gnc-date-edit.c
@@ -148,13 +148,20 @@ gnc_strtok_r (char *s, const char *delim, char **save_ptr)
 static void
 gnc_date_edit_popdown(GNCDateEdit *gde)
 {
+    GdkDeviceManager *manager;
+    GdkDevice *pointer;
+
     g_return_if_fail (GNC_IS_DATE_EDIT (gde));
 
     ENTER("gde %p", gde);
 
+    manager = gdk_display_get_device_manager (gdk_display_get_default());
+    pointer = gdk_device_manager_get_client_pointer (manager);
+
     gtk_grab_remove (gde->cal_popup);
     gtk_widget_hide (gde->cal_popup);
-    gdk_pointer_ungrab (GDK_CURRENT_TIME);
+    if (pointer)
+        gdk_device_ungrab (pointer, GDK_CURRENT_TIME);
 
     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gde->date_button),
                                   FALSE);
@@ -217,7 +224,7 @@ position_popup (GNCDateEdit *gde)
     GtkRequisition req;
     GtkAllocation alloc;
 
-    gtk_widget_size_request (gde->cal_popup, &req);
+    gtk_widget_get_preferred_size (gde->cal_popup, &req, NULL);
 
     gdk_window_get_origin (gtk_widget_get_window (gde->date_button), &x, &y);
 
@@ -242,40 +249,48 @@ position_popup (GNCDateEdit *gde)
 /* Pulled from gtkcombobox.c */
 static gboolean
 popup_grab_on_window (GdkWindow *window,
-                      guint32    activate_time,
-                      gboolean   grab_keyboard)
+                      GdkDevice *keyboard,
+                      GdkDevice *pointer,
+                      guint32    activate_time)
 {
-    if ((gdk_pointer_grab (window, TRUE,
-                           GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
-                           GDK_POINTER_MOTION_MASK,
-                           NULL, NULL, activate_time) == 0))
+  if (keyboard &&
+      gdk_device_grab (keyboard, window,
+                       GDK_OWNERSHIP_WINDOW, TRUE,
+                       GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK,
+                       NULL, activate_time) != GDK_GRAB_SUCCESS)
+    return FALSE;
+
+  if (pointer &&
+      gdk_device_grab (pointer, window,
+                       GDK_OWNERSHIP_WINDOW, TRUE,
+                       GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
+                       GDK_POINTER_MOTION_MASK,
+                       NULL, activate_time) != GDK_GRAB_SUCCESS)
     {
-        if (!grab_keyboard ||
-                gdk_keyboard_grab (window, TRUE,
-                                   activate_time) == 0)
-            return TRUE;
-        else
-        {
-            gdk_display_pointer_ungrab (gdk_window_get_display (window),
-                                        activate_time);
-            return FALSE;
-        }
+      if (keyboard)
+        gdk_device_ungrab (keyboard, activate_time);
+
+      return FALSE;
     }
 
-    return FALSE;
+  return TRUE;
 }
 
+
 static void
 gnc_date_edit_popup (GNCDateEdit *gde)
 {
     GtkWidget *toplevel;
     struct tm mtm;
     gboolean date_was_valid;
+    GdkDevice *device, *keyboard, *pointer;
 
     g_return_if_fail (GNC_IS_DATE_EDIT (gde));
 
     ENTER("gde %p", gde);
 
+    device = gtk_get_current_event_device ();
+
     /* This code is pretty much just copied from gtk_date_edit_get_date */
     date_was_valid = qof_scan_date (gtk_entry_get_text (GTK_ENTRY (gde->date_entry)),
                                     &mtm.tm_mday, &mtm.tm_mon, &mtm.tm_year);
@@ -321,11 +336,22 @@ gnc_date_edit_popup (GNCDateEdit *gde)
     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gde->date_button),
                                   TRUE);
 
+    if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD)
+    {
+        keyboard = device;
+        pointer = gdk_device_get_associated_device (device);
+    }
+    else
+    {
+        pointer = device;
+        keyboard = gdk_device_get_associated_device (device);
+    }
+
     if (!gtk_widget_has_focus (gde->calendar))
         gtk_widget_grab_focus (gde->calendar);
 
     if (!popup_grab_on_window (gtk_widget_get_window ((GTK_WIDGET(gde->cal_popup))),
-                               GDK_CURRENT_TIME, TRUE))
+                               keyboard, pointer, GDK_CURRENT_TIME))
     {
         gtk_widget_hide (gde->cal_popup);
         LEAVE("Failed to grab window");

commit 5db244f72908f9ea5f3e7b808082b1ac6fd1de43
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Jun 23 14:42:45 2017 +0100

    Replace deprecated functions in gnc-combott.c

diff --git a/src/gnome-utils/gnc-combott.c b/src/gnome-utils/gnc-combott.c
index d8fdb75..4d3cd54 100644
--- a/src/gnome-utils/gnc-combott.c
+++ b/src/gnome-utils/gnc-combott.c
@@ -475,6 +475,9 @@ gctt_combott_menu_position (GtkMenu  *menu,
     GtkWidget *child;
     GtkRequisition req;
     GtkAllocation alloc;
+    GtkBorder padding;
+    GtkStyleContext *sc = gtk_widget_get_style_context (GTK_WIDGET (priv->button));
+    GtkStateFlags state_flags = gtk_style_context_get_state (sc);
 
     child = gtk_bin_get_child (GTK_BIN (priv->button));
 
@@ -489,9 +492,11 @@ gctt_combott_menu_position (GtkMenu  *menu,
 
     gdk_window_get_root_coords (gtk_widget_get_window (child), sx, sy, &sx, &sy);
 
-    sx -= gtk_widget_get_style (GTK_WIDGET (priv->button))->xthickness;
+    gtk_style_context_get_padding (sc, state_flags, &padding);
 
-    gtk_widget_size_request (GTK_WIDGET (menu), &req);
+    sx -= padding.left;
+
+    gtk_widget_get_preferred_size (GTK_WIDGET (menu), &req, NULL);
 
     if (gtk_widget_get_direction (GTK_WIDGET (priv->button)) == GTK_TEXT_DIR_LTR)
         *x = sx;

commit a383bd4f2320bbff2deee773d43d68e80c9fa22b
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Jun 23 14:41:52 2017 +0100

    Replace deprecated font function in gnc-report.c

diff --git a/src/report/report-system/gnc-report.c b/src/report/report-system/gnc-report.c
index 95fc02d..3001f0f 100644
--- a/src/report/report-system/gnc-report.c
+++ b/src/report/report-system/gnc-report.c
@@ -202,18 +202,23 @@ gnc_report_name( SCM report )
 gchar*
 gnc_get_default_report_font_family(void)
 {
-    GList*          top_list;
-    GtkWidget*      top_widget;
-    GtkStyle*       top_widget_style;
-    const gchar*    default_font_family;
+    GList                *top_list;
+    GtkWidget            *top_widget;
+    PangoFontDescription *font_desc;
+    GtkStyleContext      *top_widget_style_c;
+    const gchar*          default_font_family;
 
     top_list = gtk_window_list_toplevels();
     g_return_val_if_fail (top_list != NULL, NULL);
     top_widget = GTK_WIDGET(top_list->data);
     g_list_free(top_list);
-    top_widget_style = gtk_rc_get_style(top_widget);
-    default_font_family =
-        pango_font_description_get_family(top_widget_style->font_desc);
+    top_widget_style_c = gtk_widget_get_style_context (top_widget);
+    gtk_style_context_get (top_widget_style_c, gtk_widget_get_state_flags (GTK_WIDGET(top_widget)),
+                           "font", &font_desc, NULL);
+
+    default_font_family = pango_font_description_get_family (font_desc);
+
+    pango_font_description_free (font_desc);
 
     if (default_font_family == NULL)
         return g_strdup("Arial");

commit 2aa69b88daceecc9d629e28912153c8f87fe92a4
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Jun 23 11:48:37 2017 +0100

    Glade GUI adds a has_padding property to the action area which is wrong
    
    This commit removes all these properties from GtkAssistant action area

diff --git a/src/gnome-utils/gtkbuilder/assistant-xml-encoding.glade b/src/gnome-utils/gtkbuilder/assistant-xml-encoding.glade
index 5a5da8a..14203c7 100644
--- a/src/gnome-utils/gtkbuilder/assistant-xml-encoding.glade
+++ b/src/gnome-utils/gtkbuilder/assistant-xml-encoding.glade
@@ -170,9 +170,6 @@
       <object class="GtkBox" id="assistant-action_area2">
         <property name="can_focus">False</property>
       </object>
-      <packing>
-        <property name="has_padding">False</property>
-      </packing>
     </child>
   </object>
   <object class="GtkDialog" id="encodings_dialog">
diff --git a/src/gnome/gtkbuilder/assistant-acct-period.glade b/src/gnome/gtkbuilder/assistant-acct-period.glade
index 6fdc9b5..709bb62 100644
--- a/src/gnome/gtkbuilder/assistant-acct-period.glade
+++ b/src/gnome/gtkbuilder/assistant-acct-period.glade
@@ -252,9 +252,6 @@ Books will be closed at midnight on the selected date.</property>
       <object class="GtkBox" id="assistant-action_area2">
         <property name="can_focus">False</property>
       </object>
-      <packing>
-        <property name="has_padding">False</property>
-      </packing>
     </child>
   </object>
 </interface>
diff --git a/src/gnome/gtkbuilder/assistant-hierarchy.glade b/src/gnome/gtkbuilder/assistant-hierarchy.glade
index 34f9f91..497c7fd 100644
--- a/src/gnome/gtkbuilder/assistant-hierarchy.glade
+++ b/src/gnome/gtkbuilder/assistant-hierarchy.glade
@@ -409,9 +409,6 @@ Press `Cancel' to close this dialog without creating any new accounts.</property
       <object class="GtkBox" id="assistant-action_area100">
         <property name="can_focus">False</property>
       </object>
-      <packing>
-        <property name="has_padding">False</property>
-      </packing>
     </child>
   </object>
 </interface>
diff --git a/src/gnome/gtkbuilder/assistant-loan.glade b/src/gnome/gtkbuilder/assistant-loan.glade
index 0c94ae2..b112695 100644
--- a/src/gnome/gtkbuilder/assistant-loan.glade
+++ b/src/gnome/gtkbuilder/assistant-loan.glade
@@ -1336,9 +1336,6 @@ Review the details below and if correct press Apply to create the schedule.</pro
       <object class="GtkBox" id="assistant-action_area2">
         <property name="can_focus">False</property>
       </object>
-      <packing>
-        <property name="has_padding">False</property>
-      </packing>
     </child>
   </object>
 </interface>
diff --git a/src/gnome/gtkbuilder/assistant-stock-split.glade b/src/gnome/gtkbuilder/assistant-stock-split.glade
index ed21c45..bc3ea68 100644
--- a/src/gnome/gtkbuilder/assistant-stock-split.glade
+++ b/src/gnome/gtkbuilder/assistant-stock-split.glade
@@ -431,9 +431,6 @@
       <object class="GtkBox" id="assistant-action_area2">
         <property name="can_focus">False</property>
       </object>
-      <packing>
-        <property name="has_padding">False</property>
-      </packing>
     </child>
   </object>
 </interface>
diff --git a/src/import-export/csv-exp/assistant-csv-export.glade b/src/import-export/csv-exp/assistant-csv-export.glade
index 3a200cc..6a1da83 100644
--- a/src/import-export/csv-exp/assistant-csv-export.glade
+++ b/src/import-export/csv-exp/assistant-csv-export.glade
@@ -739,9 +739,6 @@ Cancel to abort.</property>
       <object class="GtkBox" id="assistant-action_area2">
         <property name="can_focus">False</property>
       </object>
-      <packing>
-        <property name="has_padding">False</property>
-      </packing>
     </child>
   </object>
 </interface>
diff --git a/src/import-export/csv-imp/assistant-csv-account-import.glade b/src/import-export/csv-imp/assistant-csv-account-import.glade
index de647c3..102da25 100644
--- a/src/import-export/csv-imp/assistant-csv-account-import.glade
+++ b/src/import-export/csv-imp/assistant-csv-account-import.glade
@@ -354,9 +354,6 @@ Cancel to abort.</property>
       <object class="GtkBox" id="assistant-action_area2">
         <property name="can_focus">False</property>
       </object>
-      <packing>
-        <property name="has_padding">False</property>
-      </packing>
     </child>
   </object>
 </interface>
diff --git a/src/import-export/csv-imp/assistant-csv-trans-import.glade b/src/import-export/csv-imp/assistant-csv-trans-import.glade
index a9303f3..f68902b 100644
--- a/src/import-export/csv-imp/assistant-csv-trans-import.glade
+++ b/src/import-export/csv-imp/assistant-csv-trans-import.glade
@@ -1193,9 +1193,6 @@ More information can be displayed by using the help button.</property>
       <object class="GtkBox">
         <property name="can_focus">False</property>
       </object>
-      <packing>
-        <property name="has_padding">False</property>
-      </packing>
     </child>
   </object>
 </interface>
diff --git a/src/import-export/qif-imp/assistant-qif-import.glade b/src/import-export/qif-imp/assistant-qif-import.glade
index b35901b..0a9f9cb 100644
--- a/src/import-export/qif-imp/assistant-qif-import.glade
+++ b/src/import-export/qif-imp/assistant-qif-import.glade
@@ -1323,9 +1323,6 @@ Click "Cancel" to abort the QIF import process.</property>
       <object class="GtkBox" id="assistant-action_area2">
         <property name="can_focus">False</property>
       </object>
-      <packing>
-        <property name="has_padding">False</property>
-      </packing>
     </child>
   </object>
 </interface>

commit 9dd2e42376e2fa5decfd4d2792ebbb1515317074
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Jun 23 11:47:08 2017 +0100

    Fix up, box should be a GtkWidget

diff --git a/lib/goffice/go-optionmenu.c b/lib/goffice/go-optionmenu.c
index 86bdc56..b9f75af 100644
--- a/lib/goffice/go-optionmenu.c
+++ b/lib/goffice/go-optionmenu.c
@@ -395,7 +395,7 @@ static void go_option_menu_class_init(GOOptionMenuClass *class)
 
 static void go_option_menu_init(GOOptionMenu *option_menu)
 {
-    GtkBox *box;
+    GtkWidget *box;
     GtkWidget *arrow, *sep;
 
     gtk_widget_set_can_focus(GTK_WIDGET(option_menu), TRUE);
@@ -409,14 +409,14 @@ static void go_option_menu_init(GOOptionMenu *option_menu)
     option_menu->selected = NULL;
 
     option_menu->button_label = GTK_LABEL(gtk_label_new(""));
-    gtk_box_pack_start(box, GTK_WIDGET(option_menu->button_label), FALSE, TRUE, 0);
+    gtk_box_pack_start(GTK_BOX(box), GTK_WIDGET(option_menu->button_label), FALSE, TRUE, 0);
 
     arrow = gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_NONE);
     g_object_set(arrow, "xalign", 0.75, NULL);
-    gtk_box_pack_end(box, arrow, FALSE, FALSE, 0);
+    gtk_box_pack_end(GTK_BOX(box), arrow, FALSE, FALSE, 0);
 
     sep = gtk_separator_new (GTK_ORIENTATION_VERTICAL);
-    gtk_box_pack_end(box, sep, FALSE, FALSE, 0);
+    gtk_box_pack_end(GTK_BOX(box), sep, FALSE, FALSE, 0);
 
     gtk_container_add(GTK_CONTAINER(option_menu), GTK_WIDGET(box));
 }

commit d86afb272a67cec2abc61e22019d40aaafcb0486
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Thu Jun 22 17:16:27 2017 +0100

    Files linked to assistant-loan.glade

diff --git a/src/gnome/assistant-loan.c b/src/gnome/assistant-loan.c
index a9dea6f..c45b88b 100644
--- a/src/gnome/assistant-loan.c
+++ b/src/gnome/assistant-loan.c
@@ -228,7 +228,7 @@ typedef struct LoanAssistantData_
 
     /* widgets */
     /* prm = params */
-    GtkTable      *prmTable;
+    GtkGrid       *prmTable;
     GNCAccountSel *prmAccountGAS;
     GNCAmountEdit *prmOrigPrincGAE;
     GtkSpinButton *prmIrateSpin;
@@ -249,7 +249,7 @@ typedef struct LoanAssistantData_
 
     /* rep = repayment */
     GtkEntry      *repTxnName;
-    GtkTable      *repTable;
+    GtkGrid       *repTable;
     GtkEntry      *repAmtEntry;
     GNCAccountSel *repAssetsFromGAS;
     GNCAccountSel *repPrincToGAS;
@@ -264,7 +264,7 @@ typedef struct LoanAssistantData_
     GNCAccountSel    *payAcctEscToGAS;
     GNCAccountSel    *payAcctEscFromGAS;
     GNCAccountSel    *payAcctToGAS;
-    GtkTable         *payTable;
+    GtkGrid          *payTable;
     GtkCheckButton   *payUseEscrow;
     GtkCheckButton   *paySpecSrcAcct;
     GtkLabel         *payAcctFromLabel;
@@ -272,13 +272,13 @@ typedef struct LoanAssistantData_
     GtkLabel         *payEscFromLabel;
     GtkRadioButton   *payTxnFreqPartRb;
     GtkRadioButton   *payTxnFreqUniqRb;
-    GtkAlignment     *payFreqAlign;
+    GtkBox           *payFreqHBox;
     GncFrequency     *payGncFreq;
 
     /* rev = review */
     GtkComboBox       *revRangeOpt;
     GtkFrame          *revDateFrame;
-    GtkTable          *revTable;
+    GtkGrid           *revTable;
     GNCDateEdit       *revStartDate;
     GNCDateEdit       *revEndDate;
     GtkScrolledWindow *revScrollWin;
@@ -460,8 +460,8 @@ gnc_loan_assistant_create( LoanAssistantData *ldd )
     gnc_builder_add_from_file  (builder , "assistant-loan.glade", "type_liststore");
     gnc_builder_add_from_file  (builder , "assistant-loan.glade", "rate_liststore");
 
-    gnc_builder_add_from_file  (builder , "assistant-loan.glade", "Loan-Mortgage Assistant");
-    window = GTK_WIDGET(gtk_builder_get_object (builder, "Loan-Mortgage Assistant"));
+    gnc_builder_add_from_file  (builder , "assistant-loan.glade", "loan_mortgage_assistant");
+    window = GTK_WIDGET(gtk_builder_get_object (builder, "loan_mortgage_assistant"));
     ldd->window = window;
 
     /* Enable buttons on complete pages. */
@@ -477,22 +477,22 @@ gnc_loan_assistant_create( LoanAssistantData *ldd )
 
     /* Information Page */
     {
-        ldd->prmTable = GTK_TABLE(gtk_builder_get_object(builder, "param_table"));
+        ldd->prmTable = GTK_GRID(gtk_builder_get_object(builder, "param_table"));
         ldd->prmVarFrame = GTK_FRAME(gtk_builder_get_object(builder, "type_freq_frame"));
         ldd->prmIrateSpin = GTK_SPIN_BUTTON (gtk_builder_get_object(builder, "irate_spin"));
         ldd->prmType = GTK_COMBO_BOX (gtk_builder_get_object(builder, "type_combobox"));
-        gtk_combo_box_set_active( GTK_COMBO_BOX( ldd->prmType), 0 );
+        gtk_combo_box_set_active( GTK_COMBO_BOX( ldd->prmType), FALSE );
         ldd->prmLengthSpin = GTK_SPIN_BUTTON (gtk_builder_get_object(builder, "len_spin"));
         ldd->prmLengthType = GTK_COMBO_BOX (gtk_builder_get_object(builder, "len_opt"));
-        gtk_combo_box_set_active( GTK_COMBO_BOX( ldd->prmLengthType), 0 );
+        gtk_combo_box_set_active( GTK_COMBO_BOX( ldd->prmLengthType), FALSE );
         ldd->prmRemainSpin = GTK_SPIN_BUTTON (gtk_builder_get_object(builder, "rem_spin"));
         ldd->prmIrateType = GTK_COMBO_BOX (gtk_builder_get_object(builder, "irate_type_combobox"));
-        gtk_combo_box_set_active( GTK_COMBO_BOX( ldd->prmIrateType), 0 );
+        gtk_combo_box_set_active( GTK_COMBO_BOX( ldd->prmIrateType), FALSE );
         /* ldd->prmStartDateGDE */
     }
     /* Repayment Page */
     {
-        ldd->repTable = GTK_TABLE(gtk_builder_get_object(builder, "repay_table"));
+        ldd->repTable = GTK_GRID(gtk_builder_get_object(builder, "repay_table"));
         ldd->repTxnName = GTK_ENTRY(gtk_builder_get_object(builder, "txn_title"));
         ldd->repAmtEntry = GTK_ENTRY(gtk_builder_get_object(builder, "amount_ent"));
         ldd->repFreqFrame = GTK_FRAME(gtk_builder_get_object(builder, "freq_frame"));
@@ -505,7 +505,7 @@ gnc_loan_assistant_create( LoanAssistantData *ldd )
     }
     /* Payment Page */
     {
-        ldd->payTable = GTK_TABLE(gtk_builder_get_object(builder, "pay_table"));
+        ldd->payTable = GTK_GRID(gtk_builder_get_object(builder, "pay_table"));
         ldd->payTxnName = GTK_ENTRY(gtk_builder_get_object(builder, "pay_txn_title"));
         ldd->payAmtEntry = GTK_ENTRY(gtk_builder_get_object(builder, "pay_amt_ent"));
         ldd->payUseEscrow = GTK_CHECK_BUTTON(gtk_builder_get_object(builder, "pay_use_escrow"));
@@ -515,11 +515,11 @@ gnc_loan_assistant_create( LoanAssistantData *ldd )
         ldd->payEscFromLabel = GTK_LABEL(gtk_builder_get_object(builder, "pay_escrow_from_label"));
         ldd->payTxnFreqPartRb = GTK_RADIO_BUTTON(gtk_builder_get_object(builder, "pay_txn_part_rb"));
         ldd->payTxnFreqUniqRb = GTK_RADIO_BUTTON(gtk_builder_get_object(builder, "pay_uniq_freq_rb"));
-        ldd->payFreqAlign = GTK_ALIGNMENT(gtk_builder_get_object(builder, "pay_freq_align"));
+        ldd->payFreqHBox = GTK_BOX(gtk_builder_get_object(builder, "pay_freq_hbox"));
     }
     /* Review Page */
     {
-        ldd->revTable = GTK_TABLE(gtk_builder_get_object(builder, "rev_date_range_table"));
+        ldd->revTable = GTK_GRID(gtk_builder_get_object(builder, "rev_date_range_table"));
         ldd->revRangeOpt = GTK_COMBO_BOX(gtk_builder_get_object(builder, "rev_range_opt"));
         ldd->revDateFrame = GTK_FRAME(gtk_builder_get_object(builder, "rev_date_frame"));
         ldd->revScrollWin = GTK_SCROLLED_WINDOW(gtk_builder_get_object(builder, "rev_scrollwin"));
@@ -571,44 +571,39 @@ gnc_loan_assistant_create( LoanAssistantData *ldd )
         /* All of the GncAccountSel[ectors]... */
         {
             int i;
-            GtkAlignment *a;
             /* "gas" == GncAccountSel */
             struct gas_in_tables_data
             {
                 GNCAccountSel **loc;
-                GtkTable *table;
+                GtkGrid *table;
                 gboolean newAcctAbility;
-                int left, right, top, bottom;
+                int left, top, width, height;
                 GList *allowableAccounts;
             } gas_data[] =
             {
-                /* These ints are the GtkTable boundaries */
-                { &ldd->prmAccountGAS,     ldd->prmTable, TRUE,  1, 4, 0, 1, liabilityAcct },
-                { &ldd->repAssetsFromGAS,  ldd->repTable, TRUE,  1, 4, 2, 3, paymentFromAccts },
-                { &ldd->repPrincToGAS,     ldd->repTable, TRUE,  1, 2, 3, 4, paymentToAccts  },
-                { &ldd->repIntToGAS,       ldd->repTable, TRUE,  3, 4, 3, 4, paymentToAccts },
-                { &ldd->payAcctFromGAS,    ldd->payTable, TRUE,  1, 2, 4, 5, paymentFromAccts },
-                { &ldd->payAcctEscToGAS,   ldd->payTable, FALSE, 3, 4, 4, 5, paymentToAccts },
-                { &ldd->payAcctEscFromGAS, ldd->payTable, FALSE, 1, 2, 5, 6, paymentFromAccts },
-                { &ldd->payAcctToGAS,      ldd->payTable, TRUE,  3, 4, 5, 6, paymentToAccts },
+                /* These ints are the GtkGrid boundries */
+                { &ldd->prmAccountGAS,     ldd->prmTable, TRUE,  1, 0, 1, 1, liabilityAcct },
+                { &ldd->repAssetsFromGAS,  ldd->repTable, TRUE,  1, 2, 1, 1, paymentFromAccts },
+                { &ldd->repPrincToGAS,     ldd->repTable, TRUE,  1, 3, 1, 1, paymentToAccts  },
+                { &ldd->repIntToGAS,       ldd->repTable, TRUE,  3, 3, 1, 1, paymentToAccts },
+                { &ldd->payAcctFromGAS,    ldd->payTable, TRUE,  1, 4, 1, 1, paymentFromAccts },
+                { &ldd->payAcctEscToGAS,   ldd->payTable, FALSE, 3, 4, 1, 1, paymentToAccts },
+                { &ldd->payAcctEscFromGAS, ldd->payTable, FALSE, 1, 5, 1, 1, paymentFromAccts },
+                { &ldd->payAcctToGAS,      ldd->payTable, TRUE,  3, 5, 1, 1, paymentToAccts },
                 { NULL }
             };
 
-            /* left-aligned, 25%-width */
-            a = GTK_ALIGNMENT(gtk_alignment_new( 0.0, 0.5, 0.25, 1.0 ));
             ldd->prmOrigPrincGAE = GNC_AMOUNT_EDIT(gnc_amount_edit_new());
-            gtk_container_add( GTK_CONTAINER(a), GTK_WIDGET(ldd->prmOrigPrincGAE) );
-            gtk_table_attach( ldd->prmTable, GTK_WIDGET(a),
-                              1, 4, 1, 2,
-                              GTK_EXPAND | GTK_FILL,
-                              GTK_EXPAND | GTK_FILL, 2, 2 );
+            gtk_grid_attach (GTK_GRID(ldd->prmTable), GTK_WIDGET(ldd->prmOrigPrincGAE), 1, 1, 1, 1);
+
+            gtk_widget_set_halign (GTK_WIDGET(ldd->prmOrigPrincGAE), GTK_ALIGN_FILL);
+            gtk_widget_set_hexpand (GTK_WIDGET(ldd->prmOrigPrincGAE), FALSE);
+            g_object_set (GTK_WIDGET(ldd->prmOrigPrincGAE), "margin", 2, NULL);
 
             for ( i = 0; gas_data[i].loc != NULL; i++ )
             {
-                GNCAccountSel *gas;
+                GNCAccountSel *gas = GNC_ACCOUNT_SEL(gnc_account_sel_new());
 
-                a = GTK_ALIGNMENT(gtk_alignment_new( 0.0, 0.5, 0.25, 1.0 ));
-                gas = GNC_ACCOUNT_SEL(gnc_account_sel_new());
                 gnc_account_sel_set_new_account_ability(
                     gas, gas_data[i].newAcctAbility );
                 if ( gas_data[i].allowableAccounts != NULL )
@@ -616,16 +611,17 @@ gnc_loan_assistant_create( LoanAssistantData *ldd )
                     gnc_account_sel_set_acct_filters(
                         gas, gas_data[i].allowableAccounts, NULL );
                 }
-                gtk_container_add( GTK_CONTAINER(a),
-                                   GTK_WIDGET(gas) );
-                gtk_table_attach( gas_data[i].table,
-                                  GTK_WIDGET(a),
+
+                gtk_grid_attach (GTK_GRID(gas_data[i].table),
+                                  GTK_WIDGET(gas),
                                   gas_data[i].left,
-                                  gas_data[i].right,
                                   gas_data[i].top,
-                                  gas_data[i].bottom,
-                                  GTK_EXPAND | GTK_FILL,
-                                  GTK_EXPAND | GTK_FILL, 2, 2 );
+                                  gas_data[i].width,
+                                  gas_data[i].height);
+
+                gtk_widget_set_halign (GTK_WIDGET(gas), GTK_ALIGN_FILL);
+                gtk_widget_set_hexpand (GTK_WIDGET(gas), FALSE);
+                g_object_set (GTK_WIDGET(gas), "margin", 2, NULL);
                 *(gas_data[i].loc) = gas;
             }
         }
@@ -640,14 +636,14 @@ gnc_loan_assistant_create( LoanAssistantData *ldd )
             struct gde_in_tables_data
             {
                 GNCDateEdit **loc;
-                GtkTable *table;
-                int left, right, top, bottom;
+                GtkGrid    *table;
+                int left, top, width, height;
             } gde_data[] =
             {
-                /* These ints are the GtkTable boundaries */
-                { &ldd->prmStartDateGDE, ldd->prmTable, 1, 2, 4, 5 },
-                { &ldd->revStartDate,    ldd->revTable, 1, 2, 0, 1 },
-                { &ldd->revEndDate,      ldd->revTable, 1, 2, 1, 2 },
+                /* These ints are the GtkGrid boundries */
+                { &ldd->prmStartDateGDE, ldd->prmTable, 1, 4, 1, 1 },
+                { &ldd->revStartDate,    ldd->revTable, 1, 0, 1, 1 },
+                { &ldd->revEndDate,      ldd->revTable, 1, 1, 1, 1 },
                 { NULL }
             };
 
@@ -657,14 +653,17 @@ gnc_loan_assistant_create( LoanAssistantData *ldd )
                     GNC_DATE_EDIT(
                         gnc_date_edit_new( gnc_time (NULL),
                                            FALSE, FALSE ) );
-                gtk_table_attach( gde_data[i].table,
+
+                gtk_grid_attach (GTK_GRID(gde_data[i].table),
                                   GTK_WIDGET( *gde_data[i].loc ),
                                   gde_data[i].left,
-                                  gde_data[i].right,
                                   gde_data[i].top,
-                                  gde_data[i].bottom,
-                                  (GTK_EXPAND | GTK_FILL),
-                                  GTK_FILL, 0, 0 );
+                                  gde_data[i].width,
+                                  gde_data[i].height);
+
+                gtk_widget_set_halign (GTK_WIDGET( *gde_data[i].loc ), GTK_ALIGN_START);
+                gtk_widget_set_hexpand (GTK_WIDGET( *gde_data[i].loc ), FALSE);
+                g_object_set (GTK_WIDGET( *gde_data[i].loc ), "margin", 0, NULL);
             }
 
         }
@@ -729,7 +728,6 @@ gnc_loan_assistant_create( LoanAssistantData *ldd )
 
             RepayOptUIData *rouid;
             GtkWidget  *vb;
-            GtkAlignment *optAlign, *subOptAlign;
             GString *str;
 
             str = g_string_sized_new( 32 );
@@ -740,6 +738,12 @@ gnc_loan_assistant_create( LoanAssistantData *ldd )
                 vb = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
                 gtk_box_set_homogeneous (GTK_BOX (vb), FALSE);
 
+#if GTK_CHECK_VERSION(3, 12, 0)
+                gtk_widget_set_margin_start (GTK_WIDGET(vb), 12);
+#else
+                gtk_widget_set_margin_left (GTK_WIDGET(vb), 12);
+#endif
+
                 /* Add payment checkbox. */
 
                 /* Translators: %s is "Taxes",
@@ -760,15 +764,14 @@ gnc_loan_assistant_create( LoanAssistantData *ldd )
                 gtk_widget_set_sensitive(
                     GTK_WIDGET(rouid->escrowCb),
                     FALSE );
-                subOptAlign =
-                    GTK_ALIGNMENT(
-                        gtk_alignment_new(
-                            0.5, 0.5, 0.75, 1.0 ));
-                gtk_container_add( GTK_CONTAINER(subOptAlign),
-                                   GTK_WIDGET(rouid->escrowCb) );
-                gtk_box_pack_start( GTK_BOX(vb), GTK_WIDGET(subOptAlign),
-                                    FALSE, FALSE, 2 );
 
+                gtk_box_pack_start( GTK_BOX(vb), GTK_WIDGET(rouid->escrowCb), FALSE, FALSE, 2 );
+
+#if GTK_CHECK_VERSION(3, 12, 0)
+                gtk_widget_set_margin_start (GTK_WIDGET(rouid->escrowCb), 12);
+#else
+                gtk_widget_set_margin_left (GTK_WIDGET(rouid->escrowCb), 12);
+#endif
                 g_signal_connect( rouid->optCb, "toggled",
                                   G_CALLBACK(loan_opt_toggled_cb),
                                   rouid );
@@ -779,12 +782,8 @@ gnc_loan_assistant_create( LoanAssistantData *ldd )
                                   G_CALLBACK(loan_opt_escrow_toggled_cb),
                                   rouid );
 
-                optAlign = GTK_ALIGNMENT(gtk_alignment_new( 0.5, 0.5, 0.75, 1.0 ));
-                gtk_container_add( GTK_CONTAINER(optAlign),
-                                   GTK_WIDGET(vb) );
-                gtk_box_pack_start( GTK_BOX(ldd->optVBox), GTK_WIDGET(optAlign),
-                                    FALSE, FALSE, 2 );
-                gtk_widget_show_all( GTK_WIDGET(optAlign) );
+                gtk_box_pack_start( GTK_BOX(ldd->optVBox), GTK_WIDGET(vb), FALSE, FALSE, 2 );
+                gtk_widget_show_all( GTK_WIDGET(ldd->optVBox) );
             }
             g_string_free( str, TRUE );
         }
@@ -814,7 +813,8 @@ gnc_loan_assistant_create( LoanAssistantData *ldd )
         }
 
         ldd->payGncFreq = GNC_FREQUENCY(gnc_frequency_new( NULL, NULL ));
-        gtk_container_add( GTK_CONTAINER(ldd->payFreqAlign), GTK_WIDGET(ldd->payGncFreq) );
+        gtk_container_add( GTK_CONTAINER(ldd->payFreqHBox), GTK_WIDGET(ldd->payGncFreq) );
+
         g_signal_connect (ldd->payGncFreq, "changed",
                           G_CALLBACK (loan_pay_page_valid_cb), ldd);
 
@@ -1490,15 +1490,15 @@ loan_pay_prep( GtkAssistant *assistant, gpointer user_data )
         gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(ldd->payTxnFreqUniqRb), rod->FreqUniq );
         g_signal_handlers_unblock_by_func(ldd->payTxnFreqUniqRb, loan_pay_freq_toggle_cb, ldd );
 
-        gtk_widget_set_sensitive( GTK_WIDGET(ldd->payFreqAlign), rod->FreqUniq );
+        gtk_widget_set_sensitive( GTK_WIDGET(ldd->payFreqHBox), rod->FreqUniq );
 
         if ( rod->FreqUniq )
         {
             g_signal_handlers_disconnect_by_func( ldd->payGncFreq, loan_pay_page_valid_cb, ldd );
-            gtk_container_remove( GTK_CONTAINER(ldd->payFreqAlign), GTK_WIDGET(ldd->payGncFreq) );
+            gtk_container_remove( GTK_CONTAINER(ldd->payFreqHBox), GTK_WIDGET(ldd->payGncFreq) );
             ldd->payGncFreq = NULL;
             ldd->payGncFreq = GNC_FREQUENCY(gnc_frequency_new_from_recurrence( rod->schedule, rod->startDate ));
-            gtk_container_add( GTK_CONTAINER(ldd->payFreqAlign), GTK_WIDGET(ldd->payGncFreq) );
+            gtk_container_add( GTK_CONTAINER(ldd->payFreqHBox), GTK_WIDGET(ldd->payGncFreq) );
             g_signal_connect (ldd->payGncFreq, "changed",
                               G_CALLBACK (loan_pay_page_valid_cb), ldd);
         }
@@ -1599,7 +1599,7 @@ loan_pay_freq_toggle_cb( GtkToggleButton *tb, gpointer user_data )
     rod = ldd->ld.repayOpts[ldd->currentIdx];
 
     rod->FreqUniq = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(ldd->payTxnFreqUniqRb) );
-    gtk_widget_set_sensitive( GTK_WIDGET(ldd->payFreqAlign), rod->FreqUniq );
+    gtk_widget_set_sensitive( GTK_WIDGET(ldd->payFreqHBox), rod->FreqUniq );
 
     if ( rod->FreqUniq )
     {
diff --git a/src/gnome/gtkbuilder/assistant-loan.glade b/src/gnome/gtkbuilder/assistant-loan.glade
index ad830af..0c94ae2 100644
--- a/src/gnome/gtkbuilder/assistant-loan.glade
+++ b/src/gnome/gtkbuilder/assistant-loan.glade
@@ -1,14 +1,99 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkAssistant" id="Loan-Mortgage Assistant">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkListStore" id="len_liststore">
+    <columns>
+      <!-- column-name period -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Months</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Years</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="range_liststore">
+    <columns>
+      <!-- column-name range -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Current Year</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Now + 1 Year</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Whole Loan</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Custom</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="rate_liststore">
+    <columns>
+      <!-- column-name rate -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Interest Rate</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">APR (Compounded Daily)</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">APR (Compounded Weekly)</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">APR (Compounded Monthly)</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">APR (Compounded Quarterly)</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">APR (Compounded Annually)</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="type_liststore">
+    <columns>
+      <!-- column-name type -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Fixed Rate</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">3/1 Year ARM</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">5/1 Year ARM</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">7/1 Year ARM</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">10/1 Year ARM</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkAssistant" id="loan_mortgage_assistant">
     <property name="can_focus">False</property>
     <property name="border_width">12</property>
-    <signal name="close" handler="loan_assistant_close"/>
-    <signal name="apply" handler="loan_assistant_finish"/>
-    <signal name="cancel" handler="loan_assistant_cancel"/>
-    <signal name="prepare" handler="loan_assistant_prepare"/>
+    <property name="default_width">400</property>
+    <property name="default_height">400</property>
+    <signal name="apply" handler="loan_assistant_finish" swapped="no"/>
+    <signal name="cancel" handler="loan_assistant_cancel" swapped="no"/>
+    <signal name="close" handler="loan_assistant_close" swapped="no"/>
+    <signal name="prepare" handler="loan_assistant_prepare" swapped="no"/>
     <child>
       <object class="GtkLabel" id="loan_intro_page">
         <property name="visible">True</property>
@@ -23,150 +108,134 @@ If you make a mistake or want to make changes later, you can edit the created Sc
         <property name="page_type">intro</property>
         <property name="title" translatable="yes">Loan / Mortgage Repayment Setup</property>
         <property name="complete">True</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="loan_info_page">
+      <object class="GtkBox" id="loan_info_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">5</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="halign">center</property>
             <property name="label" translatable="yes">Enter the Loan Details, as a minimum enter a valid Loan Account and Amount.
 </property>
             <property name="justify">center</property>
             <property name="wrap">True</property>
           </object>
           <packing>
-            <property name="expand">True</property>
+            <property name="expand">False</property>
             <property name="fill">False</property>
             <property name="position">0</property>
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="param_table">
+          <object class="GtkGrid" id="param_table">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="border_width">5</property>
-            <property name="n_rows">6</property>
-            <property name="n_columns">4</property>
-            <property name="column_spacing">5</property>
             <property name="row_spacing">5</property>
+            <property name="column_spacing">5</property>
             <child>
               <object class="GtkLabel" id="label847897">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">1</property>
+                <property name="halign">end</property>
                 <property name="label" translatable="yes">Interest Rate:</property>
                 <property name="justify">center</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label847899">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">1</property>
+                <property name="halign">end</property>
                 <property name="label" translatable="yes">Start Date:</property>
                 <property name="justify">center</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label847900">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">1</property>
+                <property name="halign">end</property>
                 <property name="label" translatable="yes">Length:</property>
                 <property name="justify">center</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label847895">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">1</property>
+                <property name="halign">end</property>
                 <property name="label" translatable="yes">Amount:</property>
                 <property name="justify">right</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label847920">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">1</property>
+                <property name="halign">end</property>
                 <property name="label" translatable="yes">Loan Account:</property>
                 <property name="justify">center</property>
               </object>
               <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
               <object class="GtkSpinButton" id="rem_spin">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="invisible_char">&#x25CF;</property>
-                <property name="invisible_char_set">True</property>
+                <property name="invisible_char">●</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
+                <property name="secondary_icon_tooltip_text" translatable="yes">Enter the number of months still to be paid off. This determines both the remaining principle and the duration of the scheduled transaction.</property>
                 <property name="climb_rate">1</property>
-		<property name="tooltip_text" translatable="yes">Enter the number of months still to be paid off. This determines both the remaining principle and the duration of the scheduled transaction.</property>
               </object>
               <packing>
                 <property name="left_attach">3</property>
-                <property name="right_attach">4</property>
                 <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="hbox167">
+              <object class="GtkBox" id="hbox167">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
                   <object class="GtkSpinButton" id="len_spin">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="invisible_char">&#x25CF;</property>
-                    <property name="invisible_char_set">True</property>
+                    <property name="invisible_char">●</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="climb_rate">1</property>
                   </object>
                   <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
@@ -191,10 +260,7 @@ If you make a mistake or want to make changes later, you can edit the created Sc
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
@@ -209,10 +275,7 @@ If you make a mistake or want to make changes later, you can edit the created Sc
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">4</property>
                 <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
@@ -222,7 +285,7 @@ If you make a mistake or want to make changes later, you can edit the created Sc
                 <property name="xalign">0</property>
                 <property name="xscale">0.5</property>
                 <child>
-                  <object class="GtkHBox" id="hbox170">
+                  <object class="GtkBox" id="hbox170">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
@@ -247,17 +310,14 @@ If you make a mistake or want to make changes later, you can edit the created Sc
                       <object class="GtkSpinButton" id="irate_spin">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="invisible_char">&#x25CF;</property>
-                        <property name="invisible_char_set">True</property>
+                        <property name="tooltip_text" translatable="yes">Enter the annual interest rate in percent. Accepts values from 0.001 - 100. The Mortgage Assistant does not support zero-interest loans.</property>
+                        <property name="invisible_char">●</property>
                         <property name="primary_icon_activatable">False</property>
                         <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
                         <property name="climb_rate">1</property>
                         <property name="digits">3</property>
                         <property name="snap_to_ticks">True</property>
                         <property name="numeric">True</property>
-                        <property name="tooltip_text" translatable="yes">Enter the annual interest rate in percent. Accepts values from 0.001 - 100. The Mortgage Assistant does not support zero-interest loans.</property>
                       </object>
                       <packing>
                         <property name="expand">True</property>
@@ -283,43 +343,34 @@ If you make a mistake or want to make changes later, you can edit the created Sc
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label847898">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">1</property>
-                <property name="yalign">0</property>
+                <property name="halign">end</property>
                 <property name="label" translatable="yes">Type:</property>
                 <property name="justify">center</property>
               </object>
               <packing>
                 <property name="left_attach">2</property>
-                <property name="right_attach">3</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label847901">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">1</property>
+                <property name="halign">end</property>
                 <property name="label" translatable="yes">Months Remaining:</property>
                 <property name="justify">center</property>
+                <property name="ellipsize">end</property>
               </object>
               <packing>
                 <property name="left_attach">2</property>
-                <property name="right_attach">3</property>
                 <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
@@ -334,7 +385,7 @@ If you make a mistake or want to make changes later, you can edit the created Sc
                     <property name="can_focus">False</property>
                     <property name="label_xalign">0.5</property>
                     <child>
-                      <object class="GtkHBox" id="type_freq_hbox">
+                      <object class="GtkBox" id="type_freq_hbox">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="border_width">10</property>
@@ -354,11 +405,9 @@ If you make a mistake or want to make changes later, you can edit the created Sc
                 </child>
               </object>
               <packing>
-                <property name="right_attach">4</property>
+                <property name="left_attach">0</property>
                 <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
-                <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+                <property name="width">4</property>
               </packing>
             </child>
             <child>
@@ -375,11 +424,7 @@ If you make a mistake or want to make changes later, you can edit the created Sc
               </object>
               <packing>
                 <property name="left_attach">3</property>
-                <property name="right_attach">4</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -400,9 +445,15 @@ If you make a mistake or want to make changes later, you can edit the created Sc
             <child>
               <placeholder/>
             </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
           </object>
           <packing>
-            <property name="expand">True</property>
+            <property name="expand">False</property>
             <property name="fill">False</property>
             <property name="position">1</property>
           </packing>
@@ -410,17 +461,20 @@ If you make a mistake or want to make changes later, you can edit the created Sc
       </object>
       <packing>
         <property name="title" translatable="yes">Loan Details</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="loan_options_page">
+      <object class="GtkBox" id="loan_options_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label847903">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="ypad">10</property>
+            <property name="halign">center</property>
+            <property name="margin_bottom">12</property>
             <property name="label" translatable="yes">
 Do you utilise an escrow account, if so an account must be specified...</property>
             <property name="justify">center</property>
@@ -433,101 +487,91 @@ Do you utilise an escrow account, if so an account must be specified...</propert
           </packing>
         </child>
         <child>
-          <object class="GtkAlignment" id="alignment18">
+          <object class="GtkBox" id="vbox174">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xscale">0.75</property>
+            <property name="margin_left">12</property>
+            <property name="margin_bottom">12</property>
+            <property name="orientation">vertical</property>
             <child>
-              <object class="GtkVBox" id="vbox174">
+              <object class="GtkCheckButton" id="opt_escrow_cb">
+                <property name="label" translatable="yes">... utilize an escrow account for payments?</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="halign">start</property>
+                <property name="use_underline">True</property>
+                <property name="draw_indicator">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="alignment19">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="xscale">0.75</property>
                 <child>
-                  <object class="GtkCheckButton" id="opt_escrow_cb">
-                    <property name="label" translatable="yes">... utilize an escrow account for payments?</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_underline">True</property>
-                    <property name="draw_indicator">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkAlignment" id="alignment19">
+                  <object class="GtkBox" id="opt_escrow_hbox">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xscale">0.75</property>
                     <child>
-                      <object class="GtkHBox" id="opt_escrow_hbox">
+                      <object class="GtkLabel" id="label847963">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <child>
-                          <object class="GtkLabel" id="label847963">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">Escrow Account:</property>
-                            <property name="justify">center</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
+                        <property name="label" translatable="yes">Escrow Account:</property>
+                        <property name="justify">center</property>
                       </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <placeholder/>
                     </child>
                   </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">1</property>
-                  </packing>
                 </child>
               </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
             </child>
           </object>
           <packing>
             <property name="expand">False</property>
-            <property name="fill">False</property>
+            <property name="fill">True</property>
             <property name="position">1</property>
           </packing>
         </child>
         <child>
-          <object class="GtkAlignment" id="alignment20">
+          <object class="GtkSeparator" id="hseparator1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xscale">0.89999997615814209</property>
-            <child>
-              <object class="GtkHSeparator" id="hseparator1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-              </object>
-            </child>
           </object>
           <packing>
             <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="padding">5</property>
+            <property name="fill">True</property>
             <property name="position">2</property>
           </packing>
         </child>
       </object>
       <packing>
         <property name="title" translatable="yes">Loan Repayment Options</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="loan_repayment_page">
+      <object class="GtkBox" id="loan_repayment_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label2">
             <property name="visible">True</property>
@@ -545,87 +589,75 @@ All accounts must have valid entries to continue.
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="repay_table">
+          <object class="GtkGrid" id="repay_table">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="border_width">5</property>
-            <property name="n_rows">5</property>
-            <property name="n_columns">4</property>
-            <property name="column_spacing">5</property>
             <property name="row_spacing">5</property>
+            <property name="column_spacing">5</property>
             <child>
               <object class="GtkLabel" id="label847910">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">1</property>
+                <property name="halign">end</property>
                 <property name="label" translatable="yes">Payment From:</property>
                 <property name="justify">right</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label847911">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">1</property>
+                <property name="halign">end</property>
                 <property name="label" translatable="yes">Principal To:</property>
                 <property name="justify">right</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label847918">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">1</property>
+                <property name="halign">end</property>
                 <property name="label" translatable="yes">Name:</property>
                 <property name="justify">right</property>
               </object>
               <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label847909">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">1</property>
+                <property name="halign">end</property>
                 <property name="label" translatable="yes">Amount:</property>
                 <property name="justify">right</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label847912">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">1</property>
+                <property name="halign">end</property>
                 <property name="label" translatable="yes">Interest To:</property>
                 <property name="justify">right</property>
               </object>
               <packing>
                 <property name="left_attach">2</property>
-                <property name="right_attach">3</property>
                 <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
@@ -637,19 +669,16 @@ All accounts must have valid entries to continue.
                   <object class="GtkEntry" id="txn_title">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="invisible_char">&#x25CF;</property>
-                    <property name="invisible_char_set">True</property>
+                    <property name="invisible_char">●</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                   </object>
                 </child>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">4</property>
-                <property name="y_options"></property>
+                <property name="top_attach">0</property>
+                <property name="width">3</property>
               </packing>
             </child>
             <child>
@@ -662,22 +691,16 @@ All accounts must have valid entries to continue.
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="editable">False</property>
-                    <property name="invisible_char">&#x25CF;</property>
-                    <property name="invisible_char_set">True</property>
+                    <property name="invisible_char">●</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                   </object>
                 </child>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">4</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="width">3</property>
               </packing>
             </child>
             <child>
@@ -692,7 +715,7 @@ All accounts must have valid entries to continue.
                     <property name="can_focus">False</property>
                     <property name="label_xalign">0.5</property>
                     <child>
-                      <object class="GtkHBox" id="freq_frame_hbox">
+                      <object class="GtkBox" id="freq_frame_hbox">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="border_width">10</property>
@@ -712,11 +735,9 @@ All accounts must have valid entries to continue.
                 </child>
               </object>
               <packing>
-                <property name="right_attach">4</property>
+                <property name="left_attach">0</property>
                 <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_SHRINK | GTK_FILL</property>
-                <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+                <property name="width">4</property>
               </packing>
             </child>
             <child>
@@ -745,12 +766,14 @@ All accounts must have valid entries to continue.
       </object>
       <packing>
         <property name="title" translatable="yes">Loan Repayment</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="loan_payment_page">
+      <object class="GtkBox" id="loan_payment_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label4">
             <property name="visible">True</property>
@@ -771,76 +794,67 @@ All enabled option pages must contain valid entries to continue.
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
-              <object class="GtkVBox" id="vbox158">
+              <object class="GtkBox" id="vbox158">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
                 <child>
-                  <object class="GtkTable" id="pay_table">
+                  <object class="GtkGrid" id="pay_table">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="border_width">5</property>
-                    <property name="n_rows">6</property>
-                    <property name="n_columns">4</property>
-                    <property name="column_spacing">5</property>
                     <property name="row_spacing">5</property>
+                    <property name="column_spacing">5</property>
                     <child>
                       <object class="GtkLabel" id="label847916">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
+                        <property name="halign">end</property>
                         <property name="label" translatable="yes">Amount:</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="pay_from_account_label">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
+                        <property name="halign">end</property>
                         <property name="label" translatable="yes">Payment From:</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">4</property>
-                        <property name="bottom_attach">5</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="label847919">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
+                        <property name="halign">end</property>
                         <property name="label" translatable="yes">Name:</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="pay_escrow_to_label">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
+                        <property name="halign">end</property>
                         <property name="label" translatable="yes">Payment To (Escrow):</property>
                         <property name="justify">right</property>
                       </object>
                       <packing>
                         <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
                         <property name="top_attach">4</property>
-                        <property name="bottom_attach">5</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
@@ -852,19 +866,16 @@ All enabled option pages must contain valid entries to continue.
                           <object class="GtkEntry" id="pay_txn_title">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="invisible_char">&#x25CF;</property>
-                            <property name="invisible_char_set">True</property>
+                            <property name="invisible_char">●</property>
                             <property name="primary_icon_activatable">False</property>
                             <property name="secondary_icon_activatable">False</property>
-                            <property name="primary_icon_sensitive">True</property>
-                            <property name="secondary_icon_sensitive">True</property>
                           </object>
                         </child>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">4</property>
-                        <property name="y_options"></property>
+                        <property name="top_attach">0</property>
+                        <property name="width">3</property>
                       </packing>
                     </child>
                     <child>
@@ -876,53 +887,42 @@ All enabled option pages must contain valid entries to continue.
                           <object class="GtkEntry" id="pay_amt_ent">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="invisible_char">&#x25CF;</property>
-                            <property name="invisible_char_set">True</property>
+                            <property name="invisible_char">●</property>
                             <property name="primary_icon_activatable">False</property>
                             <property name="secondary_icon_activatable">False</property>
-                            <property name="primary_icon_sensitive">True</property>
-                            <property name="secondary_icon_sensitive">True</property>
                           </object>
                         </child>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">4</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="y_options"></property>
+                        <property name="width">3</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="pay_escrow_from_label">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
+                        <property name="halign">end</property>
                         <property name="label" translatable="yes">Payment From (Escrow):</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">5</property>
-                        <property name="bottom_attach">6</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="label847975">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
+                        <property name="halign">end</property>
                         <property name="label" translatable="yes">Payment To:</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
                         <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
                         <property name="top_attach">5</property>
-                        <property name="bottom_attach">6</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
@@ -931,17 +931,13 @@ All enabled option pages must contain valid entries to continue.
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">4</property>
                         <property name="top_attach">3</property>
-                        <property name="bottom_attach">4</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
@@ -950,17 +946,13 @@ All enabled option pages must contain valid entries to continue.
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">4</property>
                         <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
@@ -981,6 +973,18 @@ All enabled option pages must contain valid entries to continue.
                     <child>
                       <placeholder/>
                     </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -998,18 +1002,20 @@ All enabled option pages must contain valid entries to continue.
                       <object class="GtkFrame" id="frame92">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="halign">start</property>
                         <property name="label_xalign">0.5</property>
                         <child>
-                          <object class="GtkVBox" id="vbox159">
+                          <object class="GtkBox" id="vbox159">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="orientation">vertical</property>
                             <child>
                               <object class="GtkRadioButton" id="pay_txn_part_rb">
                                 <property name="label" translatable="yes">Part of Payment Transaction</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
+                                <property name="halign">start</property>
                                 <property name="use_underline">True</property>
                                 <property name="active">True</property>
                                 <property name="draw_indicator">True</property>
@@ -1021,17 +1027,19 @@ All enabled option pages must contain valid entries to continue.
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkVBox" id="vbox160">
+                              <object class="GtkBox" id="vbox160">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
+                                <property name="hexpand">True</property>
                                 <property name="border_width">10</property>
+                                <property name="orientation">vertical</property>
                                 <child>
                                   <object class="GtkRadioButton" id="pay_uniq_freq_rb">
                                     <property name="label" translatable="yes">Other</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
-                                    <property name="use_action_appearance">False</property>
+                                    <property name="halign">start</property>
                                     <property name="use_underline">True</property>
                                     <property name="draw_indicator">True</property>
                                     <property name="group">pay_txn_part_rb</property>
@@ -1043,18 +1051,16 @@ All enabled option pages must contain valid entries to continue.
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkAlignment" id="pay_freq_align">
+                                  <object class="GtkBox" id="pay_freq_hbox">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="xalign">1</property>
-                                    <property name="xscale">0.94999998807907104</property>
                                     <child>
                                       <placeholder/>
                                     </child>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
-                                    <property name="fill">False</property>
+                                    <property name="fill">True</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
@@ -1078,7 +1084,7 @@ All enabled option pages must contain valid entries to continue.
                     </child>
                   </object>
                   <packing>
-                    <property name="expand">False</property>
+                    <property name="expand">True</property>
                     <property name="fill">False</property>
                     <property name="position">1</property>
                   </packing>
@@ -1093,20 +1099,21 @@ All enabled option pages must contain valid entries to continue.
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox1">
+          <object class="GtkBox" id="hbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="halign">center</property>
             <child>
               <object class="GtkButton" id="pay_back_button">
                 <property name="label" translatable="yes">Previous Option</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
+                <property name="halign">start</property>
               </object>
               <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -1116,18 +1123,18 @@ All enabled option pages must contain valid entries to continue.
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
+                <property name="halign">start</property>
               </object>
               <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
           </object>
           <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
             <property name="position">2</property>
           </packing>
         </child>
@@ -1135,12 +1142,14 @@ All enabled option pages must contain valid entries to continue.
       <packing>
         <property name="page_type">progress</property>
         <property name="title" translatable="yes">Loan Payment</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="loan_review_page">
+      <object class="GtkBox" id="loan_review_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label3">
             <property name="visible">True</property>
@@ -1156,25 +1165,23 @@ Review the details below and if correct press Apply to create the schedule.</pro
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox177">
+          <object class="GtkBox" id="vbox177">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="border_width">10</property>
+            <property name="orientation">vertical</property>
             <child>
-              <object class="GtkHBox" id="hbox176">
+              <object class="GtkBox" id="hbox176">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
-                  <object class="GtkHBox" id="hbox178">
+                  <object class="GtkBox" id="hbox178">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
                       <object class="GtkLabel" id="label847973">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
-                        <property name="xpad">5</property>
-                        <property name="ypad">5</property>
                         <property name="label" translatable="yes">Range: </property>
                         <property name="justify">center</property>
                       </object>
@@ -1185,10 +1192,11 @@ Review the details below and if correct press Apply to create the schedule.</pro
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkVBox" id="vbox178">
+                      <object class="GtkBox" id="vbox178">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="border_width">10</property>
+                        <property name="orientation">vertical</property>
                         <child>
                           <object class="GtkComboBox" id="rev_range_opt">
                             <property name="visible">True</property>
@@ -1229,41 +1237,32 @@ Review the details below and if correct press Apply to create the schedule.</pro
                     <property name="border_width">5</property>
                     <property name="label_xalign">0.5</property>
                     <child>
-                      <object class="GtkTable" id="rev_date_range_table">
+                      <object class="GtkGrid" id="rev_date_range_table">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="border_width">10</property>
-                        <property name="n_rows">2</property>
                         <child>
                           <object class="GtkLabel" id="label847971">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
-                            <property name="xpad">5</property>
-                            <property name="ypad">5</property>
                             <property name="label" translatable="yes">Start Date:</property>
                             <property name="justify">center</property>
                           </object>
                           <packing>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">0</property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkLabel" id="label847972">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
-                            <property name="xpad">5</property>
-                            <property name="ypad">5</property>
                             <property name="label" translatable="yes">End Date:</property>
                             <property name="justify">center</property>
                           </object>
                           <packing>
+                            <property name="left_attach">0</property>
                             <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
                           </packing>
                         </child>
                       </object>
@@ -1277,7 +1276,7 @@ Review the details below and if correct press Apply to create the schedule.</pro
                     </child>
                   </object>
                   <packing>
-                    <property name="expand">True</property>
+                    <property name="expand">False</property>
                     <property name="fill">True</property>
                     <property name="padding">2</property>
                     <property name="position">1</property>
@@ -1294,8 +1293,6 @@ Review the details below and if correct press Apply to create the schedule.</pro
               <object class="GtkScrolledWindow" id="rev_scrollwin">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="hscrollbar_policy">automatic</property>
-                <property name="vscrollbar_policy">automatic</property>
                 <child>
                   <placeholder/>
                 </child>
@@ -1317,6 +1314,7 @@ Review the details below and if correct press Apply to create the schedule.</pro
       <packing>
         <property name="page_type">confirm</property>
         <property name="title" translatable="yes">Loan Review</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
@@ -1331,90 +1329,16 @@ Review the details below and if correct press Apply to create the schedule.</pro
         <property name="page_type">summary</property>
         <property name="title" translatable="yes">Loan Summary</property>
         <property name="complete">True</property>
+        <property name="has_padding">False</property>
+      </packing>
+    </child>
+    <child internal-child="action_area">
+      <object class="GtkBox" id="assistant-action_area2">
+        <property name="can_focus">False</property>
+      </object>
+      <packing>
+        <property name="has_padding">False</property>
       </packing>
     </child>
-  </object>
-  <object class="GtkListStore" id="len_liststore">
-    <columns>
-      <!-- column-name period -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Months</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Years</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="range_liststore">
-    <columns>
-      <!-- column-name range -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Current Year</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Now + 1 Year</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Whole Loan</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Custom</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="rate_liststore">
-    <columns>
-      <!-- column-name rate -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Interest Rate</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">APR (Compounded Daily)</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">APR (Compounded Weekly)</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">APR (Compounded Monthly)</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">APR (Compounded Quarterly)</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">APR (Compounded Annually)</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="type_liststore">
-    <columns>
-      <!-- column-name type -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Fixed Rate</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">3/1 Year ARM</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">5/1 Year ARM</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">7/1 Year ARM</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">10/1 Year ARM</col>
-      </row>
-    </data>
   </object>
 </interface>

commit 563a6b106a6faa71392fd59650cdb478b4e8fc68
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Thu Jun 22 13:59:04 2017 +0100

    Files linked to dialog-import.glade

diff --git a/src/import-export/dialog-import.glade b/src/import-export/dialog-import.glade
index d6f1136..761c933 100644
--- a/src/import-export/dialog-import.glade
+++ b/src/import-export/dialog-import.glade
@@ -1,17 +1,305 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkWindow" id="Preferences">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkBox" id="account_picker_content">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="orientation">vertical</property>
+    <child>
+      <object class="GtkLabel" id="label847715">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">Please select or create an appropriate GnuCash account for:</property>
+        <property name="justify">center</property>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">False</property>
+        <property name="position">0</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkLabel" id="online_id_label">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">Online account ID here...</property>
+        <property name="justify">center</property>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">False</property>
+        <property name="position">1</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkScrolledWindow" id="account_tree_sw">
+        <property name="visible">True</property>
+        <property name="can_focus">True</property>
+        <child>
+          <placeholder/>
+        </child>
+      </object>
+      <packing>
+        <property name="expand">True</property>
+        <property name="fill">True</property>
+        <property name="position">2</property>
+      </packing>
+    </child>
+  </object>
+  <object class="GtkDialog" id="account_picker_dialog">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="title" translatable="yes">Select Account</property>
+    <property name="default_width">800</property>
+    <property name="default_height">600</property>
+    <property name="type_hint">dialog</property>
+    <signal name="map" handler="gnc_ui_generic_account_picker_map_cb" swapped="no"/>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="account_picker_vbox">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area8">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="newbutton">
+                <property name="label">gnc-new-account</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="cancelbutton">
+                <property name="label" translatable="yes">_Cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="okbutton">
+                <property name="label" translatable="yes">_OK</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="1">newbutton</action-widget>
+      <action-widget response="-6">cancelbutton</action-widget>
+      <action-widget response="-5">okbutton</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkAdjustment" id="atm_fee_adj">
+    <property name="upper">1000</property>
+    <property name="value">2</property>
+    <property name="step_increment">0.01</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="auto_add_adj">
+    <property name="lower">1</property>
+    <property name="upper">6</property>
+    <property name="value">1</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="auto_clear_adj">
+    <property name="lower">6</property>
+    <property name="upper">12</property>
+    <property name="value">6</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkDialog" id="format_picker_dialog">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="title" translatable="yes">Choose a format</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
+    <property name="default_width">600</property>
+    <property name="default_height">400</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox16">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area16">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="okbutton1">
+                <property name="label" translatable="yes">_OK</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkFrame" id="frame2">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label_xalign">0</property>
+            <child>
+              <object class="GtkBox" id="vbox8">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
+                <property name="spacing">15</property>
+                <child>
+                  <object class="GtkLabel" id="msg_label">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label">do not translate</property>
+                    <property name="justify">center</property>
+                    <property name="wrap">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkBox" id="hbox1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="spacing">3</property>
+                    <child>
+                      <object class="GtkLabel" id="label847775">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Format:</property>
+                        <property name="justify">right</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkBox" id="menu_box">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+            <child type="label">
+              <object class="GtkLabel" id="label847773">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Choose a format</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-5">okbutton1</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkAdjustment" id="match_adj">
+    <property name="upper">6</property>
+    <property name="value">1</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkWindow" id="preferences_window">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Preferences</property>
     <child>
-      <object class="GtkTable" id="matcher_prefs">
+      <object class="GtkGrid" id="matcher_prefs">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <property name="n_rows">10</property>
-        <property name="n_columns">4</property>
         <child>
           <object class="GtkCheckButton" id="pref/dialogs.import.generic/enable-skip">
             <property name="label" translatable="yes">Enable skip transaction action</property>
@@ -21,17 +309,14 @@
             <property name="has_tooltip">True</property>
             <property name="tooltip_markup">Enable the SKIP action in the transaction matcher. If enabled, a transaction whose best match&apos;s score is in the yellow zone (above the Auto-ADD threshold but below the Auto-CLEAR threshold) will be skipped by default.</property>
             <property name="tooltip_text" translatable="yes">Enable the SKIP action in the transaction matcher. If enabled, a transaction whose best match's score is in the yellow zone (above the Auto-ADD threshold but below the Auto-CLEAR threshold) will be skipped by default.</property>
-            <property name="use_action_appearance">False</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="use_underline">True</property>
             <property name="draw_indicator">True</property>
           </object>
           <packing>
-            <property name="right_attach">4</property>
+            <property name="left_attach">0</property>
             <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-            <property name="x_padding">12</property>
           </packing>
         </child>
         <child>
@@ -43,31 +328,27 @@
             <property name="has_tooltip">True</property>
             <property name="tooltip_markup">Enable the UPDATE AND RECONCILE action in the transaction matcher. If enabled, a transaction whose best match&apos;s score is above the Auto-CLEAR threshold and has a different date or amount than the matching existing transaction will cause the existing transaction to be updated and cleared by default.</property>
             <property name="tooltip_text" translatable="yes">Enable the UPDATE AND RECONCILE action in the transaction matcher. If enabled, a transaction whose best match's score is above the Auto-CLEAR threshold and has a different date or amount than the matching existing transaction will cause the existing transaction to be updated and cleared by default.</property>
-            <property name="use_action_appearance">False</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="use_underline">True</property>
             <property name="draw_indicator">True</property>
           </object>
           <packing>
-            <property name="right_attach">4</property>
+            <property name="left_attach">0</property>
             <property name="top_attach">2</property>
-            <property name="bottom_attach">3</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-            <property name="x_padding">12</property>
           </packing>
         </child>
         <child>
           <object class="GtkLabel" id="label847785">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
+            <property name="halign">start</property>
             <property name="label" translatable="yes"><b>Generic Importer</b></property>
             <property name="use_markup">True</property>
           </object>
           <packing>
-            <property name="right_attach">4</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
+            <property name="left_attach">0</property>
+            <property name="top_attach">0</property>
           </packing>
         </child>
         <child>
@@ -77,12 +358,9 @@
             <property name="has_tooltip">True</property>
             <property name="tooltip_markup">In some places commercial ATMs (not belonging to a financial institution) are installed in places like convenience stores. These ATMs add their fee directly to the amount instead of showing up as a separate transaction or in your monthly banking fees. For example, you withdraw $100, and you are charged $101,50 plus Interac fees. If you manually entered that $100, the amounts won&apos;t match. You should set this to whatever is the maximum such fee in your area (in units of your local currency), so the transaction will be recognised as a match.</property>
             <property name="tooltip_text" translatable="yes">In some places commercial ATMs (not belonging to a financial institution) are installed in places like convenience stores. These ATMs add their fee directly to the amount instead of showing up as a separate transaction or in your monthly banking fees. For example, you withdraw $100, and you are charged $101,50 plus Interac fees. If you manually entered that $100, the amounts won't match. You should set this to whatever is the maximum such fee in your area (in units of your local currency), so the transaction will be recognised as a match.</property>
-            <property name="invisible_char">&#x25CF;</property>
-            <property name="invisible_char_set">True</property>
+            <property name="invisible_char">●</property>
             <property name="primary_icon_activatable">False</property>
             <property name="secondary_icon_activatable">False</property>
-            <property name="primary_icon_sensitive">True</property>
-            <property name="secondary_icon_sensitive">True</property>
             <property name="adjustment">atm_fee_adj</property>
             <property name="climb_rate">1</property>
             <property name="digits">2</property>
@@ -91,11 +369,7 @@
           </object>
           <packing>
             <property name="left_attach">1</property>
-            <property name="right_attach">2</property>
             <property name="top_attach">7</property>
-            <property name="bottom_attach">8</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
           </packing>
         </child>
         <child>
@@ -105,12 +379,9 @@
             <property name="has_tooltip">True</property>
             <property name="tooltip_markup">A transaction whose best match&apos;s score is in the green zone (above or equal to the Auto-CLEAR threshold) will be CLEARed by default.</property>
             <property name="tooltip_text" translatable="yes">A transaction whose best match's score is in the green zone (above or equal to the Auto-CLEAR threshold) will be CLEARed by default.</property>
-            <property name="invisible_char">&#x25CF;</property>
-            <property name="invisible_char_set">True</property>
+            <property name="invisible_char">●</property>
             <property name="primary_icon_activatable">False</property>
             <property name="secondary_icon_activatable">False</property>
-            <property name="primary_icon_sensitive">True</property>
-            <property name="secondary_icon_sensitive">True</property>
             <property name="adjustment">auto_clear_adj</property>
             <property name="climb_rate">1</property>
             <property name="snap_to_ticks">True</property>
@@ -118,11 +389,7 @@
           </object>
           <packing>
             <property name="left_attach">1</property>
-            <property name="right_attach">2</property>
             <property name="top_attach">6</property>
-            <property name="bottom_attach">7</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
           </packing>
         </child>
         <child>
@@ -132,12 +399,9 @@
             <property name="has_tooltip">True</property>
             <property name="tooltip_markup">A transaction whose best match&apos;s score is in the red zone (above the display threshold but below or equal to the Auto-ADD threshold) will be ADDed by default.</property>
             <property name="tooltip_text" translatable="yes">A transaction whose best match's score is in the red zone (above the display threshold but below or equal to the Auto-ADD threshold) will be ADDed by default.</property>
-            <property name="invisible_char">&#x25CF;</property>
-            <property name="invisible_char_set">True</property>
+            <property name="invisible_char">●</property>
             <property name="primary_icon_activatable">False</property>
             <property name="secondary_icon_activatable">False</property>
-            <property name="primary_icon_sensitive">True</property>
-            <property name="secondary_icon_sensitive">True</property>
             <property name="adjustment">auto_add_adj</property>
             <property name="climb_rate">1</property>
             <property name="snap_to_ticks">True</property>
@@ -145,11 +409,7 @@
           </object>
           <packing>
             <property name="left_attach">1</property>
-            <property name="right_attach">2</property>
             <property name="top_attach">5</property>
-            <property name="bottom_attach">6</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
           </packing>
         </child>
         <child>
@@ -159,12 +419,9 @@
             <property name="has_tooltip">True</property>
             <property name="tooltip_markup">The minimum score a potential match must have to be displayed in the match list.</property>
             <property name="tooltip_text" translatable="yes">The minimum score a potential match must have to be displayed in the match list.</property>
-            <property name="invisible_char">&#x25CF;</property>
-            <property name="invisible_char_set">True</property>
+            <property name="invisible_char">●</property>
             <property name="primary_icon_activatable">False</property>
             <property name="secondary_icon_activatable">False</property>
-            <property name="primary_icon_sensitive">True</property>
-            <property name="secondary_icon_sensitive">True</property>
             <property name="adjustment">match_adj</property>
             <property name="climb_rate">1</property>
             <property name="snap_to_ticks">True</property>
@@ -172,79 +429,67 @@
           </object>
           <packing>
             <property name="left_attach">1</property>
-            <property name="right_attach">2</property>
             <property name="top_attach">4</property>
-            <property name="bottom_attach">5</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
           </packing>
         </child>
         <child>
           <object class="GtkLabel" id="label847789">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="label" translatable="yes">Commercial ATM _fees threshold</property>
             <property name="use_underline">True</property>
             <property name="mnemonic_widget">pref/dialogs.import.generic/atm-fee-threshold</property>
           </object>
           <packing>
+            <property name="left_attach">0</property>
             <property name="top_attach">7</property>
-            <property name="bottom_attach">8</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-            <property name="x_padding">12</property>
           </packing>
         </child>
         <child>
           <object class="GtkLabel" id="label847788">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="label" translatable="yes">Auto-c_lear threshold</property>
             <property name="use_underline">True</property>
             <property name="mnemonic_widget">pref/dialogs.import.generic/auto-clear-threshold</property>
           </object>
           <packing>
+            <property name="left_attach">0</property>
             <property name="top_attach">6</property>
-            <property name="bottom_attach">7</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-            <property name="x_padding">12</property>
           </packing>
         </child>
         <child>
           <object class="GtkLabel" id="label847787">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="label" translatable="yes">Auto-_add threshold</property>
             <property name="use_underline">True</property>
             <property name="mnemonic_widget">pref/dialogs.import.generic/auto-add-threshold</property>
           </object>
           <packing>
+            <property name="left_attach">0</property>
             <property name="top_attach">5</property>
-            <property name="bottom_attach">6</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-            <property name="x_padding">12</property>
           </packing>
         </child>
         <child>
           <object class="GtkLabel" id="label847786">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="label" translatable="yes">Match _display threshold</property>
             <property name="use_underline">True</property>
             <property name="mnemonic_widget">pref/dialogs.import.generic/match-threshold</property>
           </object>
           <packing>
+            <property name="left_attach">0</property>
             <property name="top_attach">4</property>
-            <property name="bottom_attach">5</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-            <property name="x_padding">12</property>
           </packing>
         </child>
         <child>
@@ -256,399 +501,90 @@
             <property name="has_tooltip">True</property>
             <property name="tooltip_markup">Use bayesian algorithms to match new transactions with existing accounts.</property>
             <property name="tooltip_text" translatable="yes">Use bayesian algorithms to match new transactions with existing accounts.</property>
-            <property name="use_action_appearance">False</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="use_underline">True</property>
             <property name="draw_indicator">True</property>
-          </object>
-          <packing>
-            <property name="right_attach">4</property>
-            <property name="top_attach">3</property>
-            <property name="bottom_attach">4</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-            <property name="x_padding">12</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkCheckButton" id="pref/dialogs.import.generic/auto-create-commodity">
-            <property name="label" translatable="yes">Automatically create new commodities</property>
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">False</property>
-            <property name="has_tooltip">True</property>
-            <property name="tooltip_markup">Enables the automatic creation of new commodities if any unknown commodity is encountered during import. Otherwise the user will be asked what to do with each unknown commodity.</property>
-            <property name="tooltip_text" translatable="yes">Enables the automatic creation of new commodities if any unknown commodity is encountered during import. Otherwise the user will be asked what to do with each unknown commodity.</property>
-            <property name="use_action_appearance">False</property>
-            <property name="draw_indicator">True</property>
-          </object>
-          <packing>
-            <property name="right_attach">4</property>
-            <property name="top_attach">8</property>
-            <property name="bottom_attach">9</property>
-            <property name="x_padding">12</property>
-          </packing>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-      </object>
-    </child>
-  </object>
-  <object class="GtkDialog" id="account_picker">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="title" translatable="yes">Select Account</property>
-    <property name="default_width">800</property>
-    <property name="default_height">600</property>
-    <property name="type_hint">dialog</property>
-    <signal name="map" handler="gnc_ui_generic_account_picker_map_cb" swapped="no"/>
-    <child internal-child="vbox">
-      <object class="GtkVBox" id="account_picker_vbox">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area8">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="newbutton">
-                <property name="label">gnc-new-account</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_underline">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="cancelbutton">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="okbutton">
-                <property name="label">gtk-ok</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">2</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="1">newbutton</action-widget>
-      <action-widget response="-6">cancelbutton</action-widget>
-      <action-widget response="-5">okbutton</action-widget>
-    </action-widgets>
-  </object>
-  <object class="GtkVBox" id="account_picker_content">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <child>
-      <object class="GtkLabel" id="label847715">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="xpad">5</property>
-        <property name="ypad">3</property>
-        <property name="label" translatable="yes">Please select or create an appropriate GnuCash account for:</property>
-        <property name="justify">center</property>
-      </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">False</property>
-        <property name="position">0</property>
-      </packing>
-    </child>
-    <child>
-      <object class="GtkLabel" id="online_id_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="xpad">5</property>
-        <property name="ypad">3</property>
-        <property name="label" translatable="yes">Online account ID here...</property>
-        <property name="justify">center</property>
-      </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">False</property>
-        <property name="position">1</property>
-      </packing>
-    </child>
-    <child>
-      <object class="GtkScrolledWindow" id="account_tree_sw">
-        <property name="visible">True</property>
-        <property name="can_focus">True</property>
-        <property name="hscrollbar_policy">automatic</property>
-        <property name="vscrollbar_policy">automatic</property>
-        <child>
-          <placeholder/>
-        </child>
-      </object>
-      <packing>
-        <property name="expand">True</property>
-        <property name="fill">True</property>
-        <property name="position">2</property>
-      </packing>
-    </child>
-  </object>
-  <object class="GtkAdjustment" id="atm_fee_adj">
-    <property name="upper">1000</property>
-    <property name="value">2</property>
-    <property name="step_increment">0.01</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="auto_add_adj">
-    <property name="lower">1</property>
-    <property name="upper">6</property>
-    <property name="value">1</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="auto_clear_adj">
-    <property name="lower">6</property>
-    <property name="upper">12</property>
-    <property name="value">6</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkDialog" id="format_picker">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="title" translatable="yes">Choose a format</property>
-    <property name="resizable">False</property>
-    <property name="modal">True</property>
-    <property name="default_width">600</property>
-    <property name="default_height">400</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox16">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area16">
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">3</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkCheckButton" id="pref/dialogs.import.generic/auto-create-commodity">
+            <property name="label" translatable="yes">Automatically create new commodities</property>
             <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="okbutton1">
-                <property name="label">gtk-ok</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
+            <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="has_tooltip">True</property>
+            <property name="tooltip_markup">Enables the automatic creation of new commodities if any unknown commodity is encountered during import. Otherwise the user will be asked what to do with each unknown commodity.</property>
+            <property name="tooltip_text" translatable="yes">Enables the automatic creation of new commodities if any unknown commodity is encountered during import. Otherwise the user will be asked what to do with each unknown commodity.</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
+            <property name="draw_indicator">True</property>
           </object>
           <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
+            <property name="left_attach">0</property>
+            <property name="top_attach">9</property>
           </packing>
         </child>
         <child>
-          <object class="GtkFrame" id="frame2">
+          <object class="GtkLabel" id="label1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="label_xalign">0</property>
-            <child>
-              <object class="GtkVBox" id="vbox8">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="spacing">15</property>
-                <child>
-                  <object class="GtkLabel" id="msg_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label">do not translate</property>
-                    <property name="justify">center</property>
-                    <property name="wrap">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHBox" id="hbox1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="spacing">3</property>
-                    <child>
-                      <object class="GtkLabel" id="label847775">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
-                        <property name="label" translatable="yes">Format:</property>
-                        <property name="justify">right</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkHBox" id="menu_box">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="expand">True</property>
-                        <property name="fill">True</property>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-            </child>
-            <child type="label">
-              <object class="GtkLabel" id="label847773">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Choose a format</property>
-              </object>
-            </child>
           </object>
           <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">2</property>
+            <property name="left_attach">0</property>
+            <property name="top_attach">8</property>
           </packing>
         </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
       </object>
     </child>
-    <action-widgets>
-      <action-widget response="-5">okbutton1</action-widget>
-    </action-widgets>
-  </object>
-  <object class="GtkAdjustment" id="match_adj">
-    <property name="upper">6</property>
-    <property name="value">1</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
   </object>
-  <object class="GtkDialog" id="match_picker">
+  <object class="GtkDialog" id="match_picker_dialog">
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Select matching existing transaction</property>
     <property name="default_width">600</property>
     <property name="default_height">400</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox14">
+      <object class="GtkBox" id="dialog-vbox14">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">8</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area14">
+          <object class="GtkButtonBox" id="dialog-action_area14">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancel_button1">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -658,13 +594,12 @@
             </child>
             <child>
               <object class="GtkButton" id="ok_button1">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -681,15 +616,14 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox7">
+          <object class="GtkBox" id="vbox7">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
               <object class="GtkLabel" id="label847772">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xpad">5</property>
-                <property name="ypad">5</property>
                 <property name="label" translatable="yes">Imported transaction's first split:</property>
                 <property name="justify">center</property>
               </object>
@@ -703,14 +637,15 @@
               <object class="GtkScrolledWindow" id="scrolledwindow30">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="hscrollbar_policy">automatic</property>
-                <property name="vscrollbar_policy">automatic</property>
                 <property name="shadow_type">in</property>
                 <child>
                   <object class="GtkTreeView" id="download_view">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="rules_hint">True</property>
+                    <child internal-child="selection">
+                      <object class="GtkTreeSelection" id="treeview-selection1"/>
+                    </child>
                   </object>
                 </child>
               </object>
@@ -724,8 +659,6 @@
               <object class="GtkLabel" id="label847766">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xpad">5</property>
-                <property name="ypad">5</property>
                 <property name="label" translatable="yes">Potential splits matching the selected transaction: </property>
                 <property name="justify">center</property>
               </object>
@@ -739,14 +672,15 @@
               <object class="GtkScrolledWindow" id="scrolledwindow29">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="hscrollbar_policy">automatic</property>
-                <property name="vscrollbar_policy">automatic</property>
                 <property name="shadow_type">in</property>
                 <child>
                   <object class="GtkTreeView" id="matched_view">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="rules_hint">True</property>
+                    <child internal-child="selection">
+                      <object class="GtkTreeSelection" id="treeview-selection2"/>
+                    </child>
                   </object>
                 </child>
               </object>
@@ -770,7 +704,19 @@
       <action-widget response="-5">ok_button1</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkDialog" id="matcher_help">
+  <object class="GtkTextBuffer" id="textbuffer2">
+    <property name="text" translatable="yes">This transaction probably requires your intervention or it will be imported unbalanced.</property>
+  </object>
+  <object class="GtkTextBuffer" id="textbuffer3">
+    <property name="text" translatable="yes">This transaction will be imported balanced (you may still want to double check the match or destination account).</property>
+  </object>
+  <object class="GtkTextBuffer" id="textbuffer4">
+    <property name="text" translatable="yes">This transaction requires your intervention or it will NOT be imported.</property>
+  </object>
+  <object class="GtkTextBuffer" id="textbuffer5">
+    <property name="text" translatable="yes">Double click on the transaction to change the matching transaction to reconcile, or the destination account of the auto-balance split (if required).</property>
+  </object>
+  <object class="GtkDialog" id="matcher_help_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="border_width">12</property>
@@ -779,23 +725,23 @@
     <property name="type_hint">dialog</property>
     <signal name="close" handler="on_matcher_help_close_clicked" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox18">
+      <object class="GtkBox" id="dialog-vbox18">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area18">
+          <object class="GtkButtonBox" id="dialog-action_area18">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="matcher_help_close">
-                <property name="label">gtk-close</property>
+                <property name="label" translatable="yes">_Close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="on_matcher_help_close_clicked" swapped="no"/>
               </object>
               <packing>
@@ -813,13 +759,11 @@
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="table1">
+          <object class="GtkGrid" id="table1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="n_rows">13</property>
-            <property name="n_columns">2</property>
-            <property name="column_spacing">12</property>
             <property name="row_spacing">6</property>
+            <property name="column_spacing">12</property>
             <child>
               <object class="GtkLabel" id="label847790">
                 <property name="visible">True</property>
@@ -828,8 +772,8 @@
                 <property name="use_markup">True</property>
               </object>
               <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
@@ -857,11 +801,7 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -889,11 +829,7 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -921,23 +857,17 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label847794">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
               </object>
               <packing>
+                <property name="left_attach">1</property>
                 <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
@@ -948,134 +878,96 @@
                 <property name="use_markup">True</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label847796">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="xpad">12</property>
                 <property name="label" translatable="yes">"A"</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">6</property>
-                <property name="bottom_attach">7</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label847797">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="xpad">12</property>
                 <property name="label" translatable="yes">"U+R"</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">7</property>
-                <property name="bottom_attach">8</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label847798">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="xpad">12</property>
                 <property name="label" translatable="yes">"R"</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">8</property>
-                <property name="bottom_attach">9</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label847799">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
                 <property name="label" translatable="yes">Select "A" to add the transaction as new.</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">6</property>
-                <property name="bottom_attach">7</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label847780">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
                 <property name="label" translatable="yes">Select "U+R" to update and reconcile a matching transaction.</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">7</property>
-                <property name="bottom_attach">8</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label847781">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
                 <property name="label" translatable="yes">Select "R" to reconcile a matching transaction.</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">8</property>
-                <property name="bottom_attach">9</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label847800">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
                 <property name="label" translatable="yes">Select neither to skip the transaction (it won't be imported at all).</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">9</property>
-                <property name="bottom_attach">10</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label847801">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="xpad">12</property>
                 <property name="label" translatable="yes">(none)</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">9</property>
-                <property name="bottom_attach">10</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
@@ -1102,10 +994,9 @@
                 </child>
               </object>
               <packing>
-                <property name="right_attach">2</property>
+                <property name="left_attach">0</property>
                 <property name="top_attach">10</property>
-                <property name="bottom_attach">11</property>
-                <property name="x_options">GTK_FILL</property>
+                <property name="width">2</property>
               </packing>
             </child>
             <child>
@@ -1116,16 +1007,13 @@
                   <object class="GtkLabel" id="label847802">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xpad">12</property>
                     <property name="label" translatable="yes">Red</property>
                   </object>
                 </child>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -1136,16 +1024,13 @@
                   <object class="GtkLabel" id="label847803">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xpad">12</property>
                     <property name="label" translatable="yes">Yellow</property>
                   </object>
                 </child>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -1156,16 +1041,13 @@
                   <object class="GtkLabel" id="label847804">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xpad">12</property>
                     <property name="label" translatable="yes">Green</property>
                   </object>
                 </child>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -1177,18 +1059,6 @@
             <child>
               <placeholder/>
             </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
           </object>
           <packing>
             <property name="expand">True</property>
@@ -1202,19 +1072,52 @@
       <action-widget response="-7">matcher_help_close</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkTextBuffer" id="textbuffer2">
-    <property name="text" translatable="yes">This transaction probably requires your intervention or it will be imported unbalanced.</property>
-  </object>
-  <object class="GtkTextBuffer" id="textbuffer3">
-    <property name="text" translatable="yes">This transaction will be imported balanced (you may still want to double check the match or destination account).</property>
-  </object>
-  <object class="GtkTextBuffer" id="textbuffer4">
-    <property name="text" translatable="yes">This transaction requires your intervention or it will NOT be imported.</property>
-  </object>
-  <object class="GtkTextBuffer" id="textbuffer5">
-    <property name="text" translatable="yes">Double click on the transaction to change the matching transaction to reconcile, or the destination account of the auto-balance split (if required).</property>
+  <object class="GtkBox" id="transaction_matcher_content">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="orientation">vertical</property>
+    <child>
+      <object class="GtkLabel" id="heading_label">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">List of downloaded transactions (source split shown):</property>
+        <property name="justify">center</property>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">False</property>
+        <property name="position">0</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkScrolledWindow" id="scrolledwindow25">
+        <property name="visible">True</property>
+        <property name="can_focus">True</property>
+        <property name="shadow_type">in</property>
+        <child>
+          <object class="GtkTreeView" id="downloaded_view">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="reorderable">True</property>
+            <property name="rules_hint">True</property>
+            <property name="enable_search">False</property>
+            <child internal-child="selection">
+              <object class="GtkTreeSelection" id="treeview-selection3"/>
+            </child>
+          </object>
+        </child>
+      </object>
+      <packing>
+        <property name="expand">True</property>
+        <property name="fill">True</property>
+        <property name="position">1</property>
+      </packing>
+    </child>
+    <child>
+      <placeholder/>
+    </child>
   </object>
-  <object class="GtkDialog" id="transaction_matcher">
+  <object class="GtkDialog" id="transaction_matcher_dialog">
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Generic import transaction matcher</property>
     <property name="default_width">600</property>
@@ -1222,23 +1125,23 @@
     <property name="type_hint">dialog</property>
     <signal name="close" handler="on_matcher_cancel_clicked" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="transaction_matcher_vbox">
+      <object class="GtkBox" id="transaction_matcher_vbox">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area10">
+          <object class="GtkButtonBox" id="dialog-action_area10">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="matcher_cancel">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="on_matcher_cancel_clicked" swapped="no"/>
               </object>
               <packing>
@@ -1249,14 +1152,13 @@
             </child>
             <child>
               <object class="GtkButton" id="matcher_ok">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="on_matcher_ok_clicked" swapped="no"/>
               </object>
               <packing>
@@ -1267,13 +1169,12 @@
             </child>
             <child>
               <object class="GtkButton" id="matcher__help">
-                <property name="label">gtk-help</property>
+                <property name="label" translatable="yes">_Help</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="on_matcher_help_clicked" swapped="no"/>
               </object>
               <packing>
@@ -1301,49 +1202,4 @@
       <action-widget response="-11">matcher__help</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkVBox" id="transaction_matcher_content">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <child>
-      <object class="GtkLabel" id="heading_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="xpad">5</property>
-        <property name="ypad">5</property>
-        <property name="label" translatable="yes">List of downloaded transactions (source split shown):</property>
-        <property name="justify">center</property>
-      </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">False</property>
-        <property name="position">0</property>
-      </packing>
-    </child>
-    <child>
-      <object class="GtkScrolledWindow" id="scrolledwindow25">
-        <property name="visible">True</property>
-        <property name="can_focus">True</property>
-        <property name="hscrollbar_policy">automatic</property>
-        <property name="vscrollbar_policy">automatic</property>
-        <property name="shadow_type">in</property>
-        <child>
-          <object class="GtkTreeView" id="downloaded_view">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="reorderable">True</property>
-            <property name="rules_hint">True</property>
-            <property name="enable_search">False</property>
-          </object>
-        </child>
-      </object>
-      <packing>
-        <property name="expand">True</property>
-        <property name="fill">True</property>
-        <property name="position">1</property>
-      </packing>
-    </child>
-    <child>
-      <placeholder/>
-    </child>
-  </object>
 </interface>
diff --git a/src/import-export/import-account-matcher.c b/src/import-export/import-account-matcher.c
index a9461a8..13c9557 100644
--- a/src/import-export/import-account-matcher.c
+++ b/src/import-export/import-account-matcher.c
@@ -290,14 +290,14 @@ Account * gnc_import_select_account(GtkWidget *parent,
     {
         /* load the interface */
         builder = gtk_builder_new();
-        gnc_builder_add_from_file (builder, "dialog-import.glade", "account_picker");
+        gnc_builder_add_from_file (builder, "dialog-import.glade", "account_picker_dialog");
         gnc_builder_add_from_file (builder, "dialog-import.glade", "account_picker_content");
         /* connect the signals in the interface */
         if (builder == NULL)
         {
             PERR("Error opening the glade builder interface");
         }
-        picker->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "account_picker"));
+        picker->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "account_picker_dialog"));
         if (parent)
             gtk_window_set_transient_for (GTK_WINDOW (picker->dialog),
                                           GTK_WINDOW (parent));
diff --git a/src/import-export/import-format-dialog.c b/src/import-export/import-format-dialog.c
index ed449e8..cbfc0ab 100644
--- a/src/import-export/import-format-dialog.c
+++ b/src/import-export/import-format-dialog.c
@@ -148,8 +148,8 @@ gnc_import_choose_fmt(const char* msg, GncImportFormat fmts, gpointer data)
     }
     /* Open the Glade Builder file */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-import.glade", "format_picker");
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "format_picker"));
+    gnc_builder_add_from_file (builder, "dialog-import.glade", "format_picker_dialog");
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "format_picker_dialog"));
     widget = GTK_WIDGET(gtk_builder_get_object (builder, "msg_label"));
     gtk_label_set_text(GTK_LABEL(widget), msg);
 
diff --git a/src/import-export/import-main-matcher.c b/src/import-export/import-main-matcher.c
index 8705220..701aa86 100644
--- a/src/import-export/import-main-matcher.c
+++ b/src/import-export/import-main-matcher.c
@@ -212,7 +212,7 @@ on_matcher_help_clicked (GtkButton *button, gpointer user_data)
     gnc_builder_add_from_file (builder, "dialog-import.glade", "textbuffer3");
     gnc_builder_add_from_file (builder, "dialog-import.glade", "textbuffer4");
     gnc_builder_add_from_file (builder, "dialog-import.glade", "textbuffer5");
-    gnc_builder_add_from_file (builder, "dialog-import.glade", "matcher_help");
+    gnc_builder_add_from_file (builder, "dialog-import.glade", "matcher_help_dialog");
 
     box = GTK_WIDGET(gtk_builder_get_object (builder, "red"));
     gtk_widget_override_background_color(box, GTK_STATE_FLAG_NORMAL,
@@ -224,7 +224,7 @@ on_matcher_help_clicked (GtkButton *button, gpointer user_data)
     gtk_widget_override_background_color(box, GTK_STATE_FLAG_NORMAL,
                                          &info->color_back_green);
 
-    help_dialog = GTK_WIDGET(gtk_builder_get_object (builder, "matcher_help"));
+    help_dialog = GTK_WIDGET(gtk_builder_get_object (builder, "matcher_help_dialog"));
     gtk_window_set_transient_for(GTK_WINDOW(help_dialog),
                                  GTK_WINDOW(info->dialog));
 
@@ -525,9 +525,9 @@ GNCImportMainMatcher *gnc_gen_trans_list_new (GtkWidget *parent,
 
     /* Initialize the GtkDialog. */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-import.glade", "transaction_matcher");
+    gnc_builder_add_from_file (builder, "dialog-import.glade", "transaction_matcher_dialog");
     gnc_builder_add_from_file (builder, "dialog-import.glade", "transaction_matcher_content");
-    info->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "transaction_matcher"));
+    info->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "transaction_matcher_dialog"));
     g_assert (info->dialog != NULL);
 
     /* Pack the content into the dialog vbox */
diff --git a/src/import-export/import-match-picker.c b/src/import-export/import-match-picker.c
index 01550bf..a61cc00 100644
--- a/src/import-export/import-match-picker.c
+++ b/src/import-export/import-match-picker.c
@@ -409,10 +409,10 @@ init_match_picker_gui(GNCImportMatchPicker * matcher)
 
     /* load the interface */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-import.glade", "match_picker");
+    gnc_builder_add_from_file (builder, "dialog-import.glade", "match_picker_dialog");
     g_return_if_fail (builder != NULL);
 
-    matcher->transaction_matcher = GTK_WIDGET(gtk_builder_get_object (builder, "match_picker"));
+    matcher->transaction_matcher = GTK_WIDGET(gtk_builder_get_object (builder, "match_picker_dialog"));
     matcher->downloaded_view = (GtkTreeView *)GTK_WIDGET(gtk_builder_get_object (builder, "download_view"));
     matcher->match_view = (GtkTreeView *)GTK_WIDGET(gtk_builder_get_object (builder, "matched_view"));
 

commit fe90eeb303d79100a60e3111a06e0c2a873242dc
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Thu Jun 22 13:58:09 2017 +0100

    Files linked to dialog-account-picker.glade

diff --git a/src/import-export/qif-imp/dialog-account-picker.c b/src/import-export/qif-imp/dialog-account-picker.c
index fcef090..21ec0a1 100644
--- a/src/import-export/qif-imp/dialog-account-picker.c
+++ b/src/import-export/qif-imp/dialog-account-picker.c
@@ -345,12 +345,12 @@ qif_account_picker_dialog(QIFImportWindow * qif_wind, SCM map_entry)
         wind->selected_name = gnc_scm_to_utf8_string (orig_acct);
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-account-picker.glade", "QIF Import Account Picker");
+    gnc_builder_add_from_file (builder, "dialog-account-picker.glade", "qif_import_account_picker_dialog");
 
     /* Connect all the signals */
     gtk_builder_connect_signals (builder, wind);
 
-    wind->dialog     = GTK_WIDGET(gtk_builder_get_object (builder, "QIF Import Account Picker"));
+    wind->dialog     = GTK_WIDGET(gtk_builder_get_object (builder, "qif_import_account_picker_dialog"));
     wind->treeview   = GTK_TREE_VIEW(gtk_builder_get_object (builder, "account_tree"));
     wind->qif_wind   = qif_wind;
 
diff --git a/src/import-export/qif-imp/dialog-account-picker.glade b/src/import-export/qif-imp/dialog-account-picker.glade
index e45699e..9a21943 100644
--- a/src/import-export/qif-imp/dialog-account-picker.glade
+++ b/src/import-export/qif-imp/dialog-account-picker.glade
@@ -1,28 +1,26 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkWindow" id="Preferences">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkWindow" id="preferences_window">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Preferences</property>
     <child>
-      <object class="GtkTable" id="prefs_table">
+      <object class="GtkGrid" id="prefs_table">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <property name="n_rows">7</property>
-        <property name="n_columns">4</property>
         <child>
           <object class="GtkLabel" id="label847718">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
+            <property name="halign">start</property>
             <property name="label" translatable="yes"><b>QIF Import</b></property>
             <property name="use_markup">True</property>
           </object>
           <packing>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
+            <property name="left_attach">0</property>
+            <property name="top_attach">0</property>
           </packing>
         </child>
         <child>
@@ -34,17 +32,15 @@
             <property name="has_tooltip">True</property>
             <property name="tooltip_markup">Show some documentation-only pages in QIF Import assistant.</property>
             <property name="tooltip_text" translatable="yes">Show some documentation-only pages in QIF Import assistant.</property>
-            <property name="use_action_appearance">False</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
+            <property name="resize_mode">immediate</property>
             <property name="use_underline">True</property>
             <property name="draw_indicator">True</property>
           </object>
           <packing>
-            <property name="right_attach">4</property>
+            <property name="left_attach">0</property>
             <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-            <property name="x_padding">12</property>
           </packing>
         </child>
         <child>
@@ -56,17 +52,15 @@
             <property name="has_tooltip">True</property>
             <property name="tooltip_markup">When the status is not specified in a QIF file, the transactions are marked as reconciled.</property>
             <property name="tooltip_text" translatable="yes">When the status is not specified in a QIF file, the transactions are marked as reconciled.</property>
-            <property name="use_action_appearance">False</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="use_underline">True</property>
             <property name="active">True</property>
             <property name="draw_indicator">True</property>
           </object>
           <packing>
-            <property name="top_attach">6</property>
-            <property name="bottom_attach">7</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-            <property name="x_padding">12</property>
+            <property name="left_attach">0</property>
+            <property name="top_attach">5</property>
           </packing>
         </child>
         <child>
@@ -78,17 +72,15 @@
             <property name="has_tooltip">True</property>
             <property name="tooltip_markup">When the status is not specified in a QIF file, the transactions are marked as cleared.</property>
             <property name="tooltip_text" translatable="yes">When the status is not specified in a QIF file, the transactions are marked as cleared.</property>
-            <property name="use_action_appearance">False</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="use_underline">True</property>
             <property name="draw_indicator">True</property>
             <property name="group">pref/dialogs.import.qif/default-status-reconciled</property>
           </object>
           <packing>
-            <property name="top_attach">5</property>
-            <property name="bottom_attach">6</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-            <property name="x_padding">12</property>
+            <property name="left_attach">0</property>
+            <property name="top_attach">4</property>
           </packing>
         </child>
         <child>
@@ -100,34 +92,29 @@
             <property name="has_tooltip">True</property>
             <property name="tooltip_markup">When the status is not specified in a QIF file, the transactions are marked as not cleared.</property>
             <property name="tooltip_text" translatable="yes">When the status is not specified in a QIF file, the transactions are marked as not cleared.</property>
-            <property name="use_action_appearance">False</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="use_underline">True</property>
             <property name="draw_indicator">True</property>
             <property name="group">pref/dialogs.import.qif/default-status-reconciled</property>
           </object>
           <packing>
-            <property name="top_attach">4</property>
-            <property name="bottom_attach">5</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-            <property name="x_padding">12</property>
+            <property name="left_attach">0</property>
+            <property name="top_attach">3</property>
           </packing>
         </child>
         <child>
           <object class="GtkLabel" id="qif_default_transation_status">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
-            <property name="xpad">16</property>
-            <property name="ypad">5</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="label" translatable="yes">Default transaction status (overridden by the status given by the QIF file)</property>
           </object>
           <packing>
-            <property name="right_attach">4</property>
+            <property name="left_attach">0</property>
             <property name="top_attach">2</property>
-            <property name="bottom_attach">3</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
+            <property name="width">2</property>
           </packing>
         </child>
         <child>
@@ -145,43 +132,10 @@
         <child>
           <placeholder/>
         </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
       </object>
     </child>
   </object>
-  <object class="GtkDialog" id="QIF Import Account Picker">
+  <object class="GtkDialog" id="qif_import_account_picker_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Select Account</property>
@@ -189,12 +143,13 @@
     <property name="default_height">400</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox1">
+      <object class="GtkBox" id="dialog-vbox1">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">8</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area1">
+          <object class="GtkButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
@@ -205,7 +160,6 @@
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_ui_qif_account_picker_new_cb" swapped="no"/>
               </object>
@@ -217,13 +171,12 @@
             </child>
             <child>
               <object class="GtkButton" id="cancelbutton">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -233,13 +186,12 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -256,15 +208,14 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox2">
+          <object class="GtkBox" id="vbox2">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
               <object class="GtkLabel" id="label1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="xpad">5</property>
                 <property name="label" translatable="yes">_Select or add a GnuCash account:</property>
                 <property name="use_underline">True</property>
                 <property name="mnemonic_widget">account_tree</property>
@@ -280,14 +231,15 @@
               <object class="GtkScrolledWindow" id="scrolledwindow24">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="hscrollbar_policy">automatic</property>
-                <property name="vscrollbar_policy">automatic</property>
                 <property name="shadow_type">in</property>
                 <child>
                   <object class="GtkTreeView" id="account_tree">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="rules_hint">True</property>
+                    <child internal-child="selection">
+                      <object class="GtkTreeSelection" id="treeview-selection1"/>
+                    </child>
                   </object>
                 </child>
               </object>
@@ -306,10 +258,5 @@
         </child>
       </object>
     </child>
-    <action-widgets>
-      <action-widget response="1">newbutton</action-widget>
-      <action-widget response="-6">cancelbutton</action-widget>
-      <action-widget response="-5">okbutton</action-widget>
-    </action-widgets>
   </object>
 </interface>

commit e067903ebd68753f682fdcdadb7a2b3989c62260
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Thu Jun 22 13:57:29 2017 +0100

    Convert gtktable to grid in assistant-qif-import

diff --git a/src/import-export/qif-imp/assistant-qif-import.c b/src/import-export/qif-imp/assistant-qif-import.c
index b776e04..7663a1e 100644
--- a/src/import-export/qif-imp/assistant-qif-import.c
+++ b/src/import-export/qif-imp/assistant-qif-import.c
@@ -875,9 +875,9 @@ new_security_page(SCM security_hash_key, gnc_commodity *comm, QIFImportWindow *w
     /*
      * Add all the widgets to the page.
      */
-    table = gtk_table_new(3, 2, FALSE);
-    gtk_table_set_row_spacings(GTK_TABLE(table), 6);
-    gtk_table_set_col_spacings(GTK_TABLE(table), 12);
+    table = gtk_grid_new();
+    gtk_grid_set_row_spacing (GTK_GRID(table), 6);
+    gtk_grid_set_column_spacing (GTK_GRID(table), 12);
 
     /* Name entry */
     retval->name_entry = gtk_entry_new();
@@ -890,10 +890,14 @@ new_security_page(SCM security_hash_key, gnc_commodity *comm, QIFImportWindow *w
     gtk_widget_set_tooltip_text(label, name_tooltip);
     gtk_widget_set_tooltip_text(retval->name_entry, name_tooltip);
 
-    gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1,
-                     GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
-    gtk_table_attach_defaults(GTK_TABLE(table), retval->name_entry,
-                              1, 2, 0, 1);
+    gtk_grid_attach (GTK_GRID(table), label, 0, 0, 1, 1);
+    gtk_widget_set_halign (label, GTK_ALIGN_FILL);
+    gtk_widget_set_valign (label, GTK_ALIGN_FILL);
+    gtk_widget_set_hexpand (label, TRUE);
+    gtk_widget_set_vexpand (label, FALSE);
+    g_object_set (label, "margin", 0, NULL);
+
+    gtk_grid_attach (GTK_GRID(table), retval->name_entry, 1, 0, 1, 1);
 
     g_signal_connect (retval->name_entry, "changed",
                       G_CALLBACK (gnc_ui_qif_import_comm_changed_cb), wind);
@@ -910,10 +914,14 @@ new_security_page(SCM security_hash_key, gnc_commodity *comm, QIFImportWindow *w
     gtk_widget_set_tooltip_text(label, mnemonic_tooltip);
     gtk_widget_set_tooltip_text(retval->mnemonic_entry, mnemonic_tooltip);
 
-    gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2,
-                     GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
-    gtk_table_attach_defaults(GTK_TABLE(table), retval->mnemonic_entry,
-                              1, 2, 1, 2);
+    gtk_grid_attach (GTK_GRID(table), label, 0, 1, 1, 1);
+    gtk_widget_set_halign (label, GTK_ALIGN_FILL);
+    gtk_widget_set_valign (label, GTK_ALIGN_FILL);
+    gtk_widget_set_hexpand (label, TRUE);
+    gtk_widget_set_vexpand (label, FALSE);
+    g_object_set (label, "margin", 0, NULL);
+
+    gtk_grid_attach (GTK_GRID(table), retval->mnemonic_entry, 1, 1, 1, 1);
 
     g_signal_connect (retval->mnemonic_entry, "changed",
                       G_CALLBACK (gnc_ui_qif_import_comm_changed_cb), wind);
@@ -935,10 +943,14 @@ new_security_page(SCM security_hash_key, gnc_commodity *comm, QIFImportWindow *w
     gtk_widget_set_tooltip_text(label, namespace_tooltip);
     gtk_widget_set_tooltip_text(retval->namespace_combo, namespace_tooltip);
 
-    gtk_table_attach(GTK_TABLE(table), label, 0, 1, 2, 3,
-                     GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
-    gtk_table_attach_defaults(GTK_TABLE(table), retval->namespace_combo,
-                              1, 2, 2, 3);
+    gtk_grid_attach (GTK_GRID(table), label, 0, 2, 1, 1);
+    gtk_widget_set_halign (label, GTK_ALIGN_FILL);
+    gtk_widget_set_valign (label, GTK_ALIGN_FILL);
+    gtk_widget_set_hexpand (label, TRUE);
+    gtk_widget_set_vexpand (label, FALSE);
+    g_object_set (label, "margin", 0, NULL);
+
+    gtk_grid_attach (GTK_GRID(table), retval->namespace_combo, 1, 2, 1, 1);
 
     gtk_container_set_border_width(GTK_CONTAINER(page), 12);
 
@@ -3384,7 +3396,7 @@ get_assistant_widgets(QIFImportWindow *wind, GtkBuilder *builder)
     g_return_if_fail(wind);
     g_return_if_fail(builder);
 
-    wind->window             = GTK_WIDGET(gtk_builder_get_object (builder, "QIF Import Assistant"));
+    wind->window             = GTK_WIDGET(gtk_builder_get_object (builder, "qif_import_assistant"));
     wind->filename_entry     = GTK_WIDGET(gtk_builder_get_object (builder, "qif_filename_entry"));
     wind->load_pause         = GTK_WIDGET(gtk_builder_get_object (builder, "load_progress_pause"));
     wind->load_start         = GTK_WIDGET(gtk_builder_get_object (builder, "load_progress_start"));
@@ -3580,7 +3592,7 @@ gnc_ui_qif_import_assistant_make(QIFImportWindow *qif_win)
     builder = gtk_builder_new();
     gnc_builder_add_from_file (builder, "assistant-qif-import.glade", "currency_liststore");
     gnc_builder_add_from_file (builder, "assistant-qif-import.glade", "date_format_liststore");
-    gnc_builder_add_from_file (builder, "assistant-qif-import.glade", "QIF Import Assistant");
+    gnc_builder_add_from_file (builder, "assistant-qif-import.glade", "qif_import_assistant");
 
     qif_win->new_namespaces       = NULL;
     qif_win->selected_transaction = 0;
diff --git a/src/import-export/qif-imp/assistant-qif-import.glade b/src/import-export/qif-imp/assistant-qif-import.glade
index 8936ac1..b35901b 100644
--- a/src/import-export/qif-imp/assistant-qif-import.glade
+++ b/src/import-export/qif-imp/assistant-qif-import.glade
@@ -1,14 +1,36 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkAssistant" id="QIF Import Assistant">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkListStore" id="currency_liststore">
+    <columns>
+      <!-- column-name item -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Dummy</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="date_format_liststore">
+    <columns>
+      <!-- column-name item -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Dummy</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkAssistant" id="qif_import_assistant">
     <property name="can_focus">False</property>
     <property name="border_width">12</property>
     <property name="title" translatable="yes">QIF Import Assistant</property>
-    <signal name="close" handler="gnc_ui_qif_import_close_cb" swapped="no"/>
     <signal name="apply" handler="gnc_ui_qif_import_finish_cb" swapped="no"/>
     <signal name="cancel" handler="gnc_ui_qif_import_cancel_cb" swapped="no"/>
+    <signal name="close" handler="gnc_ui_qif_import_close_cb" swapped="no"/>
     <signal name="prepare" handler="gnc_ui_qif_import_prepare_cb" swapped="no"/>
     <child>
       <object class="GtkLabel" id="start_page">
@@ -25,13 +47,15 @@ Click "Forward" to start loading your QIF data, or "Cancel" to abort the process
         <property name="page_type">intro</property>
         <property name="title" translatable="yes">Import QIF files</property>
         <property name="complete">True</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="load_file_page">
+      <object class="GtkBox" id="load_file_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label822">
             <property name="visible">True</property>
@@ -50,7 +74,7 @@ You will have the opportunity to load as many files as you wish, so don't worry
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox69">
+          <object class="GtkBox" id="hbox69">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
@@ -60,12 +84,9 @@ You will have the opportunity to load as many files as you wish, so don't worry
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="editable">False</property>
-                <property name="invisible_char">&#x25CF;</property>
-                <property name="invisible_char_set">True</property>
+                <property name="invisible_char">●</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
               </object>
               <packing>
                 <property name="expand">True</property>
@@ -79,7 +100,6 @@ You will have the opportunity to load as many files as you wish, so don't worry
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_ui_qif_import_select_file_cb" swapped="no"/>
               </object>
@@ -99,15 +119,16 @@ You will have the opportunity to load as many files as you wish, so don't worry
         </child>
       </object>
       <packing>
-        <property name="page_type">content</property>
         <property name="title" translatable="yes">Select a QIF file to load</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="load_progress_page">
+      <object class="GtkBox" id="load_progress_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">12</property>
         <child>
           <object class="GtkLabel" id="load_progress_primary">
@@ -137,9 +158,10 @@ You will have the opportunity to load as many files as you wish, so don't worry
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="load_progress_vbox1">
+          <object class="GtkBox" id="load_progress_vbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
               <object class="GtkProgressBar" id="load_progress_bar">
                 <property name="visible">True</property>
@@ -156,7 +178,6 @@ You will have the opportunity to load as many files as you wish, so don't worry
               <object class="GtkLabel" id="load_progress_sub">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
                 <property name="label"><span style="italic">Sub-operation text</span></property>
                 <property name="use_markup">True</property>
                 <property name="wrap">True</property>
@@ -168,7 +189,7 @@ You will have the opportunity to load as many files as you wish, so don't worry
               </packing>
             </child>
             <child>
-              <object class="GtkHButtonBox" id="load_progress_hbuttonbox1">
+              <object class="GtkButtonBox" id="load_progress_hbuttonbox1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="layout_style">end</property>
@@ -178,7 +199,6 @@ You will have the opportunity to load as many files as you wish, so don't worry
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">True</property>
-                    <property name="use_action_appearance">False</property>
                     <property name="use_underline">True</property>
                     <signal name="clicked" handler="gnc_ui_qif_import_load_progress_start_cb" swapped="no"/>
                   </object>
@@ -195,7 +215,6 @@ You will have the opportunity to load as many files as you wish, so don't worry
                     <property name="can_focus">True</property>
                     <property name="can_default">True</property>
                     <property name="receives_default">True</property>
-                    <property name="use_action_appearance">False</property>
                     <property name="use_stock">True</property>
                     <signal name="clicked" handler="gnc_ui_qif_import_load_progress_pause_cb" swapped="no"/>
                   </object>
@@ -224,8 +243,6 @@ You will have the opportunity to load as many files as you wish, so don't worry
           <object class="GtkScrolledWindow" id="scrolledwindow25">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">automatic</property>
-            <property name="vscrollbar_policy">automatic</property>
             <property name="shadow_type">in</property>
             <child>
               <object class="GtkTextView" id="load_progress_log">
@@ -246,15 +263,16 @@ You will have the opportunity to load as many files as you wish, so don't worry
         </child>
       </object>
       <packing>
-        <property name="page_type">content</property>
         <property name="title" translatable="yes">Load QIF files</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="date_format_page">
+      <object class="GtkBox" id="date_format_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label841">
             <property name="visible">True</property>
@@ -307,15 +325,16 @@ Please select a date format for the file. QIF files created by European software
         </child>
       </object>
       <packing>
-        <property name="page_type">content</property>
         <property name="title" translatable="yes">Set a date format for this QIF file</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="account_name_page">
+      <object class="GtkBox" id="account_name_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label823">
             <property name="visible">True</property>
@@ -334,14 +353,13 @@ Please enter a name for the account. If the file was exported from another accou
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox70">
+          <object class="GtkBox" id="hbox70">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
               <object class="GtkLabel" id="label824">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">1</property>
                 <property name="label" translatable="yes">Account name:</property>
                 <property name="justify">center</property>
               </object>
@@ -356,12 +374,9 @@ Please enter a name for the account. If the file was exported from another accou
               <object class="GtkEntry" id="qif_account_entry">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="invisible_char">&#x25CF;</property>
-                <property name="invisible_char_set">True</property>
+                <property name="invisible_char">●</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
                 <signal name="changed" handler="gnc_ui_qif_import_acct_valid_cb" swapped="no"/>
               </object>
               <packing>
@@ -393,23 +408,22 @@ Please enter a name for the account. If the file was exported from another accou
         </child>
       </object>
       <packing>
-        <property name="page_type">content</property>
         <property name="title" translatable="yes">Set the default QIF account name</property>
         <property name="complete">True</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="loaded_files_page">
+      <object class="GtkBox" id="loaded_files_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">4</property>
         <child>
           <object class="GtkScrolledWindow" id="scrolledwindow26">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">automatic</property>
-            <property name="vscrollbar_policy">automatic</property>
             <property name="shadow_type">in</property>
             <child>
               <object class="GtkTreeView" id="selected_file_view">
@@ -417,6 +431,9 @@ Please enter a name for the account. If the file was exported from another accou
                 <property name="can_focus">True</property>
                 <property name="headers_visible">False</property>
                 <property name="rules_hint">True</property>
+                <child internal-child="selection">
+                  <object class="GtkTreeSelection" id="treeview-selection1"/>
+                </child>
               </object>
             </child>
           </object>
@@ -443,7 +460,7 @@ Click "Forward" to finish loading files and move to the next step of the QIF imp
           </packing>
         </child>
         <child>
-          <object class="GtkHButtonBox" id="hbox68">
+          <object class="GtkButtonBox" id="hbox68">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">spread</property>
@@ -453,7 +470,6 @@ Click "Forward" to finish loading files and move to the next step of the QIF imp
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_ui_qif_import_unload_file_cb" swapped="no"/>
               </object>
@@ -469,7 +485,6 @@ Click "Forward" to finish loading files and move to the next step of the QIF imp
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_ui_qif_import_load_another_cb" swapped="no"/>
               </object>
@@ -490,13 +505,15 @@ Click "Forward" to finish loading files and move to the next step of the QIF imp
       <packing>
         <property name="title" translatable="yes">QIF files you have loaded</property>
         <property name="complete">True</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="account_doc_page">
+      <object class="GtkBox" id="account_doc_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label830">
             <property name="visible">True</property>
@@ -515,21 +532,20 @@ Note that GnuCash will be creating many accounts that did not exist on your othe
         </child>
       </object>
       <packing>
-        <property name="page_type">content</property>
         <property name="title" translatable="yes">Accounts and stock holdings</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="account_match_page">
+      <object class="GtkBox" id="account_match_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label7609">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
-            <property name="xpad">5</property>
             <property name="label" translatable="yes">_Select the matchings you want to change:</property>
             <property name="use_underline">True</property>
             <property name="mnemonic_widget">account_page_view</property>
@@ -545,14 +561,15 @@ Note that GnuCash will be creating many accounts that did not exist on your othe
           <object class="GtkScrolledWindow" id="scrolledwindow11">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">automatic</property>
-            <property name="vscrollbar_policy">automatic</property>
             <property name="shadow_type">in</property>
             <child>
               <object class="GtkTreeView" id="account_page_view">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="rules_hint">True</property>
+                <child internal-child="selection">
+                  <object class="GtkTreeSelection" id="treeview-selection2"/>
+                </child>
               </object>
             </child>
           </object>
@@ -563,14 +580,13 @@ Note that GnuCash will be creating many accounts that did not exist on your othe
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox7609">
+          <object class="GtkBox" id="hbox7609">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
               <object class="GtkLabel" id="label7610">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
                 <property name="label" translatable="yes">Matchings selected:</property>
                 <property name="wrap">True</property>
               </object>
@@ -584,7 +600,6 @@ Note that GnuCash will be creating many accounts that did not exist on your othe
               <object class="GtkLabel" id="account_page_count">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
                 <property name="label">0</property>
                 <property name="wrap">True</property>
               </object>
@@ -602,7 +617,6 @@ Note that GnuCash will be creating many accounts that did not exist on your othe
                 <property name="sensitive">False</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_ui_qif_import_account_rematch_cb" swapped="no"/>
               </object>
@@ -621,15 +635,16 @@ Note that GnuCash will be creating many accounts that did not exist on your othe
         </child>
       </object>
       <packing>
-        <property name="page_type">content</property>
         <property name="title" translatable="yes">Match QIF accounts with GnuCash accounts</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="category_doc_page">
+      <object class="GtkBox" id="category_doc_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label840">
             <property name="visible">True</property>
@@ -649,21 +664,20 @@ If you change your mind later, you can reorganize the account structure safely w
         </child>
       </object>
       <packing>
-        <property name="page_type">content</property>
         <property name="title" translatable="yes">Income and Expense categories</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="category_match_page">
+      <object class="GtkBox" id="category_match_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label7611">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
-            <property name="xpad">5</property>
             <property name="label" translatable="yes">_Select the matchings you want to change:</property>
             <property name="use_underline">True</property>
             <property name="mnemonic_widget">category_page_view</property>
@@ -679,14 +693,15 @@ If you change your mind later, you can reorganize the account structure safely w
           <object class="GtkScrolledWindow" id="scrolledwindow12">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">automatic</property>
-            <property name="vscrollbar_policy">automatic</property>
             <property name="shadow_type">in</property>
             <child>
               <object class="GtkTreeView" id="category_page_view">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="rules_hint">True</property>
+                <child internal-child="selection">
+                  <object class="GtkTreeSelection" id="treeview-selection3"/>
+                </child>
               </object>
             </child>
           </object>
@@ -697,14 +712,13 @@ If you change your mind later, you can reorganize the account structure safely w
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox7612">
+          <object class="GtkBox" id="hbox7612">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
               <object class="GtkLabel" id="label7613">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
                 <property name="label" translatable="yes">Matchings selected:</property>
                 <property name="wrap">True</property>
               </object>
@@ -718,7 +732,6 @@ If you change your mind later, you can reorganize the account structure safely w
               <object class="GtkLabel" id="category_page_count">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
                 <property name="label">0</property>
                 <property name="wrap">True</property>
               </object>
@@ -736,7 +749,6 @@ If you change your mind later, you can reorganize the account structure safely w
                 <property name="sensitive">False</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_ui_qif_import_category_rematch_cb" swapped="no"/>
               </object>
@@ -755,15 +767,16 @@ If you change your mind later, you can reorganize the account structure safely w
         </child>
       </object>
       <packing>
-        <property name="page_type">content</property>
         <property name="title" translatable="yes">Match QIF categories with GnuCash accounts</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="memo_doc_page">
+      <object class="GtkBox" id="memo_doc_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label847707">
             <property name="visible">True</property>
@@ -781,21 +794,20 @@ In the following page, you will see the text that appears in the Payee and Memo
         </child>
       </object>
       <packing>
-        <property name="page_type">content</property>
         <property name="title" translatable="yes">Payees and memos</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="memo_match_page">
+      <object class="GtkBox" id="memo_match_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label7614">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
-            <property name="xpad">5</property>
             <property name="label" translatable="yes">_Select the matchings you want to change:</property>
             <property name="use_underline">True</property>
             <property name="mnemonic_widget">memo_page_view</property>
@@ -811,14 +823,15 @@ In the following page, you will see the text that appears in the Payee and Memo
           <object class="GtkScrolledWindow" id="scrolledwindow1">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">automatic</property>
-            <property name="vscrollbar_policy">automatic</property>
             <property name="shadow_type">in</property>
             <child>
               <object class="GtkTreeView" id="memo_page_view">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="rules_hint">True</property>
+                <child internal-child="selection">
+                  <object class="GtkTreeSelection" id="treeview-selection4"/>
+                </child>
               </object>
             </child>
           </object>
@@ -829,14 +842,13 @@ In the following page, you will see the text that appears in the Payee and Memo
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox7615">
+          <object class="GtkBox" id="hbox7615">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
               <object class="GtkLabel" id="label7616">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
                 <property name="label" translatable="yes">Matchings selected:</property>
                 <property name="wrap">True</property>
               </object>
@@ -850,7 +862,6 @@ In the following page, you will see the text that appears in the Payee and Memo
               <object class="GtkLabel" id="memo_page_count">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
                 <property name="label">0</property>
                 <property name="wrap">True</property>
               </object>
@@ -868,7 +879,6 @@ In the following page, you will see the text that appears in the Payee and Memo
                 <property name="sensitive">False</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_ui_qif_import_memo_rematch_cb" swapped="no"/>
               </object>
@@ -887,20 +897,20 @@ In the following page, you will see the text that appears in the Payee and Memo
         </child>
       </object>
       <packing>
-        <property name="page_type">content</property>
         <property name="title" translatable="yes">Match payees/memos to GnuCash accounts</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="currency_book_option_page">
+      <object class="GtkBox" id="currency_book_option_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label831">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="yalign">0</property>
             <property name="label" translatable="yes">The QIF importer cannot currently handle multi-currency QIF files. All the accounts you are importing must be denominated in the same currency.
 </property>
             <property name="justify">center</property>
@@ -916,9 +926,6 @@ In the following page, you will see the text that appears in the Payee and Memo
           <object class="GtkLabel" id="label832">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
-            <property name="yalign">0</property>
-            <property name="xpad">4</property>
             <property name="label" translatable="yes">_Select the currency to use for all imported transactions:</property>
             <property name="use_underline">True</property>
           </object>
@@ -930,7 +937,7 @@ In the following page, you will see the text that appears in the Payee and Memo
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="currency_picker_hbox">
+          <object class="GtkBox" id="currency_picker_hbox">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
@@ -960,7 +967,7 @@ In the following page, you will see the text that appears in the Payee and Memo
           <object class="GtkLabel" id="book_option_message_label">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="label" translatable="yes">Since you are creating a new file, you will next see a dialog for setting book options. These can affect how GnuCash imports transactions. If you come back to this page without cancelling and starting over, the dialog for setting book options will not be shown a second time when you go forward. You can access it directly from the menu via File->Properties.</property>
+            <property name="label" translatable="yes">Since you are creating a new file, you will next see a dialog for setting book options. These can affect how GnuCash imports transactions. If you come back to this page without cancelling and starting over, the dialog for setting book options will not be shown a second time when you go forward. You can access it directly from the menu via File->Properties.</property>
             <property name="wrap">True</property>
           </object>
           <packing>
@@ -972,13 +979,15 @@ In the following page, you will see the text that appears in the Payee and Memo
       </object>
       <packing>
         <property name="title" translatable="yes">Choose the QIF file currency and select Book Options</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="commodity_doc_page">
+      <object class="GtkBox" id="commodity_doc_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label833">
             <property name="visible">True</property>
@@ -998,15 +1007,16 @@ If you don't see your exchange listed, or none of the available choices are appr
         </child>
       </object>
       <packing>
-        <property name="page_type">content</property>
         <property name="title" translatable="yes">Tradable commodities</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="convert_progress_page">
+      <object class="GtkBox" id="convert_progress_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">12</property>
         <child>
           <object class="GtkLabel" id="convert_progress_primary">
@@ -1036,9 +1046,10 @@ If you don't see your exchange listed, or none of the available choices are appr
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="convert_progress_vbox1">
+          <object class="GtkBox" id="convert_progress_vbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
               <object class="GtkProgressBar" id="convert_progress_bar">
                 <property name="visible">True</property>
@@ -1055,7 +1066,6 @@ If you don't see your exchange listed, or none of the available choices are appr
               <object class="GtkLabel" id="convert_progress_sub">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
                 <property name="label"><span style="italic">Sub-operation text</span></property>
                 <property name="use_markup">True</property>
                 <property name="wrap">True</property>
@@ -1067,7 +1077,7 @@ If you don't see your exchange listed, or none of the available choices are appr
               </packing>
             </child>
             <child>
-              <object class="GtkHButtonBox" id="convert_progress_hbuttonbox1">
+              <object class="GtkButtonBox" id="convert_progress_hbuttonbox1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="layout_style">end</property>
@@ -1077,7 +1087,6 @@ If you don't see your exchange listed, or none of the available choices are appr
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">True</property>
-                    <property name="use_action_appearance">False</property>
                     <property name="use_underline">True</property>
                     <signal name="clicked" handler="gnc_ui_qif_import_convert_progress_start_cb" swapped="no"/>
                   </object>
@@ -1094,7 +1103,6 @@ If you don't see your exchange listed, or none of the available choices are appr
                     <property name="can_focus">True</property>
                     <property name="can_default">True</property>
                     <property name="receives_default">True</property>
-                    <property name="use_action_appearance">False</property>
                     <property name="use_stock">True</property>
                     <signal name="clicked" handler="gnc_ui_qif_import_convert_progress_pause_cb" swapped="no"/>
                   </object>
@@ -1123,8 +1131,6 @@ If you don't see your exchange listed, or none of the available choices are appr
           <object class="GtkScrolledWindow" id="scrolledwindow2">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">automatic</property>
-            <property name="vscrollbar_policy">automatic</property>
             <property name="shadow_type">in</property>
             <child>
               <object class="GtkTextView" id="convert_progress_log">
@@ -1146,13 +1152,15 @@ If you don't see your exchange listed, or none of the available choices are appr
       </object>
       <packing>
         <property name="title" translatable="yes">QIF Import</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="duplicates_doc_page">
+      <object class="GtkBox" id="duplicates_doc_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">5</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label847694">
             <property name="visible">True</property>
@@ -1173,19 +1181,21 @@ Click "Forward" to review the possible matches.</property>
         </child>
       </object>
       <packing>
-        <property name="page_type">content</property>
         <property name="title" translatable="yes">Match existing transactions</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="duplicates_match_page">
+      <object class="GtkBox" id="duplicates_match_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
-          <object class="GtkVBox" id="vbox94">
+          <object class="GtkBox" id="vbox94">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <property name="spacing">2</property>
             <child>
               <object class="GtkFrame" id="frame45">
@@ -1197,14 +1207,15 @@ Click "Forward" to review the possible matches.</property>
                   <object class="GtkScrolledWindow" id="scrolledwindow22">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">automatic</property>
-                    <property name="vscrollbar_policy">automatic</property>
                     <property name="shadow_type">in</property>
                     <child>
                       <object class="GtkTreeView" id="new_transaction_view">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="rules_hint">True</property>
+                        <child internal-child="selection">
+                          <object class="GtkTreeSelection" id="treeview-selection5"/>
+                        </child>
                       </object>
                     </child>
                   </object>
@@ -1235,14 +1246,15 @@ Click "Forward" to review the possible matches.</property>
                   <object class="GtkScrolledWindow" id="scrolledwindow23">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">automatic</property>
-                    <property name="vscrollbar_policy">automatic</property>
                     <property name="shadow_type">in</property>
                     <child>
                       <object class="GtkTreeView" id="old_transaction_view">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="rules_hint">True</property>
+                        <child internal-child="selection">
+                          <object class="GtkTreeSelection" id="treeview-selection6"/>
+                        </child>
                       </object>
                     </child>
                   </object>
@@ -1272,8 +1284,8 @@ Click "Forward" to review the possible matches.</property>
         </child>
       </object>
       <packing>
-        <property name="page_type">content</property>
         <property name="title" translatable="yes">Select possible duplicates</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
@@ -1290,6 +1302,7 @@ Click "Cancel" to abort the QIF import process.</property>
       <packing>
         <property name="page_type">confirm</property>
         <property name="title" translatable="yes">Update your GnuCash accounts</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
@@ -1303,29 +1316,16 @@ Click "Cancel" to abort the QIF import process.</property>
         <property name="page_type">summary</property>
         <property name="title" translatable="yes">Qif Import Summary</property>
         <property name="complete">True</property>
+        <property name="has_padding">False</property>
+      </packing>
+    </child>
+    <child internal-child="action_area">
+      <object class="GtkBox" id="assistant-action_area2">
+        <property name="can_focus">False</property>
+      </object>
+      <packing>
+        <property name="has_padding">False</property>
       </packing>
     </child>
-  </object>
-  <object class="GtkListStore" id="currency_liststore">
-    <columns>
-      <!-- column-name item -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Dummy</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="date_format_liststore">
-    <columns>
-      <!-- column-name item -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Dummy</col>
-      </row>
-    </data>
   </object>
 </interface>

commit 2964189bd0c4133813d3d4a1409734fa6e64506c
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Thu Jun 22 11:14:12 2017 +0100

    Files linked to assistant-csv-trans-import.glade

diff --git a/src/import-export/csv-imp/assistant-csv-trans-import.cpp b/src/import-export/csv-imp/assistant-csv-trans-import.cpp
index eb5adc6..473c77f 100644
--- a/src/import-export/csv-imp/assistant-csv-trans-import.cpp
+++ b/src/import-export/csv-imp/assistant-csv-trans-import.cpp
@@ -389,8 +389,8 @@ CsvImpTransAssist::CsvImpTransAssist ()
     gnc_builder_add_from_file  (builder , "assistant-csv-trans-import.glade", "start_row_adj");
     gnc_builder_add_from_file  (builder , "assistant-csv-trans-import.glade", "end_row_adj");
     gnc_builder_add_from_file  (builder , "assistant-csv-trans-import.glade", "account_match_store");
-    gnc_builder_add_from_file  (builder , "assistant-csv-trans-import.glade", "CSV Transaction Assistant");
-    csv_imp_asst = GTK_ASSISTANT(gtk_builder_get_object (builder, "CSV Transaction Assistant"));
+    gnc_builder_add_from_file  (builder , "assistant-csv-trans-import.glade", "csv_transaction_assistant");
+    csv_imp_asst = GTK_ASSISTANT(gtk_builder_get_object (builder, "csv_transaction_assistant"));
 
     /* Enable buttons on all page. */
     gtk_assistant_set_page_complete (csv_imp_asst,
@@ -420,12 +420,12 @@ CsvImpTransAssist::CsvImpTransAssist ()
     file_chooser = gtk_file_chooser_widget_new (GTK_FILE_CHOOSER_ACTION_OPEN);
     g_signal_connect (G_OBJECT(file_chooser), "file-activated",
                       G_CALLBACK(csv_tximp_file_confirm_cb), this);
-    auto button = gtk_button_new_from_stock (GTK_STOCK_OK);
+    auto button = gtk_button_new_with_label (_("OK"));
     gtk_widget_set_size_request (button, 100, -1);
     gtk_widget_show (button);
     auto h_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
     gtk_box_set_homogeneous (GTK_BOX (h_box), TRUE);
-
+    gtk_widget_set_hexpand (GTK_WIDGET(h_box), TRUE);
     gtk_box_pack_start (GTK_BOX(h_box), button, FALSE, FALSE, 0);
     gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER(file_chooser), h_box);
     g_signal_connect (G_OBJECT(button), "clicked",
diff --git a/src/import-export/csv-imp/assistant-csv-trans-import.glade b/src/import-export/csv-imp/assistant-csv-trans-import.glade
index a71d32e..a9303f3 100644
--- a/src/import-export/csv-imp/assistant-csv-trans-import.glade
+++ b/src/import-export/csv-imp/assistant-csv-trans-import.glade
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.24"/>
-  <!-- interface-naming-policy project-wide -->
+  <requires lib="gtk+" version="3.10"/>
   <object class="GtkListStore" id="account_match_store">
     <columns>
       <!-- column-name import_string -->
@@ -22,21 +22,23 @@
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
   </object>
-  <object class="GtkAssistant" id="CSV Transaction Assistant">
+  <object class="GtkAssistant" id="csv_transaction_assistant">
     <property name="can_focus">False</property>
     <property name="border_width">12</property>
     <property name="title" translatable="yes">CSV Transaction Import</property>
     <property name="default_width">400</property>
     <property name="default_height">500</property>
+    <signal name="apply" handler="csv_tximp_assist_finish_cb" swapped="no"/>
+    <signal name="cancel" handler="csv_tximp_assist_cancel_cb" swapped="no"/>
     <signal name="close" handler="csv_tximp_assist_close_cb" swapped="no"/>
     <signal name="destroy" handler="csv_tximp_assist_destroy_cb" swapped="no"/>
-    <signal name="apply" handler="csv_tximp_assist_finish_cb" swapped="no"/>
     <signal name="prepare" handler="csv_tximp_assist_prepare_cb" swapped="no"/>
-    <signal name="cancel" handler="csv_tximp_assist_cancel_cb" swapped="no"/>
     <child>
       <object class="GtkLabel" id="start_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="halign">start</property>
+        <property name="valign">start</property>
         <property name="label" translatable="yes">This assistant will help you import a delimited file containing a list of transactions. It supports both token separated files (such as comma separated or semi-colon separated) and fixed width data.
 
 For a successful import three columns have to be available in the import data:
@@ -56,13 +58,15 @@ Lastly, for repeated imports the preview page has buttons to Load and Save the s
       <packing>
         <property name="page_type">intro</property>
         <property name="complete">True</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="file_page">
+      <object class="GtkBox" id="file_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label7">
             <property name="visible">True</property>
@@ -81,29 +85,23 @@ Select location and file name for the Import, then click 'OK'...
       </object>
       <packing>
         <property name="title" translatable="yes">Select File for Import</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="preview_page">
+      <object class="GtkBox" id="preview_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">2</property>
         <child>
-          <object class="GtkTable" id="table1">
+          <object class="GtkGrid" id="table1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="n_rows">2</property>
-            <property name="n_columns">3</property>
-            <property name="column_spacing">5</property>
             <property name="row_spacing">5</property>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
+            <property name="column_spacing">5</property>
             <child>
               <object class="GtkFrame" id="frame6">
                 <property name="visible">True</property>
@@ -118,7 +116,7 @@ Select location and file name for the Import, then click 'OK'...
                     <property name="left_padding">5</property>
                     <property name="right_padding">5</property>
                     <child>
-                      <object class="GtkHBox" id="combo_hbox">
+                      <object class="GtkBox" id="combo_hbox">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
@@ -183,8 +181,8 @@ Select location and file name for the Import, then click 'OK'...
                 </child>
               </object>
               <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
@@ -202,15 +200,14 @@ Select location and file name for the Import, then click 'OK'...
                     <property name="left_padding">5</property>
                     <property name="right_padding">5</property>
                     <child>
-                      <object class="GtkVBox" id="vbox1">
+                      <object class="GtkBox" id="vbox1">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="orientation">vertical</property>
                         <child>
-                          <object class="GtkTable" id="table4">
+                          <object class="GtkGrid" id="table4">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="n_rows">2</property>
-                            <property name="n_columns">2</property>
                             <child>
                               <object class="GtkRadioButton" id="csv_button">
                                 <property name="label" translatable="yes">Separators</property>
@@ -218,10 +215,15 @@ Select location and file name for the Import, then click 'OK'...
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
                                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="halign">start</property>
                                 <property name="active">True</property>
                                 <property name="draw_indicator">True</property>
                                 <signal name="toggled" handler="csv_tximp_preview_sep_fixed_sel_cb" swapped="no"/>
                               </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
+                              </packing>
                             </child>
                             <child>
                               <object class="GtkRadioButton" id="fixed_button">
@@ -230,26 +232,29 @@ Select location and file name for the Import, then click 'OK'...
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
                                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="halign">start</property>
                                 <property name="draw_indicator">True</property>
                                 <property name="group">csv_button</property>
                               </object>
                               <packing>
                                 <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
+                                <property name="top_attach">0</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHSeparator" id="hseparator1">
+                              <object class="GtkSeparator" id="hseparator1">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                               </object>
                               <packing>
-                                <property name="right_attach">2</property>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="width">3</property>
                               </packing>
                             </child>
+                            <child>
+                              <placeholder/>
+                            </child>
                           </object>
                           <packing>
                             <property name="expand">False</property>
@@ -258,12 +263,10 @@ Select location and file name for the Import, then click 'OK'...
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkTable" id="separator_table">
+                          <object class="GtkGrid" id="separator_table">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                            <property name="n_rows">3</property>
-                            <property name="n_columns">3</property>
                             <property name="column_spacing">3</property>
                             <child>
                               <object class="GtkCheckButton" id="space_cbutton">
@@ -272,12 +275,13 @@ Select location and file name for the Import, then click 'OK'...
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
                                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="halign">start</property>
                                 <property name="draw_indicator">True</property>
                                 <signal name="toggled" handler="csv_tximp_preview_sep_button_cb" swapped="no"/>
                               </object>
                               <packing>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
                               </packing>
                             </child>
                             <child>
@@ -287,14 +291,13 @@ Select location and file name for the Import, then click 'OK'...
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
                                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="halign">start</property>
                                 <property name="draw_indicator">True</property>
                                 <signal name="toggled" handler="csv_tximp_preview_sep_button_cb" swapped="no"/>
                               </object>
                               <packing>
                                 <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="top_attach">0</property>
                               </packing>
                             </child>
                             <child>
@@ -304,15 +307,14 @@ Select location and file name for the Import, then click 'OK'...
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
                                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="halign">start</property>
                                 <property name="active">True</property>
                                 <property name="draw_indicator">True</property>
                                 <signal name="toggled" handler="csv_tximp_preview_sep_button_cb" swapped="no"/>
                               </object>
                               <packing>
                                 <property name="left_attach">2</property>
-                                <property name="right_attach">3</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="top_attach">0</property>
                               </packing>
                             </child>
                             <child>
@@ -322,14 +324,13 @@ Select location and file name for the Import, then click 'OK'...
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
                                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="halign">start</property>
                                 <property name="draw_indicator">True</property>
                                 <signal name="toggled" handler="csv_tximp_preview_sep_button_cb" swapped="no"/>
                               </object>
                               <packing>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
@@ -339,16 +340,13 @@ Select location and file name for the Import, then click 'OK'...
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
                                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="halign">start</property>
                                 <property name="draw_indicator">True</property>
                                 <signal name="toggled" handler="csv_tximp_preview_sep_button_cb" swapped="no"/>
                               </object>
                               <packing>
                                 <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
                                 <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
@@ -358,16 +356,13 @@ Select location and file name for the Import, then click 'OK'...
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
                                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="halign">start</property>
                                 <property name="draw_indicator">True</property>
                                 <signal name="toggled" handler="csv_tximp_preview_sep_button_cb" swapped="no"/>
                               </object>
                               <packing>
                                 <property name="left_attach">2</property>
-                                <property name="right_attach">3</property>
                                 <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
@@ -377,14 +372,13 @@ Select location and file name for the Import, then click 'OK'...
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
                                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="halign">start</property>
                                 <property name="draw_indicator">True</property>
                                 <signal name="toggled" handler="csv_tximp_preview_sep_button_cb" swapped="no"/>
                               </object>
                               <packing>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
@@ -393,22 +387,18 @@ Select location and file name for the Import, then click 'OK'...
                                 <property name="can_focus">True</property>
                                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                                 <property name="invisible_char">●</property>
-                                <property name="invisible_char_set">True</property>
                                 <property name="primary_icon_activatable">False</property>
                                 <property name="secondary_icon_activatable">False</property>
-                                <property name="primary_icon_sensitive">True</property>
-                                <property name="secondary_icon_sensitive">True</property>
                                 <signal name="changed" handler="csv_tximp_preview_sep_button_cb" swapped="no"/>
                               </object>
                               <packing>
                                 <property name="left_attach">1</property>
-                                <property name="right_attach">3</property>
                                 <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
+                            <child>
+                              <placeholder/>
+                            </child>
                           </object>
                           <packing>
                             <property name="expand">False</property>
@@ -417,7 +407,7 @@ Select location and file name for the Import, then click 'OK'...
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkHBox" id="fw_instructions_hbox">
+                          <object class="GtkBox" id="fw_instructions_hbox">
                             <property name="can_focus">False</property>
                             <property name="no_show_all">True</property>
                             <child>
@@ -425,7 +415,6 @@ Select location and file name for the Import, then click 'OK'...
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                <property name="yalign">0</property>
                                 <property name="stock">gtk-dialog-info</property>
                               </object>
                               <packing>
@@ -436,69 +425,69 @@ Select location and file name for the Import, then click 'OK'...
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkTable" id="table2">
+                              <object class="GtkGrid" id="table2">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="n_rows">2</property>
-                                <property name="n_columns">2</property>
                                 <child>
                                   <object class="GtkLabel" id="label2">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="yalign">0</property>
-                                    <property name="xpad">5</property>
                                     <property name="label" translatable="yes">•</property>
                                     <property name="use_markup">True</property>
                                     <property name="wrap">True</property>
                                   </object>
+                                  <packing>
+                                    <property name="left_attach">0</property>
+                                    <property name="top_attach">0</property>
+                                  </packing>
                                 </child>
                                 <child>
                                   <object class="GtkLabel" id="label3">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
+                                    <property name="halign">start</property>
                                     <property name="label" translatable="yes">Double-click anywhere on the table below to insert a column break</property>
                                     <property name="use_markup">True</property>
                                     <property name="wrap">True</property>
                                   </object>
                                   <packing>
                                     <property name="left_attach">1</property>
-                                    <property name="right_attach">2</property>
-                                    <property name="y_options"/>
+                                    <property name="top_attach">0</property>
                                   </packing>
                                 </child>
                                 <child>
                                   <object class="GtkLabel" id="label4">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="yalign">0</property>
-                                    <property name="xpad">5</property>
                                     <property name="label" translatable="yes">•</property>
                                     <property name="use_markup">True</property>
                                     <property name="wrap">True</property>
                                   </object>
                                   <packing>
+                                    <property name="left_attach">2</property>
                                     <property name="top_attach">1</property>
-                                    <property name="bottom_attach">2</property>
                                   </packing>
                                 </child>
                                 <child>
                                   <object class="GtkLabel" id="label5">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
+                                    <property name="halign">start</property>
                                     <property name="label" translatable="yes">Right-click anywhere in a column to modify it (widen, narrow, merge)</property>
                                     <property name="use_markup">True</property>
                                     <property name="wrap">True</property>
                                   </object>
                                   <packing>
                                     <property name="left_attach">1</property>
-                                    <property name="right_attach">2</property>
                                     <property name="top_attach">1</property>
-                                    <property name="bottom_attach">2</property>
-                                    <property name="y_options"/>
                                   </packing>
                                 </child>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                                <child>
+                                  <placeholder/>
+                                </child>
                               </object>
                               <packing>
                                 <property name="expand">True</property>
@@ -514,17 +503,18 @@ Select location and file name for the Import, then click 'OK'...
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkTable" id="table5">
+                          <object class="GtkGrid" id="table5">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="n_rows">2</property>
                             <child>
-                              <object class="GtkHSeparator" id="hseparator4">
+                              <object class="GtkSeparator" id="hseparator4">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                               </object>
                               <packing>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">2</property>
                               </packing>
                             </child>
                             <child>
@@ -537,14 +527,18 @@ Select location and file name for the Import, then click 'OK'...
 
 When Multi-split is enabled the importer will assume multiple consecutive lines together hold the information for one transaction. Each line provides information for exactly one split. The first line should also provide the information for the transaction.
 To know which lines belong to the same transaction, the importer will compare the provided transaction information in each line. If that information is empty or the same as the first transaction line the importer will consider this line part of the same transaction.</property>
+                                <property name="halign">start</property>
                                 <property name="draw_indicator">True</property>
                                 <signal name="toggled" handler="csv_tximp_preview_multisplit_cb" swapped="no"/>
                               </object>
                               <packing>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
                               </packing>
                             </child>
+                            <child>
+                              <placeholder/>
+                            </child>
                           </object>
                           <packing>
                             <property name="expand">False</property>
@@ -570,10 +564,8 @@ To know which lines belong to the same transaction, the importer will compare th
                 </child>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -589,18 +581,17 @@ To know which lines belong to the same transaction, the importer will compare th
                     <property name="left_padding">5</property>
                     <property name="right_padding">5</property>
                     <child>
-                      <object class="GtkVBox" id="vbox6">
+                      <object class="GtkBox" id="vbox6">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="orientation">vertical</property>
                         <child>
-                          <object class="GtkTable" id="table3">
+                          <object class="GtkGrid" id="table3">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="n_rows">6</property>
-                            <property name="n_columns">2</property>
-                            <property name="column_spacing">5</property>
                             <property name="row_spacing">5</property>
+                            <property name="column_spacing">5</property>
                             <child>
                               <object class="GtkAlignment" id="date_format_container">
                                 <property name="visible">True</property>
@@ -610,23 +601,19 @@ To know which lines belong to the same transaction, the importer will compare th
                               </object>
                               <packing>
                                 <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
                                 <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
                               <object class="GtkLabel" id="label20">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
+                                <property name="halign">start</property>
                                 <property name="label" translatable="yes">Date Format</property>
                               </object>
                               <packing>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_SHRINK | GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
@@ -637,34 +624,31 @@ To know which lines belong to the same transaction, the importer will compare th
                               </object>
                               <packing>
                                 <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
                                 <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
-                                <property name="x_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
                               <object class="GtkLabel" id="label21">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
+                                <property name="halign">start</property>
                                 <property name="label" translatable="yes">Currency Format</property>
                               </object>
                               <packing>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
-                                <property name="x_options">GTK_SHRINK | GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
                               <object class="GtkLabel" id="label16">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
+                                <property name="halign">start</property>
                                 <property name="label" translatable="yes">Encoding</property>
                               </object>
                               <packing>
-                                <property name="x_options">GTK_SHRINK | GTK_FILL</property>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
                               </packing>
                             </child>
                             <child>
@@ -675,38 +659,35 @@ To know which lines belong to the same transaction, the importer will compare th
                               </object>
                               <packing>
                                 <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
+                                <property name="top_attach">0</property>
                               </packing>
                             </child>
                             <child>
                               <object class="GtkLabel" id="label17">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
+                                <property name="halign">start</property>
                                 <property name="label" translatable="yes">Leading Lines to Skip</property>
                               </object>
                               <packing>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">4</property>
-                                <property name="bottom_attach">5</property>
-                                <property name="x_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
                               <object class="GtkLabel" id="label18">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
+                                <property name="halign">start</property>
                                 <property name="label" translatable="yes">Trailing Lines to Skip</property>
                               </object>
                               <packing>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">5</property>
-                                <property name="bottom_attach">6</property>
-                                <property name="x_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="hbox2">
+                              <object class="GtkBox" id="hbox2">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
@@ -714,11 +695,8 @@ To know which lines belong to the same transaction, the importer will compare th
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="invisible_char">●</property>
-                                    <property name="invisible_char_set">True</property>
                                     <property name="primary_icon_activatable">False</property>
                                     <property name="secondary_icon_activatable">False</property>
-                                    <property name="primary_icon_sensitive">True</property>
-                                    <property name="secondary_icon_sensitive">True</property>
                                     <property name="adjustment">start_row_adj</property>
                                     <property name="numeric">True</property>
                                     <signal name="value-changed" handler="csv_tximp_preview_srow_cb" swapped="no"/>
@@ -735,13 +713,11 @@ To know which lines belong to the same transaction, the importer will compare th
                               </object>
                               <packing>
                                 <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
                                 <property name="top_attach">4</property>
-                                <property name="bottom_attach">5</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="hbox3">
+                              <object class="GtkBox" id="hbox3">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
@@ -749,11 +725,8 @@ To know which lines belong to the same transaction, the importer will compare th
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="invisible_char">●</property>
-                                    <property name="invisible_char_set">True</property>
                                     <property name="primary_icon_activatable">False</property>
                                     <property name="secondary_icon_activatable">False</property>
-                                    <property name="primary_icon_sensitive">True</property>
-                                    <property name="secondary_icon_sensitive">True</property>
                                     <property name="adjustment">end_row_adj</property>
                                     <property name="numeric">True</property>
                                     <signal name="value-changed" handler="csv_tximp_preview_erow_cb" swapped="no"/>
@@ -770,20 +743,18 @@ To know which lines belong to the same transaction, the importer will compare th
                               </object>
                               <packing>
                                 <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
                                 <property name="top_attach">5</property>
-                                <property name="bottom_attach">6</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHSeparator" id="hseparator2">
+                              <object class="GtkSeparator" id="hseparator2">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                               </object>
                               <packing>
-                                <property name="right_attach">2</property>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">3</property>
-                                <property name="bottom_attach">4</property>
+                                <property name="width">2</property>
                               </packing>
                             </child>
                           </object>
@@ -803,6 +774,7 @@ To know which lines belong to the same transaction, the importer will compare th
 For example
 * if 'Leading Lines to Skip' is set to 3, the first line to import will be line 4. Lines 5, 7, 9,... will be skipped.
 * if 'Leading Lines to Skip' is set to 4, the first line to import will be line 5. Lines 6, 8, 10,... will be skipped.</property>
+                            <property name="halign">start</property>
                             <property name="draw_indicator">True</property>
                             <signal name="toggled" handler="csv_tximp_preview_skiprows_cb" swapped="no"/>
                           </object>
@@ -830,11 +802,7 @@ For example
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -851,7 +819,7 @@ For example
                     <property name="left_padding">5</property>
                     <property name="right_padding">5</property>
                     <child>
-                      <object class="GtkHBox" id="account_hbox">
+                      <object class="GtkBox" id="account_hbox">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
@@ -872,9 +840,7 @@ For example
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
           </object>
@@ -888,16 +854,15 @@ For example
           <object class="GtkScrolledWindow" id="scrolledwindow2">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">automatic</property>
-            <property name="vscrollbar_policy">automatic</property>
             <child>
               <object class="GtkViewport" id="viewport2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
-                  <object class="GtkVBox" id="vbox8">
+                  <object class="GtkBox" id="vbox8">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkTreeView" id="ctreeview">
                         <property name="visible">True</property>
@@ -905,6 +870,9 @@ For example
                         <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                         <property name="headers_visible">False</property>
                         <property name="enable_grid_lines">both</property>
+                        <child internal-child="selection">
+                          <object class="GtkTreeSelection"/>
+                        </child>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -918,6 +886,9 @@ For example
                         <property name="can_focus">True</property>
                         <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                         <property name="enable_grid_lines">both</property>
+                        <child internal-child="selection">
+                          <object class="GtkTreeSelection"/>
+                        </child>
                       </object>
                       <packing>
                         <property name="expand">True</property>
@@ -937,7 +908,7 @@ For example
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox13">
+          <object class="GtkBox" id="hbox13">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
@@ -946,7 +917,6 @@ For example
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <property name="yalign">0</property>
                 <property name="stock">gtk-dialog-info</property>
               </object>
               <packing>
@@ -961,7 +931,6 @@ For example
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <property name="xalign">0</property>
                 <property name="label" translatable="yes">Select the type of each column to import.</property>
               </object>
               <packing>
@@ -979,7 +948,7 @@ For example
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox14">
+          <object class="GtkBox" id="hbox14">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
@@ -987,7 +956,6 @@ For example
                 <property name="label" translatable="yes">Skip Errors</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
-                <property name="xalign">1</property>
                 <property name="image_position">right</property>
                 <property name="draw_indicator">True</property>
                 <signal name="toggled" handler="csv_tximp_preview_skiperrors_cb" swapped="no"/>
@@ -1013,19 +981,19 @@ For example
       <packing>
         <property name="page_type">intro</property>
         <property name="complete">True</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="account_match_page">
+      <object class="GtkBox" id="account_match_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label7609">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
-            <property name="xpad">5</property>
             <property name="label" translatable="yes">Select a row to change the mappings:</property>
           </object>
           <packing>
@@ -1039,8 +1007,6 @@ For example
           <object class="GtkScrolledWindow" id="account_match_swindow">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">automatic</property>
-            <property name="vscrollbar_policy">automatic</property>
             <property name="shadow_type">in</property>
             <child>
               <object class="GtkTreeView" id="account_match_view">
@@ -1051,6 +1017,9 @@ For example
                 <property name="enable_search">False</property>
                 <property name="enable_tree_lines">True</property>
                 <signal name="button-press-event" handler="csv_tximp_acct_match_view_clicked_cb" swapped="no"/>
+                <child internal-child="selection">
+                  <object class="GtkTreeSelection"/>
+                </child>
                 <child>
                   <object class="GtkTreeViewColumn" id="treeviewcolumn1">
                     <property name="resizable">True</property>
@@ -1086,14 +1055,13 @@ For example
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox7609">
+          <object class="GtkBox" id="hbox7609">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
               <object class="GtkLabel" id="account_match_label">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
                 <property name="label" translatable="yes">Error text.</property>
               </object>
               <packing>
@@ -1128,12 +1096,14 @@ For example
       </object>
       <packing>
         <property name="title" translatable="yes">Match Import accounts with GnuCash accounts</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="doc_page">
+      <object class="GtkBox" id="doc_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label8">
             <property name="visible">True</property>
@@ -1162,13 +1132,15 @@ More information can be displayed by using the help button.</property>
         <property name="page_type">progress</property>
         <property name="title" translatable="yes">Transaction Information</property>
         <property name="complete">True</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="match_page">
+      <object class="GtkBox" id="match_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="match_label">
             <property name="visible">True</property>
@@ -1186,13 +1158,15 @@ More information can be displayed by using the help button.</property>
       <packing>
         <property name="page_type">confirm</property>
         <property name="title" translatable="yes">Match Transactions</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="summary_page">
+      <object class="GtkBox" id="summary_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="summary_label">
             <property name="visible">True</property>
@@ -1212,6 +1186,15 @@ More information can be displayed by using the help button.</property>
         <property name="page_type">summary</property>
         <property name="title" translatable="yes">Import Summary</property>
         <property name="complete">True</property>
+        <property name="has_padding">False</property>
+      </packing>
+    </child>
+    <child internal-child="action_area">
+      <object class="GtkBox">
+        <property name="can_focus">False</property>
+      </object>
+      <packing>
+        <property name="has_padding">False</property>
       </packing>
     </child>
   </object>

commit d7a8a4a41557879efe99ccc0c6d57659c4a90b98
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Thu Jun 22 11:13:05 2017 +0100

    Fix up for to align button or account import

diff --git a/src/import-export/csv-imp/assistant-csv-account-import.c b/src/import-export/csv-imp/assistant-csv-account-import.c
index 7cebc71..e61e209 100644
--- a/src/import-export/csv-imp/assistant-csv-account-import.c
+++ b/src/import-export/csv-imp/assistant-csv-account-import.c
@@ -612,6 +612,7 @@ csv_import_assistant_create (CsvImportInfo *info)
     gtk_widget_show (button);
     h_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
     gtk_box_set_homogeneous (GTK_BOX (h_box), TRUE);
+    gtk_widget_set_hexpand (GTK_WIDGET(h_box), TRUE);
     gtk_box_pack_start (GTK_BOX(h_box), button, FALSE, FALSE, 0);
     gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER(info->file_chooser), h_box);
     g_signal_connect (G_OBJECT(button), "clicked",

commit 3e8581c903302e174969b341358990b85f1795d7
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Wed Jun 21 17:53:39 2017 +0100

    Files linked to assistant-csv-account-import.glade

diff --git a/src/import-export/csv-imp/assistant-csv-account-import.c b/src/import-export/csv-imp/assistant-csv-account-import.c
index 28f745f..7cebc71 100644
--- a/src/import-export/csv-imp/assistant-csv-account-import.c
+++ b/src/import-export/csv-imp/assistant-csv-account-import.c
@@ -121,7 +121,7 @@ void create_regex (GString *regex_str, const gchar *sep)
             "(?<name>\"(?:[^\"]|\"\")*\"|[^%s]*)%s"
             "(?<code>\"(?:[^\"]|\"\")*\"|[^%s]*)%s?"
             "(?<description>\"(?:[^\"]|\"\")*\"|[^%s]*)%s"
-            "(?<color>[^%s]*)%s"
+            "(?<color>\"(?:[^\"]|\"\")*\"|[^%s]*)%s"
             "(?<notes>\"(?:[^\"]|\"\")*\"|[^%s]*)%s"
             "(?<commoditym>\"(?:[^\"]|\"\")*\"|[^%s]*)%s"
             "(?<commodityn>\"(?:[^\"]|\"\")*\"|[^%s]*)%s"
@@ -267,14 +267,12 @@ void csv_import_sep_cb (GtkWidget *radio, gpointer user_data)
 
     /* Generate preview */
     gtk_list_store_clear (info->store);
+    gtk_widget_set_sensitive (info->header_row_spin, TRUE);
 
     if (csv_import_read_file (info->file_name, info->regexp->str, info->store, 11) == MATCH_FOUND)
-        gtk_widget_set_sensitive (info->header_row_spin, TRUE);
+        gtk_spin_button_set_value (GTK_SPIN_BUTTON(info->header_row_spin), 1); // set header spin to 1
     else
-        gtk_widget_set_sensitive (info->header_row_spin, FALSE);
-
-    /* Reset Header spin to 0 */
-    gtk_spin_button_set_value (GTK_SPIN_BUTTON(info->header_row_spin), 0);
+        gtk_spin_button_set_value (GTK_SPIN_BUTTON(info->header_row_spin), 0); //reset header spin to 0
 }
 
 
@@ -407,10 +405,12 @@ csv_import_assistant_account_page_prepare (GtkAssistant *assistant,
 
     gtk_list_store_clear (info->store);
 
+    gtk_widget_set_sensitive (info->header_row_spin, TRUE);
+
     if (csv_import_read_file (info->file_name, info->regexp->str, info->store, 11 ) == MATCH_FOUND)
-        gtk_widget_set_sensitive (info->header_row_spin, TRUE);
+        gtk_spin_button_set_value (GTK_SPIN_BUTTON(info->header_row_spin), 1); // set header spin to 1
     else
-        gtk_widget_set_sensitive (info->header_row_spin, FALSE);
+        gtk_spin_button_set_value (GTK_SPIN_BUTTON(info->header_row_spin), 0); //reset header spin to 0
 }
 
 
@@ -577,8 +577,8 @@ csv_import_assistant_create (CsvImportInfo *info)
 
     builder = gtk_builder_new();
     gnc_builder_add_from_file  (builder, "assistant-csv-account-import.glade", "num_hrows_adj");
-    gnc_builder_add_from_file  (builder, "assistant-csv-account-import.glade", "CSV Account Import Assistant");
-    window = GTK_WIDGET(gtk_builder_get_object (builder, "CSV Account Import Assistant"));
+    gnc_builder_add_from_file  (builder, "assistant-csv-account-import.glade", "csv_account_import_assistant");
+    window = GTK_WIDGET(gtk_builder_get_object (builder, "csv_account_import_assistant"));
     info->window = window;
 
     /* Load default settings */
diff --git a/src/import-export/csv-imp/assistant-csv-account-import.glade b/src/import-export/csv-imp/assistant-csv-account-import.glade
index 14a8c26..de647c3 100644
--- a/src/import-export/csv-imp/assistant-csv-account-import.glade
+++ b/src/import-export/csv-imp/assistant-csv-account-import.glade
@@ -1,22 +1,28 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkAssistant" id="CSV Account Import Assistant">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkAdjustment" id="num_hrows_adj">
+    <property name="upper">100</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAssistant" id="csv_account_import_assistant">
     <property name="can_focus">False</property>
     <property name="border_width">12</property>
     <property name="title" translatable="yes">CSV Import Assistant</property>
     <property name="default_width">400</property>
     <property name="default_height">500</property>
-    <signal name="close" handler="csv_import_assistant_close" swapped="no"/>
     <signal name="apply" handler="csv_import_assistant_finish" swapped="no"/>
-    <signal name="prepare" handler="csv_import_assistant_prepare" swapped="no"/>
     <signal name="cancel" handler="csv_import_assistant_cancel" swapped="no"/>
+    <signal name="close" handler="csv_import_assistant_close" swapped="no"/>
+    <signal name="prepare" handler="csv_import_assistant_prepare" swapped="no"/>
     <child>
-      <object class="GtkVBox" id="start_page">
+      <object class="GtkBox" id="start_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="start_label">
             <property name="visible">True</property>
@@ -24,7 +30,7 @@
             <property name="label" translatable="yes">
 This assistant will help you import Accounts from a file.
 
-The file must be in the same format as that exported as this is a fixed format import which can be seen by looking at a file created by using the Account Tree export menu option.
+The file must be in the same format as that exported as this is a fixed format import which can be seen by looking at a file created by using the 'Export Account Tree to CSV' export menu option.
 
 If the account is missing, based on the full account name, it will be added as long as the security / currency specified exists. If the account exists, then four fields will be updated. These are code, description, notes and color.
 
@@ -44,13 +50,15 @@ Click on 'Forward' to proceed or 'Cancel' to Abort Import.
         <property name="page_type">intro</property>
         <property name="title" translatable="yes">Import Account Assistant</property>
         <property name="complete">True</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="file_page">
+      <object class="GtkBox" id="file_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label4">
             <property name="visible">True</property>
@@ -72,22 +80,24 @@ Enter file name and location for the Import...
       </object>
       <packing>
         <property name="title" translatable="yes">Choose File to Import</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="import_tree_page">
+      <object class="GtkBox" id="import_tree_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
-          <object class="GtkHBox" id="hbox1">
+          <object class="GtkBox" id="hbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
               <object class="GtkLabel" id="label3">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xpad">6</property>
+                <property name="margin_right">5</property>
                 <property name="label" translatable="yes">Number of rows for the Header</property>
               </object>
               <packing>
@@ -100,13 +110,9 @@ Enter file name and location for the Import...
               <object class="GtkSpinButton" id="num_hrows">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="editable">False</property>
-                <property name="invisible_char">&#x25CF;</property>
-                <property name="invisible_char_set">True</property>
+                <property name="invisible_char">●</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
                 <property name="adjustment">num_hrows_adj</property>
                 <signal name="value-changed" handler="csv_import_hrows_cb" swapped="no"/>
               </object>
@@ -133,23 +139,25 @@ Enter file name and location for the Import...
             <property name="label_xalign">0</property>
             <property name="shadow_type">in</property>
             <child>
-              <object class="GtkTable" id="table4">
+              <object class="GtkGrid" id="table4">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">12</property>
-                <property name="n_rows">3</property>
-                <property name="n_columns">3</property>
                 <child>
                   <object class="GtkRadioButton" id="radio_comma">
                     <property name="label" translatable="yes">Comma Separated</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="halign">start</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                     <signal name="toggled" handler="csv_import_sep_cb" swapped="no"/>
                   </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                  </packing>
                 </child>
                 <child>
                   <object class="GtkRadioButton" id="radio_semi">
@@ -157,14 +165,14 @@ Enter file name and location for the Import...
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="halign">start</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">radio_comma</property>
                     <signal name="toggled" handler="csv_import_sep_cb" swapped="no"/>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
+                    <property name="top_attach">0</property>
                   </packing>
                 </child>
                 <child>
@@ -173,14 +181,14 @@ Enter file name and location for the Import...
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="halign">start</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">radio_comma</property>
                     <signal name="toggled" handler="csv_import_sep_cb" swapped="no"/>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
                   </packing>
                 </child>
                 <child>
@@ -189,16 +197,31 @@ Enter file name and location for the Import...
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="halign">start</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">radio_comma</property>
                     <signal name="toggled" handler="csv_import_sep_cb" swapped="no"/>
                   </object>
                   <packing>
                     <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
+                    <property name="top_attach">0</property>
                   </packing>
                 </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
               </object>
             </child>
             <child type="label">
@@ -228,12 +251,13 @@ Enter file name and location for the Import...
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="border_width">6</property>
-                <property name="hscrollbar_policy">automatic</property>
-                <property name="vscrollbar_policy">automatic</property>
                 <child>
                   <object class="GtkTreeView" id="treeview">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
+                    <child internal-child="selection">
+                      <object class="GtkTreeSelection" id="treeview-selection1"/>
+                    </child>
                   </object>
                 </child>
               </object>
@@ -258,6 +282,7 @@ Enter file name and location for the Import...
         <property name="page_type">progress</property>
         <property name="title" translatable="yes">Import Account Preview, first 10 rows only</property>
         <property name="complete">True</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
@@ -271,13 +296,15 @@ Cancel to abort.</property>
       <packing>
         <property name="page_type">confirm</property>
         <property name="title" translatable="yes">Import Accounts Now</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="summary_page">
+      <object class="GtkBox" id="summary_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="summary_label">
             <property name="visible">True</property>
@@ -296,8 +323,6 @@ Cancel to abort.</property>
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="border_width">1</property>
-            <property name="hscrollbar_policy">automatic</property>
-            <property name="vscrollbar_policy">automatic</property>
             <property name="shadow_type">etched-in</property>
             <child>
               <object class="GtkTextView" id="summary_error_view">
@@ -322,12 +347,16 @@ Cancel to abort.</property>
         <property name="page_type">summary</property>
         <property name="title" translatable="yes">Import Summary</property>
         <property name="complete">True</property>
+        <property name="has_padding">False</property>
+      </packing>
+    </child>
+    <child internal-child="action_area">
+      <object class="GtkBox" id="assistant-action_area2">
+        <property name="can_focus">False</property>
+      </object>
+      <packing>
+        <property name="has_padding">False</property>
       </packing>
     </child>
-  </object>
-  <object class="GtkAdjustment" id="num_hrows_adj">
-    <property name="upper">100</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
   </object>
 </interface>
diff --git a/src/import-export/csv-imp/csv-account-import.c b/src/import-export/csv-imp/csv-account-import.c
index 10091f0..17c9186 100644
--- a/src/import-export/csv-imp/csv-account-import.c
+++ b/src/import-export/csv-imp/csv-account-import.c
@@ -128,7 +128,6 @@ csv_import_read_file (const gchar *filename, const gchar *parser_regexp,
     g_regex_match (regexpat, contents, 0, &match_info);
     while (g_match_info_matches (match_info))
     {
-        match_found = TRUE;
         // fill in the values
         gtk_list_store_append (store, &iter);
         fill_model_with_match (match_info, "type", store, &iter, TYPE);
@@ -145,6 +144,16 @@ csv_import_read_file (const gchar *filename, const gchar *parser_regexp,
         fill_model_with_match (match_info, "place_holder", store, &iter, PLACE_HOLDER);
         gtk_list_store_set (store, &iter, ROW_COLOR, NULL, -1);
 
+        if (row == 0)
+        {
+            gchar *str_type;
+            gtk_tree_model_get (GTK_TREE_MODEL(store), &iter, TYPE, &str_type, -1);
+
+            if (g_strcmp0 (_("type"), str_type) == 0)
+                match_found = TRUE;
+            g_free (str_type);
+        }
+
         row++;
         if (row == max_rows)
             break;

commit 751695573fa4083f8c170e47881a66236b0ecee1
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Wed Jun 21 17:53:06 2017 +0100

    Files linked to assistant-csv-export.glade

diff --git a/src/import-export/csv-exp/assistant-csv-export.c b/src/import-export/csv-exp/assistant-csv-export.c
index 58a56d7..fc0476e 100644
--- a/src/import-export/csv-exp/assistant-csv-export.c
+++ b/src/import-export/csv-exp/assistant-csv-export.c
@@ -814,8 +814,8 @@ csv_export_assistant_create (CsvExportInfo *info)
     time64 start_time, end_time;
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file  (builder , "assistant-csv-export.glade", "CSV Export Assistant");
-    window = GTK_WIDGET(gtk_builder_get_object (builder, "CSV Export Assistant"));
+    gnc_builder_add_from_file  (builder , "assistant-csv-export.glade", "csv_export_assistant");
+    window = GTK_WIDGET(gtk_builder_get_object (builder, "csv_export_assistant"));
     info->window = window;
 
     /* Load default settings */
@@ -837,7 +837,7 @@ csv_export_assistant_create (CsvExportInfo *info)
         // Don't provide simple export layout for search registers and General Journal
         if ((info->export_type == XML_EXPORT_TREE) || (info->account == NULL))
             gtk_widget_destroy (chkbox);
-        gtk_widget_destroy (info->account_page);
+        gtk_assistant_remove_page (GTK_ASSISTANT(window), 1); //remove accounts page
     }
     else
     {
diff --git a/src/import-export/csv-exp/assistant-csv-export.glade b/src/import-export/csv-exp/assistant-csv-export.glade
index 10eb18d..3a200cc 100644
--- a/src/import-export/csv-exp/assistant-csv-export.glade
+++ b/src/import-export/csv-exp/assistant-csv-export.glade
@@ -1,22 +1,23 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkAssistant" id="CSV Export Assistant">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkAssistant" id="csv_export_assistant">
     <property name="can_focus">False</property>
     <property name="border_width">12</property>
     <property name="title" translatable="yes">CSV Export Assistant</property>
     <property name="default_width">400</property>
     <property name="default_height">500</property>
-    <signal name="close" handler="csv_export_assistant_close" swapped="no"/>
     <signal name="apply" handler="csv_export_assistant_finish" swapped="no"/>
-    <signal name="prepare" handler="csv_export_assistant_prepare" swapped="no"/>
     <signal name="cancel" handler="csv_export_assistant_cancel" swapped="no"/>
+    <signal name="close" handler="csv_export_assistant_close" swapped="no"/>
+    <signal name="prepare" handler="csv_export_assistant_prepare" swapped="no"/>
     <child>
-      <object class="GtkVBox" id="start_page">
+      <object class="GtkBox" id="start_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="start_label">
             <property name="visible">True</property>
@@ -34,7 +35,7 @@ Select the type of Export required and the separator that will be used.
           </packing>
         </child>
         <child>
-          <object class="GtkHSeparator" id="hseparator1">
+          <object class="GtkSeparator" id="hseparator1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
           </object>
@@ -58,23 +59,24 @@ Select the type of Export required and the separator that will be used.
                 <property name="can_focus">False</property>
                 <property name="left_padding">20</property>
                 <child>
-                  <object class="GtkTable" id="table1">
+                  <object class="GtkGrid" id="table1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="n_columns">3</property>
-                    <property name="column_spacing">3</property>
                     <property name="row_spacing">3</property>
+                    <property name="column_spacing">3</property>
                     <child>
                       <object class="GtkCheckButton" id="quote_tbutton">
                         <property name="label" translatable="yes">Use Quotes</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="halign">start</property>
                         <property name="draw_indicator">True</property>
                         <signal name="toggled" handler="csv_export_quote_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
@@ -83,12 +85,13 @@ Select the type of Export required and the separator that will be used.
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="halign">start</property>
                         <property name="draw_indicator">True</property>
                         <signal name="toggled" handler="csv_export_simple_cb" swapped="no"/>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                   </object>
@@ -123,26 +126,25 @@ Select the type of Export required and the separator that will be used.
                 <property name="can_focus">False</property>
                 <property name="left_padding">20</property>
                 <child>
-                  <object class="GtkTable" id="table2">
+                  <object class="GtkGrid" id="table2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="n_rows">2</property>
-                    <property name="n_columns">3</property>
-                    <property name="column_spacing">3</property>
                     <property name="row_spacing">3</property>
-                    <property name="homogeneous">True</property>
+                    <property name="column_spacing">3</property>
                     <child>
                       <object class="GtkRadioButton" id="comma_radio">
                         <property name="label" translatable="yes">Comma (,)</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="halign">start</property>
                         <property name="active">True</property>
                         <property name="draw_indicator">True</property>
                         <signal name="toggled" handler="csv_export_sep_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
@@ -151,6 +153,7 @@ Select the type of Export required and the separator that will be used.
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="halign">start</property>
                         <property name="active">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">comma_radio</property>
@@ -158,9 +161,7 @@ Select the type of Export required and the separator that will be used.
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
@@ -169,6 +170,7 @@ Select the type of Export required and the separator that will be used.
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="halign">start</property>
                         <property name="active">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">comma_radio</property>
@@ -176,9 +178,7 @@ Select the type of Export required and the separator that will be used.
                       </object>
                       <packing>
                         <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
@@ -187,16 +187,15 @@ Select the type of Export required and the separator that will be used.
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="halign">start</property>
                         <property name="active">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">comma_radio</property>
                         <signal name="toggled" handler="csv_export_sep_cb" swapped="no"/>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
                       </packing>
                     </child>
                     <child>
@@ -204,20 +203,14 @@ Select the type of Export required and the separator that will be used.
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="invisible_char">●</property>
-                        <property name="invisible_char_set">True</property>
                         <property name="primary_icon_activatable">False</property>
                         <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
                         <signal name="changed" handler="csv_export_custom_entry_cb" swapped="no"/>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">3</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="width">2</property>
                       </packing>
                     </child>
                   </object>
@@ -244,13 +237,15 @@ Select the type of Export required and the separator that will be used.
         <property name="page_type">intro</property>
         <property name="title" translatable="yes">Choose Export Settings</property>
         <property name="complete">True</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="account_page">
+      <object class="GtkBox" id="account_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label5">
             <property name="visible">True</property>
@@ -265,21 +260,21 @@ Select the type of Export required and the separator that will be used.
           </packing>
         </child>
         <child>
-          <object class="GtkHPaned" id="paned">
+          <object class="GtkPaned" id="paned">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="position">1</property>
             <child>
-              <object class="GtkVBox" id="acct_info_vbox">
+              <object class="GtkBox" id="acct_info_vbox">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">6</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <object class="GtkLabel" id="accounts_label">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="ypad">2</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>_Accounts</b></property>
                     <property name="use_markup">True</property>
                     <property name="use_underline">True</property>
@@ -296,15 +291,14 @@ Select the type of Export required and the separator that will be used.
                     <property name="can_focus">False</property>
                     <property name="left_padding">12</property>
                     <child>
-                      <object class="GtkVBox" id="vbox96">
+                      <object class="GtkBox" id="vbox96">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="orientation">vertical</property>
                         <child>
                           <object class="GtkScrolledWindow" id="account_scroll">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="hscrollbar_policy">automatic</property>
-                            <property name="vscrollbar_policy">automatic</property>
                             <property name="shadow_type">in</property>
                           </object>
                           <packing>
@@ -314,7 +308,7 @@ Select the type of Export required and the separator that will be used.
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkHBox" id="hbox98">
+                          <object class="GtkBox" id="hbox98">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="border_width">3</property>
@@ -334,7 +328,6 @@ Select the type of Export required and the separator that will be used.
                               <object class="GtkLabel" id="label847733">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
                                 <property name="label" translatable="yes">Accounts Selected:</property>
                                 <property name="justify">center</property>
                               </object>
@@ -376,55 +369,17 @@ Select the type of Export required and the separator that will be used.
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkHButtonBox" id="hbox99">
+                          <object class="GtkButtonBox" id="hbox99">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
                               <object class="GtkButton" id="select_subaccounts_button">
+                                <property name="label" translatable="yes">_Select Subaccounts</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">True</property>
                                 <property name="border_width">3</property>
-                                <child>
-                                  <object class="GtkAlignment" id="alignment5">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xscale">0</property>
-                                    <property name="yscale">0</property>
-                                    <child>
-                                      <object class="GtkHBox" id="hbox100">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="spacing">2</property>
-                                        <child>
-                                          <object class="GtkImage" id="image1">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="stock">gtk-add</property>
-                                          </object>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">False</property>
-                                            <property name="position">0</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkLabel" id="label847737">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="label" translatable="yes">_Select Subaccounts</property>
-                                            <property name="use_underline">True</property>
-                                          </object>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">False</property>
-                                            <property name="position">1</property>
-                                          </packing>
-                                        </child>
-                                      </object>
-                                    </child>
-                                  </object>
-                                </child>
+                                <property name="use_underline">True</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
@@ -455,15 +410,16 @@ Select the type of Export required and the separator that will be used.
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="date_vbox">
+              <object class="GtkBox" id="date_vbox">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">12</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <object class="GtkLabel" id="label847680">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>_Dates</b></property>
                     <property name="use_markup">True</property>
                     <property name="use_underline">True</property>
@@ -480,6 +436,7 @@ Select the type of Export required and the separator that will be used.
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
+                    <property name="halign">start</property>
                     <property name="use_underline">True</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
@@ -496,6 +453,7 @@ Select the type of Export required and the separator that will be used.
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
+                    <property name="halign">start</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">show_all</property>
@@ -508,23 +466,19 @@ Select the type of Export required and the separator that will be used.
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkTable" id="select_range_table">
+                  <object class="GtkGrid" id="select_range_table">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="n_rows">7</property>
-                    <property name="n_columns">3</property>
                     <property name="column_spacing">6</property>
                     <child>
                       <object class="GtkLabel" id="label847682">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes">Start:</property>
                       </object>
                       <packing>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"/>
-                        <property name="x_padding">12</property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
@@ -533,6 +487,7 @@ Select the type of Export required and the separator that will be used.
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="active">True</property>
                         <property name="draw_indicator">True</property>
@@ -540,9 +495,7 @@ Select the type of Export required and the separator that will be used.
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"/>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
@@ -551,6 +504,7 @@ Select the type of Export required and the separator that will be used.
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">end_date_latest</property>
@@ -558,11 +512,7 @@ Select the type of Export required and the separator that will be used.
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">6</property>
-                        <property name="bottom_attach">7</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"/>
                       </packing>
                     </child>
                     <child>
@@ -571,6 +521,7 @@ Select the type of Export required and the separator that will be used.
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">end_date_latest</property>
@@ -578,11 +529,7 @@ Select the type of Export required and the separator that will be used.
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">5</property>
-                        <property name="bottom_attach">6</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"/>
                       </packing>
                     </child>
                     <child>
@@ -591,6 +538,7 @@ Select the type of Export required and the separator that will be used.
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="active">True</property>
                         <property name="draw_indicator">True</property>
@@ -598,39 +546,28 @@ Select the type of Export required and the separator that will be used.
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">4</property>
-                        <property name="bottom_attach">5</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"/>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="label847683">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                       </object>
                       <packing>
+                        <property name="left_attach">2</property>
                         <property name="top_attach">3</property>
-                        <property name="bottom_attach">4</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"/>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="label847684">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes">End:</property>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">4</property>
-                        <property name="bottom_attach">5</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"/>
-                        <property name="x_padding">12</property>
                       </packing>
                     </child>
                     <child>
@@ -639,6 +576,7 @@ Select the type of Export required and the separator that will be used.
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">start_date_earliest</property>
@@ -646,11 +584,7 @@ Select the type of Export required and the separator that will be used.
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"/>
                       </packing>
                     </child>
                     <child>
@@ -659,6 +593,7 @@ Select the type of Export required and the separator that will be used.
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">start_date_earliest</property>
@@ -666,39 +601,59 @@ Select the type of Export required and the separator that will be used.
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"/>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="start_date_hbox">
+                      <object class="GtkBox" id="start_date_hbox">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                       </object>
                       <packing>
                         <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
                         <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options"/>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="end_date_hbox">
+                      <object class="GtkBox" id="end_date_hbox">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                       </object>
                       <packing>
                         <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
                         <property name="top_attach">6</property>
-                        <property name="bottom_attach">7</property>
-                        <property name="x_options"/>
                       </packing>
                     </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -722,13 +677,15 @@ Select the type of Export required and the separator that will be used.
       </object>
       <packing>
         <property name="title" translatable="yes">Account Selection</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="file_page">
+      <object class="GtkBox" id="file_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="label4">
             <property name="visible">True</property>
@@ -747,6 +704,7 @@ Enter file name and location for the Export...
       </object>
       <packing>
         <property name="title" translatable="yes">Choose File Name for Export</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
@@ -760,6 +718,7 @@ Cancel to abort.</property>
       <packing>
         <property name="page_type">confirm</property>
         <property name="title" translatable="yes">Export Now...</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
@@ -773,6 +732,15 @@ Cancel to abort.</property>
         <property name="page_type">summary</property>
         <property name="title" translatable="yes">Export Summary</property>
         <property name="complete">True</property>
+        <property name="has_padding">False</property>
+      </packing>
+    </child>
+    <child internal-child="action_area">
+      <object class="GtkBox" id="assistant-action_area2">
+        <property name="can_focus">False</property>
+      </object>
+      <packing>
+        <property name="has_padding">False</property>
       </packing>
     </child>
   </object>
diff --git a/src/import-export/csv-exp/csv-tree-export.c b/src/import-export/csv-exp/csv-tree-export.c
index a4afe1d..0ca38e2 100644
--- a/src/import-export/csv-exp/csv-tree-export.c
+++ b/src/import-export/csv-exp/csv-tree-export.c
@@ -205,7 +205,9 @@ void csv_tree_export (CsvExportInfo *info)
             g_free (part2);
             /* Color */
             currentSel = xaccAccountGetColor (acc) ? xaccAccountGetColor (acc) : "" ;
-            part2 = g_strconcat (part1, currentSel, mid_sep, NULL);
+            str_temp = csv_test_field_string (info, currentSel);
+            part2 = g_strconcat (part1, str_temp, mid_sep, NULL);
+            g_free (str_temp);
             g_free (part1);
             /* Notes */
             currentSel = xaccAccountGetNotes (acc) ? xaccAccountGetNotes (acc) : "" ;

commit e2592baef118f3ac717edda3bbcfad477026ea60
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Wed Jun 21 17:51:53 2017 +0100

    Files linked to assistant-acct-period.glade

diff --git a/src/gnome/assistant-acct-period.c b/src/gnome/assistant-acct-period.c
index 1c0c091..0357a14 100644
--- a/src/gnome/assistant-acct-period.c
+++ b/src/gnome/assistant-acct-period.c
@@ -26,7 +26,7 @@
  * This is still a work in progress so may damage your data, to enable   *
  * for testing do the following :-                                       *
  * Add a define entry to gnc-plugin-basic-commands.c as below            *
- *     #define CLOSE_BOOKS_ACTUALLY_WORKS                                *
+ *     #define CLOSE_BOOKS_ACTUALLY_WORKS 1                              *
  *                                                                       *
  * Add the following to gnc-plugin-basic-commands-ui.xml on line 43      *
  * <menuitem name="ActionsCloseBooks" action="ActionsCloseBooksAction"/> *
@@ -541,8 +541,8 @@ ap_assistant_create (AcctPeriodInfo *info)
     GtkWidget *box;
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file  (builder , "assistant-acct-period.glade", "Account Period Assistant");
-    window = GTK_WIDGET(gtk_builder_get_object (builder, "Account Period Assistant"));
+    gnc_builder_add_from_file  (builder , "assistant-acct-period.glade", "account_period_assistant");
+    window = GTK_WIDGET(gtk_builder_get_object (builder, "account_period_assistant"));
     info->window = window;
 
     /* Enable all pages except menu page. */
diff --git a/src/gnome/gtkbuilder/assistant-acct-period.glade b/src/gnome/gtkbuilder/assistant-acct-period.glade
index 3460a86..6fdc9b5 100644
--- a/src/gnome/gtkbuilder/assistant-acct-period.glade
+++ b/src/gnome/gtkbuilder/assistant-acct-period.glade
@@ -1,14 +1,15 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkAssistant" id="Account Period Assistant">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkAssistant" id="account_period_assistant">
     <property name="can_focus">False</property>
     <property name="border_width">12</property>
-    <signal name="close" handler="ap_assistant_close" swapped="no"/>
+    <property name="default_width">500</property>
     <signal name="apply" handler="ap_assistant_finish" swapped="no"/>
-    <signal name="prepare" handler="ap_assistant_prepare" swapped="no"/>
     <signal name="cancel" handler="ap_assistant_cancel" swapped="no"/>
+    <signal name="close" handler="ap_assistant_close" swapped="no"/>
+    <signal name="prepare" handler="ap_assistant_prepare" swapped="no"/>
     <child>
       <object class="GtkLabel" id="start_page">
         <property name="visible">True</property>
@@ -22,12 +23,14 @@ Danger: this feature does not work correctly at this time; it is still under dev
         <property name="page_type">intro</property>
         <property name="title" translatable="yes">Setup Account Period</property>
         <property name="complete">True</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="menu_page">
+      <object class="GtkBox" id="menu_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="menu_label">
             <property name="visible">True</property>
@@ -46,7 +49,7 @@ Books will be closed at midnight on the selected date.</property>
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="period_hbox">
+          <object class="GtkBox" id="period_hbox">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="border_width">12</property>
@@ -77,12 +80,14 @@ Books will be closed at midnight on the selected date.</property>
       </object>
       <packing>
         <property name="title" translatable="yes">Book Closing Dates</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="book_page">
+      <object class="GtkBox" id="book_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="book_label">
             <property name="visible">True</property>
@@ -92,7 +97,7 @@ Books will be closed at midnight on the selected date.</property>
             <property name="wrap">True</property>
           </object>
           <packing>
-            <property name="expand">True</property>
+            <property name="expand">False</property>
             <property name="fill">True</property>
             <property name="position">0</property>
           </packing>
@@ -106,26 +111,26 @@ Books will be closed at midnight on the selected date.</property>
             <property name="wrap">True</property>
           </object>
           <packing>
-            <property name="expand">True</property>
+            <property name="expand">False</property>
             <property name="fill">True</property>
             <property name="position">1</property>
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="book_table">
+          <object class="GtkGrid" id="book_table">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="border_width">12</property>
-            <property name="n_rows">2</property>
-            <property name="n_columns">2</property>
             <child>
               <object class="GtkLabel" id="book_title">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="hexpand">False</property>
                 <property name="label" translatable="yes">Title:</property>
               </object>
               <packing>
-                <property name="x_options">GTK_FILL</property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
@@ -136,17 +141,16 @@ Books will be closed at midnight on the selected date.</property>
                 <property name="wrap">True</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
               <object class="GtkScrolledWindow" id="scrolledwindow1">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="hscrollbar_policy">automatic</property>
-                <property name="vscrollbar_policy">automatic</property>
+                <property name="hexpand">True</property>
+                <property name="vexpand">True</property>
                 <child>
                   <object class="GtkTextView" id="book_notes_view">
                     <property name="visible">True</property>
@@ -158,25 +162,21 @@ Books will be closed at midnight on the selected date.</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
               </packing>
             </child>
             <child>
               <object class="GtkEntry" id="book_title_entry">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="invisible_char">&#x25CF;</property>
+                <property name="hexpand">True</property>
+                <property name="invisible_char">●</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="y_options"></property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
           </object>
@@ -189,6 +189,7 @@ Books will be closed at midnight on the selected date.</property>
       </object>
       <packing>
         <property name="title" translatable="yes">Close Book</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
@@ -202,12 +203,14 @@ Books will be closed at midnight on the selected date.</property>
       <packing>
         <property name="page_type">confirm</property>
         <property name="title" translatable="yes">Account Period Finish</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="summary_page">
+      <object class="GtkBox" id="summary_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="summary_label">
             <property name="visible">True</property>
@@ -239,10 +242,19 @@ Books will be closed at midnight on the selected date.</property>
         <property name="page_type">summary</property>
         <property name="title" translatable="yes">Summary Page</property>
         <property name="complete">True</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
       <placeholder/>
     </child>
+    <child internal-child="action_area">
+      <object class="GtkBox" id="assistant-action_area2">
+        <property name="can_focus">False</property>
+      </object>
+      <packing>
+        <property name="has_padding">False</property>
+      </packing>
+    </child>
   </object>
 </interface>

commit ff70c67e5614421d7bb6bc48a480376282e40d13
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Wed Jun 21 10:24:35 2017 +0100

    Files linked to assistant-stock-split.glade

diff --git a/src/gnome/assistant-stock-split.c b/src/gnome/assistant-stock-split.c
index 85d879e..5185b3a 100644
--- a/src/gnome/assistant-stock-split.c
+++ b/src/gnome/assistant-stock-split.c
@@ -534,8 +534,8 @@ gnc_stock_split_assistant_create (StockSplitInfo *info)
     GtkWidget *window;
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file  (builder , "assistant-stock-split.glade", "Stock Split Assistant");
-    window = GTK_WIDGET(gtk_builder_get_object (builder, "Stock Split Assistant"));
+    gnc_builder_add_from_file  (builder , "assistant-stock-split.glade", "stock_split_assistant");
+    window = GTK_WIDGET(gtk_builder_get_object (builder, "stock_split_assistant"));
     info->window = window;
 
     /* Enable buttons on first, second, fourth and last page. */
@@ -605,7 +605,7 @@ gnc_stock_split_assistant_create (StockSplitInfo *info)
         info->description_entry = GTK_WIDGET(gtk_builder_get_object(builder, "description_entry"));
 
         date = gnc_date_edit_new (gnc_time (NULL), FALSE, FALSE);
-        gtk_table_attach_defaults (GTK_TABLE (table), date, 1, 2, 0, 1);
+        gtk_grid_attach (GTK_GRID(table), date, 1, 0, 1, 1);
         gtk_widget_show (date);
         info->date_edit = date;
 
@@ -616,7 +616,7 @@ gnc_stock_split_assistant_create (StockSplitInfo *info)
         g_signal_connect (amount, "changed",
                           G_CALLBACK (gnc_stock_split_details_valid_cb), info);
         gnc_amount_edit_set_evaluate_on_enter (GNC_AMOUNT_EDIT (amount), TRUE);
-        gtk_table_attach_defaults (GTK_TABLE (table), amount, 1, 2, 1, 2);
+        gtk_grid_attach (GTK_GRID(table), amount, 1, 1, 1, 1);
         gtk_widget_show (amount);
         info->distribution_edit = amount;
 
@@ -629,7 +629,7 @@ gnc_stock_split_assistant_create (StockSplitInfo *info)
         g_signal_connect (amount, "changed",
                           G_CALLBACK (gnc_stock_split_details_valid_cb), info);
         gnc_amount_edit_set_evaluate_on_enter (GNC_AMOUNT_EDIT (amount), TRUE);
-        gtk_table_attach_defaults (GTK_TABLE (table), amount, 1, 2, 5, 6);
+        gtk_grid_attach (GTK_GRID(table), amount, 1, 5, 1, 1);
         gtk_widget_show (amount);
         info->price_edit = amount;
 
@@ -639,7 +639,7 @@ gnc_stock_split_assistant_create (StockSplitInfo *info)
         info->price_currency_edit = gnc_currency_edit_new();
         gnc_currency_edit_set_currency (GNC_CURRENCY_EDIT(info->price_currency_edit), gnc_default_currency());
         gtk_widget_show (info->price_currency_edit);
-        gtk_table_attach_defaults (GTK_TABLE (table), info->price_currency_edit, 1, 2, 6, 7);
+        gtk_grid_attach (GTK_GRID(table), info->price_currency_edit, 1, 6, 1, 1);
     }
 
     /* Cash page Widgets */
diff --git a/src/gnome/gtkbuilder/assistant-stock-split.glade b/src/gnome/gtkbuilder/assistant-stock-split.glade
index e211989..ed21c45 100644
--- a/src/gnome/gtkbuilder/assistant-stock-split.glade
+++ b/src/gnome/gtkbuilder/assistant-stock-split.glade
@@ -1,16 +1,22 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkAssistant" id="Stock Split Assistant">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkAssistant" id="stock_split_assistant">
     <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="halign">start</property>
     <property name="border_width">12</property>
-    <signal name="prepare" handler="gnc_stock_split_assistant_prepare"/>
-    <signal name="cancel" handler="gnc_stock_split_assistant_cancel"/>
-    <signal name="close" handler="gnc_stock_split_assistant_finish"/>
+    <property name="title" translatable="yes">Stock Split Assistant</property>
+    <property name="window_position">center</property>
+    <property name="default_width">500</property>
+    <signal name="cancel" handler="gnc_stock_split_assistant_cancel" swapped="no"/>
+    <signal name="close" handler="gnc_stock_split_assistant_finish" swapped="no"/>
+    <signal name="prepare" handler="gnc_stock_split_assistant_prepare" swapped="no"/>
     <child>
       <object class="GtkLabel" id="intro_page_label">
         <property name="visible">True</property>
+        <property name="can_focus">False</property>
         <property name="label" translatable="yes">This assistant will help you record a stock split or stock merger.
 </property>
         <property name="wrap">True</property>
@@ -18,15 +24,19 @@
       <packing>
         <property name="page_type">intro</property>
         <property name="title" translatable="yes">Stock Split Assistant</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="stock_account_page">
+      <object class="GtkBox" id="stock_account_page">
         <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="margin_left">12</property>
         <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="stock_account_label">
             <property name="visible">True</property>
+            <property name="can_focus">False</property>
             <property name="label" translatable="yes">Select the account for which you want to record a stock split or merger.</property>
             <property name="justify">center</property>
           </object>
@@ -40,31 +50,39 @@
           <object class="GtkScrolledWindow" id="stock_account_scrolled">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">automatic</property>
-            <property name="vscrollbar_policy">automatic</property>
             <child>
               <object class="GtkTreeView" id="account_view">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
+                <property name="hexpand">True</property>
+                <property name="vexpand">True</property>
+                <child internal-child="selection">
+                  <object class="GtkTreeSelection" id="treeview-selection1"/>
+                </child>
               </object>
             </child>
           </object>
           <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
             <property name="position">1</property>
           </packing>
         </child>
       </object>
       <packing>
         <property name="title" translatable="yes">Stock Split Account</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="stock_details_page">
+      <object class="GtkBox" id="stock_details_page">
         <property name="visible">True</property>
+        <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="stock_detail_label">
             <property name="visible">True</property>
+            <property name="can_focus">False</property>
             <property name="label" translatable="yes">Enter the date and the number of shares you gained or lost from the stock split or merger. For stock mergers (negative splits) use a negative value for the share distribution. You can also enter a description of the transaction, or accept the default one.</property>
             <property name="justify">center</property>
             <property name="wrap">True</property>
@@ -76,131 +94,119 @@
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="stock_details_table">
+          <object class="GtkGrid" id="stock_details_table">
             <property name="visible">True</property>
+            <property name="can_focus">False</property>
             <property name="border_width">6</property>
-            <property name="n_rows">7</property>
-            <property name="n_columns">2</property>
-            <property name="column_spacing">6</property>
             <property name="row_spacing">12</property>
+            <property name="column_spacing">6</property>
             <child>
               <object class="GtkLabel" id="date_label">
                 <property name="visible">True</property>
-                <property name="xalign">0</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">_Date:</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
               </object>
               <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="distribution_label">
                 <property name="visible">True</property>
-                <property name="xalign">0</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">_Shares:</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="description_label">
                 <property name="visible">True</property>
-                <property name="xalign">0</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">Desc_ription:</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
                 <property name="mnemonic_widget">description_entry</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkEntry" id="description_entry">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="invisible_char">&#x25CF;</property>
+                <property name="invisible_char">●</property>
                 <property name="text" translatable="yes">Stock Split</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
-              <object class="GtkHSeparator" id="hseparator1">
+              <object class="GtkSeparator" id="hseparator1">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
               </object>
               <packing>
-                <property name="right_attach">2</property>
+                <property name="left_attach">0</property>
                 <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="width">2</property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="text_label">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="label" translatable="yes">If you want to record a stock price for the split, enter it below. You may safely leave it blank.</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
                 <property name="wrap">True</property>
               </object>
               <packing>
-                <property name="right_attach">2</property>
+                <property name="left_attach">0</property>
                 <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="width">2</property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="price_label">
                 <property name="visible">True</property>
-                <property name="xalign">0</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">New _Price:</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="currency_label">
                 <property name="visible">True</property>
-                <property name="xalign">0</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">Currenc_y:</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">6</property>
-                <property name="bottom_attach">7</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
@@ -213,23 +219,11 @@
               <placeholder/>
             </child>
             <child>
-              <object class="GtkHBox" id="price_currency_box">
-                <property name="visible">True</property>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">6</property>
-                <property name="bottom_attach">7</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
+              <placeholder/>
             </child>
           </object>
           <packing>
+            <property name="expand">False</property>
             <property name="fill">False</property>
             <property name="position">1</property>
           </packing>
@@ -237,17 +231,20 @@
       </object>
       <packing>
         <property name="title" translatable="yes">Stock Split Details</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="stock_cash_page">
+      <object class="GtkBox" id="stock_cash_page">
         <property name="visible">True</property>
+        <property name="can_focus">False</property>
         <property name="border_width">6</property>
         <property name="orientation">vertical</property>
         <property name="spacing">12</property>
         <child>
           <object class="GtkLabel" id="stock_cash_label">
             <property name="visible">True</property>
+            <property name="can_focus">False</property>
             <property name="label" translatable="yes">If you received a cash disbursement as a result of the stock split, enter the details of that payment here. Otherwise, just click `Forward'.</property>
             <property name="justify">center</property>
             <property name="wrap">True</property>
@@ -259,67 +256,63 @@
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="cash_table">
+          <object class="GtkGrid" id="cash_table">
             <property name="visible">True</property>
-            <property name="n_rows">2</property>
-            <property name="n_columns">2</property>
-            <property name="column_spacing">12</property>
+            <property name="can_focus">False</property>
             <property name="row_spacing">6</property>
+            <property name="column_spacing">12</property>
             <child>
               <object class="GtkLabel" id="cash_label">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="label" translatable="yes">_Amount:</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
               </object>
               <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="memo_label">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="label" translatable="yes">_Memo:</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
                 <property name="mnemonic_widget">memo_entry</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkEntry" id="memo_entry">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="invisible_char">&#x25CF;</property>
+                <property name="hexpand">True</property>
+                <property name="invisible_char">●</property>
                 <property name="text" translatable="yes">Cash In Lieu</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="cash_box">
+              <object class="GtkBox" id="cash_box">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
                 <child>
                   <placeholder/>
                 </child>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
           </object>
@@ -330,48 +323,50 @@
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="cash_table2">
+          <object class="GtkGrid" id="cash_table2">
             <property name="visible">True</property>
-            <property name="n_rows">2</property>
-            <property name="n_columns">2</property>
+            <property name="can_focus">False</property>
             <property name="column_spacing">12</property>
+            <property name="column_homogeneous">True</property>
             <child>
               <object class="GtkLabel" id="income_label">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="label" translatable="yes"><b>_Income Account</b></property>
                 <property name="use_markup">True</property>
                 <property name="use_underline">True</property>
               </object>
               <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="asset_label">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="label" translatable="yes"><b>A_sset Account</b></property>
                 <property name="use_markup">True</property>
                 <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
               <object class="GtkAlignment" id="alignment2">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="vexpand">True</property>
                 <property name="left_padding">12</property>
                 <child>
                   <object class="GtkScrolledWindow" id="income_scroll">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
+                    <property name="vexpand">True</property>
                     <property name="border_width">3</property>
-                    <property name="hscrollbar_policy">automatic</property>
-                    <property name="vscrollbar_policy">automatic</property>
                     <child>
                       <placeholder/>
                     </child>
@@ -379,20 +374,22 @@
                 </child>
               </object>
               <packing>
+                <property name="left_attach">1</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
               </packing>
             </child>
             <child>
               <object class="GtkAlignment" id="alignment3">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="vexpand">True</property>
                 <child>
                   <object class="GtkScrolledWindow" id="asset_scroll">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
+                    <property name="vexpand">True</property>
                     <property name="border_width">3</property>
-                    <property name="hscrollbar_policy">automatic</property>
-                    <property name="vscrollbar_policy">automatic</property>
                     <child>
                       <placeholder/>
                     </child>
@@ -400,31 +397,42 @@
                 </child>
               </object>
               <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
+                <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
               </packing>
             </child>
           </object>
           <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
             <property name="position">2</property>
           </packing>
         </child>
       </object>
       <packing>
         <property name="title" translatable="yes">Cash in Lieu</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
       <object class="GtkLabel" id="finish_page_label">
         <property name="visible">True</property>
+        <property name="can_focus">False</property>
         <property name="label" translatable="yes">If you are finished creating the stock split or merger, press `Apply'. You may also press `Back' to review your choices, or `Cancel' to quit without making any changes.</property>
         <property name="wrap">True</property>
       </object>
       <packing>
         <property name="page_type">confirm</property>
         <property name="title" translatable="yes">Stock Split Finish</property>
+        <property name="has_padding">False</property>
+      </packing>
+    </child>
+    <child internal-child="action_area">
+      <object class="GtkBox" id="assistant-action_area2">
+        <property name="can_focus">False</property>
+      </object>
+      <packing>
+        <property name="has_padding">False</property>
       </packing>
     </child>
   </object>

commit 3c3b6093849177d2f586c44bfbea8f53836c9a88
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Wed Jun 21 10:24:09 2017 +0100

    Files linked to assistant-hierarchy.glade

diff --git a/src/gnome-utils/dialog-options.c b/src/gnome-utils/dialog-options.c
index 0a955fb..1747797 100644
--- a/src/gnome-utils/dialog-options.c
+++ b/src/gnome-utils/dialog-options.c
@@ -1775,6 +1775,9 @@ gnc_options_dialog_new_modal(gboolean modal, gchar *title)
     /* glade doesn't support a notebook with zero pages */
     hbox = GTK_WIDGET(gtk_builder_get_object (builder, "notebook_placeholder"));
     retval->notebook = gtk_notebook_new();
+
+    gtk_widget_set_vexpand (retval->notebook, TRUE);
+
     gtk_widget_show(retval->notebook);
     gtk_box_pack_start(GTK_BOX(hbox), retval->notebook, TRUE, TRUE, 5);
 
diff --git a/src/gnome/assistant-hierarchy.c b/src/gnome/assistant-hierarchy.c
index 55a697f..aeca858 100644
--- a/src/gnome/assistant-hierarchy.c
+++ b/src/gnome/assistant-hierarchy.c
@@ -1141,6 +1141,7 @@ book_options_dialog_close_cb(GNCOptionWin * optionwin,
 static void
 assistant_instert_book_options_page (hierarchy_data *data)
 {
+    GtkWidget *options, *parent;
     GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
     gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
 
@@ -1157,7 +1158,18 @@ assistant_instert_book_options_page (hierarchy_data *data)
                                      (gpointer)data->options);
     gnc_options_dialog_set_new_book_option_values (data->options);
 
-    gtk_widget_reparent (gnc_options_dialog_notebook (data->optionwin), vbox);
+    options = gnc_options_dialog_notebook (data->optionwin);
+    parent = gtk_widget_get_parent (options);
+
+#if GTK_CHECK_VERSION(3, 14, 0)
+    g_object_ref (options);
+    gtk_container_remove (GTK_CONTAINER(parent), options);
+    gtk_container_add (GTK_CONTAINER(vbox), options);
+    g_object_unref (options);
+#else
+    gtk_widget_reparent (options, vbox);
+#endif
+
     gtk_widget_show_all (vbox);
     gtk_assistant_insert_page (GTK_ASSISTANT(data->dialog), vbox, 2);
     gtk_assistant_set_page_title (GTK_ASSISTANT(data->dialog), vbox, _("New Book Options"));
@@ -1184,9 +1196,9 @@ gnc_create_hierarchy_assistant (gboolean use_defaults, GncHierarchyAssistantFini
     data->new_book = gnc_is_new_book();
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "assistant-hierarchy.glade", "Hierarchy Assistant");
+    gnc_builder_add_from_file (builder, "assistant-hierarchy.glade", "hierarchy_assistant");
 
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Hierarchy Assistant"));
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "hierarchy_assistant"));
     data->dialog = dialog;
 
     /* If we have a callback, make this window stay on top */
diff --git a/src/gnome/gtkbuilder/assistant-hierarchy.glade b/src/gnome/gtkbuilder/assistant-hierarchy.glade
index fcc97d1..34f9f91 100644
--- a/src/gnome/gtkbuilder/assistant-hierarchy.glade
+++ b/src/gnome/gtkbuilder/assistant-hierarchy.glade
@@ -1,18 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkAssistant" id="Hierarchy Assistant">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkAssistant" id="hierarchy_assistant">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="border_width">12</property>
     <property name="default_height">550</property>
+    <signal name="cancel" handler="on_cancel" swapped="no"/>
     <signal name="close" handler="on_finish" swapped="no"/>
     <signal name="prepare" handler="on_prepare" swapped="no"/>
-    <signal name="cancel" handler="on_cancel" swapped="no"/>
-    <child>
-      <placeholder/>
-    </child>
     <child>
       <object class="GtkLabel" id="intro_page_label">
         <property name="visible">True</property>
@@ -27,12 +24,14 @@ Click 'Cancel'  if you do not wish to create any new accounts now.</property>
       <packing>
         <property name="page_type">intro</property>
         <property name="title" translatable="yes">New Account Hierarchy Setup</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="currency_book_option_page_vbox">
+      <object class="GtkBox" id="currency_book_option_page_vbox">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">5</property>
         <child>
           <object class="GtkLabel" id="choose_currency_label">
@@ -48,11 +47,11 @@ Please choose the currency to use for new accounts.</property>
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="currency_chooser_vbox">
+          <object class="GtkBox" id="currency_chooser_vbox">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
-              <object class="GtkLabel" id="label1">
+              <object class="GtkLabel" id="label100">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
               </object>
@@ -63,7 +62,7 @@ Please choose the currency to use for new accounts.</property>
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="currency_chooser_hbox">
+              <object class="GtkBox" id="currency_chooser_hbox">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
@@ -77,7 +76,7 @@ Please choose the currency to use for new accounts.</property>
               </packing>
             </child>
             <child>
-              <object class="GtkLabel" id="label2">
+              <object class="GtkLabel" id="label102">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
               </object>
@@ -100,12 +99,14 @@ Please choose the currency to use for new accounts.</property>
       </object>
       <packing>
         <property name="title" translatable="yes">Choose Currency</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="choose_account_types_vbox">
+      <object class="GtkBox" id="choose_account_types_vbox">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="pickAccountsDescriptionLabel">
             <property name="visible">True</property>
@@ -125,28 +126,30 @@ Select categories that correspond to the ways that you foresee you will use GnuC
           </packing>
         </child>
         <child>
-          <object class="GtkHPaned" id="hpaned2">
+          <object class="GtkPaned" id="hpaned100">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="position">336</property>
+            <property name="position">650</property>
             <property name="position_set">True</property>
             <child>
-              <object class="GtkVPaned" id="vpaned2">
+              <object class="GtkPaned" id="vpaned100">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
+                <property name="orientation">vertical</property>
                 <property name="position">200</property>
                 <property name="position_set">True</property>
                 <child>
-                  <object class="GtkVBox" id="vbox7">
+                  <object class="GtkBox" id="vbox101">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="vexpand">True</property>
                     <property name="border_width">6</property>
+                    <property name="orientation">vertical</property>
                     <property name="spacing">6</property>
                     <child>
-                      <object class="GtkLabel" id="label8477431">
+                      <object class="GtkLabel" id="label101">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes"><b>Categories</b></property>
                         <property name="use_markup">True</property>
                       </object>
@@ -157,80 +160,68 @@ Select categories that correspond to the ways that you foresee you will use GnuC
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkAlignment" id="alignment11">
+                      <object class="GtkScrolledWindow" id="scrolledwindow101">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="left_padding">12</property>
+                        <property name="can_focus">True</property>
+                        <property name="vexpand">True</property>
+                        <property name="hscrollbar_policy">never</property>
+                        <property name="shadow_type">in</property>
                         <child>
-                          <object class="GtkScrolledWindow" id="scrolledwindow1">
+                          <object class="GtkTreeView" id="account_categories_tree_view">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="hscrollbar_policy">never</property>
-                            <property name="vscrollbar_policy">automatic</property>
-                            <property name="shadow_type">in</property>
-                            <child>
-                              <object class="GtkTreeView" id="account_categories_tree_view">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="reorderable">True</property>
-                                <property name="rules_hint">True</property>
-                              </object>
+                            <property name="vexpand">True</property>
+                            <property name="reorderable">True</property>
+                            <property name="rules_hint">True</property>
+                            <child internal-child="selection">
+                              <object class="GtkTreeSelection" id="treeview-selection100"/>
                             </child>
                           </object>
                         </child>
                       </object>
                       <packing>
-                        <property name="expand">True</property>
+                        <property name="expand">False</property>
                         <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkAlignment" id="alignment12">
+                      <object class="GtkButtonBox" id="hbuttonbox100">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="left_padding">12</property>
+                        <property name="border_width">6</property>
+                        <property name="layout_style">spread</property>
                         <child>
-                          <object class="GtkHButtonBox" id="hbuttonbox3">
+                          <object class="GtkButton" id="select_all_button">
+                            <property name="label" translatable="yes">_Select All</property>
                             <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="border_width">6</property>
-                            <property name="layout_style">spread</property>
-                            <child>
-                              <object class="GtkButton" id="select_all_button">
-                                <property name="label" translatable="yes">_Select All</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="can_default">True</property>
-                                <property name="receives_default">True</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="use_underline">True</property>
-                                <signal name="clicked" handler="select_all_clicked" swapped="no"/>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkButton" id="clear_all_button">
-                                <property name="label" translatable="yes">C_lear All</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="can_default">True</property>
-                                <property name="receives_default">True</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="use_underline">True</property>
-                                <signal name="clicked" handler="clear_all_clicked" swapped="no"/>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
+                            <property name="can_focus">True</property>
+                            <property name="can_default">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="use_underline">True</property>
+                            <signal name="clicked" handler="select_all_clicked" swapped="no"/>
                           </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkButton" id="clear_all_button">
+                            <property name="label" translatable="yes">C_lear All</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="can_default">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="use_underline">True</property>
+                            <signal name="clicked" handler="clear_all_clicked" swapped="no"/>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
                         </child>
                       </object>
                       <packing>
@@ -239,62 +230,40 @@ Select categories that correspond to the ways that you foresee you will use GnuC
                         <property name="position">2</property>
                       </packing>
                     </child>
-                  </object>
-                  <packing>
-                    <property name="resize">True</property>
-                    <property name="shrink">True</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkVBox" id="vbox130">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="border_width">6</property>
-                    <property name="spacing">6</property>
                     <child>
-                      <object class="GtkLabel" id="label8477397">
+                      <object class="GtkLabel" id="label103">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes"><b>Category Description</b></property>
                         <property name="use_markup">True</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
-                        <property name="position">0</property>
+                        <property name="position">3</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkAlignment" id="alignment10">
+                      <object class="GtkScrolledWindow" id="scrolledwindow100">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="left_padding">12</property>
+                        <property name="can_focus">True</property>
+                        <property name="shadow_type">in</property>
                         <child>
-                          <object class="GtkScrolledWindow" id="scrolledwindow31">
+                          <object class="GtkTextView" id="account_types_description">
                             <property name="visible">True</property>
+                            <property name="sensitive">False</property>
                             <property name="can_focus">True</property>
-                            <property name="hscrollbar_policy">automatic</property>
-                            <property name="vscrollbar_policy">automatic</property>
-                            <property name="shadow_type">in</property>
-                            <child>
-                              <object class="GtkTextView" id="account_types_description">
-                                <property name="visible">True</property>
-                                <property name="sensitive">False</property>
-                                <property name="can_focus">True</property>
-                                <property name="editable">False</property>
-                                <property name="wrap_mode">word</property>
-                                <property name="cursor_visible">False</property>
-                                <property name="accepts_tab">False</property>
-                              </object>
-                            </child>
+                            <property name="editable">False</property>
+                            <property name="wrap_mode">word</property>
+                            <property name="cursor_visible">False</property>
+                            <property name="accepts_tab">False</property>
                           </object>
                         </child>
                       </object>
                       <packing>
-                        <property name="expand">True</property>
+                        <property name="expand">False</property>
                         <property name="fill">True</property>
-                        <property name="position">1</property>
+                        <property name="position">4</property>
                       </packing>
                     </child>
                   </object>
@@ -303,6 +272,9 @@ Select categories that correspond to the ways that you foresee you will use GnuC
                     <property name="shrink">True</property>
                   </packing>
                 </child>
+                <child>
+                  <placeholder/>
+                </child>
               </object>
               <packing>
                 <property name="resize">True</property>
@@ -310,16 +282,17 @@ Select categories that correspond to the ways that you foresee you will use GnuC
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="vbox131">
+              <object class="GtkBox" id="vbox100">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="vexpand">True</property>
                 <property name="border_width">6</property>
+                <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
                 <child>
                   <object class="GtkLabel" id="accounts_in_category_label">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                     <property name="label"><b>Accounts in %s</b></property>
                     <property name="use_markup">True</property>
                   </object>
@@ -330,25 +303,17 @@ Select categories that correspond to the ways that you foresee you will use GnuC
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkAlignment" id="alignment13">
+                  <object class="GtkScrolledWindow" id="accounts_in_category">
                     <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="left_padding">12</property>
+                    <property name="can_focus">True</property>
+                    <property name="vexpand">True</property>
+                    <property name="shadow_type">in</property>
                     <child>
-                      <object class="GtkScrolledWindow" id="accounts_in_category">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="hscrollbar_policy">automatic</property>
-                        <property name="vscrollbar_policy">automatic</property>
-                        <property name="shadow_type">in</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </object>
+                      <placeholder/>
                     </child>
                   </object>
                   <packing>
-                    <property name="expand">True</property>
+                    <property name="expand">False</property>
                     <property name="fill">True</property>
                     <property name="position">1</property>
                   </packing>
@@ -369,18 +334,18 @@ Select categories that correspond to the ways that you foresee you will use GnuC
       </object>
       <packing>
         <property name="title" translatable="yes">Choose accounts to create</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
-      <object class="GtkVBox" id="final_account_vbox">
+      <object class="GtkBox" id="final_account_vbox">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel" id="finalAccountLabel">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xpad">1</property>
-            <property name="ypad">1</property>
             <property name="label" translatable="yes">
 If you would like to change an account's name, click on the row containing the account, then click on the account name and change it.
 
@@ -405,8 +370,7 @@ If you would like an account to have an opening balance, click on the row contai
           <object class="GtkScrolledWindow" id="final_account_tree_box">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">automatic</property>
-            <property name="vscrollbar_policy">automatic</property>
+            <property name="margin_left">12</property>
             <property name="shadow_type">in</property>
             <child>
               <placeholder/>
@@ -421,6 +385,7 @@ If you would like an account to have an opening balance, click on the row contai
       </object>
       <packing>
         <property name="title" translatable="yes">Setup selected accounts</property>
+        <property name="has_padding">False</property>
       </packing>
     </child>
     <child>
@@ -437,6 +402,15 @@ Press `Cancel' to close this dialog without creating any new accounts.</property
       <packing>
         <property name="page_type">confirm</property>
         <property name="title" translatable="yes">Finish Account Setup</property>
+        <property name="has_padding">False</property>
+      </packing>
+    </child>
+    <child internal-child="action_area">
+      <object class="GtkBox" id="assistant-action_area100">
+        <property name="can_focus">False</property>
+      </object>
+      <packing>
+        <property name="has_padding">False</property>
       </packing>
     </child>
   </object>

commit dfd2b047b3c55af680afd6111e61ed9a963769f7
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 16:24:45 2017 +0100

    This is minor change to eliminate the spaces in dialog names
    
    This is still using a gtk2 glade file, not sure what will happen here.

diff --git a/src/import-export/aqb/assistant-ab-initial.c b/src/import-export/aqb/assistant-ab-initial.c
index b2a0217..26d493f 100644
--- a/src/import-export/aqb/assistant-ab-initial.c
+++ b/src/import-export/aqb/assistant-ab-initial.c
@@ -856,9 +856,9 @@ gnc_ab_initial_assistant(void)
 
     info = g_new0(ABInitialInfo, 1);
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "assistant-ab-initial.glade", "AqBanking Init Assistant");
+    gnc_builder_add_from_file (builder, "assistant-ab-initial.glade", "aqbanking_init_assistant");
 
-    info->window = GTK_WIDGET(gtk_builder_get_object (builder, "AqBanking Init Assistant"));
+    info->window = GTK_WIDGET(gtk_builder_get_object (builder, "aqbanking_init_assistant"));
 
     info->api = gnc_AB_BANKING_new();
     info->deferred_info = NULL;
diff --git a/src/import-export/aqb/assistant-ab-initial.glade b/src/import-export/aqb/assistant-ab-initial.glade
index 539bd2a..2658fe9 100644
--- a/src/import-export/aqb/assistant-ab-initial.glade
+++ b/src/import-export/aqb/assistant-ab-initial.glade
@@ -1,8 +1,8 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <requires lib="gtk+" version="2.16"/>
   <!-- interface-naming-policy project-wide -->
-  <object class="GtkAssistant" id="AqBanking Init Assistant">
+  <object class="GtkAssistant" id="aqbanking_init_assistant">
     <property name="can_focus">False</property>
     <property name="border_width">12</property>
     <property name="title" translatable="yes">AqBanking Initial Assistant</property>
@@ -10,6 +10,9 @@
     <signal name="prepare" handler="aai_on_prepare" swapped="no"/>
     <signal name="cancel" handler="aai_on_cancel" swapped="no"/>
     <child>
+      <placeholder/>
+    </child>
+    <child>
       <object class="GtkLabel" id="start_page">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
@@ -67,7 +70,6 @@ Press "Cancel" if you do not wish to setup any Online Banking connection now.
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
                 <signal name="clicked" handler="aai_wizard_button_clicked_cb" swapped="no"/>
               </object>
diff --git a/src/import-export/aqb/dialog-ab-daterange.c b/src/import-export/aqb/dialog-ab-daterange.c
index 884440e..74f5833 100644
--- a/src/import-export/aqb/dialog-ab-daterange.c
+++ b/src/import-export/aqb/dialog-ab-daterange.c
@@ -69,9 +69,9 @@ gnc_ab_enter_daterange(GtkWidget *parent,
     ENTER("");
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-ab.glade", "Date Range Dialog");
+    gnc_builder_add_from_file (builder, "dialog-ab.glade", "aqbanking_date_range_dialog");
 
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Date Range Dialog"));
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "aqbanking_date_range_dialog"));
 
     /* Connect the signals */
     gtk_builder_connect_signals_full (builder, gnc_builder_connect_full_func, &info );
diff --git a/src/import-export/aqb/dialog-ab-trans.c b/src/import-export/aqb/dialog-ab-trans.c
index ed5d606..718e530 100644
--- a/src/import-export/aqb/dialog-ab-trans.c
+++ b/src/import-export/aqb/dialog-ab-trans.c
@@ -303,8 +303,8 @@ gnc_ab_trans_dialog_new(GtkWidget *parent, AB_ACCOUNT *ab_acc,
 #endif
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-ab.glade", "Transaction Dialog");
-    td->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Transaction Dialog"));
+    gnc_builder_add_from_file (builder, "dialog-ab.glade", "aqbanking_transaction_dialog");
+    td->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "aqbanking_transaction_dialog"));
 
     if (parent)
         gtk_window_set_transient_for(GTK_WINDOW(td->dialog), GTK_WINDOW(parent));
@@ -1154,8 +1154,8 @@ gnc_ab_trans_dialog_add_templ_cb(GtkButton *button, gpointer user_data)
 
     ENTER("td=%p", td);
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-ab.glade", "Template Name Dialog");
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Template Name Dialog"));
+    gnc_builder_add_from_file (builder, "dialog-ab.glade", "aqbanking_template_name_dialog");
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "aqbanking_template_name_dialog"));
 
     entry = GTK_WIDGET(gtk_builder_get_object (builder, "template_name"));
 
diff --git a/src/import-export/aqb/gnc-gwen-gui.c b/src/import-export/aqb/gnc-gwen-gui.c
index 0e1f671..6d49f18 100644
--- a/src/import-export/aqb/gnc-gwen-gui.c
+++ b/src/import-export/aqb/gnc-gwen-gui.c
@@ -520,9 +520,9 @@ setup_dialog(GncGWENGui *gui)
     ENTER("gui=%p", gui);
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-ab.glade", "Connection Dialog");
+    gnc_builder_add_from_file (builder, "dialog-ab.glade", "aqbanking_connection_dialog");
 
-    gui->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Connection Dialog"));
+    gui->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "aqbanking_connection_dialog"));
 
     gui->entries_table = GTK_WIDGET(gtk_builder_get_object (builder, "entries_table"));
     gui->top_entry = GTK_WIDGET(gtk_builder_get_object (builder, "top_entry"));
@@ -993,8 +993,8 @@ get_input(GncGWENGui *gui, guint32 flags, const gchar *title, const gchar *text,
 
     /* Set up dialog */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-ab.glade", "Password Dialog");
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Password Dialog"));
+    gnc_builder_add_from_file (builder, "dialog-ab.glade", "aqbanking_password_dialog");
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "aqbanking_password_dialog"));
 
     heading_label = GTK_WIDGET(gtk_builder_get_object (builder, "heading_pw_label"));
     input_entry = GTK_WIDGET(gtk_builder_get_object (builder, "input_entry"));

commit bdcbb2a08c09c0e9f76e77bf5df341e3a2be7ce3
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 16:23:46 2017 +0100

    Remove the aqbanking preferences from this gtk2 glade file

diff --git a/src/import-export/aqb/dialog-ab.glade b/src/import-export/aqb/dialog-ab.glade
index 543e06d..77f9aa7 100644
--- a/src/import-export/aqb/dialog-ab.glade
+++ b/src/import-export/aqb/dialog-ab.glade
@@ -1,7 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <requires lib="gtk+" version="2.16"/>
-  <object class="GtkDialog" id="Connection Dialog">
+  <!-- interface-naming-policy toplevel-contextual -->
+  <object class="GtkDialog" id="aqbanking_connection_dialog">
     <property name="can_focus">False</property>
     <property name="border_width">5</property>
     <property name="title" translatable="yes">Online Banking Connection Window</property>
@@ -10,1747 +11,95 @@
     <property name="type_hint">dialog</property>
     <signal name="delete-event" handler="ggg_delete_event_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkBox" id="dialog-vbox9">
-        <property name="visible">True</property>
+      <object class="GtkVBox" id="dialog-vbox1">
         <property name="can_focus">False</property>
-        <property name="spacing">2</property>
         <child internal-child="action_area">
-          <object class="GtkButtonBox" id="dialog-action_area9">
-            <property name="visible">True</property>
+          <object class="GtkHButtonBox" id="dialog-action_area1">
             <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="abort_button">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="sensitive">False</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="ggg_abort_clicked_cb" swapped="no"/>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="close_button">
-                <property name="label">gtk-close</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="ggg_close_clicked_cb" swapped="no"/>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkVBox" id="vbox149">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="border_width">5</property>
-            <property name="spacing">18</property>
-            <child>
-              <object class="GtkVBox" id="vbox160">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="spacing">6</property>
-                <child>
-                  <object class="GtkLabel" id="label8877443">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes"><b>Progress</b></property>
-                    <property name="use_markup">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkAlignment" id="alignment2">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="left_padding">12</property>
-                    <child>
-                      <object class="GtkTable" id="entries_table">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="n_rows">3</property>
-                        <property name="n_columns">2</property>
-                        <property name="column_spacing">12</property>
-                        <property name="row_spacing">6</property>
-                        <child>
-                          <object class="GtkLabel" id="label8877424">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">Current Job</property>
-                            <property name="justify">center</property>
-                          </object>
-                          <packing>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkEntry" id="top_entry">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="invisible_char">●</property>
-                            <property name="invisible_char_set">True</property>
-                            <property name="primary_icon_activatable">False</property>
-                            <property name="secondary_icon_activatable">False</property>
-                          </object>
-                          <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkProgressBar" id="top_progress">
-                            <property name="visible">True</property>
-                            <property name="sensitive">False</property>
-                            <property name="can_focus">False</property>
-                            <property name="pulse_step">0.10000000149</property>
-                          </object>
-                          <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label8877426">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">Progress</property>
-                            <property name="justify">center</property>
-                          </object>
-                          <packing>
-                            <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label8877425">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">Current Action</property>
-                            <property name="justify">center</property>
-                          </object>
-                          <packing>
-                            <property name="top_attach">2</property>
-                            <property name="bottom_attach">3</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkEntry" id="second_entry">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="invisible_char">●</property>
-                            <property name="invisible_char_set">True</property>
-                            <property name="primary_icon_activatable">False</property>
-                            <property name="secondary_icon_activatable">False</property>
-                          </object>
-                          <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">2</property>
-                            <property name="bottom_attach">3</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkVBox" id="vbox162">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="spacing">6</property>
-                <child>
-                  <object class="GtkLabel" id="label8877444">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes"><b>Log Messages</b></property>
-                    <property name="use_markup">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkAlignment" id="alignment1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="left_padding">12</property>
-                    <child>
-                      <object class="GtkScrolledWindow" id="scrolledwindow30">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="shadow_type">in</property>
-                        <child>
-                          <object class="GtkTextView" id="log_text">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="editable">False</property>
-                            <property name="wrap_mode">word</property>
-                          </object>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkCheckButton" id="close_checkbutton">
-                <property name="label" translatable="yes">Close when finished</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_underline">True</property>
-                <property name="active">True</property>
-                <property name="draw_indicator">True</property>
-                <signal name="toggled" handler="ggg_close_toggled_cb" swapped="no"/>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">2</property>
-              </packing>
-            </child>
           </object>
           <packing>
             <property name="expand">True</property>
             <property name="fill">True</property>
-            <property name="position">2</property>
+            <property name="position">0</property>
           </packing>
         </child>
       </object>
     </child>
-    <action-widgets>
-      <action-widget response="0">abort_button</action-widget>
-      <action-widget response="0">close_button</action-widget>
-    </action-widgets>
   </object>
-  <object class="GtkDialog" id="Date Range Dialog">
+  <object class="GtkDialog" id="aqbanking_date_range_dialog">
     <property name="can_focus">False</property>
     <property name="border_width">5</property>
     <property name="title" translatable="yes">Get Transactions Online</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkBox" id="dialog-vbox1">
-        <property name="visible">True</property>
+      <object class="GtkVBox" id="dialog-vbox2">
         <property name="can_focus">False</property>
-        <property name="spacing">2</property>
         <child internal-child="action_area">
-          <object class="GtkButtonBox" id="dialog-action_area1">
-            <property name="visible">True</property>
+          <object class="GtkHButtonBox" id="dialog-action_area2">
             <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="cancel_button1">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="ok_button">
-                <property name="label">gtk-ok</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkVBox" id="vbox152">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="border_width">5</property>
-            <property name="spacing">18</property>
-            <child>
-              <object class="GtkLabel" id="heading_label1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Date range of transactions to retrieve:</property>
-                <property name="justify">center</property>
-                <property name="wrap">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkVBox" id="vbox163">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="spacing">6</property>
-                <child>
-                  <object class="GtkLabel" id="label8877445">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes"><b>From</b></property>
-                    <property name="use_markup">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkAlignment" id="alignment9">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="left_padding">12</property>
-                    <child>
-                      <object class="GtkVBox" id="vbox164">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="spacing">6</property>
-                        <child>
-                          <object class="GtkRadioButton" id="first_button">
-                            <property name="label" translatable="yes">_Earliest possible date</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_underline">True</property>
-                            <property name="active">True</property>
-                            <property name="draw_indicator">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkRadioButton" id="last_retrieval_button">
-                            <property name="label" translatable="yes">_Last retrieval date</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_underline">True</property>
-                            <property name="draw_indicator">True</property>
-                            <property name="group">first_button</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkHBox" id="hbox123">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="spacing">12</property>
-                            <child>
-                              <object class="GtkRadioButton" id="enter_from_button">
-                                <property name="label" translatable="yes">E_nter date:</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="draw_indicator">True</property>
-                                <property name="group">first_button</property>
-                                <signal name="toggled" handler="ddr_toggled_cb" swapped="no"/>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkHBox" id="enter_from_box">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <child>
-                                  <placeholder/>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">True</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">2</property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkVBox" id="vbox165">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="spacing">6</property>
-                <child>
-                  <object class="GtkLabel" id="label8877446">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes"><b>To</b></property>
-                    <property name="use_markup">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkAlignment" id="alignment10">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="left_padding">12</property>
-                    <child>
-                      <object class="GtkVBox" id="vbox166">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="spacing">6</property>
-                        <child>
-                          <object class="GtkRadioButton" id="now_button">
-                            <property name="label" translatable="yes">_Now</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_underline">True</property>
-                            <property name="active">True</property>
-                            <property name="draw_indicator">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkHBox" id="hbox124">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="spacing">12</property>
-                            <child>
-                              <object class="GtkRadioButton" id="enter_to_button">
-                                <property name="label" translatable="yes">Ente_r date:</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="draw_indicator">True</property>
-                                <property name="group">now_button</property>
-                                <signal name="toggled" handler="ddr_toggled_cb" swapped="no"/>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkHBox" id="enter_to_box">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <child>
-                                  <placeholder/>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">True</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">True</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">2</property>
-              </packing>
-            </child>
           </object>
           <packing>
             <property name="expand">True</property>
             <property name="fill">True</property>
-            <property name="position">2</property>
+            <property name="position">0</property>
           </packing>
         </child>
       </object>
     </child>
-    <action-widgets>
-      <action-widget response="-6">cancel_button1</action-widget>
-      <action-widget response="-5">ok_button</action-widget>
-    </action-widgets>
   </object>
-  <object class="GtkDialog" id="Password Dialog">
+  <object class="GtkDialog" id="aqbanking_password_dialog">
     <property name="can_focus">False</property>
     <property name="border_width">5</property>
     <property name="title" translatable="yes">Enter Password</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkBox" id="dialog-vbox3">
-        <property name="visible">True</property>
+      <object class="GtkVBox" id="dialog-vbox3">
         <property name="can_focus">False</property>
         <child internal-child="action_area">
-          <object class="GtkButtonBox" id="dialog-action_area3">
-            <property name="visible">True</property>
+          <object class="GtkHButtonBox" id="dialog-action_area3">
             <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="cancelbutton2">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="okbutton2">
-                <property name="label">gtk-ok</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkVBox" id="vbox167">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="border_width">5</property>
-            <property name="spacing">18</property>
-            <child>
-              <object class="GtkLabel" id="heading_pw_label">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Enter your password</property>
-                <property name="wrap">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkTable" id="table7">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="n_rows">3</property>
-                <property name="n_columns">2</property>
-                <property name="column_spacing">12</property>
-                <property name="row_spacing">6</property>
-                <child>
-                  <object class="GtkLabel" id="label8877456">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Password:</property>
-                  </object>
-                  <packing>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="confirm_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Confirm Password:</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkEntry" id="input_entry">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="visibility">False</property>
-                    <property name="invisible_char">●</property>
-                    <property name="invisible_char_set">True</property>
-                    <property name="primary_icon_activatable">False</property>
-                    <property name="secondary_icon_activatable">False</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkEntry" id="confirm_entry">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="visibility">False</property>
-                    <property name="invisible_char">●</property>
-                    <property name="invisible_char_set">True</property>
-                    <property name="primary_icon_activatable">False</property>
-                    <property name="secondary_icon_activatable">False</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkCheckButton" id="remember_pin">
-                    <property name="label" translatable="yes">Remember _PIN</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_underline">True</property>
-                    <property name="draw_indicator">True</property>
-                  </object>
-                  <packing>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
           </object>
           <packing>
             <property name="expand">True</property>
             <property name="fill">True</property>
-            <property name="position">2</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="-6">cancelbutton2</action-widget>
-      <action-widget response="-5">okbutton2</action-widget>
-    </action-widgets>
-  </object>
-  <object class="GtkWindow" id="Preferences">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="title" translatable="yes">window1</property>
-    <child>
-      <object class="GtkTable" id="aqbanking_prefs">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="n_rows">4</property>
-        <property name="n_columns">4</property>
-        <child>
-          <object class="GtkLabel" id="label8877457">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="xalign">0</property>
-            <property name="label" translatable="yes"><b>Online Banking</b></property>
-            <property name="use_markup">True</property>
-          </object>
-          <packing>
-            <property name="right_attach">4</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkCheckButton" id="pref/dialogs.import.hbci/close-on-finish">
-            <property name="label" translatable="yes">_Close log window when finished</property>
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">False</property>
-            <property name="use_action_appearance">False</property>
-            <property name="use_underline">True</property>
-            <property name="draw_indicator">True</property>
-          </object>
-          <packing>
-            <property name="right_attach">4</property>
-            <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-            <property name="x_padding">12</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkCheckButton" id="pref/dialogs.import.hbci/remember-pin">
-            <property name="label" translatable="yes">Remember _PIN</property>
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">False</property>
-            <property name="use_action_appearance">False</property>
-            <property name="use_underline">True</property>
-            <property name="draw_indicator">True</property>
-          </object>
-          <packing>
-            <property name="right_attach">4</property>
-            <property name="top_attach">2</property>
-            <property name="bottom_attach">3</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-            <property name="x_padding">12</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkCheckButton" id="checkbutton3">
-            <property name="label" translatable="yes">_Verbose debug messages</property>
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">False</property>
-            <property name="use_action_appearance">False</property>
-            <property name="use_underline">True</property>
-            <property name="draw_indicator">True</property>
-          </object>
-          <packing>
-            <property name="right_attach">4</property>
-            <property name="top_attach">3</property>
-            <property name="bottom_attach">4</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-            <property name="x_padding">12</property>
+            <property name="position">0</property>
           </packing>
         </child>
       </object>
     </child>
   </object>
-  <object class="GtkDialog" id="Template Name Dialog">
+  <object class="GtkDialog" id="aqbanking_template_name_dialog">
     <property name="can_focus">False</property>
     <property name="border_width">5</property>
     <property name="title" translatable="yes">Name for new template</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkBox" id="dialog-vbox2">
-        <property name="visible">True</property>
+      <object class="GtkVBox" id="dialog-vbox4">
         <property name="can_focus">False</property>
         <child internal-child="action_area">
-          <object class="GtkButtonBox" id="dialog-action_area2">
-            <property name="visible">True</property>
+          <object class="GtkHButtonBox" id="dialog-action_area4">
             <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="cancelbutton1">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="okbutton1">
-                <property name="label">gtk-ok</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="has_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkVBox" id="vbox159">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="border_width">5</property>
-            <property name="spacing">12</property>
-            <child>
-              <object class="GtkLabel" id="label8877450">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Enter name for new template:</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkEntry" id="template_name">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="max_length">250</property>
-                <property name="invisible_char">●</property>
-                <property name="activates_default">True</property>
-                <property name="invisible_char_set">True</property>
-                <property name="primary_icon_activatable">False</property>
-                <property name="secondary_icon_activatable">False</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
           </object>
           <packing>
             <property name="expand">True</property>
             <property name="fill">True</property>
-            <property name="position">2</property>
+            <property name="position">0</property>
           </packing>
         </child>
       </object>
     </child>
-    <action-widgets>
-      <action-widget response="-6">cancelbutton1</action-widget>
-      <action-widget response="-5">okbutton1</action-widget>
-    </action-widgets>
   </object>
-  <object class="GtkDialog" id="Transaction Dialog">
+  <object class="GtkDialog" id="aqbanking_transaction_dialog">
     <property name="can_focus">False</property>
     <property name="border_width">5</property>
     <property name="title" translatable="yes">Online Transaction</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkBox" id="dialog-vbox7">
-        <property name="visible">True</property>
+      <object class="GtkVBox" id="dialog-vbox5">
         <property name="can_focus">False</property>
-        <property name="orientation">vertical</property>
-        <property name="spacing">2</property>
-        <child>
-          <object class="GtkVBox" id="trans_vbox">
-            <property name="visible">True</property>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="dialog-action_area5">
             <property name="can_focus">False</property>
-            <property name="border_width">5</property>
-            <child>
-              <object class="GtkLabel" id="heading_label">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Enter an Online Transaction</property>
-                <property name="justify">center</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkTable" id="table6">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="n_rows">21</property>
-                <property name="n_columns">3</property>
-                <child>
-                  <object class="GtkEntry" id="recp_account_entry">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="max_length">12</property>
-                    <property name="invisible_char">●</property>
-                    <property name="invisible_char_set">True</property>
-                    <property name="primary_icon_activatable">False</property>
-                    <property name="secondary_icon_activatable">False</property>
-                    <signal name="changed" handler="gnc_ab_trans_dialog_verify_values" swapped="yes"/>
-                    <signal name="insert-text" handler="gnc_ab_trans_dialog_ibanentry_filter_cb" swapped="no"/>
-                  </object>
-                  <packing>
-                    <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="recp_account_heading">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Recipient Account Number</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkEntry" id="recp_bankcode_entry">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="max_length">8</property>
-                    <property name="invisible_char">●</property>
-                    <property name="invisible_char_set">True</property>
-                    <property name="primary_icon_activatable">False</property>
-                    <property name="secondary_icon_activatable">False</property>
-                    <signal name="changed" handler="gnc_ab_trans_dialog_bankcode_changed_cb" swapped="no"/>
-                    <signal name="insert-text" handler="gnc_ab_trans_dialog_bicentry_filter_cb" swapped="no"/>
-                  </object>
-                  <packing>
-                    <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
-                    <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="recp_bankcode_heading">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Recipient Bank Code</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkEntry" id="recp_name_entry">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="max_length">27</property>
-                    <property name="invisible_char">●</property>
-                    <property name="invisible_char_set">True</property>
-                    <property name="primary_icon_activatable">False</property>
-                    <property name="secondary_icon_activatable">False</property>
-                    <signal name="changed" handler="gnc_ab_trans_dialog_verify_values" swapped="yes"/>
-                  </object>
-                  <packing>
-                    <property name="right_attach">3</property>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="recp_name_heading">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Recipient Name</property>
-                    <property name="justify">center</property>
-                  </object>
-                  <packing>
-                    <property name="right_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="recp_bankname_heading">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">at Bank</property>
-                  </object>
-                  <packing>
-                    <property name="right_attach">3</property>
-                    <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="recp_bankname_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">(filled in automatically)</property>
-                    <property name="justify">center</property>
-                  </object>
-                  <packing>
-                    <property name="right_attach">3</property>
-                    <property name="top_attach">5</property>
-                    <property name="bottom_attach">6</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label8877434">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Amount</property>
-                    <property name="justify">center</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">7</property>
-                    <property name="bottom_attach">8</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label8877433">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Payment Purpose (only for recipient)</property>
-                    <property name="justify">center</property>
-                  </object>
-                  <packing>
-                    <property name="right_attach">3</property>
-                    <property name="top_attach">10</property>
-                    <property name="bottom_attach">11</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label8877435">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Payment Purpose continued</property>
-                    <property name="justify">center</property>
-                  </object>
-                  <packing>
-                    <property name="right_attach">3</property>
-                    <property name="top_attach">12</property>
-                    <property name="bottom_attach">13</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="orig_name_heading">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Originator Name</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">15</property>
-                    <property name="bottom_attach">16</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkEntry" id="orig_name_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="max_length">54</property>
-                    <property name="invisible_char">●</property>
-                    <property name="invisible_char_set">True</property>
-                    <property name="primary_icon_activatable">False</property>
-                    <property name="secondary_icon_activatable">False</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">16</property>
-                    <property name="bottom_attach">17</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="orig_bankname_heading">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">at Bank</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">17</property>
-                    <property name="bottom_attach">18</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="orig_bankname_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">something</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">18</property>
-                    <property name="bottom_attach">19</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="orig_account_heading">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Originator Account Number</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
-                    <property name="top_attach">15</property>
-                    <property name="bottom_attach">16</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="orig_account_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">something</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
-                    <property name="top_attach">16</property>
-                    <property name="bottom_attach">17</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="orig_bankcode_heading">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Bank Code</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
-                    <property name="top_attach">17</property>
-                    <property name="bottom_attach">18</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="orig_bankcode_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">something</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
-                    <property name="top_attach">18</property>
-                    <property name="bottom_attach">19</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkEntry" id="purpose_entry">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="max_length">27</property>
-                    <property name="invisible_char">●</property>
-                    <property name="invisible_char_set">True</property>
-                    <property name="primary_icon_activatable">False</property>
-                    <property name="secondary_icon_activatable">False</property>
-                    <signal name="changed" handler="gnc_ab_trans_dialog_verify_values" swapped="yes"/>
-                  </object>
-                  <packing>
-                    <property name="top_attach">11</property>
-                    <property name="bottom_attach">12</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkEntry" id="purpose_cont2_entry">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="max_length">27</property>
-                    <property name="invisible_char">●</property>
-                    <property name="invisible_char_set">True</property>
-                    <property name="primary_icon_activatable">False</property>
-                    <property name="secondary_icon_activatable">False</property>
-                    <signal name="changed" handler="gnc_ab_trans_dialog_verify_values" swapped="yes"/>
-                  </object>
-                  <packing>
-                    <property name="top_attach">13</property>
-                    <property name="bottom_attach">14</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkEntry" id="purpose_cont_entry">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="max_length">27</property>
-                    <property name="invisible_char">●</property>
-                    <property name="invisible_char_set">True</property>
-                    <property name="primary_icon_activatable">False</property>
-                    <property name="secondary_icon_activatable">False</property>
-                    <signal name="changed" handler="gnc_ab_trans_dialog_verify_values" swapped="yes"/>
-                  </object>
-                  <packing>
-                    <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
-                    <property name="top_attach">11</property>
-                    <property name="bottom_attach">12</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkEntry" id="purpose_cont3_entry">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="max_length">27</property>
-                    <property name="invisible_char">●</property>
-                    <property name="invisible_char_set">True</property>
-                    <property name="primary_icon_activatable">False</property>
-                    <property name="secondary_icon_activatable">False</property>
-                    <signal name="changed" handler="gnc_ab_trans_dialog_verify_values" swapped="yes"/>
-                  </object>
-                  <packing>
-                    <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
-                    <property name="top_attach">13</property>
-                    <property name="bottom_attach">14</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHBox" id="amount_hbox">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <child>
-                      <placeholder/>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="top_attach">8</property>
-                    <property name="bottom_attach">9</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHSeparator" id="hseparator8">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                  </object>
-                  <packing>
-                    <property name="right_attach">3</property>
-                    <property name="top_attach">19</property>
-                    <property name="bottom_attach">20</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                    <property name="y_padding">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHSeparator" id="hseparator4">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                  </object>
-                  <packing>
-                    <property name="right_attach">3</property>
-                    <property name="top_attach">14</property>
-                    <property name="bottom_attach">15</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHSeparator" id="hseparator5">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                  </object>
-                  <packing>
-                    <property name="right_attach">3</property>
-                    <property name="top_attach">6</property>
-                    <property name="bottom_attach">7</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                    <property name="y_padding">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHSeparator" id="hseparator6">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                  </object>
-                  <packing>
-                    <property name="right_attach">3</property>
-                    <property name="top_attach">9</property>
-                    <property name="bottom_attach">10</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkExpander" id="expander1">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <child>
-                  <object class="GtkHBox" id="hbox117">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="spacing">4</property>
-                    <child>
-                      <object class="GtkVButtonBox" id="vbutonbox158">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="homogeneous">True</property>
-                        <child>
-                          <object class="GtkButton" id="add_templ_button">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">True</property>
-                            <property name="has_tooltip">True</property>
-                            <property name="tooltip_markup">Add the current online transaction as a new transaction template</property>
-                            <property name="tooltip_text" translatable="yes">Add the current online transaction as a new transaction template</property>
-                            <property name="use_action_appearance">False</property>
-                            <signal name="clicked" handler="gnc_ab_trans_dialog_add_templ_cb" swapped="no"/>
-                            <child>
-                              <object class="GtkAlignment" id="alignment3">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xscale">0</property>
-                                <property name="yscale">0</property>
-                                <child>
-                                  <object class="GtkHBox" id="hbox119">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="spacing">2</property>
-                                    <child>
-                                      <object class="GtkImage" id="image1">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="stock">gtk-add</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="label8877451">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="label" translatable="yes">Add current</property>
-                                        <property name="use_underline">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                </child>
-                              </object>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkButton" id="moveup_templ_button">
-                            <property name="label">gtk-go-up</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">True</property>
-                            <property name="has_tooltip">True</property>
-                            <property name="tooltip_markup">Move the selected transaction template one row up</property>
-                            <property name="tooltip_text" translatable="yes">Move the selected transaction template one row up</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_stock">True</property>
-                            <signal name="clicked" handler="gnc_ab_trans_dialog_moveup_templ_cb" swapped="no"/>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkButton" id="movedown_templ_button">
-                            <property name="label">gtk-go-down</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">True</property>
-                            <property name="has_tooltip">True</property>
-                            <property name="tooltip_markup">Move the selected transaction template one row down</property>
-                            <property name="tooltip_text" translatable="yes">Move the selected transaction template one row down</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_stock">True</property>
-                            <signal name="clicked" handler="gnc_ab_trans_dialog_movedown_templ_cb" swapped="no"/>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">2</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkButton" id="sort_templ_button">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">True</property>
-                            <property name="has_tooltip">True</property>
-                            <property name="tooltip_markup">Sort the list of transaction templates alphabetically</property>
-                            <property name="tooltip_text" translatable="yes">Sort the list of transaction templates alphabetically</property>
-                            <property name="use_action_appearance">False</property>
-                            <signal name="clicked" handler="gnc_ab_trans_dialog_sort_templ_cb" swapped="no"/>
-                            <child>
-                              <object class="GtkAlignment" id="alignment4">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xscale">0</property>
-                                <property name="yscale">0</property>
-                                <child>
-                                  <object class="GtkHBox" id="hbox120">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="spacing">2</property>
-                                    <child>
-                                      <object class="GtkImage" id="image2">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="stock">gtk-sort-ascending</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="label8877452">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="label" translatable="yes">Sort</property>
-                                        <property name="use_underline">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                </child>
-                              </object>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">3</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkButton" id="del_templ_button">
-                            <property name="label">gtk-delete</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">True</property>
-                            <property name="has_tooltip">True</property>
-                            <property name="tooltip_markup">Delete the currently selected transaction template</property>
-                            <property name="tooltip_text" translatable="yes">Delete the currently selected transaction template</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_stock">True</property>
-                            <signal name="clicked" handler="gnc_ab_trans_dialog_del_templ_cb" swapped="no"/>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">4</property>
-                          </packing>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="pack_type">end</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkScrolledWindow" id="template_scrolledwindow">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="shadow_type">in</property>
-                        <child>
-                          <object class="GtkTreeView" id="template_list">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="headers_visible">False</property>
-                            <property name="rules_hint">True</property>
-                            <signal name="row-activated" handler="gnc_ab_trans_dialog_templ_list_row_activated_cb" swapped="no"/>
-                            <child internal-child="selection">
-                              <object class="GtkTreeSelection" id="treeview-selection1"/>
-                            </child>
-                          </object>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="expand">True</property>
-                        <property name="fill">True</property>
-                        <property name="pack_type">end</property>
-                        <property name="position">2</property>
-                      </packing>
-                    </child>
-                  </object>
-                </child>
-                <child type="label">
-                  <object class="GtkLabel" id="label1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Templates</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">2</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkHSeparator" id="hseparator7">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">3</property>
-              </packing>
-            </child>
           </object>
           <packing>
             <property name="expand">True</property>
@@ -1758,114 +107,7 @@
             <property name="position">0</property>
           </packing>
         </child>
-        <child internal-child="action_area">
-          <object class="GtkButtonBox" id="dialog-action_area7">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="exec_later_button">
-                <property name="label" translatable="yes">Execute later (unimpl.)</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_underline">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="cancel_button">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="exec_now_button">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="has_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="has_tooltip">True</property>
-                <property name="tooltip_markup">Execute this online transaction now</property>
-                <property name="tooltip_text" translatable="yes">Execute this online transaction now</property>
-                <property name="use_action_appearance">False</property>
-                <child>
-                  <object class="GtkAlignment" id="alignment6">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xscale">0</property>
-                    <property name="yscale">0</property>
-                    <child>
-                      <object class="GtkHBox" id="hbox122">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="spacing">2</property>
-                        <child>
-                          <object class="GtkImage" id="image4">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="stock">gtk-execute</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label8877454">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">Execute Now</property>
-                            <property name="use_underline">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">2</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">1</property>
-          </packing>
-        </child>
       </object>
     </child>
-    <action-widgets>
-      <action-widget response="-9">exec_later_button</action-widget>
-      <action-widget response="-6">cancel_button</action-widget>
-      <action-widget response="-8">exec_now_button</action-widget>
-    </action-widgets>
   </object>
 </interface>

commit d52e205b82f4c68a12a5e46f871b5175cf22845c
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 16:21:26 2017 +0100

    Create a new glade for aqbanking preferences as this now uses a grid

diff --git a/src/import-export/aqb/CMakeLists.txt b/src/import-export/aqb/CMakeLists.txt
index e020122..4c9756b 100644
--- a/src/import-export/aqb/CMakeLists.txt
+++ b/src/import-export/aqb/CMakeLists.txt
@@ -60,7 +60,7 @@ INSTALL(TARGETS gncmod-aqbanking
   RUNTIME DESTINATION bin)
 # No headers to install
 
-SET(aqbanking_GLADE assistant-ab-initial.glade dialog-ab.glade)
+SET(aqbanking_GLADE assistant-ab-initial.glade dialog-ab.glade dialog-ab-pref.glade)
 
 SET(aqbanking_UI gnc-plugin-aqbanking-ui.xml)
 
diff --git a/src/import-export/aqb/Makefile.am b/src/import-export/aqb/Makefile.am
index ad95462..1ab1f03 100644
--- a/src/import-export/aqb/Makefile.am
+++ b/src/import-export/aqb/Makefile.am
@@ -71,7 +71,8 @@ ui_DATA = \
 gtkbuilderdir = $(GNC_GTKBUILDER_DIR)
 gtkbuilder_DATA = \
   assistant-ab-initial.glade \
-  dialog-ab.glade
+  dialog-ab.glade \
+  dialog-ab-pref.glade
 
 EXTRA_DIST = ${ui_DATA} ${gtkbuilder_DATA} migratable-prefs-aqbanking.xml
 
diff --git a/src/import-export/aqb/dialog-ab-pref.glade b/src/import-export/aqb/dialog-ab-pref.glade
new file mode 100644
index 0000000..9b8b290
--- /dev/null
+++ b/src/import-export/aqb/dialog-ab-pref.glade
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
+<interface>
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkWindow" id="aqbanking_preferences">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="title" translatable="yes">window1</property>
+    <child>
+      <object class="GtkGrid" id="aqbanking_prefs">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <child>
+          <object class="GtkLabel" id="label8877457">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="halign">start</property>
+            <property name="label" translatable="yes"><b>Online Banking</b></property>
+            <property name="use_markup">True</property>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkCheckButton" id="pref/dialogs.import.hbci/close-on-finish">
+            <property name="label" translatable="yes">_Close log window when finished</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
+            <property name="use_underline">True</property>
+            <property name="draw_indicator">True</property>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkCheckButton" id="pref/dialogs.import.hbci/remember-pin">
+            <property name="label" translatable="yes">Remember _PIN</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
+            <property name="use_underline">True</property>
+            <property name="draw_indicator">True</property>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">2</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkCheckButton" id="checkbutton3">
+            <property name="label" translatable="yes">_Verbose debug messages</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
+            <property name="use_underline">True</property>
+            <property name="draw_indicator">True</property>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">3</property>
+          </packing>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+      </object>
+    </child>
+  </object>
+</interface>
diff --git a/src/import-export/aqb/gncmod-aqbanking.c b/src/import-export/aqb/gncmod-aqbanking.c
index 0c04505..89b5424 100644
--- a/src/import-export/aqb/gncmod-aqbanking.c
+++ b/src/import-export/aqb/gncmod-aqbanking.c
@@ -75,7 +75,7 @@ libgncmod_aqbanking_gnc_module_init(gint refcount)
 
 
     /* Add AqBanking preferences to the preferences dialog */
-    gnc_preferences_add_to_page("dialog-ab.glade", "aqbanking_prefs",
+    gnc_preferences_add_to_page("dialog-ab-pref.glade", "aqbanking_prefs",
                                 _("Online Banking"));
 
     /* Initialize gwen library */

commit 0aca12ca7b0a4a5621eba6a5b91a717a9ded09bf
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 16:20:33 2017 +0100

    Files linked to dialog-preferences.glade

diff --git a/src/gnome-utils/dialog-preferences.c b/src/gnome-utils/dialog-preferences.c
index aff8740..ed4ec0d 100644
--- a/src/gnome-utils/dialog-preferences.c
+++ b/src/gnome-utils/dialog-preferences.c
@@ -39,7 +39,7 @@
     the name of a glade file and the content to load from that
     file along with a widget in that file.  If a partial
     page is added, the widget name provided must be that of
-    a GtkTable containing four columns. If a full page is added,
+    a GtkGrid containing four columns. If a full page is added,
     the widget name provided to this code can be any kind of
     widget, but for consistency it should probably be the same.
 
@@ -100,7 +100,7 @@ typedef struct addition_t
     gchar *filename;
     /** The name of the widget within the glade data file that should be
      *  added to the preferences dialog.  This should point to a
-     *  GtkTable widget that has four columns. */
+     *  GtkGrid widget that has four columns. */
     gchar *widgetname;
     /** The name of the tab within the preferences dialog where these
      *  widgets should be placed. */
@@ -393,19 +393,18 @@ gnc_prefs_build_widget_table (GtkBuilder *builder,
 
 
 /** This data structure is used while building the preferences dialog
- *  to copy a table from a glade file to the dialog under construction.
+ *  to copy a grid from a glade file to the dialog under construction.
  *  It maintains state information between invocations of the function
- *  gnc_prefs_move_table_entry which is called via a foreach loop over
- *  each item in the table. */
+ *  gnc_prefs_move_grid_entry which is called via a foreach loop over
+ *  each item in the grid. */
 struct copy_data
 {
-    /** The table being copied from. */
-    GtkTable *table_from;
-    /** The table being copied to. */
-    GtkTable *table_to;
-    /** The number of lines offset from the old table to the new
-     *  table. */
-    gint row_offset;
+    /** The grid being copied from. */
+    GtkGrid *grid_from;
+    /** The grid being copied to. */
+    GtkGrid *grid_to;
+    /** The number of columns and rows in the grid. */
+    gint cols, rows;
 };
 
 
@@ -443,7 +442,39 @@ gnc_prefs_find_page (GtkNotebook *notebook, const gchar *name)
 }
 
 
-/** This function moves a GtkWidget from one GtkTable to another,
+/** This function finds the size of a GtkGrid and saves it to
+ *  the data structure.
+ *
+ *  @internal
+ *
+ *  @param widget A pointer to the widget to move.
+ *
+ *  @param data A pointer to a data structure passed in by the caller.
+ *  This data structure contains pointers to the old and new grids
+ *  plus the row offset into the new grid.
+ */
+static void
+gnc_prefs_get_grid_size (GtkWidget *child, gpointer data)
+{
+    struct copy_data *copydata = data;
+    gint top, left, height, width;
+
+    gtk_container_child_get(GTK_CONTAINER(copydata->grid_to), child,
+                            "left-attach", &left,
+                            "top-attach", &top,
+                            "height", &height,
+                            "width", &width,
+                            NULL);
+
+    if (left + width >= copydata->cols)
+        copydata->cols = left + width;
+
+    if (top + height >= copydata->rows)
+        copydata->rows = top + height;
+}
+
+
+/** This function moves a GtkWidget from one GtkGrid to another,
  *  preserving its attachment data, etc.  It is called when adding one
  *  partial preference page to another.
  *
@@ -452,34 +483,47 @@ gnc_prefs_find_page (GtkNotebook *notebook, const gchar *name)
  *  @param widget A pointer to the widget to move.
  *
  *  @param data A pointer to a data structure passed in by the caller.
- *  This data structure contains pointers to the old and new tables,
- *  plus the row offset into the new table.
+ *  This data structure contains pointers to the old and new grids
+ *  plus the row offset into the new grid.
  */
 static void
-gnc_prefs_move_table_entry (GtkWidget *child,
+gnc_prefs_move_grid_entry (GtkWidget *child,
                             gpointer data)
 {
     struct copy_data *copydata = data;
-    GtkAttachOptions x_opts, y_opts;
-    gint bottom, top, left, right, x_pad, y_pad;
+    gint top, left, height, width;
+    gboolean hexpand, vexpand;
+    GtkAlign halign, valign;
+    gint topm, bottomm, leftm, rightm;
 
     ENTER("child %p, copy data %p", child, data);
-    gtk_container_child_get(GTK_CONTAINER(copydata->table_from), child,
-                            "bottom-attach", &bottom,
+    gtk_container_child_get(GTK_CONTAINER(copydata->grid_from), child,
                             "left-attach", &left,
-                            "right-attach", &right,
                             "top-attach", &top,
-                            "x-options", &x_opts,
-                            "x-padding", &x_pad,
-                            "y-options", &y_opts,
-                            "y-padding", &y_pad,
+                            "height", &height,
+                            "width", &width,
                             NULL);
+    hexpand = gtk_widget_get_hexpand (child);
+    vexpand = gtk_widget_get_vexpand (child);
+    halign = gtk_widget_get_halign (child);
+    valign = gtk_widget_get_valign (child);
+
+    g_object_get (child, "margin-top", &topm, "margin-bottom", &bottomm, NULL);
+    g_object_get (child, "margin-left", &leftm, "margin-right", &rightm, NULL);
 
     g_object_ref(child);
-    gtk_container_remove(GTK_CONTAINER(copydata->table_from), child);
-    gtk_table_attach(copydata->table_to, child, left, right,
-                     top + copydata->row_offset, bottom + copydata->row_offset,
-                     x_opts, y_opts, x_pad, y_pad);
+    gtk_container_remove(GTK_CONTAINER(copydata->grid_from), child);
+
+    gtk_grid_attach(copydata->grid_to, child, left, copydata->rows + top , width, height);
+
+    gtk_widget_set_hexpand (child, hexpand);
+    gtk_widget_set_vexpand (child, vexpand);
+    gtk_widget_set_halign (child, halign);
+    gtk_widget_set_valign (child, valign);
+
+    g_object_set (child, "margin-left", leftm, "margin-right", rightm, NULL);
+    g_object_set (child, "margin-top", topm, "margin-bottom", bottomm, NULL);
+
     g_object_unref(child);
     LEAVE(" ");
 }
@@ -552,20 +596,10 @@ gnc_preferences_build_page (gpointer data,
         return;
     }
 
-    /* Copied tables must match the size of the main table */
-    if (!GTK_IS_TABLE(new_content))
-    {
-        g_critical("The object name %s in file %s is not a GtkTable.  It cannot "
-                   "be added to the preferences dialog.",
-                   add_in->widgetname, add_in->filename);
-        g_object_unref(G_OBJECT(builder));
-        LEAVE("");
-        return;
-    }
-    g_object_get(G_OBJECT(new_content), "n-columns", &cols, NULL);
-    if (cols != 4)
+    /* Copied grids must be grids */
+    if (!GTK_IS_GRID(new_content))
     {
-        g_critical("The table %s in file %s does not have four columns.  It cannot "
+        g_critical("The object name %s in file %s is not a GtkGrid. It cannot "
                    "be added to the preferences dialog.",
                    add_in->widgetname, add_in->filename);
         g_object_unref(G_OBJECT(builder));
@@ -580,7 +614,7 @@ gnc_preferences_build_page (gpointer data,
     {
         /* No existing content with this name.  Create a blank page */
         rows = 0;
-        existing_content = gtk_table_new(0, 4, FALSE);
+        existing_content = gtk_grid_new();
         gtk_container_set_border_width(GTK_CONTAINER(existing_content), 6);
         label = gtk_label_new(add_in->tabname);
         gnc_label_set_alignment(label, 0.0, 0.5);
@@ -590,27 +624,28 @@ gnc_preferences_build_page (gpointer data,
     }
     else
     {
-        g_object_get(G_OBJECT(existing_content), "n-rows", &rows, NULL);
-        DEBUG("found existing page %s", add_in->tabname);
+        /* Lets get the size of the existing grid */
+        copydata.grid_to = GTK_GRID(existing_content);
+        gtk_container_foreach(GTK_CONTAINER(existing_content), gnc_prefs_get_grid_size, &copydata);
+
+        DEBUG("found existing page %s, grid size is %d x %d", add_in->tabname, copydata.rows, copydata.cols);
     }
 
     /* Maybe add a spacer row */
-    DEBUG("rows is %d", rows);
-    if (rows > 0)
+    if (copydata.rows > 0)
     {
         label = gtk_label_new("");
         gtk_widget_show(label);
-        gtk_table_attach(GTK_TABLE(existing_content), label, 0, 1, rows, rows + 1,
-                         GTK_FILL, GTK_FILL, 0, 0);
-        rows++;
+        gtk_grid_attach (GTK_GRID(existing_content), label, 0, copydata.rows, 1, 1);
+        copydata.rows = copydata.rows + 1;
+
+        DEBUG("add spacer row");
     }
 
-    /* Now copy all the entries in the table */
-    copydata.table_from = GTK_TABLE(new_content);
-    copydata.table_to = GTK_TABLE(existing_content);
-    copydata.row_offset = rows;
-    gtk_container_foreach(GTK_CONTAINER(new_content), gnc_prefs_move_table_entry,
-                          &copydata);
+    /* Now copy all the entries in the grid */
+    copydata.grid_from = GTK_GRID(new_content);
+    copydata.grid_to = GTK_GRID(existing_content);
+    gtk_container_foreach(GTK_CONTAINER(new_content), gnc_prefs_move_grid_entry, &copydata);
 
     g_object_ref_sink(new_content);
     g_object_unref(G_OBJECT(builder));
@@ -1228,9 +1263,9 @@ gnc_preferences_dialog_create(void)
     gnc_builder_add_from_file (builder, "dialog-preferences.glade", "retain_days_adj");
     gnc_builder_add_from_file (builder, "dialog-preferences.glade", "tab_width_adj");
     gnc_builder_add_from_file (builder, "dialog-preferences.glade", "date_formats");
-    gnc_builder_add_from_file (builder, "dialog-preferences.glade", "GnuCash Preferences");
+    gnc_builder_add_from_file (builder, "dialog-preferences.glade", "gnucash_preferences_dialog");
 
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "GnuCash Preferences"));
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "gnucash_preferences_dialog"));
 
 #ifndef REGISTER2_ENABLED
     /* Hide preferences that are related to register2 */
diff --git a/src/gnome-utils/gtkbuilder/dialog-preferences.glade b/src/gnome-utils/gtkbuilder/dialog-preferences.glade
index 0b3752d..8c0481b 100644
--- a/src/gnome-utils/gtkbuilder/dialog-preferences.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-preferences.glade
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.24"/>
-  <!-- interface-naming-policy project-wide -->
+  <requires lib="gtk+" version="3.10"/>
   <object class="GtkAdjustment" id="auto_decimal_places_adj">
     <property name="lower">1</property>
     <property name="upper">8</property>
@@ -51,13 +51,6 @@
       </row>
     </data>
   </object>
-  <object class="GtkAdjustment" id="default_zoom_adj">
-    <property name="lower">1</property>
-    <property name="upper">10</property>
-    <property name="value">1</property>
-    <property name="step_increment">0.10000000000000001</property>
-    <property name="page_increment">1</property>
-  </object>
   <object class="GtkAdjustment" id="key_length_adj">
     <property name="lower">1</property>
     <property name="upper">999</property>
@@ -97,7 +90,7 @@
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
   </object>
-  <object class="GtkDialog" id="GnuCash Preferences">
+  <object class="GtkDialog" id="gnucash_preferences_dialog">
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">GnuCash Preferences</property>
     <property name="default_width">600</property>
@@ -105,22 +98,23 @@
     <property name="type_hint">normal</property>
     <signal name="response" handler="gnc_preferences_response_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox2">
+      <object class="GtkBox" id="dialog-vbox2">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area2">
+          <object class="GtkButtonBox" id="dialog-action_area2">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="helpbutton2">
-                <property name="label">gtk-help</property>
+                <property name="label" translatable="yes">_Help</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -130,12 +124,12 @@
             </child>
             <child>
               <object class="GtkButton" id="closebutton2">
-                <property name="label">gtk-close</property>
+                <property name="label" translatable="yes">_Close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -155,47 +149,25 @@
           <object class="GtkNotebook" id="notebook1">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
+            <property name="halign">start</property>
             <property name="border_width">6</property>
             <property name="tab_pos">left</property>
             <child>
-              <object class="GtkTable" id="table9">
+              <object class="GtkGrid" id="table9">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">6</property>
-                <property name="n_rows">11</property>
-                <property name="n_columns">4</property>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
                 <child>
                   <object class="GtkLabel" id="label91">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Summarybar Content</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">8</property>
-                    <property name="bottom_attach">9</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -207,16 +179,14 @@
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Show a grand total of all accounts converted to the default report currency.</property>
                     <property name="tooltip_text" translatable="yes">Show a grand total of all accounts converted to the default report currency.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">9</property>
-                    <property name="bottom_attach">10</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -228,46 +198,40 @@
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">If checked, non-currency commodities will be shown in the summary bar. If clear, only currencies will be shown.</property>
                     <property name="tooltip_text" translatable="yes">If checked, non-currency commodities will be shown in the summary bar. If clear, only currencies will be shown.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">10</property>
-                    <property name="bottom_attach">11</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label93">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Start Date</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label95">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>End Date</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -279,16 +243,15 @@
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Use the specified relative starting date for profit/loss calculations.</property>
                     <property name="tooltip_text" translatable="yes">Use the specified relative starting date for profit/loss calculations.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -300,16 +263,15 @@
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Use the specified absolute starting date for profit/loss calculations.</property>
                     <property name="tooltip_text" translatable="yes">Use the specified absolute starting date for profit/loss calculations.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">pref/window.pages.account-tree.summary/start-choice-relative</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -321,16 +283,15 @@
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Use the specified relative ending date for profit/loss calculations. Also use this date for net assets calculations.</property>
                     <property name="tooltip_text" translatable="yes">Use the specified relative ending date for profit/loss calculations. Also use this date for net assets calculations.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">5</property>
-                    <property name="bottom_attach">6</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -342,46 +303,39 @@
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Use the specified absolute ending date for profit/loss calculations. Also use this date for net assets calculations.</property>
                     <property name="tooltip_text" translatable="yes">Use the specified absolute ending date for profit/loss calculations. Also use this date for net assets calculations.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">pref/window.pages.account-tree.summary/end-choice-relative</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">6</property>
-                    <property name="bottom_attach">7</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label94">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">7</property>
-                    <property name="bottom_attach">8</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label92">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="pref/window.pages.account-tree.summary/start-period">
+                  <object class="GtkBox" id="pref/window.pages.account-tree.summary/start-period">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
@@ -390,15 +344,11 @@
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">4</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="pref/window.pages.account-tree.summary/start-date">
+                  <object class="GtkBox" id="pref/window.pages.account-tree.summary/start-date">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
@@ -407,15 +357,11 @@
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">4</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="pref/window.pages.account-tree.summary/end-period">
+                  <object class="GtkBox" id="pref/window.pages.account-tree.summary/end-period">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
@@ -424,15 +370,11 @@
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">4</property>
                     <property name="top_attach">5</property>
-                    <property name="bottom_attach">6</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="pref/window.pages.account-tree.summary/end-date">
+                  <object class="GtkBox" id="pref/window.pages.account-tree.summary/end-date">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
@@ -441,91 +383,9 @@
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">4</property>
                     <property name="top_attach">6</property>
-                    <property name="bottom_attach">7</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
-              </object>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="label107">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Accounting Period</property>
-              </object>
-              <packing>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkTable" id="table1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="border_width">6</property>
-                <property name="n_rows">15</property>
-                <property name="n_columns">4</property>
-                <property name="column_spacing">12</property>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
                 <child>
                   <placeholder/>
                 </child>
@@ -547,18 +407,36 @@
                 <child>
                   <placeholder/>
                 </child>
+              </object>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="label107">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="label" translatable="yes">Accounting Period</property>
+              </object>
+              <packing>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkGrid" id="table1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="border_width">6</property>
+                <property name="column_spacing">12</property>
                 <child>
                   <object class="GtkLabel" id="label12">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Separator Character</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
                   </packing>
                 </child>
                 <child>
@@ -570,44 +448,37 @@
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Use only &apos;debit&apos; and &apos;credit&apos; instead of informal synonyms.</property>
                     <property name="tooltip_text" translatable="yes">Use only 'debit' and 'credit' instead of informal synonyms.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">10</property>
-                    <property name="bottom_attach">11</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label62">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Labels</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">9</property>
-                    <property name="bottom_attach">10</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label61">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
+                    <property name="left_attach">1</property>
                     <property name="top_attach">8</property>
-                    <property name="bottom_attach">9</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -619,17 +490,15 @@
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Don&apos;t sign reverse any accounts.</property>
                     <property name="tooltip_text" translatable="yes">Don't sign reverse any accounts.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">2</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">7</property>
-                    <property name="bottom_attach">8</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -641,17 +510,15 @@
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Sign reverse balances on the following: Credit Card, Payable, Liability, Equity, and Income.</property>
                     <property name="tooltip_text" translatable="yes">Sign reverse balances on the following: Credit Card, Payable, Liability, Equity, and Income.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">pref/general/reversed-accounts-none</property>
                   </object>
                   <packing>
-                    <property name="right_attach">2</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">6</property>
-                    <property name="bottom_attach">7</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -663,124 +530,79 @@
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Sign reverse balances on income and expense accounts.</property>
                     <property name="tooltip_text" translatable="yes">Sign reverse balances on income and expense accounts.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">pref/general/reversed-accounts-none</property>
                   </object>
                   <packing>
-                    <property name="right_attach">2</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">5</property>
-                    <property name="bottom_attach">6</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label55">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Reverse Balanced Accounts</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label54">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
+                    <property name="left_attach">1</property>
                     <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label79">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
+                    <property name="left_attach">1</property>
                     <property name="top_attach">11</property>
-                    <property name="bottom_attach">12</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label80">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Default Currency</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">12</property>
-                    <property name="bottom_attach">13</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="locale_currency">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">US Dollars (USD)</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">13</property>
-                    <property name="bottom_attach">14</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkAlignment" id="alignment2">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="left_padding">12</property>
-                    <child>
-                      <object class="GtkRadioButton" id="pref/general/currency-choice-locale">
-                        <property name="label" translatable="yes">Loc_ale:</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="has_tooltip">True</property>
-                        <property name="tooltip_markup">Use the system locale currency for all newly created accounts.</property>
-                        <property name="tooltip_text" translatable="yes">Use the system locale currency for all newly created accounts.</property>
-                        <property name="use_underline">True</property>
-                        <property name="active">True</property>
-                        <property name="draw_indicator">True</property>
-                      </object>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="top_attach">13</property>
-                    <property name="bottom_attach">14</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkAlignment" id="alignment3">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="left_padding">12</property>
                     <child>
                       <object class="GtkRadioButton" id="pref/general/currency-choice-other">
                         <property name="label" translatable="yes">Ch_oose:</property>
@@ -790,6 +612,8 @@
                         <property name="has_tooltip">True</property>
                         <property name="tooltip_markup">Use the specified currency for all newly created accounts.</property>
                         <property name="tooltip_text" translatable="yes">Use the specified currency for all newly created accounts.</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">12</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">pref/general/currency-choice-locale</property>
@@ -797,10 +621,8 @@
                     </child>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">14</property>
-                    <property name="bottom_attach">15</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
@@ -812,69 +634,55 @@
                     <property name="tooltip_markup">The character that will be used between components of an account name. A legal value is any single character except letters and numbers, or any of the following strings: &quot;colon&quot; &quot;slash&quot;, &quot;backslash&quot;, &quot;dash&quot; and &quot;period&quot;.</property>
                     <property name="tooltip_text" translatable="yes">The character that will be used between components of an account name. A legal value is any single character except letters and numbers, or any of the following strings: "colon" "slash", "backslash", "dash" and "period".</property>
                     <property name="invisible_char">●</property>
-                    <property name="invisible_char_set">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <signal name="changed" handler="gnc_account_separator_pref_changed_cb" swapped="no"/>
                     <signal name="focus-out-event" handler="gnc_account_separator_validate_cb" swapped="no"/>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="sample_account">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label108">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="label" translatable="yes">Character:</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label109">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="label" translatable="yes">Sample:</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="pref/general/currency-other">
+                  <object class="GtkBox" id="pref/general/currency-other">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
@@ -883,61 +691,34 @@
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">14</property>
-                    <property name="bottom_attach">15</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkImage" id="separator_error">
                     <property name="can_focus">False</property>
+                    <property name="halign">start</property>
                     <property name="stock">gtk-dialog-warning</property>
                   </object>
                   <packing>
-                    <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
+                    <property name="left_attach">1</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options"/>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label11">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Account Color</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">16</property>
-                    <property name="bottom_attach">17</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
                   <object class="GtkCheckButton" id="pref/general/show-account-color">
                     <property name="label" translatable="yes">Show the Account Color as background</property>
                     <property name="visible">True</property>
@@ -946,29 +727,24 @@
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Show the Account Color as Account Name Background.</property>
                     <property name="tooltip_text" translatable="yes">Show the Account Color as Account Name Background.</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">17</property>
-                    <property name="bottom_attach">18</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
+                    <property name="width">2</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label13">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
+                    <property name="left_attach">1</property>
                     <property name="top_attach">15</property>
-                    <property name="bottom_attach">16</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -980,87 +756,41 @@
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Show the Account Color as tab background.</property>
                     <property name="tooltip_text" translatable="yes">Show the Account Color as tab background.</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
-                    <property name="xalign">0</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">18</property>
-                    <property name="bottom_attach">19</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
+                    <property name="width">2</property>
                   </packing>
                 </child>
                 <child>
-                  <placeholder/>
-                </child>
-              </object>
-              <packing>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="label1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Accounts</property>
-              </object>
-              <packing>
-                <property name="position">1</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkTable" id="table10">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="border_width">6</property>
-                <property name="n_rows">14</property>
-                <property name="n_columns">4</property>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
+                  <object class="GtkAlignment" id="alignment2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <child>
+                      <object class="GtkRadioButton" id="pref/general/currency-choice-locale">
+                        <property name="label" translatable="yes">Loc_ale:</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="has_tooltip">True</property>
+                        <property name="tooltip_markup">Use the system locale currency for all newly created accounts.</property>
+                        <property name="tooltip_text" translatable="yes">Use the system locale currency for all newly created accounts.</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">12</property>
+                        <property name="use_underline">True</property>
+                        <property name="active">True</property>
+                        <property name="draw_indicator">True</property>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">13</property>
+                  </packing>
                 </child>
                 <child>
                   <placeholder/>
@@ -1101,74 +831,84 @@
                 <child>
                   <placeholder/>
                 </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="label1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="label" translatable="yes">Accounts</property>
+              </object>
+              <packing>
+                <property name="position">1</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkGrid" id="table10">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="border_width">6</property>
                 <child>
                   <object class="GtkLabel" id="label104">
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Fancy Date Format</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">6</property>
-                    <property name="bottom_attach">7</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label103">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">5</property>
-                    <property name="bottom_attach">6</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label97">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Date Format</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label106">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Time Format</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -1180,56 +920,44 @@
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Use a 24 hour (instead of a 12 hour) time format.</property>
                     <property name="tooltip_text" translatable="yes">Use a 24 hour (instead of a 12 hour) time format.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label9">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Date Completion</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">8</property>
-                    <property name="bottom_attach">9</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label10">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="label" translatable="yes">When a date is entered without year, it should be taken:</property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">9</property>
-                    <property name="bottom_attach">10</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
                   <object class="GtkRadioButton" id="pref/general/date-completion-thisyear">
                     <property name="label" translatable="yes">In the current calendar year</property>
                     <property name="visible">True</property>
@@ -1238,17 +966,15 @@
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Dates will be completed so that they are within the current calendar year.</property>
                     <property name="tooltip_text" translatable="yes">Dates will be completed so that they are within the current calendar year.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">2</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">10</property>
-                    <property name="bottom_attach">11</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -1261,43 +987,34 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Dates will be completed so that they are close to the current date. Enter the maximum number of months to go backwards in time when completing dates.</property>
                     <property name="tooltip_text" translatable="yes">Dates will be completed so that they are close to the current date. Enter the maximum number of months to go backwards in time when completing dates.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">pref/general/date-completion-thisyear</property>
                   </object>
                   <packing>
-                    <property name="right_attach">2</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">11</property>
-                    <property name="bottom_attach">12</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
-                  <placeholder/>
-                </child>
-                <child>
                   <object class="GtkSpinButton" id="pref/general/date-backmonths">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Enter number of months.</property>
                     <property name="tooltip_text" translatable="yes">Enter number of months.</property>
+                    <property name="halign">start</property>
                     <property name="invisible_char">●</property>
-                    <property name="invisible_char_set">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">date_backmonth_adj</property>
                     <property name="climb_rate">1</property>
                   </object>
                   <packing>
-                    <property name="top_attach">12</property>
-                    <property name="bottom_attach">13</property>
-                    <property name="x_options"/>
-                    <property name="y_options"/>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">11</property>
                   </packing>
                 </child>
                 <child>
@@ -1307,6 +1024,7 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Use the date format specified by the system locale.</property>
                     <property name="tooltip_text" translatable="yes">Use the date format specified by the system locale.</property>
+                    <property name="margin_left">12</property>
                     <property name="model">date_formats</property>
                     <property name="active">3</property>
                     <child>
@@ -1323,119 +1041,10 @@ many months before the current month:</property>
                     </child>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
-              </object>
-              <packing>
-                <property name="position">2</property>
-              </packing>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="label105">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Date/Time</property>
-              </object>
-              <packing>
-                <property name="position">2</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkTable" id="table2">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="border_width">6</property>
-                <property name="n_rows">27</property>
-                <property name="n_columns">4</property>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
                 <child>
                   <placeholder/>
                 </child>
@@ -1472,17 +1081,39 @@ many months before the current month:</property>
                 <child>
                   <placeholder/>
                 </child>
+              </object>
+              <packing>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="label105">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="label" translatable="yes">Date/Time</property>
+              </object>
+              <packing>
+                <property name="position">2</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkGrid" id="table2">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="border_width">6</property>
                 <child>
                   <object class="GtkLabel" id="label50">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>General</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
                   </packing>
                 </child>
                 <child>
@@ -1494,16 +1125,14 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Present the new account list dialog when you choose File -> New File.</property>
                     <property name="tooltip_text" translatable="yes">Present the new account list dialog when you choose File -> New File.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -1515,16 +1144,15 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">If selected, the default book option for new files is set so that the &quot;Num&quot; cell on registers shows/updates the split &quot;action&quot; field and the transaction &quot;num&quot; field is shown on the second line in double line mode (and is not visible in single line mode). Otherwise, the default book option for new files is set so that the &quot;Num&quot; cell on registers shows/updates the transaction &quot;num&quot; field.</property>
                     <property name="tooltip_text" translatable="yes">If selected, the default book option for new files is set so that the 'Num' cell on registers shows/updates the split 'action' field and the transaction 'num' field is shown on the second line in double line mode (and is not visible in single line mode). Otherwise, the default book option for new files is set so that the 'Num' cell on registers shows/updates the transaction 'num' field.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
+                    <property name="width">2</property>
                   </packing>
                 </child>
                 <child>
@@ -1536,20 +1164,18 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Display hints for using GnuCash at startup.</property>
                     <property name="tooltip_text" translatable="yes">Display hints for using GnuCash at startup.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="hbox2">
+                  <object class="GtkBox" id="hbox2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="spacing">6</property>
@@ -1561,11 +1187,8 @@ many months before the current month:</property>
                         <property name="tooltip_markup">How many days to keep old log/backup files.</property>
                         <property name="tooltip_text" translatable="yes">How many days to keep old log/backup files.</property>
                         <property name="invisible_char">●</property>
-                        <property name="invisible_char_set">True</property>
                         <property name="primary_icon_activatable">False</property>
                         <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
                         <property name="adjustment">retain_days_adj</property>
                         <property name="climb_rate">1</property>
                       </object>
@@ -1579,7 +1202,6 @@ many months before the current month:</property>
                       <object class="GtkLabel" id="label58">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes">days</property>
                       </object>
                       <packing>
@@ -1591,29 +1213,22 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">20</property>
-                    <property name="bottom_attach">21</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label18">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">_Retain log/backup files:</property>
+                    <property name="halign">start</property>
+                    <property name="label" translatable="yes"><b>_Retain log/backup files:</b></property>
+                    <property name="use_markup">True</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">pref/general/retain-days</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">18</property>
-                    <property name="bottom_attach">19</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -1625,61 +1240,52 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Compress the data file with gzip when saving it to disk.</property>
                     <property name="tooltip_text" translatable="yes">Compress the data file with gzip when saving it to disk.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">12</property>
-                    <property name="bottom_attach">13</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label48">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Files</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">11</property>
-                    <property name="bottom_attach">12</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label60">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">10</property>
-                    <property name="bottom_attach">11</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label17">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="label" translatable="yes">_Decimal places:</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">pref/general/auto-decimal-places</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">9</property>
-                    <property name="bottom_attach">10</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -1690,21 +1296,14 @@ many months before the current month:</property>
                     <property name="tooltip_markup">How many automatic decimal places will be filled in.</property>
                     <property name="tooltip_text" translatable="yes">How many automatic decimal places will be filled in.</property>
                     <property name="invisible_char">●</property>
-                    <property name="invisible_char_set">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">auto_decimal_places_adj</property>
                     <property name="climb_rate">1</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">9</property>
-                    <property name="bottom_attach">10</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -1716,16 +1315,14 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Automatically insert a decimal point into values that are entered without one.</property>
                     <property name="tooltip_text" translatable="yes">Automatically insert a decimal point into values that are entered without one.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">8</property>
-                    <property name="bottom_attach">9</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -1737,76 +1334,65 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Display negative amounts in red.</property>
                     <property name="tooltip_text" translatable="yes">Display negative amounts in red.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">7</property>
-                    <property name="bottom_attach">8</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label49">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Numbers</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">6</property>
-                    <property name="bottom_attach">7</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label51">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">5</property>
-                    <property name="bottom_attach">6</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label78">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Search Dialog</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">25</property>
-                    <property name="bottom_attach">26</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label44">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="label" translatable="yes">New search _limit:</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">pref/dialogs.search/new-search-limit</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">26</property>
-                    <property name="bottom_attach">27</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -1817,21 +1403,14 @@ many months before the current month:</property>
                     <property name="tooltip_markup">Default to &apos;new search&apos; if fewer than this number of items is returned.</property>
                     <property name="tooltip_text" translatable="yes">Default to 'new search' if fewer than this number of items is returned.</property>
                     <property name="invisible_char">●</property>
-                    <property name="invisible_char_set">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">new_search_limit_adj</property>
                     <property name="climb_rate">1</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">26</property>
-                    <property name="bottom_attach">27</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -1843,37 +1422,33 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Show splash screen at startup.</property>
                     <property name="tooltip_text" translatable="yes">Show splash screen at startup.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label119">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="label" translatable="yes">Auto-save time _interval:</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">pref/general/autosave-interval-minutes</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">14</property>
-                    <property name="bottom_attach">15</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="hbox4">
+                  <object class="GtkBox" id="hbox4">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="spacing">6</property>
@@ -1885,11 +1460,8 @@ many months before the current month:</property>
                         <property name="tooltip_markup">The number of minutes until saving of the data file to harddisk will be started automatically. If zero, no saving will be started automatically.</property>
                         <property name="tooltip_text" translatable="yes">The number of minutes until saving of the data file to harddisk will be started automatically. If zero, no saving will be started automatically.</property>
                         <property name="invisible_char">●</property>
-                        <property name="invisible_char_set">True</property>
                         <property name="primary_icon_activatable">False</property>
                         <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
                         <property name="adjustment">autosave_interval_minutes_adj</property>
                         <property name="climb_rate">1</property>
                       </object>
@@ -1903,7 +1475,6 @@ many months before the current month:</property>
                       <object class="GtkLabel" id="label120">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes">minutes</property>
                       </object>
                       <packing>
@@ -1915,11 +1486,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">14</property>
-                    <property name="bottom_attach">15</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
@@ -1931,29 +1498,24 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">If active, GnuCash shows a confirmation question each time the auto-save feature is started. Otherwise no extra explanation is shown.</property>
                     <property name="tooltip_text" translatable="yes">If active, GnuCash shows a confirmation question each time the auto-save feature is started. Otherwise no extra explanation is shown.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">13</property>
-                    <property name="bottom_attach">14</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label84">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">17</property>
-                    <property name="bottom_attach">18</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -1965,13 +1527,14 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Do not create log/backup files.</property>
                     <property name="tooltip_text" translatable="yes">Do not create log/backup files.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">pref/general/retain-type-days</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">19</property>
-                    <property name="bottom_attach">20</property>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -1983,13 +1546,14 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Delete old log/backup files after this many days (0 = never).</property>
                     <property name="tooltip_text" translatable="yes">Delete old log/backup files after this many days (0 = never).</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">20</property>
-                    <property name="bottom_attach">21</property>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -2001,13 +1565,14 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Do not delete log/backup files.</property>
                     <property name="tooltip_text" translatable="yes">Do not delete log/backup files.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">pref/general/retain-type-days</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">21</property>
-                    <property name="bottom_attach">22</property>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -2017,43 +1582,33 @@ many months before the current month:</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
                     <property name="tooltip_text" translatable="yes">If enabled, the "Save changes on closing" question will only wait a limited number of seconds for an answer. If the user didn't answer within that time, the changes will be saved automatically and the question window closed.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">15</property>
-                    <property name="bottom_attach">16</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
                   <object class="GtkLabel" id="label15">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="label" translatable="yes">Time to wait for answer:</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">pref/general/autosave-interval-minutes</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">16</property>
-                    <property name="bottom_attach">17</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="hbox1">
+                  <object class="GtkBox" id="hbox1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="spacing">6</property>
@@ -2063,11 +1618,8 @@ many months before the current month:</property>
                         <property name="can_focus">True</property>
                         <property name="tooltip_text" translatable="yes">The number of seconds to wait before the question window will be closed and the changes saved automatically.</property>
                         <property name="invisible_char">●</property>
-                        <property name="invisible_char_set">True</property>
                         <property name="primary_icon_activatable">False</property>
                         <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
                         <property name="adjustment">save_on_close_adj</property>
                         <property name="climb_rate">1</property>
                       </object>
@@ -2081,7 +1633,6 @@ many months before the current month:</property>
                       <object class="GtkLabel" id="label16">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes">seconds</property>
                       </object>
                       <packing>
@@ -2093,87 +1644,132 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">16</property>
-                    <property name="bottom_attach">17</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkLabel" id="label22">
+                  <object class="GtkLabel" id="label19">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">22</property>
-                    <property name="bottom_attach">23</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label23">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">24</property>
-                    <property name="bottom_attach">25</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="pref/general/assoc-head">
+                  <object class="GtkBox" id="pref/general/assoc-head">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="tooltip_markup">Path head for Transaction Associated files </property>
-                    <property name="tooltip_text" translatable="yes">Path head for Transaction Associated files </property>
+                    <property name="tooltip_markup" translatable="yes">Path head for Transaction Associated files </property>
                     <child>
                       <placeholder/>
                     </child>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">23</property>
-                    <property name="bottom_attach">24</property>
                   </packing>
                 </child>
                 <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <object class="GtkHBox" id="hbox6">
+                  <object class="GtkBox" id="box1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
-                      <object class="GtkLabel" id="label19">
+                      <object class="GtkLabel" id="label20">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Path head for Transaction Association Files</property>
+                        <property name="label" translatable="yes"><b>Path head for Transaction Association Files</b></property>
+                        <property name="use_markup">True</property>
                       </object>
                       <packing>
-                        <property name="expand">True</property>
+                        <property name="expand">False</property>
                         <property name="fill">True</property>
                         <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkImage" id="path_head_error">
+                        <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="margin_left">12</property>
                         <property name="stock">gtk-dialog-warning</property>
                       </object>
                       <packing>
-                        <property name="expand">True</property>
+                        <property name="expand">False</property>
                         <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">23</property>
-                    <property name="bottom_attach">24</property>
                   </packing>
                 </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
               </object>
               <packing>
                 <property name="position">3</property>
@@ -2183,7 +1779,7 @@ many months before the current month:</property>
               <object class="GtkLabel" id="label3">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">General</property>
               </object>
               <packing>
@@ -2192,36 +1788,22 @@ many months before the current month:</property>
               </packing>
             </child>
             <child>
-              <object class="GtkTable" id="table11">
+              <object class="GtkGrid" id="table11">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">6</property>
-                <property name="n_rows">5</property>
-                <property name="n_columns">4</property>
                 <property name="column_spacing">12</property>
                 <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
                   <object class="GtkLabel" id="label115">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Checks</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
                   </packing>
                 </child>
                 <child>
@@ -2238,17 +1820,15 @@ many months before the current month:</property>
                         <property name="has_tooltip">True</property>
                         <property name="tooltip_markup">Below the actual date, print the format of that date in 8 point type.</property>
                         <property name="tooltip_text" translatable="yes">Below the actual date, print the format of that date in 8 point type.</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                       </object>
                     </child>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
@@ -2260,6 +1840,7 @@ many months before the current month:</property>
                       <object class="GtkLabel" id="label116">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="halign">start</property>
                         <property name="label" translatable="yes">Default _font:</property>
                         <property name="use_markup">True</property>
                         <property name="use_underline">True</property>
@@ -2268,10 +1849,8 @@ many months before the current month:</property>
                     </child>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
@@ -2282,14 +1861,11 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">The default check printing font.</property>
                     <property name="tooltip_text" translatable="yes">The default check printing font.</property>
+                    <property name="font">Sans 12</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">4</property>
                     <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -2306,17 +1882,15 @@ many months before the current month:</property>
                         <property name="has_tooltip">True</property>
                         <property name="tooltip_markup">Print &apos;***&apos; before and after each text field on the check.</property>
                         <property name="tooltip_text" translatable="yes">Print '***' before and after each text field on the check.</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                       </object>
                     </child>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
@@ -2337,7 +1911,7 @@ many months before the current month:</property>
               <object class="GtkLabel" id="label114">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">Printing</property>
               </object>
               <packing>
@@ -2346,58 +1920,22 @@ many months before the current month:</property>
               </packing>
             </child>
             <child>
-              <object class="GtkTable" id="table3">
+              <object class="GtkGrid" id="table3">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">6</property>
-                <property name="n_rows">16</property>
-                <property name="n_columns">4</property>
                 <property name="column_spacing">12</property>
                 <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
                   <object class="GtkLabel" id="label56">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Actions</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
                   </packing>
                 </child>
                 <child>
@@ -2409,29 +1947,24 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">If checked, pressing the &apos;Enter&apos; key will move to the location of the blank transaction in the register. If clear, pressing the &apos;Enter&apos; key will move down one row.</property>
                     <property name="tooltip_text" translatable="yes">If checked, pressing the 'Enter' key will move to the location of the blank transaction in the register. If clear, pressing the 'Enter' key will move down one row.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label66">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -2443,45 +1976,38 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Automatically raise the list of accounts or actions during input.</property>
                     <property name="tooltip_text" translatable="yes">Automatically raise the list of accounts or actions during input.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label75">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Reconciling</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">5</property>
-                    <property name="bottom_attach">6</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label76">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">10</property>
-                    <property name="bottom_attach">11</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -2493,16 +2019,14 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Pre-check cleared transactions when creating a reconcile dialog.</property>
                     <property name="tooltip_text" translatable="yes">Pre-check cleared transactions when creating a reconcile dialog.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">6</property>
-                    <property name="bottom_attach">7</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -2514,16 +2038,14 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Prior to reconciling an account which charges or pays interest, prompt the user to enter a transaction for the interest charge or payment. Currently only enabled for Bank, Credit, Mutual, Asset, Receivable, Payable, and Liability accounts.</property>
                     <property name="tooltip_text" translatable="yes">Prior to reconciling an account which charges or pays interest, prompt the user to enter a transaction for the interest charge or payment. Currently only enabled for Bank, Credit, Mutual, Asset, Receivable, Payable, and Liability accounts.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">7</property>
-                    <property name="bottom_attach">8</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -2535,16 +2057,14 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">After reconciling a credit card statement, prompt the user to enter a credit card payment.</property>
                     <property name="tooltip_text" translatable="yes">After reconciling a credit card statement, prompt the user to enter a credit card payment.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">8</property>
-                    <property name="bottom_attach">9</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -2556,16 +2076,14 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Always open the reconcile dialog using today&apos;s date for the statement date, regardless of previous reconciliations.</property>
                     <property name="tooltip_text" translatable="yes">Always open the reconcile dialog using today's date for the statement date, regardless of previous reconciliations.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">9</property>
-                    <property name="bottom_attach">10</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -2577,63 +2095,40 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Show vertical borders on the cells.</property>
                     <property name="tooltip_text" translatable="yes">Show vertical borders on the cells.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">15</property>
-                    <property name="bottom_attach">16</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label46">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">16</property>
-                    <property name="bottom_attach">17</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
                   <object class="GtkLabel" id="label47">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Layout</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">2</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">17</property>
-                    <property name="bottom_attach">18</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
                   <object class="GtkCheckButton" id="pref/general.register/future-after-blank-transaction">
                     <property name="label" translatable="yes">_Future transactions after blank transaction</property>
                     <property name="visible">True</property>
@@ -2642,16 +2137,14 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">If checked, transactions with a date in the future will be displayed at the bottom of the register after the blank transaction. If clear, the blank transaction will be at the bottom of the register after all transactions.</property>
                     <property name="tooltip_text" translatable="yes">If checked, transactions with a date in the future will be displayed at the bottom of the register after the blank transaction. If clear, the blank transaction will be at the bottom of the register after all transactions.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">18</property>
-                    <property name="bottom_attach">19</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -2663,16 +2156,14 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Show horizontal borders on the cells.</property>
                     <property name="tooltip_text" translatable="yes">Show horizontal borders on the cells.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">14</property>
-                    <property name="bottom_attach">15</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -2684,16 +2175,14 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Alternate the primary and secondary colors by transaction instead of by alternating by row.</property>
                     <property name="tooltip_text" translatable="yes">Alternate the primary and secondary colors by transaction instead of by alternating by row.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">13</property>
-                    <property name="bottom_attach">14</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -2705,32 +2194,27 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">GnuCash uses a yellow/green theme by default for register windows. Check this if you want to use the system color theme instead.</property>
                     <property name="tooltip_text" translatable="yes">GnuCash uses a yellow/green theme by default for register windows. Check this if you want to use the system color theme instead.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">12</property>
-                    <property name="bottom_attach">13</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label45">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Graphics</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">2</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">11</property>
-                    <property name="bottom_attach">12</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -2742,36 +2226,25 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Move to Transfer field when memorised transaction auto filled.</property>
                     <property name="tooltip_text" translatable="yes">Move to Transfer field when memorised transaction auto filled.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
                   <object class="GtkLabel" id="label121">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
               </object>
@@ -2783,7 +2256,7 @@ many months before the current month:</property>
               <object class="GtkLabel" id="label4">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">Register</property>
               </object>
               <packing>
@@ -2792,81 +2265,44 @@ many months before the current month:</property>
               </packing>
             </child>
             <child>
-              <object class="GtkTable" id="table4">
+              <object class="GtkGrid" id="table4">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">6</property>
-                <property name="n_rows">15</property>
-                <property name="n_columns">4</property>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
                 <child>
                   <object class="GtkLabel" id="label63">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Default Style</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label64">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label65">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Other Defaults</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">5</property>
-                    <property name="bottom_attach">6</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -2878,17 +2314,15 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Show all transactions on one line. (Two in double line mode.)</property>
                     <property name="tooltip_text" translatable="yes">Show all transactions on one line. (Two in double line mode.)</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -2900,17 +2334,15 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Automatically expand the current transaction to show all splits. All other transactions are shown on one line. (Two in double line mode.)</property>
                     <property name="tooltip_text" translatable="yes">Automatically expand the current transaction to show all splits. All other transactions are shown on one line. (Two in double line mode.)</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">pref/general.register/default-style-ledger</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -2922,34 +2354,30 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">All transactions are expanded to show all splits.</property>
                     <property name="tooltip_text" translatable="yes">All transactions are expanded to show all splits.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">pref/general.register/default-style-ledger</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label59">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="label" translatable="yes">Number of _transactions:</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">pref/general.register/max-transactions</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">9</property>
-                    <property name="bottom_attach">10</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -2960,11 +2388,8 @@ many months before the current month:</property>
                     <property name="tooltip_markup">Show this many transactions in a register. A value of zero means show all transactions.</property>
                     <property name="tooltip_text" translatable="yes">Show this many transactions in a register. A value of zero means show all transactions.</property>
                     <property name="invisible_char">●</property>
-                    <property name="invisible_char_set">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">max_transactions_adj</property>
                     <property name="climb_rate">1</property>
                     <property name="snap_to_ticks">True</property>
@@ -2972,12 +2397,8 @@ many months before the current month:</property>
                     <property name="update_policy">if-valid</property>
                   </object>
                   <packing>
-                    <property name="left_attach">3</property>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">1</property>
                     <property name="top_attach">9</property>
-                    <property name="bottom_attach">10</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -2989,16 +2410,14 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Show two lines of information for each transaction instead of one. Does not affect expanded transactions.</property>
                     <property name="tooltip_text" translatable="yes">Show two lines of information for each transaction instead of one. Does not affect expanded transactions.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">7</property>
-                    <property name="bottom_attach">8</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -3010,16 +2429,14 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">If checked, each register will be opened in its own top level window. If clear, the register will be opened in the current window.</property>
                     <property name="tooltip_text" translatable="yes">If checked, each register will be opened in its own top level window. If clear, the register will be opened in the current window.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">6</property>
-                    <property name="bottom_attach">7</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -3031,33 +2448,29 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">If checked, only the names of the leaf accounts are displayed in the register and in the account selection popup. The default behaviour is to display the full name, including the path in the account tree. Checking this option implies that you use unique leaf names.</property>
                     <property name="tooltip_text" translatable="yes">If checked, only the names of the leaf accounts are displayed in the register and in the account selection popup. The default behaviour is to display the full name, including the path in the account tree. Checking this option implies that you use unique leaf names.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">8</property>
-                    <property name="bottom_attach">9</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label14">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="label" translatable="yes">Number of _characters for auto complete:</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">pref/general.register/key-length</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">10</property>
-                    <property name="bottom_attach">11</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -3068,11 +2481,8 @@ many months before the current month:</property>
                     <property name="tooltip_markup">This sets the number of characters before auto complete starts for description, notes and memo fields.</property>
                     <property name="tooltip_text" translatable="yes">This sets the number of characters before auto complete starts for description, notes and memo fields.</property>
                     <property name="invisible_char">●</property>
-                    <property name="invisible_char_set">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">key_length_adj</property>
                     <property name="climb_rate">1</property>
                     <property name="snap_to_ticks">True</property>
@@ -3080,12 +2490,8 @@ many months before the current month:</property>
                     <property name="update_policy">if-valid</property>
                   </object>
                   <packing>
-                    <property name="left_attach">3</property>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">1</property>
                     <property name="top_attach">10</property>
-                    <property name="bottom_attach">11</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -3096,16 +2502,14 @@ many months before the current month:</property>
                     <property name="receives_default">False</property>
                     <property name="tooltip_markup">Show the date when the transaction was entered below the posted date and reconciled date on split row.</property>
                     <property name="tooltip_text" translatable="yes">Show the date when the transaction was entered below the posted date and reconciled date on split row.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">11</property>
-                    <property name="bottom_attach">12</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -3116,16 +2520,14 @@ many months before the current month:</property>
                     <property name="receives_default">False</property>
                     <property name="tooltip_markup">Show the calendar buttons Cancel, Today and Select.</property>
                     <property name="tooltip_text" translatable="yes">Show the calendar buttons Cancel, Today and Select.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">13</property>
-                    <property name="bottom_attach">14</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -3136,16 +2538,14 @@ many months before the current month:</property>
                     <property name="receives_default">False</property>
                     <property name="tooltip_markup">This will move the selection to the blank split when the transaction is expanded.</property>
                     <property name="tooltip_text" translatable="yes">This will move the selection to the blank split when the transaction is expanded.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">14</property>
-                    <property name="bottom_attach">15</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -3156,16 +2556,14 @@ many months before the current month:</property>
                     <property name="receives_default">False</property>
                     <property name="tooltip_markup">Show the entered date and reconciled date on transaction selection.</property>
                     <property name="tooltip_text" translatable="yes">Show the entered date and reconciled date on transaction selection.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">12</property>
-                    <property name="bottom_attach">13</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -3177,39 +2575,6 @@ many months before the current month:</property>
                 <child>
                   <placeholder/>
                 </child>
-              </object>
-              <packing>
-                <property name="position">6</property>
-              </packing>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="label5">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Register Defaults</property>
-              </object>
-              <packing>
-                <property name="position">6</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkTable" id="table8">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="border_width">6</property>
-                <property name="n_rows">10</property>
-                <property name="n_columns">4</property>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
                 <child>
                   <placeholder/>
                 </child>
@@ -3240,20 +2605,38 @@ many months before the current month:</property>
                 <child>
                   <placeholder/>
                 </child>
+              </object>
+              <packing>
+                <property name="position">6</property>
+              </packing>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="label5">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="label" translatable="yes">Register Defaults</property>
+              </object>
+              <packing>
+                <property name="position">6</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkGrid" id="table8">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="border_width">6</property>
                 <child>
                   <object class="GtkLabel" id="locale_currency2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">US Dollars (USD)</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -3270,6 +2653,7 @@ many months before the current month:</property>
                         <property name="has_tooltip">True</property>
                         <property name="tooltip_markup">Use the specified currency for all newly created reports.</property>
                         <property name="tooltip_text" translatable="yes">Use the specified currency for all newly created reports.</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="active">True</property>
                         <property name="draw_indicator">True</property>
@@ -3277,10 +2661,8 @@ many months before the current month:</property>
                     </child>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
@@ -3297,6 +2679,7 @@ many months before the current month:</property>
                         <property name="has_tooltip">True</property>
                         <property name="tooltip_markup">Use the system locale currency for all newly created reports.</property>
                         <property name="tooltip_text" translatable="yes">Use the system locale currency for all newly created reports.</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">pref/general.report/currency-choice-other</property>
@@ -3304,53 +2687,44 @@ many months before the current month:</property>
                     </child>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label86">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Default Report Currency</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label88">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label89">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Location</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -3362,20 +2736,18 @@ many months before the current month:</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">If checked, each report will be opened in its own top level window. If clear, the report will be opened in the current window.</property>
                     <property name="tooltip_text" translatable="yes">If checked, each report will be opened in its own top level window. If clear, the report will be opened in the current window.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">5</property>
-                    <property name="bottom_attach">6</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="pref/general.report/currency-other">
+                  <object class="GtkBox" id="pref/general.report/currency-other">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
@@ -3384,80 +2756,7 @@ many months before the current month:</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">4</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label20">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes"><b>Default zoom level</b></property>
-                    <property name="use_markup">True</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">7</property>
-                    <property name="bottom_attach">8</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHBox" id="hbox5">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <child>
-                      <object class="GtkSpinButton" id="pref/general.report/default-zoom">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="tooltip_text" translatable="yes">On high resolution screens reports tend to be hard to read.
-This option allows you to scale reports up by the set factor.
-For example setting this to 2.0 will display reports at twice their typical size.</property>
-                        <property name="max_length">4</property>
-                        <property name="invisible_char">●</property>
-                        <property name="primary_icon_activatable">False</property>
-                        <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
-                        <property name="adjustment">default_zoom_adj</property>
-                        <property name="digits">1</property>
-                        <property name="snap_to_ticks">True</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">True</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="top_attach">8</property>
-                    <property name="bottom_attach">9</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                    <property name="x_padding">12</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label21">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">6</property>
-                    <property name="bottom_attach">7</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -3481,7 +2780,7 @@ For example setting this to 2.0 will display reports at twice their typical size
               <object class="GtkLabel" id="label6">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">Reports</property>
               </object>
               <packing>
@@ -3490,71 +2789,32 @@ For example setting this to 2.0 will display reports at twice their typical size
               </packing>
             </child>
             <child>
-              <object class="GtkTable" id="table5">
+              <object class="GtkGrid" id="table5">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">6</property>
-                <property name="n_rows">13</property>
-                <property name="n_columns">4</property>
                 <property name="column_spacing">12</property>
                 <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
                   <object class="GtkLabel" id="label72">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Window Geometry</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label74">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -3566,16 +2826,15 @@ For example setting this to 2.0 will display reports at twice their typical size
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Save window size and location when it is closed.</property>
                     <property name="tooltip_text" translatable="yes">Save window size and location when it is closed.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
+                    <property name="width">2</property>
                   </packing>
                 </child>
                 <child>
@@ -3587,45 +2846,38 @@ For example setting this to 2.0 will display reports at twice their typical size
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Closing a tab moves to the most recently visited tab.</property>
                     <property name="tooltip_text" translatable="yes">Closing a tab moves to the most recently visited tab.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">5</property>
-                    <property name="bottom_attach">6</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
+                    <property name="width">2</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label110">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">7</property>
-                    <property name="bottom_attach">8</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label111">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Tab Position</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">2</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">8</property>
-                    <property name="bottom_attach">9</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -3637,17 +2889,15 @@ For example setting this to 2.0 will display reports at twice their typical size
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Display the notebook tabs at the top of the window.</property>
                     <property name="tooltip_text" translatable="yes">Display the notebook tabs at the top of the window.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">2</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">9</property>
-                    <property name="bottom_attach">10</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -3659,17 +2909,15 @@ For example setting this to 2.0 will display reports at twice their typical size
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Display the notebook tabs at the bottom of the window.</property>
                     <property name="tooltip_text" translatable="yes">Display the notebook tabs at the bottom of the window.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">pref/general/tab-position-top</property>
                   </object>
                   <packing>
-                    <property name="right_attach">2</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">10</property>
-                    <property name="bottom_attach">11</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -3681,17 +2929,15 @@ For example setting this to 2.0 will display reports at twice their typical size
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Display the notebook tabs at the left of the window.</property>
                     <property name="tooltip_text" translatable="yes">Display the notebook tabs at the left of the window.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">pref/general/tab-position-top</property>
                   </object>
                   <packing>
-                    <property name="right_attach">2</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">11</property>
-                    <property name="bottom_attach">12</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -3703,34 +2949,28 @@ For example setting this to 2.0 will display reports at twice their typical size
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Display the notebook tabs at the right of the window.</property>
                     <property name="tooltip_text" translatable="yes">Display the notebook tabs at the right of the window.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">pref/general/tab-position-top</property>
                   </object>
                   <packing>
-                    <property name="right_attach">2</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">12</property>
-                    <property name="bottom_attach">13</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label7">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Summary Bar Position</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="left_attach">2</property>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">1</property>
                     <property name="top_attach">8</property>
-                    <property name="bottom_attach">9</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -3742,18 +2982,15 @@ For example setting this to 2.0 will display reports at twice their typical size
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Display the summary bar at the top of the page.</property>
                     <property name="tooltip_text" translatable="yes">Display the summary bar at the top of the page.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="left_attach">2</property>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">1</property>
                     <property name="top_attach">9</property>
-                    <property name="bottom_attach">10</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
@@ -3765,47 +3002,38 @@ For example setting this to 2.0 will display reports at twice their typical size
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Display the summary bar at the bottom of the page.</property>
                     <property name="tooltip_text" translatable="yes">Display the summary bar at the bottom of the page.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">pref/general/summarybar-position-top</property>
                   </object>
                   <packing>
-                    <property name="left_attach">2</property>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">1</property>
                     <property name="top_attach">10</property>
-                    <property name="bottom_attach">11</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label112">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label113">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Tabs</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
                   </packing>
                 </child>
                 <child>
@@ -3817,16 +3045,15 @@ For example setting this to 2.0 will display reports at twice their typical size
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">Show a close button on each notebook tab. These function identically to the &apos;Close&apos; menu item.</property>
                     <property name="tooltip_text" translatable="yes">Show a close button on each notebook tab. These function identically to the 'Close' menu item.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"/>
-                    <property name="x_padding">12</property>
+                    <property name="width">2</property>
                   </packing>
                 </child>
                 <child>
@@ -3838,20 +3065,20 @@ For example setting this to 2.0 will display reports at twice their typical size
                       <object class="GtkLabel" id="label117">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="halign">start</property>
                         <property name="label" translatable="yes">_Width:</property>
                         <property name="use_underline">True</property>
+                        <property name="ellipsize">middle</property>
                       </object>
                     </child>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">6</property>
-                    <property name="bottom_attach">7</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="hbox3">
+                  <object class="GtkBox" id="hbox3">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
@@ -3862,11 +3089,8 @@ For example setting this to 2.0 will display reports at twice their typical size
                         <property name="tooltip_markup">If the text in the tab is longer than this value (the test is approximate) then the tab label will have the middle cut and replaced with an ellipsis.</property>
                         <property name="tooltip_text" translatable="yes">If the text in the tab is longer than this value (the test is approximate) then the tab label will have the middle cut and replaced with an ellipsis.</property>
                         <property name="invisible_char">●</property>
-                        <property name="invisible_char_set">True</property>
                         <property name="primary_icon_activatable">False</property>
                         <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
                         <property name="adjustment">tab_width_adj</property>
                         <property name="climb_rate">1</property>
                         <property name="numeric">True</property>
@@ -3881,7 +3105,6 @@ For example setting this to 2.0 will display reports at twice their typical size
                       <object class="GtkLabel" id="label118">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xpad">3</property>
                         <property name="label" translatable="yes">characters</property>
                       </object>
                       <packing>
@@ -3893,13 +3116,27 @@ For example setting this to 2.0 will display reports at twice their typical size
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">6</property>
-                    <property name="bottom_attach">7</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
               </object>
               <packing>
                 <property name="position">8</property>
@@ -3909,7 +3146,7 @@ For example setting this to 2.0 will display reports at twice their typical size
               <object class="GtkLabel" id="label8">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">Windows</property>
               </object>
               <packing>

commit e203c637a6afb357b1415d2d5f5a5687aa4fd44a
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 14:15:11 2017 +0100

    Files linked to dialog-customer-import-gui.glade

diff --git a/src/plugins/customer_import/dialog-customer-import-gui.c b/src/plugins/customer_import/dialog-customer-import-gui.c
index d2e0fb7..1114412 100644
--- a/src/plugins/customer_import/dialog-customer-import-gui.c
+++ b/src/plugins/customer_import/dialog-customer-import-gui.c
@@ -98,8 +98,8 @@ gnc_plugin_customer_import_showGUI(void)
     gui = g_new0 (CustomerImportGui, 1);
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-customer-import-gui.glade", "customer_import Dialog");
-    gui->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "customer_import Dialog"));
+    gnc_builder_add_from_file (builder, "dialog-customer-import-gui.glade", "customer_import_dialog");
+    gui->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "customer_import_dialog"));
     gui->tree_view = GTK_WIDGET(gtk_builder_get_object (builder, "treeview1"));
     gui->entryFilename = GTK_WIDGET(gtk_builder_get_object (builder, "entryFilename"));
     gui->type = "CUSTOMER"; // Set a default type to import
diff --git a/src/plugins/customer_import/gtkbuilder/dialog-customer-import-gui.glade b/src/plugins/customer_import/gtkbuilder/dialog-customer-import-gui.glade
index 3cfad08..2b126d0 100644
--- a/src/plugins/customer_import/gtkbuilder/dialog-customer-import-gui.glade
+++ b/src/plugins/customer_import/gtkbuilder/dialog-customer-import-gui.glade
@@ -1,7 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.20"/>
-  <object class="GtkDialog" id="customer_import Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="customer_import_dialog">
     <property name="width_request">500</property>
     <property name="height_request">500</property>
     <property name="visible">True</property>
@@ -22,12 +23,11 @@
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="helpbutton">
-                <property name="label">gtk-help</property>
+                <property name="label" translatable="yes">_Help</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <property name="image_position">top</property>
                 <signal name="clicked" handler="gnc_customer_import_gui_help_cb" swapped="no"/>
               </object>
@@ -39,13 +39,12 @@
             </child>
             <child>
               <object class="GtkButton" id="cancelbutton">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_customer_import_gui_cancel_cb" swapped="no"/>
               </object>
               <packing>
@@ -56,14 +55,13 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_customer_import_gui_ok_cb" swapped="no"/>
               </object>
               <packing>
@@ -90,9 +88,12 @@
               <object class="GtkAlignment" id="alignment1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="margin_right">10</property>
+                <property name="margin_top">5</property>
+                <property name="margin_bottom">5</property>
                 <property name="left_padding">12</property>
                 <child>
-                  <object class="GtkHBox" id="hbox1">
+                  <object class="GtkBox" id="hbox1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
@@ -109,12 +110,11 @@
                     </child>
                     <child>
                       <object class="GtkButton" id="buttonOpen">
-                        <property name="label">gtk-open</property>
+                        <property name="label" translatable="yes">_Open</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_stock">True</property>
+                        <property name="use_underline">True</property>
                         <signal name="clicked" handler="gnc_customer_import_gui_buttonOpen_cb" swapped="no"/>
                       </object>
                       <packing>
@@ -155,9 +155,10 @@
                 <property name="can_focus">False</property>
                 <property name="left_padding">12</property>
                 <child>
-                  <object class="GtkVBox" id="box1">
+                  <object class="GtkBox" id="box1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="halign">start</property>
                     <child>
                       <object class="GtkRadioButton" id="radiobutton_customer">
                         <property name="label" translatable="yes">Customer</property>
@@ -165,8 +166,7 @@
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
                         <property name="tooltip_text" translatable="yes">For importing customer lists.</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="xalign">0</property>
+                        <property name="halign">start</property>
                         <property name="draw_indicator">True</property>
                         <signal name="clicked" handler="gnc_customer_import_gui_type_cb" swapped="no"/>
                       </object>
@@ -183,8 +183,7 @@
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
                         <property name="tooltip_text" translatable="yes">For importing vendor lists.</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="xalign">0</property>
+                        <property name="halign">start</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">radiobutton_customer</property>
                         <signal name="clicked" handler="gnc_customer_import_gui_type_cb" swapped="no"/>
@@ -226,18 +225,18 @@
                 <property name="can_focus">False</property>
                 <property name="left_padding">12</property>
                 <child>
-                  <object class="GtkVBox" id="vbox1">
+                  <object class="GtkBox" id="vbox1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkRadioButton" id="radiobutton1">
                         <property name="label" translatable="yes">Semicolon separated</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
-                        <property name="xalign">0</property>
                         <property name="draw_indicator">True</property>
                         <signal name="toggled" handler="gnc_customer_import_gui_option1_cb" swapped="no"/>
                       </object>
@@ -253,9 +252,8 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
-                        <property name="xalign">0</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">radiobutton1</property>
                         <signal name="toggled" handler="gnc_customer_import_gui_option2_cb" swapped="no"/>
@@ -272,9 +270,8 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
-                        <property name="xalign">0</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">radiobutton1</property>
                         <signal name="toggled" handler="gnc_customer_import_gui_option3_cb" swapped="no"/>
@@ -291,9 +288,8 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
-                        <property name="xalign">0</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">radiobutton1</property>
                         <signal name="toggled" handler="gnc_customer_import_gui_option4_cb" swapped="no"/>
@@ -310,9 +306,8 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
-                        <property name="xalign">0</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">radiobutton1</property>
                         <signal name="clicked" handler="gnc_customer_import_gui_option5_cb" swapped="no"/>
@@ -352,11 +347,16 @@
               <object class="GtkAlignment" id="alignment3">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="margin_right">10</property>
+                <property name="margin_top">5</property>
+                <property name="margin_bottom">5</property>
                 <property name="left_padding">12</property>
                 <child>
                   <object class="GtkScrolledWindow" id="scrolledwindow2">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
+                    <property name="hexpand">True</property>
+                    <property name="vexpand">True</property>
                     <property name="shadow_type">in</property>
                     <child>
                       <object class="GtkTreeView" id="treeview1">

commit 82e11de8dcac21dd70616a3d45f497d717126996
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 14:14:53 2017 +0100

    Files linked to dialog-bi-import-gui.glade

diff --git a/src/plugins/bi_import/dialog-bi-import-gui.c b/src/plugins/bi_import/dialog-bi-import-gui.c
index 07e2140..5ff6901 100644
--- a/src/plugins/bi_import/dialog-bi-import-gui.c
+++ b/src/plugins/bi_import/dialog-bi-import-gui.c
@@ -103,8 +103,8 @@ gnc_plugin_bi_import_showGUI(void)
     gui->open_mode = "ALL";
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-bi-import-gui.glade", "bi-import Dialog");
-    gui->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "bi-import Dialog"));
+    gnc_builder_add_from_file (builder, "dialog-bi-import-gui.glade", "bi_import_dialog");
+    gui->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "bi_import_dialog"));
     gui->tree_view = GTK_WIDGET(gtk_builder_get_object (builder, "treeview1"));
     gui->entryFilename = GTK_WIDGET(gtk_builder_get_object (builder, "entryFilename"));
 
diff --git a/src/plugins/bi_import/gtkbuilder/dialog-bi-import-gui.glade b/src/plugins/bi_import/gtkbuilder/dialog-bi-import-gui.glade
index d380e15..b8ad746 100644
--- a/src/plugins/bi_import/gtkbuilder/dialog-bi-import-gui.glade
+++ b/src/plugins/bi_import/gtkbuilder/dialog-bi-import-gui.glade
@@ -1,18 +1,77 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkDialog" id="bi-import Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="bi_import_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Import transactions from text file</property>
     <property name="type_hint">dialog</property>
     <signal name="destroy" handler="gnc_bi_import_gui_destroy_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox3">
+      <object class="GtkBox" id="dialog-vbox3">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">8</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area3">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="helpbutton">
+                <property name="label" translatable="yes">_Help</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+                <signal name="clicked" handler="gnc_bi_import_gui_help_cb" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="cancelbutton">
+                <property name="label" translatable="yes">_Cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+                <signal name="clicked" handler="gnc_bi_import_gui_cancel_cb" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="okbutton">
+                <property name="label" translatable="yes">_OK</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+                <signal name="clicked" handler="gnc_bi_import_gui_ok_cb" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">5</property>
+          </packing>
+        </child>
         <child>
           <object class="GtkFrame" id="frame1">
             <property name="visible">True</property>
@@ -23,21 +82,21 @@
               <object class="GtkAlignment" id="alignment1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="margin_right">10</property>
+                <property name="margin_top">5</property>
+                <property name="margin_bottom">5</property>
                 <property name="left_padding">12</property>
                 <child>
-                  <object class="GtkHBox" id="hbox1">
+                  <object class="GtkBox" id="hbox1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
                       <object class="GtkEntry" id="entryFilename">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="invisible_char">&#x25CF;</property>
-                        <property name="invisible_char_set">True</property>
+                        <property name="invisible_char">●</property>
                         <property name="primary_icon_activatable">False</property>
                         <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
                         <signal name="changed" handler="gnc_bi_import_gui_filenameChanged_cb" swapped="no"/>
                       </object>
                       <packing>
@@ -52,7 +111,6 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
                         <property name="use_stock">True</property>
                         <signal name="clicked" handler="gnc_bi_import_gui_buttonOpen_cb" swapped="no"/>
                       </object>
@@ -97,9 +155,10 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
-                      <object class="GtkVBox" id="vbox2">
+                      <object class="GtkBox" id="vbox2">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="orientation">vertical</property>
                         <child>
                           <object class="GtkRadioButton" id="radiobuttonBill">
                             <property name="label" translatable="yes">Bill</property>
@@ -109,8 +168,7 @@
                             <property name="has_tooltip">True</property>
                             <property name="tooltip_markup">Import bill CSV data</property>
                             <property name="tooltip_text" translatable="yes">Import bill CSV data</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="xalign">0.4699999988079071</property>
+                            <property name="halign">start</property>
                             <property name="active">True</property>
                             <property name="draw_indicator">True</property>
                             <signal name="toggled" handler="gnc_import_gui_type_cb" swapped="no"/>
@@ -130,7 +188,7 @@
                             <property name="has_tooltip">True</property>
                             <property name="tooltip_markup">Import invoice CSV data</property>
                             <property name="tooltip_text" translatable="yes">Import invoice CSV data</property>
-                            <property name="use_action_appearance">False</property>
+                            <property name="halign">start</property>
                             <property name="draw_indicator">True</property>
                             <property name="group">radiobuttonBill</property>
                             <signal name="toggled" handler="gnc_import_gui_type_cb" swapped="no"/>
@@ -174,16 +232,17 @@
                 <property name="can_focus">False</property>
                 <property name="left_padding">12</property>
                 <child>
-                  <object class="GtkVBox" id="vbox1">
+                  <object class="GtkBox" id="vbox1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkRadioButton" id="radiobutton1">
                         <property name="label" translatable="yes">Semicolon separated</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="active">True</property>
                         <property name="draw_indicator">True</property>
@@ -201,7 +260,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">radiobutton1</property>
@@ -219,7 +278,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">radiobutton1</property>
@@ -237,7 +296,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">radiobutton1</property>
@@ -255,7 +314,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">radiobutton1</property>
@@ -296,6 +355,9 @@
               <object class="GtkAlignment" id="alignment3">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="margin_right">10</property>
+                <property name="margin_top">5</property>
+                <property name="margin_bottom">5</property>
                 <property name="left_padding">12</property>
                 <child>
                   <object class="GtkScrolledWindow" id="scrolledwindow2">
@@ -306,6 +368,9 @@
                       <object class="GtkTreeView" id="treeview1">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
+                        <child internal-child="selection">
+                          <object class="GtkTreeSelection" id="treeview-selection1"/>
+                        </child>
                       </object>
                     </child>
                   </object>
@@ -339,16 +404,17 @@
                 <property name="can_focus">False</property>
                 <property name="left_padding">12</property>
                 <child>
-                  <object class="GtkVBox" id="vbox5">
+                  <object class="GtkBox" id="vbox5">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkRadioButton" id="radiobuttonOpenAll">
                         <property name="label" translatable="yes">Open imported documents in tabs</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="active">True</property>
                         <property name="draw_indicator">True</property>
@@ -366,7 +432,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">radiobuttonOpenAll</property>
@@ -384,7 +450,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">radiobuttonOpenAll</property>
@@ -415,67 +481,6 @@
             <property name="position">4</property>
           </packing>
         </child>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area3">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="helpbutton">
-                <property name="label">gtk-help</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="gnc_bi_import_gui_help_cb" swapped="no"/>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="cancelbutton">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="gnc_bi_import_gui_cancel_cb" swapped="no"/>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="okbutton">
-                <property name="label">gtk-ok</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="gnc_bi_import_gui_ok_cb" swapped="no"/>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">2</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">5</property>
-          </packing>
-        </child>
       </object>
     </child>
     <action-widgets>

commit c40a76444bdab0671f4b5010735e2a72ff29f9f7
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 13:41:58 2017 +0100

    Files linked to dialog-report.glade

diff --git a/src/report/report-gnome/dialog-report-column-view.c b/src/report/report-gnome/dialog-report-column-view.c
index 1f44002..d98683f 100644
--- a/src/report/report-gnome/dialog-report-column-view.c
+++ b/src/report/report-gnome/dialog-report-column-view.c
@@ -583,8 +583,8 @@ gnc_column_view_edit_size_cb(GtkButton * button, gpointer user_data)
     builder = gtk_builder_new();
     gnc_builder_add_from_file (builder, "dialog-report.glade", "col_adjustment");
     gnc_builder_add_from_file (builder, "dialog-report.glade", "row_adjustment");
-    gnc_builder_add_from_file (builder, "dialog-report.glade", "Edit Report Size");
-    dlg = GTK_WIDGET(gtk_builder_get_object (builder, "Edit Report Size"));
+    gnc_builder_add_from_file (builder, "dialog-report.glade", "edit_report_size");
+    dlg = GTK_WIDGET(gtk_builder_get_object (builder, "edit_report_size"));
 
     /* get the spinner widgets */
     rowspin = GTK_WIDGET(gtk_builder_get_object (builder, "row_spin"));
diff --git a/src/report/report-gnome/dialog-report-style-sheet.c b/src/report/report-gnome/dialog-report-style-sheet.c
index be4912a..85b6578 100644
--- a/src/report/report-gnome/dialog-report-style-sheet.c
+++ b/src/report/report-gnome/dialog-report-style-sheet.c
@@ -191,9 +191,9 @@ gnc_style_sheet_new (StyleSheetDialog * ssd)
 
     builder = gtk_builder_new();
     gnc_builder_add_from_file (builder, "dialog-report.glade", "template_liststore");
-    gnc_builder_add_from_file (builder, "dialog-report.glade", "New Style Sheet Dialog");
+    gnc_builder_add_from_file (builder, "dialog-report.glade", "new_style_sheet_dialog");
 
-    dlg = GTK_WIDGET(gtk_builder_get_object (builder, "New Style Sheet Dialog"));
+    dlg = GTK_WIDGET(gtk_builder_get_object (builder, "new_style_sheet_dialog"));
     template_combo = GTK_WIDGET(gtk_builder_get_object (builder, "template_combobox"));
     name_entry     = GTK_WIDGET(gtk_builder_get_object (builder, "name_entry"));
 
@@ -406,9 +406,9 @@ gnc_style_sheet_select_dialog_create(void)
     GtkTreeSelection  * selection;
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-report.glade", "Select Style Sheet Dialog");
+    gnc_builder_add_from_file (builder, "dialog-report.glade", "select_style_sheet_dialog");
 
-    ss->toplevel   = GTK_WIDGET(gtk_builder_get_object (builder, "Select Style Sheet Dialog"));
+    ss->toplevel   = GTK_WIDGET(gtk_builder_get_object (builder, "select_style_sheet_dialog"));
 
     ss->list_view  = GTK_TREE_VIEW(gtk_builder_get_object (builder, "style_sheet_list_view"));
     ss->list_store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_POINTER);
diff --git a/src/report/report-gnome/dialog-report.glade b/src/report/report-gnome/dialog-report.glade
index 3fac5ea..b2af41b 100644
--- a/src/report/report-gnome/dialog-report.glade
+++ b/src/report/report-gnome/dialog-report.glade
@@ -1,46 +1,56 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkWindow" id="Edit Column View Page">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkAdjustment" id="col_adjustment">
+    <property name="upper">100</property>
+    <property name="value">1</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkWindow" id="edit_column_view_page">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
     <child>
-      <object class="GtkTable" id="view_contents_table">
+      <object class="GtkGrid" id="view_contents_table">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <property name="n_rows">2</property>
-        <property name="n_columns">3</property>
-        <property name="column_spacing">6</property>
+        <property name="margin_left">12</property>
+        <property name="margin_right">12</property>
+        <property name="margin_bottom">12</property>
+        <property name="hexpand">True</property>
+        <property name="vexpand">True</property>
         <property name="row_spacing">3</property>
+        <property name="column_spacing">6</property>
         <child>
           <object class="GtkScrolledWindow" id="scrolledwindow27">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="hscrollbar_policy">never</property>
-            <property name="vscrollbar_policy">automatic</property>
             <property name="shadow_type">in</property>
             <child>
               <object class="GtkTreeView" id="contents_view">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
+                <property name="hexpand">True</property>
+                <property name="vexpand">True</property>
                 <property name="rules_hint">True</property>
+                <child internal-child="selection">
+                  <object class="GtkTreeSelection" id="treeview-selection1"/>
+                </child>
               </object>
             </child>
           </object>
           <packing>
             <property name="left_attach">2</property>
-            <property name="right_attach">3</property>
             <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
           </packing>
         </child>
         <child>
           <object class="GtkLabel" id="label847720">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
             <property name="label" translatable="yes"><b>A_vailable reports</b></property>
             <property name="use_markup">True</property>
             <property name="use_underline">True</property>
@@ -48,15 +58,14 @@
             <property name="mnemonic_widget">available_view</property>
           </object>
           <packing>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
+            <property name="left_attach">0</property>
+            <property name="top_attach">0</property>
           </packing>
         </child>
         <child>
           <object class="GtkLabel" id="label847736">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
             <property name="label" translatable="yes"><b>_Selected Reports</b></property>
             <property name="use_markup">True</property>
             <property name="use_underline">True</property>
@@ -64,15 +73,14 @@
           </object>
           <packing>
             <property name="left_attach">2</property>
-            <property name="right_attach">3</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
+            <property name="top_attach">0</property>
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox109">
+          <object class="GtkBox" id="vbox109">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
               <object class="GtkLabel" id="label847721">
                 <property name="visible">True</property>
@@ -92,9 +100,8 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
-                <signal name="clicked" handler="gnc_column_view_edit_add_cb"/>
+                <signal name="clicked" handler="gnc_column_view_edit_add_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -108,9 +115,8 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
-                <signal name="clicked" handler="gnc_column_view_edit_remove_cb"/>
+                <signal name="clicked" handler="gnc_column_view_edit_remove_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -136,9 +142,8 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
-                <signal name="clicked" handler="gnc_edit_column_view_move_up_cb"/>
+                <signal name="clicked" handler="gnc_edit_column_view_move_up_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -152,9 +157,8 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
-                <signal name="clicked" handler="gnc_edit_column_view_move_down_cb"/>
+                <signal name="clicked" handler="gnc_edit_column_view_move_down_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -180,9 +184,8 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
-                <signal name="clicked" handler="gnc_column_view_edit_size_cb"/>
+                <signal name="clicked" handler="gnc_column_view_edit_size_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -205,11 +208,7 @@
           </object>
           <packing>
             <property name="left_attach">1</property>
-            <property name="right_attach">2</property>
             <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options">GTK_FILL</property>
           </packing>
         </child>
         <child>
@@ -217,22 +216,24 @@
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="hscrollbar_policy">never</property>
-            <property name="vscrollbar_policy">automatic</property>
             <property name="shadow_type">in</property>
             <child>
               <object class="GtkTreeView" id="available_view">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
+                <property name="hexpand">True</property>
+                <property name="vexpand">True</property>
                 <property name="headers_visible">False</property>
                 <property name="rules_hint">True</property>
+                <child internal-child="selection">
+                  <object class="GtkTreeSelection" id="treeview-selection2"/>
+                </child>
               </object>
             </child>
           </object>
           <packing>
+            <property name="left_attach">0</property>
             <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options">GTK_FILL</property>
           </packing>
         </child>
         <child>
@@ -241,191 +242,19 @@
       </object>
     </child>
   </object>
-  <object class="GtkDialog" id="Edit Report Size">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="title" translatable="yes">Report Size</property>
-    <property name="resizable">False</property>
-    <property name="modal">True</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox11">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="spacing">8</property>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area11">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="cancelbutton">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="okbutton">
-                <property name="label">gtk-ok</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="has_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkTable" id="table1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="border_width">6</property>
-            <property name="n_rows">3</property>
-            <property name="n_columns">2</property>
-            <property name="column_spacing">12</property>
-            <property name="row_spacing">6</property>
-            <child>
-              <object class="GtkLabel" id="label847729">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Enter report row/column span</property>
-              </object>
-              <packing>
-                <property name="right_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkSpinButton" id="row_spin">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="invisible_char">&#x25CF;</property>
-                <property name="invisible_char_set">True</property>
-                <property name="primary_icon_activatable">False</property>
-                <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
-                <property name="adjustment">row_adjustment</property>
-                <property name="climb_rate">1</property>
-                <property name="numeric">True</property>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options"></property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkSpinButton" id="col_spin">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="invisible_char">&#x25CF;</property>
-                <property name="invisible_char_set">True</property>
-                <property name="primary_icon_activatable">False</property>
-                <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
-                <property name="adjustment">col_adjustment</property>
-                <property name="climb_rate">1</property>
-                <property name="numeric">True</property>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options"></property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">_Row span:</property>
-                <property name="use_underline">True</property>
-                <property name="justify">center</property>
-                <property name="mnemonic_widget">row_spin</property>
-              </object>
-              <packing>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label847730">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">_Column span:</property>
-                <property name="use_underline">True</property>
-                <property name="justify">center</property>
-                <property name="mnemonic_widget">col_spin</property>
-              </object>
-              <packing>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">2</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="-6">cancelbutton</action-widget>
-      <action-widget response="-5">okbutton</action-widget>
-    </action-widgets>
-  </object>
-  <object class="GtkDialog" id="HTML Style Sheet Dialog">
+  <object class="GtkDialog" id="html_style_sheet_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">HTML Style Sheets</property>
     <property name="type_hint">dialog</property>
-    <signal name="response" handler="gnc_options_dialog_response_cb"/>
+    <signal name="response" handler="gnc_options_dialog_response_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox10">
+      <object class="GtkBox" id="dialog-vbox10">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area10">
+          <object class="GtkButtonBox" id="dialog-action_area10">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
@@ -436,7 +265,6 @@
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_stock">True</property>
               </object>
               <packing>
@@ -454,18 +282,18 @@
           </packing>
         </child>
         <child>
-          <object class="GtkHPaned" id="hpaned1">
+          <object class="GtkPaned" id="hpaned1">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <child>
-              <object class="GtkVBox" id="vbox92">
+              <object class="GtkBox" id="vbox92">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <object class="GtkLabel" id="label847671">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                     <property name="label" translatable="yes"><b>Available style sheets</b></property>
                     <property name="use_markup">True</property>
                   </object>
@@ -479,8 +307,6 @@
                   <object class="GtkScrolledWindow" id="scrolledwindow17">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">automatic</property>
-                    <property name="vscrollbar_policy">automatic</property>
                     <property name="shadow_type">in</property>
                     <child>
                       <placeholder/>
@@ -493,19 +319,18 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHButtonBox" id="hbox81">
+                  <object class="GtkButtonBox" id="hbox81">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="spacing">3</property>
                     <property name="layout_style">spread</property>
                     <child>
                       <object class="GtkButton" id="new_button">
-                        <property name="label">gtk-new</property>
+                        <property name="label" translatable="yes">_New</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">True</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_stock">True</property>
+                        <property name="use_underline">True</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -515,12 +340,11 @@
                     </child>
                     <child>
                       <object class="GtkButton" id="delete_button1">
-                        <property name="label">gtk-delete</property>
+                        <property name="label" translatable="yes">_Delete</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">True</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_stock">True</property>
+                        <property name="use_underline">True</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -542,14 +366,14 @@
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="vbox112">
+              <object class="GtkBox" id="vbox112">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <object class="GtkLabel" id="label847672">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                     <property name="label" translatable="yes"><b>Style sheet options</b></property>
                     <property name="use_markup">True</property>
                   </object>
@@ -560,9 +384,10 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkVBox" id="style_sheet_options">
+                  <object class="GtkBox" id="style_sheet_options">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <child>
                       <placeholder/>
                     </child>
@@ -592,31 +417,38 @@
       <action-widget response="-7">closebutton1</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkDialog" id="New Style Sheet Dialog">
+  <object class="GtkAdjustment" id="row_adjustment">
+    <property name="upper">100</property>
+    <property name="value">1</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkDialog" id="edit_report_size">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
-    <property name="title" translatable="yes">New Style Sheet</property>
+    <property name="title" translatable="yes">Report Size</property>
+    <property name="resizable">False</property>
     <property name="modal">True</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox12">
+      <object class="GtkBox" id="dialog-vbox11">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">8</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area12">
+          <object class="GtkButtonBox" id="dialog-action_area11">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
-              <object class="GtkButton" id="cancelbutton1">
-                <property name="label">gtk-cancel</property>
+              <object class="GtkButton" id="cancelbutton">
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -625,14 +457,14 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="okbutton1">
-                <property name="label">gtk-ok</property>
+              <object class="GtkButton" id="okbutton">
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
+                <property name="has_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -649,113 +481,101 @@
           </packing>
         </child>
         <child>
-          <object class="GtkLabel" id="label2">
+          <object class="GtkGrid" id="table1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
-            <property name="label" translatable="yes"><b>New style sheet info</b></property>
-            <property name="use_markup">True</property>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkTable" id="table2">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="n_rows">2</property>
-            <property name="n_columns">2</property>
-            <property name="column_spacing">12</property>
+            <property name="border_width">6</property>
             <property name="row_spacing">6</property>
+            <property name="column_spacing">12</property>
             <child>
-              <object class="GtkLabel" id="label847669">
+              <object class="GtkLabel" id="label847729">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">1</property>
-                <property name="label" translatable="yes">_Name:</property>
-                <property name="use_underline">True</property>
-                <property name="justify">center</property>
-                <property name="mnemonic_widget">name_entry</property>
+                <property name="label" translatable="yes">Enter report row/column span</property>
               </object>
               <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">2</property>
               </packing>
             </child>
             <child>
-              <object class="GtkLabel" id="label847670">
+              <object class="GtkSpinButton" id="row_spin">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">1</property>
-                <property name="label" translatable="yes">_Template:</property>
-                <property name="use_underline">True</property>
-                <property name="justify">center</property>
-                <property name="mnemonic_widget">template_combobox</property>
+                <property name="can_focus">True</property>
+                <property name="invisible_char">●</property>
+                <property name="primary_icon_activatable">False</property>
+                <property name="secondary_icon_activatable">False</property>
+                <property name="adjustment">row_adjustment</property>
+                <property name="climb_rate">1</property>
+                <property name="numeric">True</property>
               </object>
               <packing>
+                <property name="left_attach">1</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
-              <object class="GtkEntry" id="name_entry">
+              <object class="GtkSpinButton" id="col_spin">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="invisible_char">&#x25CF;</property>
-                <property name="activates_default">True</property>
-                <property name="invisible_char_set">True</property>
+                <property name="invisible_char">●</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
+                <property name="adjustment">col_adjustment</property>
+                <property name="climb_rate">1</property>
+                <property name="numeric">True</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="y_options"></property>
+                <property name="top_attach">2</property>
               </packing>
             </child>
             <child>
-              <object class="GtkComboBox" id="template_combobox">
+              <object class="GtkLabel" id="label1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="model">template_liststore</property>
-                <child>
-                  <object class="GtkCellRendererText" id="cellrenderertext1"/>
-                  <attributes>
-                    <attribute name="text">0</attribute>
-                  </attributes>
-                </child>
+                <property name="halign">start</property>
+                <property name="label" translatable="yes">_Row span:</property>
+                <property name="use_underline">True</property>
+                <property name="justify">center</property>
+                <property name="mnemonic_widget">row_spin</property>
               </object>
               <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
+                <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label847730">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="label" translatable="yes">_Column span:</property>
+                <property name="use_underline">True</property>
+                <property name="justify">center</property>
+                <property name="mnemonic_widget">col_spin</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">2</property>
               </packing>
             </child>
           </object>
           <packing>
             <property name="expand">True</property>
             <property name="fill">True</property>
-            <property name="position">3</property>
+            <property name="position">2</property>
           </packing>
         </child>
       </object>
     </child>
     <action-widgets>
-      <action-widget response="-6">cancelbutton1</action-widget>
-      <action-widget response="-5">okbutton1</action-widget>
+      <action-widget response="-6">cancelbutton</action-widget>
+      <action-widget response="-5">okbutton</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkDialog" id="Select Style Sheet Dialog">
+  <object class="GtkDialog" id="select_style_sheet_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Select HTML Style Sheet</property>
@@ -763,61 +583,23 @@
     <property name="default_height">200</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox9">
+      <object class="GtkBox" id="dialog-vbox9">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area9">
+          <object class="GtkButtonBox" id="dialog-action_area9">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="edit_button">
+                <property name="label" translatable="yes">_Edit</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <child>
-                  <object class="GtkAlignment" id="alignment1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xscale">0</property>
-                    <property name="yscale">0</property>
-                    <child>
-                      <object class="GtkHBox" id="hbox98">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="spacing">2</property>
-                        <child>
-                          <object class="GtkImage" id="image1">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="stock">gtk-preferences</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label847734">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">_Edit</property>
-                            <property name="use_underline">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                </child>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -827,13 +609,12 @@
             </child>
             <child>
               <object class="GtkButton" id="add_button">
-                <property name="label">gtk-new</property>
+                <property name="label" translatable="yes">_New</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -843,13 +624,12 @@
             </child>
             <child>
               <object class="GtkButton" id="delete_button">
-                <property name="label">gtk-delete</property>
+                <property name="label" translatable="yes">_Delete</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -859,13 +639,12 @@
             </child>
             <child>
               <object class="GtkButton" id="close_button">
-                <property name="label">gtk-close</property>
+                <property name="label" translatable="yes">_Close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -885,12 +664,17 @@
           <object class="GtkScrolledWindow" id="scrolledwindow28">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
+            <property name="hscrollbar_policy">always</property>
+            <property name="vscrollbar_policy">always</property>
             <child>
               <object class="GtkTreeView" id="style_sheet_list_view">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="headers_visible">False</property>
                 <property name="enable_search">False</property>
+                <child internal-child="selection">
+                  <object class="GtkTreeSelection" id="treeview-selection3"/>
+                </child>
               </object>
             </child>
           </object>
@@ -909,18 +693,6 @@
       <action-widget response="-7">close_button</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkAdjustment" id="col_adjustment">
-    <property name="upper">100</property>
-    <property name="value">1</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="row_adjustment">
-    <property name="upper">100</property>
-    <property name="value">1</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
   <object class="GtkListStore" id="template_liststore">
     <columns>
       <!-- column-name item -->
@@ -932,4 +704,153 @@
       </row>
     </data>
   </object>
+  <object class="GtkDialog" id="new_style_sheet_dialog">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="title" translatable="yes">New Style Sheet</property>
+    <property name="modal">True</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox12">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">8</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area12">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="cancelbutton1">
+                <property name="label" translatable="yes">_Cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="okbutton1">
+                <property name="label" translatable="yes">_OK</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="label2">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes"><b>New style sheet info</b></property>
+            <property name="use_markup">True</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkGrid" id="table2">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="row_spacing">6</property>
+            <property name="column_spacing">12</property>
+            <child>
+              <object class="GtkLabel" id="label847669">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="label" translatable="yes">_Name:</property>
+                <property name="use_underline">True</property>
+                <property name="justify">center</property>
+                <property name="mnemonic_widget">name_entry</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label847670">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="label" translatable="yes">_Template:</property>
+                <property name="use_underline">True</property>
+                <property name="justify">center</property>
+                <property name="mnemonic_widget">template_combobox</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="name_entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="invisible_char">●</property>
+                <property name="activates_default">True</property>
+                <property name="primary_icon_activatable">False</property>
+                <property name="secondary_icon_activatable">False</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkComboBox" id="template_combobox">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="model">template_liststore</property>
+                <child>
+                  <object class="GtkCellRendererText" id="cellrenderertext1"/>
+                  <attributes>
+                    <attribute name="text">0</attribute>
+                  </attributes>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">3</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-6">cancelbutton1</action-widget>
+      <action-widget response="-5">okbutton1</action-widget>
+    </action-widgets>
+  </object>
 </interface>

commit b88883da804c48233b9a64931aebb70793ffe25b
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 13:41:37 2017 +0100

    Changes to dialog-custom-report.glade

diff --git a/src/report/report-gnome/dialog-custom-report.glade b/src/report/report-gnome/dialog-custom-report.glade
index d72ab92..3fd47b3 100644
--- a/src/report/report-gnome/dialog-custom-report.glade
+++ b/src/report/report-gnome/dialog-custom-report.glade
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
+  <requires lib="gtk+" version="3.10"/>
   <object class="GtkDialog" id="custom_report_dialog">
     <property name="can_focus">False</property>
     <property name="border_width">5</property>
@@ -12,24 +12,24 @@
     <property name="skip_pager_hint">True</property>
     <signal name="close" handler="custom_report_dialog_close_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox1">
+      <object class="GtkBox" id="dialog-vbox1">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">2</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area1">
+          <object class="GtkButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="helpbutton">
-                <property name="label">gtk-help</property>
+                <property name="label" translatable="yes">_Help</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="custom_report_help_cb" swapped="no"/>
               </object>
               <packing>
@@ -40,15 +40,14 @@
             </child>
             <child>
               <object class="GtkButton" id="close_report_button">
-                <property name="label">gtk-close</property>
+                <property name="label" translatable="yes">_Close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
                 <property name="has_tooltip">True</property>
                 <property name="tooltip_markup">Exit the saved report configurations dialog</property>
                 <property name="tooltip_text" translatable="yes">Exit the saved report configurations dialog</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="close_custom_report_clicked_cb" swapped="no"/>
               </object>
               <packing>
@@ -71,17 +70,18 @@
             <property name="height_request">150</property>
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">automatic</property>
-            <property name="vscrollbar_policy">automatic</property>
             <child>
               <object class="GtkTreeView" id="custom_report_list_view">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="has_tooltip">True</property>
                 <property name="headers_visible">False</property>
-                <signal name="row-activated" handler="custom_report_list_view_row_activated_cb" swapped="no"/>
                 <signal name="button-release-event" handler="custom_report_list_view_clicked_cb" swapped="no"/>
                 <signal name="query-tooltip" handler="custom_report_query_tooltip_cb" swapped="no"/>
+                <signal name="row-activated" handler="custom_report_list_view_row_activated_cb" swapped="no"/>
+                <child internal-child="selection">
+                  <object class="GtkTreeSelection" id="treeview-selection1"/>
+                </child>
               </object>
             </child>
           </object>

commit 0d4635a5da7e4e1ad09809557c0d2b8cc16bff8f
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 13:21:08 2017 +0100

    Files linked to dialog-search.glade

diff --git a/src/gnome-search/dialog-search.c b/src/gnome-search/dialog-search.c
index 2bab990..8e91da2 100644
--- a/src/gnome-search/dialog-search.c
+++ b/src/gnome-search/dialog-search.c
@@ -719,15 +719,20 @@ attach_element (GtkWidget *element, GNCSearchWindow *sw, int row)
 
     data = g_object_get_data (G_OBJECT (element), "data");
 
-    gtk_table_attach (GTK_TABLE (sw->criteria_table), element, 0, 1, row, row + 1,
-                      GTK_EXPAND | GTK_FILL, 0, 0, 0);
-
+    gtk_grid_attach (GTK_GRID (sw->criteria_table), element, 0, row, 1, 1);
+    gtk_widget_set_hexpand (element, TRUE);
+    gtk_widget_set_halign (element, GTK_ALIGN_FILL);
+    g_object_set (element, "margin", 0, NULL);
 
     remove = gtk_button_new_with_label (_("Remove"));
     g_object_set_data (G_OBJECT (remove), "element", element);
     g_signal_connect (G_OBJECT (remove), "clicked", G_CALLBACK (remove_element), sw);
-    gtk_table_attach (GTK_TABLE (sw->criteria_table), remove, 1, 2, row, row + 1,
-                      0, 0, 0, 0);
+
+    gtk_grid_attach (GTK_GRID (sw->criteria_table), remove, 1, row, 1, 1);
+    gtk_widget_set_hexpand (remove, FALSE);
+    gtk_widget_set_halign (remove, GTK_ALIGN_CENTER);
+    g_object_set (remove, "margin", 0, NULL);
+
     gtk_widget_show (remove);
     data->button = remove;	/* Save the button for later */
 }
@@ -943,10 +948,42 @@ gnc_search_dialog_book_option_changed (gpointer new_val, gpointer user_data)
     gtk_widget_grab_focus(focused_widget);
 }
 
+struct grid_size
+{
+    /** The grid being sized. */
+    GtkGrid *grid;
+    /** The number of columns and rows in the grid. */
+    gint cols, rows;
+};
+
+static void
+get_grid_size (GtkWidget *child, gpointer data)
+{
+    struct grid_size *gridsize = data;
+    gint top, left, height, width;
+
+    gtk_container_child_get(GTK_CONTAINER(gridsize->grid), child,
+                            "left-attach", &left,
+                            "top-attach", &top,
+                            "height", &height,
+                            "width", &width,
+                            NULL);
+
+    if (left + width >= gridsize->cols)
+        gridsize->cols = left + width;
+
+    if (top + height >= gridsize->rows)
+        gridsize->rows = top + height;
+}
+
 static void
 gnc_search_dialog_add_criterion (GNCSearchWindow *sw)
 {
     GNCSearchCoreType *new_sct;
+    struct grid_size gridsize;
+
+    gridsize.cols = 0;
+    gridsize.rows = 0;
 
     /* First, make sure that the last criterion is ok */
     if (sw->crit_list)
@@ -970,15 +1007,15 @@ gnc_search_dialog_add_criterion (GNCSearchWindow *sw)
     {
         struct _crit_data *data;
         GtkWidget *w;
-        int rows;
 
         w = get_element_widget (sw, new_sct);
         data = g_object_get_data (G_OBJECT (w), "data");
         sw->crit_list = g_list_append (sw->crit_list, data);
 
-        gtk_table_get_size (GTK_TABLE (sw->criteria_table), &rows, NULL);
-        gtk_table_resize (GTK_TABLE (sw->criteria_table), rows + 1, 2);
-        attach_element (w, sw, rows);
+        gridsize.grid = GTK_GRID (sw->criteria_table);
+        gtk_container_foreach(GTK_CONTAINER(sw->criteria_table), get_grid_size, &gridsize);
+
+        attach_element (w, sw, gridsize.rows);
 
         gnc_search_core_type_grab_focus (new_sct);
         gnc_search_core_type_editable_enters (new_sct);
@@ -1113,10 +1150,10 @@ gnc_search_dialog_init_widgets (GNCSearchWindow *sw, const gchar *title)
     gboolean           active;
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-search.glade", "Search Dialog");
+    gnc_builder_add_from_file (builder, "dialog-search.glade", "search_dialog");
 
     /* Grab the dialog, save the dialog info */
-    sw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Search Dialog"));
+    sw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "search_dialog"));
     gtk_window_set_title(GTK_WINDOW(sw->dialog), title);
     g_object_set_data (G_OBJECT (sw->dialog), "dialog-info", sw);
 
diff --git a/src/gnome-search/dialog-search.glade b/src/gnome-search/dialog-search.glade
index fb58e3c..64fd788 100644
--- a/src/gnome-search/dialog-search.glade
+++ b/src/gnome-search/dialog-search.glade
@@ -1,67 +1,29 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkDialog" id="Search Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="search_dialog">
     <property name="can_focus">False</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox3">
+      <object class="GtkBox" id="dialog-vbox3">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">8</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area3">
+          <object class="GtkButtonBox" id="dialog-action_area3">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
-              <object class="GtkButton" id="new_item_button">
+              <object class="GtkButton" id="help_button">
+                <property name="label" translatable="yes">_Help</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <child>
-                  <object class="GtkAlignment" id="alignment1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xscale">0</property>
-                    <property name="yscale">0</property>
-                    <child>
-                      <object class="GtkHBox" id="hbox74">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="spacing">2</property>
-                        <child>
-                          <object class="GtkImage" id="image1">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="stock">gtk-new</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label848">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">_New item...</property>
-                            <property name="use_underline">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                </child>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -70,14 +32,13 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="close_button">
-                <property name="label">gtk-close</property>
+              <object class="GtkButton" id="new_item_button">
+                <property name="label" translatable="yes">_New item...</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -86,14 +47,13 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="help_button">
-                <property name="label">gtk-help</property>
+              <object class="GtkButton" id="close_button">
+                <property name="label" translatable="yes">_Close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -103,13 +63,12 @@
             </child>
             <child>
               <object class="GtkButton" id="cancel_button">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -119,14 +78,13 @@
             </child>
             <child>
               <object class="GtkButton" id="find_button">
-                <property name="label">gtk-find</property>
+                <property name="label" translatable="yes">_Find</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -143,15 +101,16 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox89">
+          <object class="GtkBox" id="vbox89">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
-              <object class="GtkHBox" id="search_hbox">
+              <object class="GtkBox" id="search_hbox">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
-                  <object class="GtkHBox" id="hbox72">
+                  <object class="GtkBox" id="hbox72">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
@@ -201,17 +160,18 @@
                 <property name="border_width">6</property>
                 <property name="label_xalign">0</property>
                 <child>
-                  <object class="GtkVBox" id="vbox88">
+                  <object class="GtkBox" id="vbox88">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="border_width">3</property>
+                    <property name="orientation">vertical</property>
                     <child>
-                      <object class="GtkHBox" id="hbox73">
+                      <object class="GtkBox" id="hbox73">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="border_width">3</property>
                         <child>
-                          <object class="GtkHBox" id="add_button_box">
+                          <object class="GtkBox" id="add_button_box">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
@@ -225,7 +185,7 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkHBox" id="type_menu_box">
+                          <object class="GtkBox" id="type_menu_box">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
@@ -243,7 +203,6 @@
                           <object class="GtkLabel" id="label846">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
                             <property name="label" translatable="yes">Search for items where</property>
                             <property name="justify">right</property>
                           </object>
@@ -276,13 +235,37 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkTable" id="criteria_table">
+                      <object class="GtkGrid" id="criteria_table">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="border_width">3</property>
                         <child>
                           <placeholder/>
                         </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
                       </object>
                       <packing>
                         <property name="expand">True</property>
@@ -307,12 +290,12 @@
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="result_hbox">
+              <object class="GtkBox" id="result_hbox">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">6</property>
                 <child>
-                  <object class="GtkHBox" id="hboxXXX">
+                  <object class="GtkBox" id="hboxXXX">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
@@ -327,17 +310,18 @@
                             <property name="can_focus">False</property>
                             <property name="label_xalign">0</property>
                             <child>
-                              <object class="GtkVBox" id="vbox24">
+                              <object class="GtkBox" id="vbox24">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="border_width">3</property>
+                                <property name="orientation">vertical</property>
                                 <child>
                                   <object class="GtkRadioButton" id="new_search_radiobutton">
                                     <property name="label" translatable="yes">New search</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
-                                    <property name="use_action_appearance">False</property>
+                                    <property name="halign">start</property>
                                     <property name="use_underline">True</property>
                                     <property name="active">True</property>
                                     <property name="draw_indicator">True</property>
@@ -354,7 +338,7 @@
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
-                                    <property name="use_action_appearance">False</property>
+                                    <property name="halign">start</property>
                                     <property name="use_underline">True</property>
                                     <property name="draw_indicator">True</property>
                                     <property name="group">new_search_radiobutton</property>
@@ -371,7 +355,7 @@
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
-                                    <property name="use_action_appearance">False</property>
+                                    <property name="halign">start</property>
                                     <property name="use_underline">True</property>
                                     <property name="draw_indicator">True</property>
                                     <property name="group">new_search_radiobutton</property>
@@ -388,7 +372,7 @@
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
-                                    <property name="use_action_appearance">False</property>
+                                    <property name="halign">start</property>
                                     <property name="use_underline">True</property>
                                     <property name="draw_indicator">True</property>
                                     <property name="group">new_search_radiobutton</property>
@@ -400,7 +384,7 @@
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkHSeparator" id="hseparator1">
+                                  <object class="GtkSeparator" id="hseparator1">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                   </object>
@@ -419,7 +403,7 @@
                                     <property name="has_tooltip">True</property>
                                     <property name="tooltip_markup">Choose whether to search all your data or only that marked as &quot;active&quot;.</property>
                                     <property name="tooltip_text" translatable="yes">Choose whether to search all your data or only that marked as "active".</property>
-                                    <property name="use_action_appearance">False</property>
+                                    <property name="halign">start</property>
                                     <property name="use_underline">True</property>
                                     <property name="active">True</property>
                                     <property name="draw_indicator">True</property>
@@ -472,9 +456,9 @@
       </object>
     </child>
     <action-widgets>
+      <action-widget response="-11">help_button</action-widget>
       <action-widget response="0">new_item_button</action-widget>
       <action-widget response="-7">close_button</action-widget>
-      <action-widget response="-11">help_button</action-widget>
       <action-widget response="-6">cancel_button</action-widget>
       <action-widget response="0">find_button</action-widget>
     </action-widgets>

commit fc2a688b15a40abe6f5c3749da48cdd18455de4f
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 12:59:14 2017 +0100

    Files linked to business-prefs.glade

diff --git a/src/business/business-gnome/gtkbuilder/business-prefs.glade b/src/business/business-gnome/gtkbuilder/business-prefs.glade
index c01ee55..84a3d08 100644
--- a/src/business/business-gnome/gtkbuilder/business-prefs.glade
+++ b/src/business/business-gnome/gtkbuilder/business-prefs.glade
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
+  <requires lib="gtk+" version="3.10"/>
   <object class="GtkAdjustment" id="cust_days_in_adj">
     <property name="lower">1</property>
     <property name="upper">180</property>
@@ -36,88 +36,37 @@
       </row>
     </data>
   </object>
-  <object class="GtkWindow" id="Preferences">
+  <object class="GtkWindow" id="preferences_window">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Preferences</property>
     <child>
-      <object class="GtkTable" id="business_prefs">
+      <object class="GtkGrid" id="business_prefs">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">6</property>
-        <property name="n_rows">15</property>
-        <property name="n_columns">4</property>
         <property name="column_spacing">12</property>
         <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
           <object class="GtkLabel" id="label53">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
           </object>
           <packing>
-            <property name="right_attach">4</property>
+            <property name="left_attach">0</property>
             <property name="top_attach">4</property>
-            <property name="bottom_attach">5</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"/>
           </packing>
         </child>
         <child>
           <object class="GtkLabel" id="label54">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
+            <property name="halign">start</property>
             <property name="label" translatable="yes"><b>Invoices</b></property>
             <property name="use_markup">True</property>
           </object>
           <packing>
-            <property name="right_attach">2</property>
+            <property name="left_attach">0</property>
             <property name="top_attach">5</property>
-            <property name="bottom_attach">6</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"/>
           </packing>
         </child>
         <child>
@@ -129,15 +78,14 @@
             <property name="has_tooltip">True</property>
             <property name="tooltip_markup">Whether tax is included by default in entries on Bills. This setting is inherited by new customers and vendors.</property>
             <property name="tooltip_text" translatable="yes">Whether tax is included by default in entries on Bills. This setting is inherited by new customers and vendors.</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="use_underline">True</property>
             <property name="draw_indicator">True</property>
           </object>
           <packing>
+            <property name="left_attach">0</property>
             <property name="top_attach">13</property>
-            <property name="bottom_attach">14</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"/>
-            <property name="x_padding">12</property>
           </packing>
         </child>
         <child>
@@ -148,40 +96,29 @@
             <property name="tooltip_markup">How many days in the future to warn about Bills coming due.</property>
             <property name="tooltip_text" translatable="yes">How many days in the future to warn about Bills coming due.</property>
             <property name="invisible_char">●</property>
-            <property name="invisible_char_set">True</property>
             <property name="primary_icon_activatable">False</property>
             <property name="secondary_icon_activatable">False</property>
-            <property name="primary_icon_sensitive">True</property>
-            <property name="secondary_icon_sensitive">True</property>
             <property name="adjustment">days_in_adj</property>
             <property name="climb_rate">1</property>
             <property name="numeric">True</property>
           </object>
           <packing>
-            <property name="left_attach">3</property>
-            <property name="right_attach">4</property>
+            <property name="left_attach">2</property>
             <property name="top_attach">12</property>
-            <property name="bottom_attach">13</property>
-            <property name="x_options"/>
-            <property name="y_options"/>
+            <property name="width">2</property>
           </packing>
         </child>
         <child>
           <object class="GtkLabel" id="label15">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
             <property name="label" translatable="yes">_Days in advance:</property>
             <property name="use_underline">True</property>
             <property name="mnemonic_widget">pref/dialogs.business.bill/days-in-advance</property>
           </object>
           <packing>
-            <property name="left_attach">2</property>
-            <property name="right_attach">3</property>
+            <property name="left_attach">1</property>
             <property name="top_attach">12</property>
-            <property name="bottom_attach">13</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"/>
           </packing>
         </child>
         <child>
@@ -193,52 +130,40 @@
             <property name="has_tooltip">True</property>
             <property name="tooltip_markup">Whether to display the list of Bills Due at startup.</property>
             <property name="tooltip_text" translatable="yes">Whether to display the list of Bills Due at startup.</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="use_underline">True</property>
             <property name="draw_indicator">True</property>
           </object>
           <packing>
-            <property name="right_attach">2</property>
+            <property name="left_attach">0</property>
             <property name="top_attach">12</property>
-            <property name="bottom_attach">13</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"/>
-            <property name="x_padding">12</property>
           </packing>
         </child>
         <child>
           <object class="GtkLabel" id="label51">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
+            <property name="halign">start</property>
             <property name="label" translatable="yes"><b>Bills</b></property>
             <property name="use_markup">True</property>
           </object>
           <packing>
-            <property name="right_attach">2</property>
+            <property name="left_attach">0</property>
             <property name="top_attach">11</property>
-            <property name="bottom_attach">12</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"/>
           </packing>
         </child>
         <child>
           <object class="GtkLabel" id="label50">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
           </object>
           <packing>
-            <property name="right_attach">4</property>
-            <property name="top_attach">10</property>
-            <property name="bottom_attach">11</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"/>
+            <property name="left_attach">0</property>
+            <property name="top_attach">9</property>
           </packing>
         </child>
         <child>
-          <placeholder/>
-        </child>
-        <child>
           <object class="GtkCheckButton" id="pref/dialogs.business.invoice/tax-included">
             <property name="label" translatable="yes">_Tax included</property>
             <property name="visible">True</property>
@@ -247,16 +172,14 @@
             <property name="has_tooltip">True</property>
             <property name="tooltip_markup">Whether tax is included by default in entries on Invoices. This setting is inherited by new customers and vendors.</property>
             <property name="tooltip_text" translatable="yes">Whether tax is included by default in entries on Invoices. This setting is inherited by new customers and vendors.</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="use_underline">True</property>
             <property name="draw_indicator">True</property>
           </object>
           <packing>
-            <property name="right_attach">2</property>
+            <property name="left_attach">0</property>
             <property name="top_attach">8</property>
-            <property name="bottom_attach">9</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"/>
-            <property name="x_padding">12</property>
           </packing>
         </child>
         <child>
@@ -268,16 +191,14 @@
             <property name="has_tooltip">True</property>
             <property name="tooltip_markup">Whether multiple entries in an invoice which transfer to the same account should be accumulated into a single split by default. This setting can be changed in the Post dialog.</property>
             <property name="tooltip_text" translatable="yes">Whether multiple entries in an invoice which transfer to the same account should be accumulated into a single split by default. This setting can be changed in the Post dialog.</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="use_underline">True</property>
             <property name="draw_indicator">True</property>
           </object>
           <packing>
-            <property name="right_attach">2</property>
+            <property name="left_attach">0</property>
             <property name="top_attach">3</property>
-            <property name="bottom_attach">4</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"/>
-            <property name="x_padding">12</property>
           </packing>
         </child>
         <child>
@@ -289,30 +210,27 @@
             <property name="has_tooltip">True</property>
             <property name="tooltip_markup">If checked, each invoice will be opened in its own top level window. If clear, the invoice will be opened in the current window.</property>
             <property name="tooltip_text" translatable="yes">If checked, each invoice will be opened in its own top level window. If clear, the invoice will be opened in the current window.</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="use_underline">True</property>
             <property name="draw_indicator">True</property>
           </object>
           <packing>
-            <property name="right_attach">2</property>
+            <property name="left_attach">0</property>
             <property name="top_attach">2</property>
-            <property name="bottom_attach">3</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"/>
-            <property name="x_padding">12</property>
           </packing>
         </child>
         <child>
           <object class="GtkLabel" id="label1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
-            <property name="yalign">0.47999998927116394</property>
+            <property name="halign">start</property>
             <property name="label" translatable="yes"><b>General</b></property>
             <property name="use_markup">True</property>
           </object>
           <packing>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"/>
+            <property name="left_attach">0</property>
+            <property name="top_attach">0</property>
           </packing>
         </child>
         <child>
@@ -324,16 +242,14 @@
             <property name="has_tooltip">True</property>
             <property name="tooltip_markup">If active, extra toolbar buttons for common business functions are shown as well. Otherwise they are not shown.</property>
             <property name="tooltip_text" translatable="yes">If active, extra toolbar buttons for common business functions are shown as well. Otherwise they are not shown.</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="use_underline">True</property>
             <property name="draw_indicator">True</property>
           </object>
           <packing>
-            <property name="right_attach">2</property>
+            <property name="left_attach">0</property>
             <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"/>
-            <property name="x_padding">12</property>
           </packing>
         </child>
         <child>
@@ -353,32 +269,21 @@
           </object>
           <packing>
             <property name="left_attach">1</property>
-            <property name="right_attach">3</property>
             <property name="top_attach">7</property>
-            <property name="bottom_attach">8</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"/>
+            <property name="width">3</property>
           </packing>
         </child>
         <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
           <object class="GtkLabel" id="label2">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
-            <property name="xpad">10</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="label" translatable="yes">Report for printing:</property>
           </object>
           <packing>
+            <property name="left_attach">0</property>
             <property name="top_attach">7</property>
-            <property name="bottom_attach">8</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"/>
           </packing>
         </child>
         <child>
@@ -388,15 +293,14 @@
             <property name="can_focus">True</property>
             <property name="receives_default">False</property>
             <property name="tooltip_text" translatable="yes">At post time, automatically attempt to pay customer documents with outstanding pre-payments and counter documents. The pre-payments and documents obviously have to be against the same customer. Counter documents are documents with opposite sign. For example for an invoice, customer credit notes and negative invoices are considered counter documents.</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="use_underline">True</property>
             <property name="draw_indicator">True</property>
           </object>
           <packing>
+            <property name="left_attach">0</property>
             <property name="top_attach">9</property>
-            <property name="bottom_attach">10</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"/>
-            <property name="x_padding">12</property>
           </packing>
         </child>
         <child>
@@ -406,108 +310,170 @@
             <property name="can_focus">True</property>
             <property name="receives_default">False</property>
             <property name="tooltip_text" translatable="yes">At post time, automatically attempt to pay vendor documents with outstanding pre-payments and counter documents. The pre-payments and documents obviously have to be against the same vendor. Counter documents are documents with opposite sign. For example for a bill, vendor credit notes and negative bills are considered counter documents.</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="use_underline">True</property>
             <property name="draw_indicator">True</property>
           </object>
           <packing>
+            <property name="left_attach">0</property>
             <property name="top_attach">14</property>
-            <property name="bottom_attach">15</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"/>
-            <property name="x_padding">12</property>
           </packing>
         </child>
         <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
           <object class="GtkCheckButton" id="pref/dialogs.business.invoice/notify-when-due">
             <property name="label" translatable="yes">Not_ify when due</property>
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="receives_default">False</property>
-            <property name="has_tooltip">True</property>
-            <property name="tooltip_markup">Whether to display the list of Invoices Due at startup.</property>
-            <property name="tooltip_text" translatable="yes">Whether to display the list of Invoices Due at startup.</property>
+            <property name="tooltip_markup" translatable="yes">Whether to display the list of Invoices Due at startup.</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
             <property name="use_underline">True</property>
             <property name="draw_indicator">True</property>
           </object>
           <packing>
+            <property name="left_attach">0</property>
             <property name="top_attach">6</property>
-            <property name="bottom_attach">7</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"/>
-            <property name="x_padding">12</property>
           </packing>
         </child>
         <child>
           <object class="GtkSpinButton" id="pref/dialogs.business.invoice/days-in-advance">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="has_tooltip">True</property>
-            <property name="tooltip_markup">How many days in the future to warn about Bills coming due.</property>
-            <property name="tooltip_text" translatable="yes">How many days in the future to warn about Bills coming due.</property>
-            <property name="invisible_char">●</property>
-            <property name="invisible_char_set">True</property>
-            <property name="primary_icon_activatable">False</property>
-            <property name="secondary_icon_activatable">False</property>
-            <property name="primary_icon_sensitive">True</property>
-            <property name="secondary_icon_sensitive">True</property>
+            <property name="tooltip_markup" translatable="yes">How many days in the future to warn about Bills coming due.</property>
             <property name="adjustment">cust_days_in_adj</property>
-            <property name="climb_rate">1</property>
-            <property name="numeric">True</property>
           </object>
           <packing>
-            <property name="left_attach">3</property>
-            <property name="right_attach">4</property>
+            <property name="left_attach">2</property>
             <property name="top_attach">6</property>
-            <property name="bottom_attach">7</property>
-            <property name="x_options"/>
-            <property name="y_options"/>
+            <property name="width">2</property>
           </packing>
         </child>
         <child>
           <object class="GtkLabel" id="label3">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
-            <property name="label" translatable="yes">Days in ad_vance:</property>
+            <property name="label" translatable="yes">_Days in advance:</property>
             <property name="use_underline">True</property>
-            <property name="mnemonic_widget">pref/dialogs.business.invoice/days-in-advance</property>
+            <property name="mnemonic_widget">pref/dialogs.business.bill/days-in-advance</property>
           </object>
           <packing>
-            <property name="left_attach">2</property>
-            <property name="right_attach">3</property>
+            <property name="left_attach">1</property>
             <property name="top_attach">6</property>
-            <property name="bottom_attach">7</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"/>
           </packing>
         </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
       </object>
     </child>
   </object>

commit d387be1d0a606f73633ed8d11eb150e4ba57034f
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 12:58:37 2017 +0100

    Change business-options-gnome.glade

diff --git a/src/business/business-gnome/gtkbuilder/business-options-gnome.glade b/src/business/business-gnome/gtkbuilder/business-options-gnome.glade
index 1d75808..d0a91b6 100644
--- a/src/business/business-gnome/gtkbuilder/business-options-gnome.glade
+++ b/src/business/business-gnome/gtkbuilder/business-options-gnome.glade
@@ -1,7 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <object class="GtkWindow" id="dummy_toplevel">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkListStore" id="taxtable_store">
+    <columns>
+      <!-- column-name taxtable_name -->
+      <column type="gchararray"/>
+      <!-- column-name taxtable_value -->
+      <column type="gpointer"/>
+    </columns>
+  </object>
+  <object class="GtkWindow" id="dummy_toplevel_window">
     <property name="can_focus">False</property>
     <child>
       <object class="GtkComboBox" id="taxtable_menu">
@@ -17,12 +26,4 @@
       </object>
     </child>
   </object>
-  <object class="GtkListStore" id="taxtable_store">
-    <columns>
-      <!-- column-name taxtable_name -->
-      <column type="gchararray"/>
-      <!-- column-name taxtable_value -->
-      <column type="gpointer"/>
-    </columns>
-  </object>
 </interface>

commit 72d676e2db2e78e1c9c7dbe9de5f6a9771d4a109
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 12:58:07 2017 +0100

    Files linked to dialog-vendor.glade

diff --git a/src/business/business-gnome/dialog-vendor.c b/src/business/business-gnome/dialog-vendor.c
index 6a2c2ab..66ec7d6 100644
--- a/src/business/business-gnome/dialog-vendor.c
+++ b/src/business/business-gnome/dialog-vendor.c
@@ -438,8 +438,8 @@ gnc_vendor_new_window (QofBook *bookp, GncVendor *vendor)
     gnc_builder_add_from_file (builder, "dialog-vendor.glade", "terms_store");
     gnc_builder_add_from_file (builder, "dialog-vendor.glade", "tax_included_store");
     gnc_builder_add_from_file (builder, "dialog-vendor.glade", "taxtable_store");
-    gnc_builder_add_from_file (builder, "dialog-vendor.glade", "Vendor Dialog");
-    vw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "Vendor Dialog"));
+    gnc_builder_add_from_file (builder, "dialog-vendor.glade", "vendor_dialog");
+    vw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "vendor_dialog"));
 
     /* Get entry points */
     vw->id_entry = GTK_WIDGET (gtk_builder_get_object (builder, "id_entry"));
diff --git a/src/business/business-gnome/gtkbuilder/dialog-vendor.glade b/src/business/business-gnome/gtkbuilder/dialog-vendor.glade
index a6323ee..40fcd1a 100644
--- a/src/business/business-gnome/gtkbuilder/dialog-vendor.glade
+++ b/src/business/business-gnome/gtkbuilder/dialog-vendor.glade
@@ -1,7 +1,32 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <!-- interface-requires gtk+ 2.10 -->
-  <object class="GtkDialog" id="Vendor Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkListStore" id="tax_included_store">
+    <columns>
+      <!-- column-name tax_included_name -->
+      <column type="gchararray"/>
+      <!-- column-name tax_included_value -->
+      <column type="gpointer"/>
+    </columns>
+  </object>
+  <object class="GtkListStore" id="taxtable_store">
+    <columns>
+      <!-- column-name taxtable_name -->
+      <column type="gchararray"/>
+      <!-- column-name taxtable_value -->
+      <column type="gpointer"/>
+    </columns>
+  </object>
+  <object class="GtkListStore" id="terms_store">
+    <columns>
+      <!-- column-name terms_name -->
+      <column type="gchararray"/>
+      <!-- column-name terms_value -->
+      <column type="gpointer"/>
+    </columns>
+  </object>
+  <object class="GtkDialog" id="vendor_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">New Vendor</property>
@@ -20,14 +45,13 @@
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="helpbutton">
-                <property name="label">gtk-help</property>
+                <property name="label" translatable="yes">_Help</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_vendor_window_help_cb" swapped="no"/>
               </object>
               <packing>
@@ -38,13 +62,12 @@
             </child>
             <child>
               <object class="GtkButton" id="cancelbutton">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_vendor_window_cancel_cb" swapped="no"/>
               </object>
               <packing>
@@ -55,14 +78,13 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_vendor_window_ok_cb" swapped="no"/>
               </object>
               <packing>
@@ -84,9 +106,10 @@
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <child>
-              <object class="GtkVBox" id="vbox2">
+              <object class="GtkBox" id="vbox2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <object class="GtkFrame" id="frame1">
                     <property name="visible">True</property>
@@ -94,20 +117,25 @@
                     <property name="border_width">3</property>
                     <property name="label_xalign">0</property>
                     <child>
-                      <object class="GtkHBox" id="hbox2">
+                      <object class="GtkBox" id="hbox2">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="margin_left">5</property>
+                        <property name="margin_right">5</property>
+                        <property name="margin_top">5</property>
+                        <property name="margin_bottom">5</property>
                         <property name="border_width">2</property>
                         <child>
-                          <object class="GtkVBox" id="vbox11">
+                          <object class="GtkBox" id="vbox11">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="orientation">vertical</property>
                             <property name="homogeneous">True</property>
                             <child>
                               <object class="GtkLabel" id="label1">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Vendor Number: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -121,7 +149,7 @@
                               <object class="GtkLabel" id="label19">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Company Name: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -137,7 +165,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
+                                <property name="halign">start</property>
                                 <property name="use_underline">True</property>
                                 <property name="active">True</property>
                                 <property name="draw_indicator">True</property>
@@ -156,9 +184,10 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkVBox" id="vbox12">
+                          <object class="GtkBox" id="vbox12">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="orientation">vertical</property>
                             <property name="homogeneous">True</property>
                             <child>
                               <object class="GtkEntry" id="id_entry">
@@ -230,20 +259,25 @@
                     <property name="border_width">3</property>
                     <property name="label_xalign">0</property>
                     <child>
-                      <object class="GtkHBox" id="hbox3">
+                      <object class="GtkBox" id="hbox3">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="margin_left">5</property>
+                        <property name="margin_right">5</property>
+                        <property name="margin_top">5</property>
+                        <property name="margin_bottom">5</property>
                         <child>
-                          <object class="GtkVBox" id="vbox5">
+                          <object class="GtkBox" id="vbox5">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="border_width">3</property>
+                            <property name="orientation">vertical</property>
                             <property name="homogeneous">True</property>
                             <child>
                               <object class="GtkLabel" id="label3">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Name: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -257,7 +291,7 @@
                               <object class="GtkLabel" id="label4">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Address: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -307,7 +341,7 @@
                               <object class="GtkLabel" id="label5">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Phone: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -321,7 +355,7 @@
                               <object class="GtkLabel" id="label6">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Fax: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -335,7 +369,7 @@
                               <object class="GtkLabel" id="label7">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Email: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -354,10 +388,11 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkVBox" id="vbox6">
+                          <object class="GtkBox" id="vbox6">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="border_width">3</property>
+                            <property name="orientation">vertical</property>
                             <property name="homogeneous">True</property>
                             <child>
                               <object class="GtkEntry" id="name_entry">
@@ -488,6 +523,12 @@
                       <object class="GtkScrolledWindow" id="scrolledwindow1">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="margin_left">5</property>
+                        <property name="margin_right">5</property>
+                        <property name="margin_top">5</property>
+                        <property name="margin_bottom">5</property>
+                        <property name="hexpand">True</property>
+                        <property name="vexpand">True</property>
                         <property name="border_width">3</property>
                         <property name="hscrollbar_policy">never</property>
                         <property name="shadow_type">in</property>
@@ -528,9 +569,10 @@
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="vbox13">
+              <object class="GtkBox" id="vbox13">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <object class="GtkFrame" id="frame3">
                     <property name="visible">True</property>
@@ -538,19 +580,24 @@
                     <property name="border_width">3</property>
                     <property name="label_xalign">0</property>
                     <child>
-                      <object class="GtkHBox" id="hbox6">
+                      <object class="GtkBox" id="hbox6">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="margin_left">5</property>
+                        <property name="margin_right">5</property>
+                        <property name="margin_top">5</property>
+                        <property name="margin_bottom">5</property>
                         <child>
-                          <object class="GtkVBox" id="vbox7">
+                          <object class="GtkBox" id="vbox7">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="orientation">vertical</property>
                             <property name="homogeneous">True</property>
                             <child>
                               <object class="GtkLabel" id="label36">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Currency: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -564,7 +611,7 @@
                               <object class="GtkLabel" id="label8">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Terms: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -578,7 +625,7 @@
                               <object class="GtkLabel" id="label34">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Tax Included:</property>
                                 <property name="justify">right</property>
                               </object>
@@ -592,7 +639,7 @@
                               <object class="GtkLabel" id="label35">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Tax Table:</property>
                                 <property name="justify">right</property>
                               </object>
@@ -610,13 +657,14 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkVBox" id="vbox1">
+                          <object class="GtkBox" id="vbox1">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="border_width">3</property>
+                            <property name="orientation">vertical</property>
                             <property name="homogeneous">True</property>
                             <child>
-                              <object class="GtkHBox" id="currency_box">
+                              <object class="GtkBox" id="currency_box">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
@@ -668,7 +716,7 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="hbox7">
+                              <object class="GtkBox" id="hbox7">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
@@ -677,7 +725,8 @@
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
                                     <property name="tooltip_text" translatable="yes">Override the global Tax Table?</property>
-                                    <property name="use_action_appearance">False</property>
+                                    <property name="halign">start</property>
+                                    <property name="margin_right">5</property>
                                     <property name="use_underline">True</property>
                                     <property name="draw_indicator">True</property>
                                     <signal name="toggled" handler="gnc_vendor_taxtable_check_cb" swapped="no"/>
@@ -772,28 +821,4 @@
       <action-widget response="-5">okbutton</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkListStore" id="tax_included_store">
-    <columns>
-      <!-- column-name tax_included_name -->
-      <column type="gchararray"/>
-      <!-- column-name tax_included_value -->
-      <column type="gpointer"/>
-    </columns>
-  </object>
-  <object class="GtkListStore" id="taxtable_store">
-    <columns>
-      <!-- column-name taxtable_name -->
-      <column type="gchararray"/>
-      <!-- column-name taxtable_value -->
-      <column type="gpointer"/>
-    </columns>
-  </object>
-  <object class="GtkListStore" id="terms_store">
-    <columns>
-      <!-- column-name terms_name -->
-      <column type="gchararray"/>
-      <!-- column-name terms_value -->
-      <column type="gpointer"/>
-    </columns>
-  </object>
 </interface>

commit 1444b8c1b523134a1fbd4db0eb1dcceb928430cd
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 12:57:42 2017 +0100

    Files linked to dialog-payment.glade

diff --git a/src/business/business-gnome/dialog-payment.c b/src/business/business-gnome/dialog-payment.c
index 447c84d..c1f54a7 100644
--- a/src/business/business-gnome/dialog-payment.c
+++ b/src/business/business-gnome/dialog-payment.c
@@ -927,8 +927,8 @@ new_payment_window (GncOwner *owner, QofBook *book, GncInvoice *invoice)
     gnc_builder_add_from_file (builder, "dialog-payment.glade", "docs_list_vert_adj");
     gnc_builder_add_from_file (builder, "dialog-payment.glade", "docs_list_model");
     gnc_builder_add_from_file (builder, "dialog-payment.glade", "post_combo_model");
-    gnc_builder_add_from_file (builder, "dialog-payment.glade", "Payment Dialog");
-    pw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "Payment Dialog"));
+    gnc_builder_add_from_file (builder, "dialog-payment.glade", "payment_dialog");
+    pw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "payment_dialog"));
 
     /* Grab the widgets and build the dialog */
     pw->payment_warning = GTK_WIDGET (gtk_builder_get_object (builder, "payment_warning"));
diff --git a/src/business/business-gnome/gtkbuilder/dialog-payment.glade b/src/business/business-gnome/gtkbuilder/dialog-payment.glade
index 83ae08c..196683b 100644
--- a/src/business/business-gnome/gtkbuilder/dialog-payment.glade
+++ b/src/business/business-gnome/gtkbuilder/dialog-payment.glade
@@ -1,8 +1,40 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.24"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkDialog" id="Payment Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkAdjustment" id="docs_list_hor_adj">
+    <property name="upper">100</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkListStore" id="docs_list_model">
+    <columns>
+      <!-- column-name doc_date -->
+      <column type="gint64"/>
+      <!-- column-name doc_id -->
+      <column type="gchararray"/>
+      <!-- column-name doc_type -->
+      <column type="gchararray"/>
+      <!-- column-name doc_deb -->
+      <column type="gchararray"/>
+      <!-- column-name doc_cred -->
+      <column type="gchararray"/>
+      <!-- column-name doc_lot -->
+      <column type="gpointer"/>
+    </columns>
+  </object>
+  <object class="GtkAdjustment" id="docs_list_vert_adj">
+    <property name="upper">100</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkListStore" id="post_combo_model">
+    <columns>
+      <!-- column-name gchararray -->
+      <column type="gchararray"/>
+    </columns>
+  </object>
+  <object class="GtkDialog" id="payment_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Process Payment</property>
@@ -10,19 +42,75 @@
     <property name="type_hint">dialog</property>
     <signal name="destroy" handler="gnc_payment_window_destroy_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox1">
+      <object class="GtkBox" id="dialog-vbox1">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">8</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="cancelbutton">
+                <property name="label" translatable="yes">_Cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+                <signal name="clicked" handler="gnc_payment_cancel_cb" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="okbutton">
+                <property name="label" translatable="yes">_OK</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+                <signal name="clicked" handler="gnc_payment_ok_cb" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkImage" id="payment_warning">
+                <property name="can_focus">False</property>
+                <property name="stock">gtk-dialog-warning</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+                <property name="secondary">True</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
         <child>
-          <object class="GtkTable" id="table1">
+          <object class="GtkGrid" id="table1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="border_width">3</property>
-            <property name="n_rows">3</property>
-            <property name="n_columns">2</property>
-            <property name="column_spacing">3</property>
             <property name="row_spacing">3</property>
+            <property name="column_spacing">3</property>
             <child>
               <object class="GtkFrame" id="frame1">
                 <property name="visible">True</property>
@@ -34,7 +122,7 @@
                     <property name="can_focus">False</property>
                     <property name="left_padding">12</property>
                     <child>
-                      <object class="GtkHBox" id="owner_box">
+                      <object class="GtkBox" id="owner_box">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="has_tooltip">True</property>
@@ -63,7 +151,8 @@
                 </child>
               </object>
               <packing>
-                <property name="y_options">GTK_FILL</property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
@@ -108,8 +197,7 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="y_options">GTK_FILL</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
@@ -126,9 +214,13 @@
                       <object class="GtkScrolledWindow" id="scrolledwindow1">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
+                        <property name="hexpand">True</property>
+                        <property name="vexpand">True</property>
                         <property name="border_width">3</property>
                         <property name="hadjustment">docs_list_hor_adj</property>
                         <property name="vadjustment">docs_list_vert_adj</property>
+                        <property name="hscrollbar_policy">always</property>
+                        <property name="vscrollbar_policy">always</property>
                         <property name="shadow_type">in</property>
                         <child>
                           <object class="GtkTreeView" id="docs_list_tree_view">
@@ -238,15 +330,27 @@
                 </child>
               </object>
               <packing>
-                <property name="right_attach">2</property>
+                <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
+                <property name="width">2</property>
               </packing>
             </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkGrid">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
             <child>
               <object class="GtkFrame" id="frame3">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="halign">start</property>
                 <property name="label_xalign">0</property>
                 <child>
                   <object class="GtkAlignment" id="alignment3">
@@ -254,33 +358,32 @@
                     <property name="can_focus">False</property>
                     <property name="left_padding">12</property>
                     <child>
-                      <object class="GtkVBox" id="box5">
+                      <object class="GtkBox" id="box5">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="border_width">3</property>
+                        <property name="orientation">vertical</property>
                         <child>
-                          <object class="GtkTable" id="table2">
+                          <object class="GtkGrid" id="table2">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="n_rows">9</property>
-                            <property name="n_columns">2</property>
-                            <property name="column_spacing">3</property>
                             <property name="row_spacing">3</property>
+                            <property name="column_spacing">5</property>
                             <child>
                               <object class="GtkLabel" id="date_label">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Date</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="date_box">
+                              <object class="GtkBox" id="date_box">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
@@ -289,7 +392,7 @@
                               </object>
                               <packing>
                                 <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
+                                <property name="top_attach">0</property>
                               </packing>
                             </child>
                             <child>
@@ -307,16 +410,14 @@ In case of an over-payment or if no invoice was selected, GnuCash will automatic
 If you have selected an invoice, GnuCash will propose the amount still due for it. You can change this amount to create a partial payment or an over-payment.
 
 In case of an over-payment or if no invoice was selected, GnuCash will automatically assign the remaining amount to the first unpaid invoice for this company.</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes"><b>Amount</b></property>
                                 <property name="use_markup">True</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
@@ -334,15 +435,13 @@ In case of an over-payment or if no invoice was selected, GnuCash will automatic
 If you have selected an invoice, GnuCash will propose the amount still due for it. You can change this amount to create a partial payment or an over-payment.
 
 In case of an over-payment or if no invoice was selected, GnuCash will automatically assign the remaining amount to the first unpaid invoice for this company.</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Payment</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">3</property>
-                                <property name="bottom_attach">4</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
@@ -360,49 +459,43 @@ In case of an over-payment or if no invoice was selected, GnuCash will automatic
 If you have selected an invoice, GnuCash will propose the amount still due for it. You can change this amount to create a partial payment or an over-payment.
 
 In case of an over-payment or if no invoice was selected, GnuCash will automatically assign the remaining amount to the first unpaid invoice for this company.</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Refund</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">4</property>
-                                <property name="bottom_attach">5</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
                               <object class="GtkLabel" id="num_label">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Num</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">6</property>
-                                <property name="bottom_attach">7</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
                               <object class="GtkLabel" id="memo_label">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Memo</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">7</property>
-                                <property name="bottom_attach">8</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="amount_payment_box">
+                              <object class="GtkBox" id="amount_payment_box">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="has_tooltip">True</property>
@@ -422,13 +515,11 @@ In case of an over-payment or if no invoice was selected, GnuCash will automatic
                               </object>
                               <packing>
                                 <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
                                 <property name="top_attach">3</property>
-                                <property name="bottom_attach">4</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="amount_refund_box">
+                              <object class="GtkBox" id="amount_refund_box">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="has_tooltip">True</property>
@@ -448,9 +539,7 @@ In case of an over-payment or if no invoice was selected, GnuCash will automatic
                               </object>
                               <packing>
                                 <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
                                 <property name="top_attach">4</property>
-                                <property name="bottom_attach">5</property>
                               </packing>
                             </child>
                             <child>
@@ -458,13 +547,10 @@ In case of an over-payment or if no invoice was selected, GnuCash will automatic
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="invisible_char">●</property>
-                                <property name="invisible_char_set">True</property>
                               </object>
                               <packing>
                                 <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
                                 <property name="top_attach">6</property>
-                                <property name="bottom_attach">7</property>
                               </packing>
                             </child>
                             <child>
@@ -472,17 +558,14 @@ In case of an over-payment or if no invoice was selected, GnuCash will automatic
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="invisible_char">●</property>
-                                <property name="invisible_char_set">True</property>
                               </object>
                               <packing>
                                 <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
                                 <property name="top_attach">7</property>
-                                <property name="bottom_attach">8</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="amount_top_filler">
+                              <object class="GtkBox" id="amount_top_filler">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="has_tooltip">True</property>
@@ -501,15 +584,12 @@ In case of an over-payment or if no invoice was selected, GnuCash will automatic
                                 </child>
                               </object>
                               <packing>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="x_options"/>
-                                <property name="y_options"/>
-                                <property name="y_padding">3</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="amount_bot_filler">
+                              <object class="GtkBox" id="amount_bot_filler">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="has_tooltip">True</property>
@@ -528,44 +608,44 @@ In case of an over-payment or if no invoice was selected, GnuCash will automatic
                                 </child>
                               </object>
                               <packing>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">5</property>
-                                <property name="bottom_attach">6</property>
-                                <property name="x_options"/>
-                                <property name="y_options"/>
-                                <property name="y_padding">3</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkCheckButton" id="print_check">
+                                <property name="label" translatable="yes">Print Check</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="halign">start</property>
+                                <property name="draw_indicator">True</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">8</property>
                               </packing>
                             </child>
                             <child>
                               <object class="GtkLabel" id="commodity_label">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="no">(USD)</property>
+                                <property name="halign">start</property>
+                                <property name="label" translatable="yes">(USD)</property>
                               </object>
                               <packing>
                                 <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
                                 <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
                               </packing>
                             </child>
                             <child>
                               <placeholder/>
                             </child>
                             <child>
-                              <object class="GtkCheckButton" id="print_check">
-                                <property name="label" translatable="yes">Print Check</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="draw_indicator">True</property>
-                              </object>
-                              <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="top_attach">8</property>
-                                <property name="bottom_attach">9</property>
-                              </packing>
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
                             </child>
                           </object>
                           <packing>
@@ -590,15 +670,15 @@ In case of an over-payment or if no invoice was selected, GnuCash will automatic
                 </child>
               </object>
               <packing>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="y_options">GTK_FILL</property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
               <object class="GtkFrame" id="frame2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
                 <property name="label_xalign">0</property>
                 <child>
                   <object class="GtkAlignment" id="alignment1">
@@ -612,6 +692,8 @@ In case of an over-payment or if no invoice was selected, GnuCash will automatic
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="border_width">3</property>
+                        <property name="hscrollbar_policy">always</property>
+                        <property name="vscrollbar_policy">always</property>
                         <child>
                           <placeholder/>
                         </child>
@@ -632,74 +714,14 @@ In case of an over-payment or if no invoice was selected, GnuCash will automatic
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="y_options">GTK_FILL</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="cancelbutton">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="gnc_payment_cancel_cb" swapped="no"/>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="okbutton">
-                <property name="label">gtk-ok</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="gnc_payment_ok_cb" swapped="no"/>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkImage" id="payment_warning">
-                <property name="can_focus">False</property>
-                <property name="stock">gtk-dialog-warning</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">2</property>
-                <property name="secondary">True</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
           </object>
           <packing>
             <property name="expand">False</property>
             <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
+            <property name="position">2</property>
           </packing>
         </child>
       </object>
@@ -709,36 +731,4 @@ In case of an over-payment or if no invoice was selected, GnuCash will automatic
       <action-widget response="-5">okbutton</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkAdjustment" id="docs_list_hor_adj">
-    <property name="upper">100</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkListStore" id="docs_list_model">
-    <columns>
-      <!-- column-name doc_date -->
-      <column type="gint64"/>
-      <!-- column-name doc_id -->
-      <column type="gchararray"/>
-      <!-- column-name doc_type -->
-      <column type="gchararray"/>
-      <!-- column-name doc_deb -->
-      <column type="gchararray"/>
-      <!-- column-name doc_cred -->
-      <column type="gchararray"/>
-      <!-- column-name doc_lot -->
-      <column type="gpointer"/>
-    </columns>
-  </object>
-  <object class="GtkAdjustment" id="docs_list_vert_adj">
-    <property name="upper">100</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkListStore" id="post_combo_model">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-  </object>
 </interface>

commit 32800e95efa067a5453d177065cd72e9fce26274
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 12:57:21 2017 +0100

    Files linked to dialog-order.glade

diff --git a/src/business/business-gnome/dialog-order.c b/src/business/business-gnome/dialog-order.c
index 2ab44d5..6e48712 100644
--- a/src/business/business-gnome/dialog-order.c
+++ b/src/business/business-gnome/dialog-order.c
@@ -589,8 +589,8 @@ gnc_order_new_window (QofBook *bookp, OrderDialogType type,
 
     /* Find the dialog */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-order.glade", "Order Entry Dialog");
-    ow->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Order Entry Dialog"));
+    gnc_builder_add_from_file (builder, "dialog-order.glade", "order_entry_dialog");
+    ow->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "order_entry_dialog"));
 
     /* Grab the widgets */
     ow->id_entry = GTK_WIDGET(gtk_builder_get_object (builder, "id_entry"));
@@ -700,9 +700,9 @@ gnc_order_window_new_order (QofBook *bookp, GncOwner *owner)
 
     /* Find the dialog */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-order.glade", "New Order Dialog");
+    gnc_builder_add_from_file (builder, "dialog-order.glade", "new_order_dialog");
 
-    ow->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "New Order Dialog"));
+    ow->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "new_order_dialog"));
 
     g_object_set_data (G_OBJECT (ow->dialog), "dialog_info", ow);
 
diff --git a/src/business/business-gnome/gtkbuilder/dialog-order.glade b/src/business/business-gnome/gtkbuilder/dialog-order.glade
index b872b99..5f64135 100644
--- a/src/business/business-gnome/gtkbuilder/dialog-order.glade
+++ b/src/business/business-gnome/gtkbuilder/dialog-order.glade
@@ -1,32 +1,34 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkDialog" id="New Order Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkTextBuffer" id="notes_buffer"/>
+  <object class="GtkDialog" id="order_entry_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
-    <property name="title" translatable="yes">New Order</property>
+    <property name="title" translatable="yes">Order Entry</property>
+    <property name="default_width">950</property>
     <property name="type_hint">dialog</property>
     <signal name="destroy" handler="gnc_order_window_destroy_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox6">
+      <object class="GtkBox" id="dialog-vbox4">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">8</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area6">
+          <object class="GtkButtonBox" id="dialog-action_area4">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
-              <object class="GtkButton" id="help_button">
-                <property name="label">gtk-help</property>
+              <object class="GtkButton" id="helpbutton">
+                <property name="label" translatable="yes">_Help</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_order_window_help_cb" swapped="no"/>
               </object>
               <packing>
@@ -36,15 +38,14 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="cancel_button">
-                <property name="label">gtk-cancel</property>
+              <object class="GtkButton" id="closebutton">
+                <property name="label" translatable="yes">_Close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="gnc_order_window_cancel_cb" swapped="no"/>
+                <property name="use_underline">True</property>
+                <signal name="clicked" handler="gnc_order_window_ok_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -53,16 +54,14 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="ok_button">
-                <property name="label">gtk-ok</property>
+              <object class="GtkButton" id="new_invoice_button">
+                <property name="label" translatable="yes">_Invoices</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
-                <property name="has_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="gnc_order_window_ok_cb" swapped="no"/>
+                <property name="use_underline">True</property>
+                <signal name="clicked" handler="gnc_order_window_invoice_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -70,6 +69,22 @@
                 <property name="position">2</property>
               </packing>
             </child>
+            <child>
+              <object class="GtkButton" id="close_order_button">
+                <property name="label" translatable="yes">Close _Order</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+                <signal name="clicked" handler="gnc_order_window_close_order_cb" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">3</property>
+              </packing>
+            </child>
           </object>
           <packing>
             <property name="expand">False</property>
@@ -79,46 +94,159 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox10">
+          <object class="GtkBox" id="vbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
-              <object class="GtkFrame" id="frame4">
+              <object class="GtkBox" id="hbox1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="border_width">3</property>
-                <property name="label_xalign">0</property>
                 <child>
-                  <object class="GtkHBox" id="hbox4">
+                  <object class="GtkFrame" id="frame1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="label_xalign">0</property>
                     <child>
-                      <object class="GtkVBox" id="vbox12">
+                      <object class="GtkBox" id="hbox2">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="border_width">3</property>
-                        <property name="homogeneous">True</property>
                         <child>
-                          <object class="GtkLabel" id="label4">
+                          <object class="GtkBox" id="vbox2">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
-                            <property name="label" translatable="yes">Order ID</property>
-                            <property name="justify">right</property>
+                            <property name="border_width">2</property>
+                            <property name="orientation">vertical</property>
+                            <property name="homogeneous">True</property>
+                            <child>
+                              <object class="GtkLabel" id="label1">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">end</property>
+                                <property name="label" translatable="yes">Order ID</property>
+                                <property name="justify">right</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="label3">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">end</property>
+                                <property name="label" translatable="yes">Date Opened</property>
+                                <property name="justify">right</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="cd_label">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">end</property>
+                                <property name="label" translatable="yes">Date Closed</property>
+                                <property name="justify">right</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="label8">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="justify">center</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">3</property>
+                              </packing>
+                            </child>
                           </object>
                           <packing>
                             <property name="expand">False</property>
-                            <property name="fill">False</property>
+                            <property name="fill">True</property>
                             <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkLabel" id="label5">
+                          <object class="GtkBox" id="vbox3">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
-                            <property name="label" translatable="yes">Date Opened</property>
-                            <property name="justify">right</property>
+                            <property name="border_width">3</property>
+                            <property name="orientation">vertical</property>
+                            <property name="homogeneous">True</property>
+                            <child>
+                              <object class="GtkEntry" id="id_entry">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="editable">False</property>
+                                <property name="invisible_char">●</property>
+                                <property name="activates_default">True</property>
+                                <property name="primary_icon_activatable">False</property>
+                                <property name="secondary_icon_activatable">False</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkBox" id="opened_date_hbox">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkBox" id="closed_date_hbox">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkCheckButton" id="active_check">
+                                <property name="label" translatable="yes">Active</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="halign">start</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">3</property>
+                              </packing>
+                            </child>
                           </object>
                           <packing>
                             <property name="expand">False</property>
@@ -127,138 +255,89 @@
                           </packing>
                         </child>
                       </object>
-                      <packing>
-                        <property name="expand">True</property>
-                        <property name="fill">True</property>
-                        <property name="position">0</property>
-                      </packing>
                     </child>
-                    <child>
-                      <object class="GtkVBox" id="vbox13">
+                    <child type="label">
+                      <object class="GtkLabel" id="label2">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="border_width">3</property>
-                        <property name="homogeneous">True</property>
-                        <child>
-                          <object class="GtkEntry" id="entry_id">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="has_tooltip">True</property>
-                            <property name="tooltip_markup">The order ID number. If left blank a reasonable number will be chosen for you</property>
-                            <property name="tooltip_text" translatable="yes">The order ID number. If left blank a reasonable number will be chosen for you</property>
-                            <property name="invisible_char">&#x25CF;</property>
-                            <property name="activates_default">True</property>
-                            <property name="invisible_char_set">True</property>
-                            <property name="primary_icon_activatable">False</property>
-                            <property name="secondary_icon_activatable">False</property>
-                            <property name="primary_icon_sensitive">True</property>
-                            <property name="secondary_icon_sensitive">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkHBox" id="date_opened_hbox">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <child>
-                              <placeholder/>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">True</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
+                        <property name="label" translatable="yes">Order Information</property>
                       </object>
-                      <packing>
-                        <property name="expand">True</property>
-                        <property name="fill">True</property>
-                        <property name="position">1</property>
-                      </packing>
                     </child>
                   </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
                 </child>
-                <child type="label">
-                  <object class="GtkLabel" id="label15">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Order Information</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkFrame" id="frame5">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="border_width">3</property>
-                <property name="label_xalign">0</property>
                 <child>
-                  <object class="GtkHBox" id="hbox5">
+                  <object class="GtkFrame" id="frame3">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="border_width">3</property>
+                    <property name="label_xalign">0</property>
                     <child>
-                      <object class="GtkVBox" id="vbox14">
+                      <object class="GtkBox" id="hbox3">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="border_width">3</property>
-                        <property name="homogeneous">True</property>
-                        <child>
-                          <object class="GtkLabel" id="bill_owner_label">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
-                            <property name="label" translatable="yes">(owner)</property>
-                            <property name="justify">right</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
                         <child>
-                          <object class="GtkLabel" id="label16">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
-                            <property name="label" translatable="yes">Reference</property>
-                            <property name="justify">right</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="expand">True</property>
-                        <property name="fill">True</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkVBox" id="vbox15">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="border_width">3</property>
-                        <child>
-                          <object class="GtkHBox" id="bill_owner_hbox">
+                          <object class="GtkBox" id="vbox8">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="border_width">3</property>
+                            <property name="orientation">vertical</property>
+                            <property name="homogeneous">True</property>
                             <child>
-                              <placeholder/>
+                              <object class="GtkLabel" id="owner_label">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">end</property>
+                                <property name="label">(owner)</property>
+                                <property name="justify">right</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="label7">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">end</property>
+                                <property name="label" translatable="yes">Reference</property>
+                                <property name="justify">center</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="hide1">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="justify">center</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="label11">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="justify">center</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">3</property>
+                              </packing>
                             </child>
                           </object>
                           <packing>
@@ -268,125 +347,209 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkEntry" id="entry_ref">
+                          <object class="GtkBox" id="vbox9">
                             <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="editable">False</property>
-                            <property name="invisible_char">&#x25CF;</property>
-                            <property name="invisible_char_set">True</property>
-                            <property name="primary_icon_activatable">False</property>
-                            <property name="secondary_icon_activatable">False</property>
-                            <property name="primary_icon_sensitive">True</property>
-                            <property name="secondary_icon_sensitive">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="border_width">3</property>
+                            <property name="orientation">vertical</property>
+                            <property name="homogeneous">True</property>
+                            <child>
+                              <object class="GtkBox" id="owner_hbox">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkEntry" id="ref_entry">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="invisible_char">●</property>
+                                <property name="primary_icon_activatable">False</property>
+                                <property name="secondary_icon_activatable">False</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="hide2">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="justify">center</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="label12">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="justify">center</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">3</property>
+                              </packing>
+                            </child>
                           </object>
                           <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
+                            <property name="expand">True</property>
+                            <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
                       </object>
-                      <packing>
-                        <property name="expand">True</property>
-                        <property name="fill">True</property>
-                        <property name="position">1</property>
-                      </packing>
+                    </child>
+                    <child type="label">
+                      <object class="GtkLabel" id="label9">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Billing Information</property>
+                      </object>
                     </child>
                   </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
                 </child>
-                <child type="label">
-                  <object class="GtkLabel" id="label6">
+                <child>
+                  <object class="GtkFrame" id="frame2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Billing Information</property>
+                    <property name="border_width">3</property>
+                    <property name="label_xalign">0</property>
+                    <child>
+                      <object class="GtkScrolledWindow" id="scrolledwindow1">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="hexpand">True</property>
+                        <property name="vexpand">True</property>
+                        <property name="hscrollbar_policy">never</property>
+                        <property name="shadow_type">in</property>
+                        <child>
+                          <object class="GtkTextView" id="notes_text">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="wrap_mode">word</property>
+                            <property name="buffer">notes_buffer</property>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                    <child type="label">
+                      <object class="GtkLabel" id="label13">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Notes</property>
+                      </object>
+                    </child>
                   </object>
+                  <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
+                    <property name="position">2</property>
+                  </packing>
                 </child>
               </object>
               <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="padding">3</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
-              <object class="GtkFrame" id="frame6">
+              <object class="GtkFrame" id="ledger_frame">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="border_width">3</property>
                 <property name="label_xalign">0</property>
                 <child>
-                  <object class="GtkScrolledWindow" id="scrolledwindow2">
+                  <object class="GtkBox" id="ledger_vbox">
                     <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="border_width">3</property>
-                    <property name="hscrollbar_policy">never</property>
-                    <property name="shadow_type">in</property>
+                    <property name="can_focus">False</property>
+                    <property name="border_width">2</property>
+                    <property name="orientation">vertical</property>
                     <child>
-                      <object class="GtkTextView" id="text_notes">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="editable">False</property>
-                        <property name="wrap_mode">word</property>
-                        <property name="buffer">text_buffer</property>
-                      </object>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
                     </child>
                   </object>
                 </child>
                 <child type="label">
-                  <object class="GtkLabel" id="label17">
+                  <object class="GtkLabel" id="label14">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Notes</property>
+                    <property name="label" translatable="yes">Order Entries</property>
                   </object>
                 </child>
               </object>
               <packing>
                 <property name="expand">True</property>
                 <property name="fill">True</property>
-                <property name="position">2</property>
+                <property name="padding">3</property>
+                <property name="position">1</property>
               </packing>
             </child>
           </object>
           <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
             <property name="position">2</property>
           </packing>
         </child>
       </object>
     </child>
     <action-widgets>
-      <action-widget response="-11">help_button</action-widget>
-      <action-widget response="-6">cancel_button</action-widget>
-      <action-widget response="-5">ok_button</action-widget>
+      <action-widget response="-11">helpbutton</action-widget>
+      <action-widget response="0">closebutton</action-widget>
+      <action-widget response="0">new_invoice_button</action-widget>
+      <action-widget response="0">close_order_button</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkDialog" id="Order Entry Dialog">
+  <object class="GtkTextBuffer" id="text_buffer"/>
+  <object class="GtkDialog" id="new_order_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
-    <property name="title" translatable="yes">Order Entry</property>
-    <property name="default_width">950</property>
+    <property name="title" translatable="yes">New Order</property>
     <property name="type_hint">dialog</property>
     <signal name="destroy" handler="gnc_order_window_destroy_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox4">
+      <object class="GtkBox" id="dialog-vbox6">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">8</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area4">
+          <object class="GtkButtonBox" id="dialog-action_area6">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
-              <object class="GtkButton" id="helpbutton">
-                <property name="label">gtk-help</property>
+              <object class="GtkButton" id="help_button">
+                <property name="label" translatable="yes">_Help</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_order_window_help_cb" swapped="no"/>
               </object>
               <packing>
@@ -396,15 +559,14 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="closebutton">
-                <property name="label">gtk-close</property>
+              <object class="GtkButton" id="cancel_button">
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="gnc_order_window_ok_cb" swapped="no"/>
+                <property name="use_underline">True</property>
+                <signal name="clicked" handler="gnc_order_window_cancel_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -413,15 +575,15 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="new_invoice_button">
-                <property name="label" translatable="yes">Invoices</property>
+              <object class="GtkButton" id="ok_button">
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
+                <property name="has_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
-                <signal name="clicked" handler="gnc_order_window_invoice_cb" swapped="no"/>
+                <signal name="clicked" handler="gnc_order_window_ok_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -429,185 +591,57 @@
                 <property name="position">2</property>
               </packing>
             </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkBox" id="vbox10">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
-              <object class="GtkButton" id="close_order_button">
-                <property name="label" translatable="yes">Close Order</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_underline">True</property>
-                <signal name="clicked" handler="gnc_order_window_close_order_cb" swapped="no"/>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">3</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkVBox" id="vbox1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <child>
-              <object class="GtkHBox" id="hbox1">
+              <object class="GtkFrame" id="frame4">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="border_width">3</property>
+                <property name="label_xalign">0</property>
                 <child>
-                  <object class="GtkFrame" id="frame1">
+                  <object class="GtkBox" id="hbox4">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label_xalign">0</property>
                     <child>
-                      <object class="GtkHBox" id="hbox2">
+                      <object class="GtkBox" id="vbox12">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="border_width">3</property>
+                        <property name="orientation">vertical</property>
+                        <property name="homogeneous">True</property>
                         <child>
-                          <object class="GtkVBox" id="vbox2">
+                          <object class="GtkLabel" id="label4">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="border_width">2</property>
-                            <property name="homogeneous">True</property>
-                            <child>
-                              <object class="GtkLabel" id="label1">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
-                                <property name="label" translatable="yes">Order ID</property>
-                                <property name="justify">right</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label3">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
-                                <property name="label" translatable="yes">Date Opened</property>
-                                <property name="justify">right</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="cd_label">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
-                                <property name="label" translatable="yes">Date Closed</property>
-                                <property name="justify">right</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">2</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label8">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="justify">center</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">3</property>
-                              </packing>
-                            </child>
+                            <property name="halign">end</property>
+                            <property name="label" translatable="yes">Order ID</property>
+                            <property name="justify">right</property>
                           </object>
                           <packing>
                             <property name="expand">False</property>
-                            <property name="fill">True</property>
+                            <property name="fill">False</property>
                             <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkVBox" id="vbox3">
+                          <object class="GtkLabel" id="label5">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="border_width">3</property>
-                            <property name="homogeneous">True</property>
-                            <child>
-                              <object class="GtkEntry" id="id_entry">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="editable">False</property>
-                                <property name="invisible_char">&#x25CF;</property>
-                                <property name="activates_default">True</property>
-                                <property name="invisible_char_set">True</property>
-                                <property name="primary_icon_activatable">False</property>
-                                <property name="secondary_icon_activatable">False</property>
-                                <property name="primary_icon_sensitive">True</property>
-                                <property name="secondary_icon_sensitive">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkHBox" id="opened_date_hbox">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <child>
-                                  <placeholder/>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">True</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkHBox" id="closed_date_hbox">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <child>
-                                  <placeholder/>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">True</property>
-                                <property name="fill">True</property>
-                                <property name="position">2</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkCheckButton" id="active_check">
-                                <property name="label" translatable="yes">Active</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="draw_indicator">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">3</property>
-                              </packing>
-                            </child>
+                            <property name="halign">end</property>
+                            <property name="label" translatable="yes">Date Opened</property>
+                            <property name="justify">right</property>
                           </object>
                           <packing>
                             <property name="expand">False</property>
@@ -616,155 +650,43 @@
                           </packing>
                         </child>
                       </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
                     </child>
-                    <child type="label">
-                      <object class="GtkLabel" id="label2">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Order Information</property>
-                      </object>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkFrame" id="frame3">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="border_width">3</property>
-                    <property name="label_xalign">0</property>
                     <child>
-                      <object class="GtkHBox" id="hbox3">
+                      <object class="GtkBox" id="vbox13">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="border_width">3</property>
+                        <property name="orientation">vertical</property>
+                        <property name="homogeneous">True</property>
                         <child>
-                          <object class="GtkVBox" id="vbox8">
+                          <object class="GtkEntry" id="entry_id">
                             <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="border_width">3</property>
-                            <property name="homogeneous">True</property>
-                            <child>
-                              <object class="GtkLabel" id="owner_label">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
-                                <property name="label">(owner)</property>
-                                <property name="justify">right</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label7">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">Reference</property>
-                                <property name="justify">center</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="hide1">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="justify">center</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">2</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label11">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="justify">center</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">3</property>
-                              </packing>
-                            </child>
+                            <property name="can_focus">True</property>
+                            <property name="has_tooltip">True</property>
+                            <property name="tooltip_markup">The order ID number. If left blank a reasonable number will be chosen for you</property>
+                            <property name="tooltip_text" translatable="yes">The order ID number. If left blank a reasonable number will be chosen for you</property>
+                            <property name="invisible_char">●</property>
+                            <property name="activates_default">True</property>
+                            <property name="primary_icon_activatable">False</property>
+                            <property name="secondary_icon_activatable">False</property>
                           </object>
                           <packing>
-                            <property name="expand">True</property>
-                            <property name="fill">True</property>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
                             <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkVBox" id="vbox9">
+                          <object class="GtkBox" id="date_opened_hbox">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="border_width">3</property>
-                            <property name="homogeneous">True</property>
-                            <child>
-                              <object class="GtkHBox" id="owner_hbox">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <child>
-                                  <placeholder/>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">True</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
                             <child>
-                              <object class="GtkEntry" id="ref_entry">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="invisible_char">&#x25CF;</property>
-                                <property name="invisible_char_set">True</property>
-                                <property name="primary_icon_activatable">False</property>
-                                <property name="secondary_icon_activatable">False</property>
-                                <property name="primary_icon_sensitive">True</property>
-                                <property name="secondary_icon_sensitive">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="hide2">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="justify">center</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">2</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label12">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="justify">center</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">3</property>
-                              </packing>
+                              <placeholder/>
                             </child>
                           </object>
                           <packing>
@@ -774,114 +696,191 @@
                           </packing>
                         </child>
                       </object>
-                    </child>
-                    <child type="label">
-                      <object class="GtkLabel" id="label9">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Billing Information</property>
-                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
                     </child>
                   </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
                 </child>
+                <child type="label">
+                  <object class="GtkLabel" id="label15">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">Order Information</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkFrame" id="frame5">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="border_width">3</property>
+                <property name="label_xalign">0</property>
                 <child>
-                  <object class="GtkFrame" id="frame2">
+                  <object class="GtkBox" id="hbox5">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="border_width">3</property>
-                    <property name="label_xalign">0</property>
                     <child>
-                      <object class="GtkScrolledWindow" id="scrolledwindow1">
+                      <object class="GtkBox" id="vbox14">
                         <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="hscrollbar_policy">never</property>
-                        <property name="shadow_type">in</property>
+                        <property name="can_focus">False</property>
+                        <property name="border_width">3</property>
+                        <property name="orientation">vertical</property>
+                        <property name="homogeneous">True</property>
                         <child>
-                          <object class="GtkTextView" id="notes_text">
+                          <object class="GtkLabel" id="bill_owner_label">
                             <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="wrap_mode">word</property>
-                            <property name="buffer">notes_buffer</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">end</property>
+                            <property name="label" translatable="yes">(owner)</property>
+                            <property name="justify">right</property>
                           </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label16">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">end</property>
+                            <property name="label" translatable="yes">Reference</property>
+                            <property name="justify">right</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
                         </child>
                       </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
                     </child>
-                    <child type="label">
-                      <object class="GtkLabel" id="label13">
+                    <child>
+                      <object class="GtkBox" id="vbox15">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Notes</property>
+                        <property name="border_width">3</property>
+                        <property name="orientation">vertical</property>
+                        <child>
+                          <object class="GtkBox" id="bill_owner_hbox">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <child>
+                              <placeholder/>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="expand">True</property>
+                            <property name="fill">True</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkEntry" id="entry_ref">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="editable">False</property>
+                            <property name="invisible_char">●</property>
+                            <property name="primary_icon_activatable">False</property>
+                            <property name="secondary_icon_activatable">False</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
                       </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
                     </child>
                   </object>
-                  <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">2</property>
-                  </packing>
+                </child>
+                <child type="label">
+                  <object class="GtkLabel" id="label6">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">Billing Information</property>
+                  </object>
                 </child>
               </object>
               <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="padding">3</property>
-                <property name="position">0</property>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkFrame" id="ledger_frame">
+              <object class="GtkFrame" id="frame6">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="border_width">3</property>
                 <property name="label_xalign">0</property>
                 <child>
-                  <object class="GtkVBox" id="ledger_vbox">
+                  <object class="GtkScrolledWindow" id="scrolledwindow2">
                     <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="border_width">2</property>
-                    <child>
-                      <placeholder/>
-                    </child>
+                    <property name="can_focus">True</property>
+                    <property name="hexpand">True</property>
+                    <property name="vexpand">True</property>
+                    <property name="border_width">3</property>
+                    <property name="hscrollbar_policy">never</property>
+                    <property name="shadow_type">in</property>
                     <child>
-                      <placeholder/>
+                      <object class="GtkTextView" id="text_notes">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="editable">False</property>
+                        <property name="wrap_mode">word</property>
+                        <property name="buffer">text_buffer</property>
+                      </object>
                     </child>
                   </object>
                 </child>
                 <child type="label">
-                  <object class="GtkLabel" id="label14">
+                  <object class="GtkLabel" id="label17">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Order Entries</property>
+                    <property name="label" translatable="yes">Notes</property>
                   </object>
                 </child>
               </object>
               <packing>
                 <property name="expand">True</property>
                 <property name="fill">True</property>
-                <property name="padding">3</property>
-                <property name="position">1</property>
+                <property name="position">2</property>
               </packing>
             </child>
           </object>
           <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
             <property name="position">2</property>
           </packing>
         </child>
       </object>
     </child>
     <action-widgets>
-      <action-widget response="-11">helpbutton</action-widget>
-      <action-widget response="0">closebutton</action-widget>
-      <action-widget response="0">new_invoice_button</action-widget>
-      <action-widget response="0">close_order_button</action-widget>
+      <action-widget response="-11">help_button</action-widget>
+      <action-widget response="-6">cancel_button</action-widget>
+      <action-widget response="-5">ok_button</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkTextBuffer" id="notes_buffer"/>
-  <object class="GtkTextBuffer" id="text_buffer"/>
 </interface>

commit ca43aa6d0b61f812caab10443e0fc6b858a2949c
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 12:56:59 2017 +0100

    Files linked to dialog-job.glade

diff --git a/src/business/business-gnome/dialog-job.c b/src/business/business-gnome/dialog-job.c
index dc8c841..fcef398 100644
--- a/src/business/business-gnome/dialog-job.c
+++ b/src/business/business-gnome/dialog-job.c
@@ -335,10 +335,10 @@ gnc_job_new_window (QofBook *bookp, GncOwner *owner, GncJob *job)
 
     /* Load the Glade File */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-job.glade", "Job Dialog");
+    gnc_builder_add_from_file (builder, "dialog-job.glade", "job_dialog");
 
     /* Find the dialog */
-    jw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Job Dialog"));
+    jw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "job_dialog"));
 
     /* Get entry points */
     jw->id_entry  = GTK_WIDGET(gtk_builder_get_object (builder, "id_entry"));
diff --git a/src/business/business-gnome/gtkbuilder/dialog-job.glade b/src/business/business-gnome/gtkbuilder/dialog-job.glade
index 9b20e83..fb2c746 100644
--- a/src/business/business-gnome/gtkbuilder/dialog-job.glade
+++ b/src/business/business-gnome/gtkbuilder/dialog-job.glade
@@ -1,34 +1,34 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkDialog" id="Job Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="job_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Job Dialog</property>
     <property name="resizable">False</property>
     <property name="type_hint">dialog</property>
-    <signal name="destroy" handler="gnc_job_window_destroy_cb"/>
+    <signal name="destroy" handler="gnc_job_window_destroy_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox3">
+      <object class="GtkBox" id="dialog-vbox3">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">8</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area3">
+          <object class="GtkButtonBox" id="dialog-action_area3">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="helpbutton">
-                <property name="label">gtk-help</property>
+                <property name="label" translatable="yes">_Help</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="gnc_job_window_help_cb"/>
+                <property name="use_underline">True</property>
+                <signal name="clicked" handler="gnc_job_window_help_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -38,14 +38,13 @@
             </child>
             <child>
               <object class="GtkButton" id="cancelbutton">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="gnc_job_window_cancel_cb"/>
+                <property name="use_underline">True</property>
+                <signal name="clicked" handler="gnc_job_window_cancel_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -55,14 +54,13 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="gnc_job_window_ok_cb"/>
+                <property name="use_underline">True</property>
+                <signal name="clicked" handler="gnc_job_window_ok_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -79,9 +77,10 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox1">
+          <object class="GtkBox" id="vbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
               <object class="GtkFrame" id="frame1">
                 <property name="visible">True</property>
@@ -89,21 +88,22 @@
                 <property name="border_width">3</property>
                 <property name="label_xalign">0</property>
                 <child>
-                  <object class="GtkHBox" id="hbox8">
+                  <object class="GtkBox" id="hbox8">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="border_width">3</property>
                     <child>
-                      <object class="GtkVBox" id="vbox4">
+                      <object class="GtkBox" id="vbox4">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="border_width">3</property>
+                        <property name="orientation">vertical</property>
                         <property name="homogeneous">True</property>
                         <child>
                           <object class="GtkLabel" id="label1">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label" translatable="yes">Job Number</property>
                             <property name="justify">right</property>
                           </object>
@@ -117,7 +117,7 @@
                           <object class="GtkLabel" id="label3">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label" translatable="yes">Job Name</property>
                             <property name="justify">right</property>
                           </object>
@@ -135,10 +135,11 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkVBox" id="vbox12">
+                      <object class="GtkBox" id="vbox12">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="border_width">3</property>
+                        <property name="orientation">vertical</property>
                         <property name="homogeneous">True</property>
                         <child>
                           <object class="GtkEntry" id="id_entry">
@@ -147,14 +148,11 @@
                             <property name="has_tooltip">True</property>
                             <property name="tooltip_markup">The job ID number. If left blank a reasonable number will be chosen for you</property>
                             <property name="tooltip_text" translatable="yes">The job ID number. If left blank a reasonable number will be chosen for you</property>
-                            <property name="invisible_char">&#x25CF;</property>
+                            <property name="invisible_char">●</property>
                             <property name="activates_default">True</property>
-                            <property name="invisible_char_set">True</property>
                             <property name="primary_icon_activatable">False</property>
                             <property name="secondary_icon_activatable">False</property>
-                            <property name="primary_icon_sensitive">True</property>
-                            <property name="secondary_icon_sensitive">True</property>
-                            <signal name="changed" handler="gnc_job_name_changed_cb"/>
+                            <signal name="changed" handler="gnc_job_name_changed_cb" swapped="no"/>
                           </object>
                           <packing>
                             <property name="expand">False</property>
@@ -166,14 +164,11 @@
                           <object class="GtkEntry" id="name_entry">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="invisible_char">&#x25CF;</property>
+                            <property name="invisible_char">●</property>
                             <property name="activates_default">True</property>
-                            <property name="invisible_char_set">True</property>
                             <property name="primary_icon_activatable">False</property>
                             <property name="secondary_icon_activatable">False</property>
-                            <property name="primary_icon_sensitive">True</property>
-                            <property name="secondary_icon_sensitive">True</property>
-                            <signal name="changed" handler="gnc_job_name_changed_cb"/>
+                            <signal name="changed" handler="gnc_job_name_changed_cb" swapped="no"/>
                           </object>
                           <packing>
                             <property name="expand">False</property>
@@ -211,21 +206,22 @@
                 <property name="border_width">3</property>
                 <property name="label_xalign">0</property>
                 <child>
-                  <object class="GtkHBox" id="hbox9">
+                  <object class="GtkBox" id="hbox9">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="border_width">3</property>
                     <child>
-                      <object class="GtkVBox" id="vbox5">
+                      <object class="GtkBox" id="vbox5">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="border_width">3</property>
+                        <property name="orientation">vertical</property>
                         <property name="homogeneous">True</property>
                         <child>
                           <object class="GtkLabel" id="owner_label">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label">(owner)</property>
                             <property name="justify">right</property>
                           </object>
@@ -236,11 +232,11 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkLabel" id="label4">
+                          <object class="GtkLabel" id="labelrate">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
-                            <property name="label" translatable="yes">Billing ID</property>
+                            <property name="halign">end</property>
+                            <property name="label" translatable="yes">Rate</property>
                             <property name="justify">right</property>
                           </object>
                           <packing>
@@ -250,11 +246,11 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkLabel" id="labelrate">
+                          <object class="GtkLabel" id="label4">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
-                            <property name="label" translatable="yes">Rate</property>
+                            <property name="halign">end</property>
+                            <property name="label" translatable="yes">Billing ID</property>
                             <property name="justify">right</property>
                           </object>
                           <packing>
@@ -271,13 +267,14 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkVBox" id="vbox13">
+                      <object class="GtkBox" id="vbox13">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="border_width">3</property>
+                        <property name="orientation">vertical</property>
                         <property name="homogeneous">True</property>
                         <child>
-                          <object class="GtkHBox" id="customer_hbox">
+                          <object class="GtkBox" id="customer_hbox">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
@@ -291,33 +288,30 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkEntry" id="desc_entry">
+                          <object class="GtkBox" id="rate_entry">
                             <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="invisible_char">&#x25CF;</property>
-                            <property name="invisible_char_set">True</property>
-                            <property name="primary_icon_activatable">False</property>
-                            <property name="secondary_icon_activatable">False</property>
-                            <property name="primary_icon_sensitive">True</property>
-                            <property name="secondary_icon_sensitive">True</property>
+                            <property name="can_focus">False</property>
+                            <child>
+                              <placeholder/>
+                            </child>
                           </object>
                           <packing>
                             <property name="expand">False</property>
-                            <property name="fill">False</property>
+                            <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkHBox" id="rate_entry">
+                          <object class="GtkEntry" id="desc_entry">
                             <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <child>
-                              <placeholder/>
-                            </child>
+                            <property name="can_focus">True</property>
+                            <property name="invisible_char">●</property>
+                            <property name="primary_icon_activatable">False</property>
+                            <property name="secondary_icon_activatable">False</property>
                           </object>
                           <packing>
                             <property name="expand">False</property>
-                            <property name="fill">True</property>
+                            <property name="fill">False</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
@@ -356,7 +350,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="halign">start</property>
                     <property name="use_underline">True</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>

commit f916e7f5cf48174d5c74d8f48d50d1b12b53d0a6
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 12:56:34 2017 +0100

    Files linked to dialog-invoice.glade

diff --git a/src/business/business-gnome/dialog-invoice.c b/src/business/business-gnome/dialog-invoice.c
index 665cf10..e292430 100644
--- a/src/business/business-gnome/dialog-invoice.c
+++ b/src/business/business-gnome/dialog-invoice.c
@@ -248,8 +248,8 @@ iw_ask_unpost (InvoiceWindow *iw)
     gint response;
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-invoice.glade", "Unpost Message Dialog");
-    dialog = GTK_WIDGET (gtk_builder_get_object (builder, "Unpost Message Dialog"));
+    gnc_builder_add_from_file (builder, "dialog-invoice.glade", "unpost_message_dialog");
+    dialog = GTK_WIDGET (gtk_builder_get_object (builder, "unpost_message_dialog"));
     toggle = GTK_TOGGLE_BUTTON(gtk_builder_get_object (builder, "yes_tt_reset"));
 
     gtk_window_set_transient_for (GTK_WINDOW(dialog),
@@ -2534,8 +2534,8 @@ gnc_invoice_window_new_invoice (InvoiceDialogType dialog_type, QofBook *bookp,
     /* Find the glade page layout */
     iw->builder = builder = gtk_builder_new();
     gnc_builder_add_from_file (builder, "dialog-invoice.glade", "terms_store");
-    gnc_builder_add_from_file (builder, "dialog-invoice.glade", "New Invoice Dialog");
-    iw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "New Invoice Dialog"));
+    gnc_builder_add_from_file (builder, "dialog-invoice.glade", "new_invoice_dialog");
+    iw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "new_invoice_dialog"));
 
     g_object_set_data (G_OBJECT (iw->dialog), "dialog_info", iw);
 
diff --git a/src/business/business-gnome/gtkbuilder/dialog-invoice.glade b/src/business/business-gnome/gtkbuilder/dialog-invoice.glade
index 9aed1b2..cccdde6 100644
--- a/src/business/business-gnome/gtkbuilder/dialog-invoice.glade
+++ b/src/business/business-gnome/gtkbuilder/dialog-invoice.glade
@@ -1,40 +1,54 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkWindow" id="Invoice Entry Window">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkListStore" id="terms_store">
+    <columns>
+      <!-- column-name label -->
+      <column type="gchararray"/>
+      <!-- column-name rowdata -->
+      <column type="gpointer"/>
+    </columns>
+  </object>
+  <object class="GtkWindow" id="invoice_entry_window">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Invoice</property>
     <child>
-      <object class="GtkVBox" id="invoice_entry_vbox">
+      <object class="GtkBox" id="invoice_entry_vbox">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="vexpand">True</property>
+        <property name="orientation">vertical</property>
         <child>
-          <object class="GtkHBox" id="hbox1">
+          <object class="GtkBox" id="hbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="valign">start</property>
+            <property name="vexpand">False</property>
             <child>
               <object class="GtkFrame" id="frame1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="label_xalign">0</property>
                 <child>
-                  <object class="GtkHBox" id="hbox2">
+                  <object class="GtkBox" id="hbox2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="border_width">3</property>
                     <property name="spacing">2</property>
                     <child>
-                      <object class="GtkVBox" id="vbox2">
+                      <object class="GtkBox" id="vbox2">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="margin_right">5</property>
+                        <property name="orientation">vertical</property>
                         <property name="homogeneous">True</property>
                         <child>
                           <object class="GtkLabel" id="label9">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label" translatable="yes">Type</property>
                             <property name="justify">right</property>
                           </object>
@@ -48,7 +62,7 @@
                           <object class="GtkLabel" id="label3">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label" translatable="yes">Invoice ID</property>
                             <property name="justify">right</property>
                           </object>
@@ -62,7 +76,7 @@
                           <object class="GtkLabel" id="label4">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label" translatable="yes">Date Opened</property>
                             <property name="justify">right</property>
                           </object>
@@ -76,7 +90,7 @@
                           <object class="GtkLabel" id="posted_label">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label" translatable="yes">Date Posted</property>
                             <property name="justify">right</property>
                           </object>
@@ -90,7 +104,7 @@
                           <object class="GtkLabel" id="acct_label">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label" translatable="yes">Posted Account</property>
                             <property name="justify">right</property>
                           </object>
@@ -132,15 +146,16 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkVBox" id="vbox3">
+                      <object class="GtkBox" id="vbox3">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="orientation">vertical</property>
                         <property name="homogeneous">True</property>
                         <child>
                           <object class="GtkLabel" id="page_type_label">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">0</property>
+                            <property name="halign">start</property>
                             <property name="label" translatable="yes">Invoice</property>
                           </object>
                           <packing>
@@ -154,10 +169,6 @@
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="editable">False</property>
-                            <property name="primary_icon_activatable">False</property>
-                            <property name="secondary_icon_activatable">False</property>
-                            <property name="primary_icon_sensitive">True</property>
-                            <property name="secondary_icon_sensitive">True</property>
                           </object>
                           <packing>
                             <property name="expand">False</property>
@@ -166,7 +177,7 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkHBox" id="page_date_opened_hbox">
+                          <object class="GtkBox" id="page_date_opened_hbox">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
@@ -180,7 +191,7 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkHBox" id="date_posted_hbox">
+                          <object class="GtkBox" id="date_posted_hbox">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
@@ -198,10 +209,6 @@
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="editable">False</property>
-                            <property name="primary_icon_activatable">False</property>
-                            <property name="secondary_icon_activatable">False</property>
-                            <property name="primary_icon_sensitive">True</property>
-                            <property name="secondary_icon_sensitive">True</property>
                           </object>
                           <packing>
                             <property name="expand">False</property>
@@ -215,6 +222,7 @@
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">False</property>
+                            <property name="halign">start</property>
                             <property name="use_underline">True</property>
                             <property name="draw_indicator">True</property>
                             <signal name="toggled" handler="gnc_invoice_window_active_toggled_cb" swapped="no"/>
@@ -256,7 +264,7 @@
               </object>
               <packing>
                 <property name="expand">False</property>
-                <property name="fill">True</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
@@ -266,21 +274,23 @@
                 <property name="can_focus">False</property>
                 <property name="label_xalign">0</property>
                 <child>
-                  <object class="GtkHBox" id="hbox6">
+                  <object class="GtkBox" id="hbox6">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="border_width">3</property>
                     <property name="spacing">2</property>
                     <child>
-                      <object class="GtkVBox" id="vbox8">
+                      <object class="GtkBox" id="vbox8">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="margin_right">5</property>
+                        <property name="orientation">vertical</property>
                         <property name="homogeneous">True</property>
                         <child>
                           <object class="GtkLabel" id="page_owner_label">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label" translatable="yes">(owner)</property>
                             <property name="justify">right</property>
                           </object>
@@ -294,7 +304,7 @@
                           <object class="GtkLabel" id="page_job_label">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label" translatable="yes">Job</property>
                             <property name="justify">right</property>
                           </object>
@@ -308,7 +318,7 @@
                           <object class="GtkLabel" id="label19">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label" translatable="yes">Billing ID</property>
                             <property name="justify">right</property>
                           </object>
@@ -322,7 +332,7 @@
                           <object class="GtkLabel" id="label13">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label" translatable="yes">Terms</property>
                             <property name="justify">right</property>
                           </object>
@@ -352,12 +362,13 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkVBox" id="vbox9">
+                      <object class="GtkBox" id="vbox9">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="orientation">vertical</property>
                         <property name="homogeneous">True</property>
                         <child>
-                          <object class="GtkHBox" id="page_owner_hbox">
+                          <object class="GtkBox" id="page_owner_hbox">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
@@ -371,7 +382,7 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkHBox" id="page_job_hbox">
+                          <object class="GtkBox" id="page_job_hbox">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
@@ -389,10 +400,6 @@
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="editable">False</property>
-                            <property name="primary_icon_activatable">False</property>
-                            <property name="secondary_icon_activatable">False</property>
-                            <property name="primary_icon_sensitive">True</property>
-                            <property name="secondary_icon_sensitive">True</property>
                           </object>
                           <packing>
                             <property name="expand">False</property>
@@ -401,19 +408,21 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkEntry" id="page_terms_menu">
+                          <object class="GtkComboBox" id="page_terms_menu">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="editable">False</property>
-                            <property name="invisible_char">●</property>
-                            <property name="primary_icon_activatable">False</property>
-                            <property name="secondary_icon_activatable">False</property>
-                            <property name="primary_icon_sensitive">True</property>
-                            <property name="secondary_icon_sensitive">True</property>
+                            <property name="model">terms_store</property>
+                            <signal name="changed" handler="gnc_invoice_terms_changed_cb" swapped="no"/>
+                            <child>
+                              <object class="GtkCellRendererText" id="page_cell_renderer_text"/>
+                              <attributes>
+                                <attribute name="text">0</attribute>
+                              </attributes>
+                            </child>
                           </object>
                           <packing>
                             <property name="expand">True</property>
-                            <property name="fill">True</property>
+                            <property name="fill">False</property>
                             <property name="position">3</property>
                           </packing>
                         </child>
@@ -448,7 +457,7 @@
               </object>
               <packing>
                 <property name="expand">False</property>
-                <property name="fill">True</property>
+                <property name="fill">False</property>
                 <property name="padding">1</property>
                 <property name="position">1</property>
               </packing>
@@ -462,6 +471,8 @@
                   <object class="GtkScrolledWindow" id="scrolledwindow1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
+                    <property name="vexpand">True</property>
                     <property name="border_width">3</property>
                     <property name="hscrollbar_policy">never</property>
                     <property name="shadow_type">in</property>
@@ -492,7 +503,7 @@
           </object>
           <packing>
             <property name="expand">False</property>
-            <property name="fill">True</property>
+            <property name="fill">False</property>
             <property name="padding">3</property>
             <property name="position">0</property>
           </packing>
@@ -501,9 +512,10 @@
           <object class="GtkFrame" id="page_proj_frame">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="valign">start</property>
             <property name="label_xalign">0</property>
             <child>
-              <object class="GtkHBox" id="hbox8">
+              <object class="GtkBox" id="hbox8">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">3</property>
@@ -512,7 +524,6 @@
                   <object class="GtkLabel" id="label5">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">1</property>
                     <property name="label" translatable="yes">Customer: </property>
                     <property name="justify">right</property>
                   </object>
@@ -523,7 +534,7 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="page_proj_cust_hbox">
+                  <object class="GtkBox" id="page_proj_cust_hbox">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
@@ -540,7 +551,6 @@
                   <object class="GtkLabel" id="label6">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">1</property>
                     <property name="label" translatable="yes">Job: </property>
                     <property name="justify">right</property>
                   </object>
@@ -551,7 +561,7 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="page_proj_job_hbox">
+                  <object class="GtkBox" id="page_proj_job_hbox">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
@@ -576,7 +586,7 @@
           </object>
           <packing>
             <property name="expand">False</property>
-            <property name="fill">True</property>
+            <property name="fill">False</property>
             <property name="padding">3</property>
             <property name="position">1</property>
           </packing>
@@ -585,9 +595,10 @@
           <object class="GtkFrame" id="to_charge_frame">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="valign">start</property>
             <property name="label_xalign">0</property>
             <child>
-              <object class="GtkHBox" id="hbox9">
+              <object class="GtkBox" id="hbox9">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">3</property>
@@ -596,7 +607,6 @@
                   <object class="GtkLabel" id="label31">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">1</property>
                     <property name="label" translatable="yes">Additional to Card:</property>
                     <property name="justify">right</property>
                   </object>
@@ -607,7 +617,7 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="to_charge_box">
+                  <object class="GtkBox" id="to_charge_box">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
@@ -632,7 +642,7 @@
           </object>
           <packing>
             <property name="expand">False</property>
-            <property name="fill">True</property>
+            <property name="fill">False</property>
             <property name="position">2</property>
           </packing>
         </child>
@@ -640,6 +650,8 @@
           <object class="GtkFrame" id="ledger_frame">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="hexpand">True</property>
+            <property name="vexpand">True</property>
             <property name="label_xalign">0</property>
             <child>
               <placeholder/>
@@ -662,30 +674,31 @@
       </object>
     </child>
   </object>
-  <object class="GtkDialog" id="New Invoice Dialog">
+  <object class="GtkDialog" id="new_invoice_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">New Invoice</property>
     <property name="type_hint">dialog</property>
     <signal name="destroy" handler="gnc_invoice_window_destroy_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox2">
+      <object class="GtkBox" id="dialog-vbox2">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">8</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area2">
+          <object class="GtkButtonBox" id="dialog-action_area2">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="helpbutton">
-                <property name="label">gtk-help</property>
+                <property name="label" translatable="yes">_Help</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_invoice_window_help_cb" swapped="no"/>
               </object>
               <packing>
@@ -696,12 +709,12 @@
             </child>
             <child>
               <object class="GtkButton" id="cancelbutton">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_invoice_window_cancel_cb" swapped="no"/>
               </object>
               <packing>
@@ -712,12 +725,12 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_invoice_window_ok_cb" swapped="no"/>
               </object>
               <packing>
@@ -735,9 +748,10 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox10">
+          <object class="GtkBox" id="vbox10">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
               <object class="GtkFrame" id="frame4">
                 <property name="visible">True</property>
@@ -745,20 +759,21 @@
                 <property name="border_width">3</property>
                 <property name="label_xalign">0</property>
                 <child>
-                  <object class="GtkHBox" id="hbox3">
+                  <object class="GtkBox" id="hbox3">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
-                      <object class="GtkVBox" id="vbox11">
+                      <object class="GtkBox" id="vbox11">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="border_width">3</property>
+                        <property name="orientation">vertical</property>
                         <property name="homogeneous">True</property>
                         <child>
                           <object class="GtkLabel" id="label7">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label" translatable="yes">Type</property>
                             <property name="justify">right</property>
                           </object>
@@ -772,7 +787,7 @@
                           <object class="GtkLabel" id="label14">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label" translatable="yes">Invoice ID</property>
                             <property name="justify">right</property>
                           </object>
@@ -786,7 +801,7 @@
                           <object class="GtkLabel" id="label15">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label" translatable="yes">Date Opened</property>
                             <property name="justify">right</property>
                           </object>
@@ -804,19 +819,19 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkVBox" id="vbox12">
+                      <object class="GtkBox" id="vbox12">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="border_width">3</property>
+                        <property name="orientation">vertical</property>
                         <property name="homogeneous">True</property>
                         <child>
-                          <object class="GtkHBox" id="dialog_type_hbox">
+                          <object class="GtkBox" id="dialog_type_hbox">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
                               <object class="GtkLabel" id="dialog_type_label">
                                 <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
                                 <property name="label" translatable="yes">Invoice</property>
                               </object>
                               <packing>
@@ -826,7 +841,7 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="dialog_type_choice_hbox">
+                              <object class="GtkBox" id="dialog_type_choice_hbox">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
@@ -835,7 +850,7 @@
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
+                                    <property name="halign">start</property>
                                     <property name="active">True</property>
                                     <property name="draw_indicator">True</property>
                                     <signal name="toggled" handler="gnc_invoice_type_toggled_cb" swapped="no"/>
@@ -852,7 +867,7 @@
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
+                                    <property name="halign">start</property>
                                     <property name="active">True</property>
                                     <property name="draw_indicator">True</property>
                                     <property name="group">dialog_invoice_type</property>
@@ -884,10 +899,6 @@
                             <property name="has_focus">True</property>
                             <property name="tooltip_text" translatable="yes">The invoice ID number. If left blank a reasonable number will be chosen for you.</property>
                             <property name="activates_default">True</property>
-                            <property name="primary_icon_activatable">False</property>
-                            <property name="secondary_icon_activatable">False</property>
-                            <property name="primary_icon_sensitive">True</property>
-                            <property name="secondary_icon_sensitive">True</property>
                             <signal name="changed" handler="gnc_invoice_id_changed_cb" swapped="no"/>
                           </object>
                           <packing>
@@ -897,7 +908,7 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkHBox" id="dialog_date_opened_hbox">
+                          <object class="GtkBox" id="dialog_date_opened_hbox">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
@@ -940,20 +951,21 @@
                 <property name="border_width">3</property>
                 <property name="label_xalign">0</property>
                 <child>
-                  <object class="GtkHBox" id="hbox4">
+                  <object class="GtkBox" id="hbox4">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
-                      <object class="GtkVBox" id="vbox13">
+                      <object class="GtkBox" id="vbox13">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="border_width">3</property>
+                        <property name="orientation">vertical</property>
                         <property name="homogeneous">True</property>
                         <child>
                           <object class="GtkLabel" id="dialog_owner_label">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label">(owner)</property>
                             <property name="justify">right</property>
                           </object>
@@ -967,7 +979,7 @@
                           <object class="GtkLabel" id="dialog_job_label">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label" translatable="yes">Job</property>
                             <property name="justify">right</property>
                           </object>
@@ -981,7 +993,7 @@
                           <object class="GtkLabel" id="label20">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label" translatable="yes">Billing ID</property>
                             <property name="justify">right</property>
                           </object>
@@ -995,7 +1007,7 @@
                           <object class="GtkLabel" id="label17">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label" translatable="yes">Terms</property>
                             <property name="justify">right</property>
                           </object>
@@ -1013,13 +1025,14 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkVBox" id="vbox14">
+                      <object class="GtkBox" id="vbox14">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="border_width">3</property>
+                        <property name="orientation">vertical</property>
                         <property name="homogeneous">True</property>
                         <child>
-                          <object class="GtkHBox" id="dialog_owner_hbox">
+                          <object class="GtkBox" id="dialog_owner_hbox">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
@@ -1033,7 +1046,7 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkHBox" id="dialog_job_hbox">
+                          <object class="GtkBox" id="dialog_job_hbox">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
@@ -1050,10 +1063,6 @@
                           <object class="GtkEntry" id="dialog_billing_id_entry">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="primary_icon_activatable">False</property>
-                            <property name="secondary_icon_activatable">False</property>
-                            <property name="primary_icon_sensitive">True</property>
-                            <property name="secondary_icon_sensitive">True</property>
                           </object>
                           <packing>
                             <property name="expand">False</property>
@@ -1109,21 +1118,22 @@
                 <property name="can_focus">False</property>
                 <property name="label_xalign">0</property>
                 <child>
-                  <object class="GtkHBox" id="hbox5">
+                  <object class="GtkBox" id="hbox5">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="border_width">3</property>
                     <child>
-                      <object class="GtkVBox" id="vbox15">
+                      <object class="GtkBox" id="vbox15">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="border_width">3</property>
+                        <property name="orientation">vertical</property>
                         <property name="homogeneous">True</property>
                         <child>
                           <object class="GtkLabel" id="label22">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label" translatable="yes">Customer</property>
                             <property name="justify">right</property>
                           </object>
@@ -1137,7 +1147,7 @@
                           <object class="GtkLabel" id="label23">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">end</property>
                             <property name="label" translatable="yes">Job</property>
                             <property name="justify">right</property>
                           </object>
@@ -1155,13 +1165,14 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkVBox" id="vbox16">
+                      <object class="GtkBox" id="vbox16">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="border_width">3</property>
+                        <property name="orientation">vertical</property>
                         <property name="homogeneous">True</property>
                         <child>
-                          <object class="GtkHBox" id="dialog_proj_cust_hbox">
+                          <object class="GtkBox" id="dialog_proj_cust_hbox">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
@@ -1175,7 +1186,7 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkHBox" id="dialog_proj_job_hbox">
+                          <object class="GtkBox" id="dialog_proj_job_hbox">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
@@ -1221,6 +1232,8 @@
                   <object class="GtkScrolledWindow" id="scrolledwindow2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
+                    <property name="vexpand">True</property>
                     <property name="border_width">3</property>
                     <property name="hscrollbar_policy">never</property>
                     <property name="shadow_type">in</property>
@@ -1262,29 +1275,30 @@
       <action-widget response="-5">okbutton</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkDialog" id="Unpost Message Dialog">
+  <object class="GtkDialog" id="unpost_message_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="resizable">False</property>
     <property name="modal">True</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox3">
+      <object class="GtkBox" id="dialog-vbox3">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area3">
+          <object class="GtkButtonBox" id="dialog-action_area3">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancelbutton1">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -1294,12 +1308,12 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton1">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -1316,12 +1330,13 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox17">
+          <object class="GtkBox" id="vbox17">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <property name="homogeneous">True</property>
             <child>
-              <object class="GtkHBox" id="hbox11">
+              <object class="GtkBox" id="hbox11">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
@@ -1365,7 +1380,7 @@ Are you sure you want to unpost it?</property>
                 <property name="border_width">3</property>
                 <property name="label_xalign">0</property>
                 <child>
-                  <object class="GtkHBox" id="hbox12">
+                  <object class="GtkBox" id="hbox12">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
@@ -1374,6 +1389,7 @@ Are you sure you want to unpost it?</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <signal name="toggled" handler="on_yes_tt_reset_toggled" object="Invoice Entry Window" swapped="yes"/>
@@ -1390,6 +1406,7 @@ Are you sure you want to unpost it?</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="active">True</property>
                         <property name="draw_indicator">True</property>
@@ -1433,12 +1450,4 @@ Are you sure you want to unpost it?</property>
       <action-widget response="-5">okbutton1</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkListStore" id="terms_store">
-    <columns>
-      <!-- column-name label -->
-      <column type="gchararray"/>
-      <!-- column-name rowdata -->
-      <column type="gpointer"/>
-    </columns>
-  </object>
 </interface>

commit 3677d8c686e4b7afd39c149165bc4879a262983b
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 12:56:14 2017 +0100

    Files linked to dialog-employee.glade

diff --git a/src/business/business-gnome/dialog-employee.c b/src/business/business-gnome/dialog-employee.c
index 1c53987..eb9b028 100644
--- a/src/business/business-gnome/dialog-employee.c
+++ b/src/business/business-gnome/dialog-employee.c
@@ -435,8 +435,8 @@ gnc_employee_new_window (QofBook *bookp,
 
     /* Find the dialog */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-employee.glade", "Employee Dialog");
-    ew->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Employee Dialog"));
+    gnc_builder_add_from_file (builder, "dialog-employee.glade", "employee_dialog");
+    ew->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "employee_dialog"));
 
     g_object_set_data (G_OBJECT (ew->dialog), "dialog_info", ew);
 
diff --git a/src/business/business-gnome/gtkbuilder/dialog-employee.glade b/src/business/business-gnome/gtkbuilder/dialog-employee.glade
index a62a97c..3427686 100644
--- a/src/business/business-gnome/gtkbuilder/dialog-employee.glade
+++ b/src/business/business-gnome/gtkbuilder/dialog-employee.glade
@@ -1,33 +1,33 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkDialog" id="Employee Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="employee_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">New Employee</property>
     <property name="type_hint">dialog</property>
-    <signal name="destroy" handler="gnc_employee_window_destroy_cb"/>
+    <signal name="destroy" handler="gnc_employee_window_destroy_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox3">
+      <object class="GtkBox" id="dialog-vbox3">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">8</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area3">
+          <object class="GtkButtonBox" id="dialog-action_area3">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="helpbutton">
-                <property name="label">gtk-help</property>
+                <property name="label" translatable="yes">_Help</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="gnc_employee_window_help_cb"/>
+                <property name="use_underline">True</property>
+                <signal name="clicked" handler="gnc_employee_window_help_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -37,14 +37,13 @@
             </child>
             <child>
               <object class="GtkButton" id="cancelbutton">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="gnc_employee_window_cancel_cb"/>
+                <property name="use_underline">True</property>
+                <signal name="clicked" handler="gnc_employee_window_cancel_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -54,15 +53,14 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="gnc_employee_window_ok_cb"/>
+                <property name="use_underline">True</property>
+                <signal name="clicked" handler="gnc_employee_window_ok_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -83,9 +81,10 @@
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <child>
-              <object class="GtkVBox" id="vbox2">
+              <object class="GtkBox" id="vbox2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <object class="GtkFrame" id="frame1">
                     <property name="visible">True</property>
@@ -93,20 +92,25 @@
                     <property name="border_width">3</property>
                     <property name="label_xalign">0</property>
                     <child>
-                      <object class="GtkHBox" id="hbox2">
+                      <object class="GtkBox" id="hbox2">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="margin_left">5</property>
+                        <property name="margin_right">5</property>
+                        <property name="margin_top">5</property>
+                        <property name="margin_bottom">5</property>
                         <property name="border_width">2</property>
                         <child>
-                          <object class="GtkVBox" id="vbox11">
+                          <object class="GtkBox" id="vbox11">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="orientation">vertical</property>
                             <property name="homogeneous">True</property>
                             <child>
                               <object class="GtkLabel" id="label1">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Employee Number: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -120,7 +124,7 @@
                               <object class="GtkLabel" id="label19">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Username: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -136,7 +140,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
+                                <property name="halign">start</property>
                                 <property name="use_underline">True</property>
                                 <property name="active">True</property>
                                 <property name="draw_indicator">True</property>
@@ -155,9 +159,10 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkVBox" id="vbox12">
+                          <object class="GtkBox" id="vbox12">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="orientation">vertical</property>
                             <property name="homogeneous">True</property>
                             <child>
                               <object class="GtkEntry" id="id_entry">
@@ -166,14 +171,11 @@
                                 <property name="has_tooltip">True</property>
                                 <property name="tooltip_markup">The employee ID number. If left blank a reasonable number will be chosen for you</property>
                                 <property name="tooltip_text" translatable="yes">The employee ID number. If left blank a reasonable number will be chosen for you</property>
-                                <property name="invisible_char">&#x25CF;</property>
+                                <property name="invisible_char">●</property>
                                 <property name="activates_default">True</property>
-                                <property name="invisible_char_set">True</property>
                                 <property name="primary_icon_activatable">False</property>
                                 <property name="secondary_icon_activatable">False</property>
-                                <property name="primary_icon_sensitive">True</property>
-                                <property name="secondary_icon_sensitive">True</property>
-                                <signal name="changed" handler="gnc_employee_name_changed_cb"/>
+                                <signal name="changed" handler="gnc_employee_name_changed_cb" swapped="no"/>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
@@ -185,14 +187,11 @@
                               <object class="GtkEntry" id="username_entry">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="invisible_char">&#x25CF;</property>
+                                <property name="invisible_char">●</property>
                                 <property name="activates_default">True</property>
-                                <property name="invisible_char_set">True</property>
                                 <property name="primary_icon_activatable">False</property>
                                 <property name="secondary_icon_activatable">False</property>
-                                <property name="primary_icon_sensitive">True</property>
-                                <property name="secondary_icon_sensitive">True</property>
-                                <signal name="changed" handler="gnc_employee_name_changed_cb"/>
+                                <signal name="changed" handler="gnc_employee_name_changed_cb" swapped="no"/>
                               </object>
                               <packing>
                                 <property name="expand">True</property>
@@ -242,20 +241,25 @@
                     <property name="border_width">3</property>
                     <property name="label_xalign">0</property>
                     <child>
-                      <object class="GtkHBox" id="hbox3">
+                      <object class="GtkBox" id="hbox3">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="margin_left">5</property>
+                        <property name="margin_right">5</property>
+                        <property name="margin_top">5</property>
+                        <property name="margin_bottom">5</property>
                         <child>
-                          <object class="GtkVBox" id="vbox5">
+                          <object class="GtkBox" id="vbox5">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="border_width">3</property>
+                            <property name="orientation">vertical</property>
                             <property name="homogeneous">True</property>
                             <child>
                               <object class="GtkLabel" id="label3">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Name: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -269,7 +273,7 @@
                               <object class="GtkLabel" id="label4">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Address: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -319,7 +323,7 @@
                               <object class="GtkLabel" id="label5">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Phone: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -333,7 +337,7 @@
                               <object class="GtkLabel" id="label6">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Fax: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -347,7 +351,7 @@
                               <object class="GtkLabel" id="label7">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Email: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -366,22 +370,20 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkVBox" id="vbox6">
+                          <object class="GtkBox" id="vbox6">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="border_width">3</property>
+                            <property name="orientation">vertical</property>
                             <property name="homogeneous">True</property>
                             <child>
                               <object class="GtkEntry" id="name_entry">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="invisible_char">&#x25CF;</property>
+                                <property name="invisible_char">●</property>
                                 <property name="activates_default">True</property>
-                                <property name="invisible_char_set">True</property>
                                 <property name="primary_icon_activatable">False</property>
                                 <property name="secondary_icon_activatable">False</property>
-                                <property name="primary_icon_sensitive">True</property>
-                                <property name="secondary_icon_sensitive">True</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
@@ -393,13 +395,10 @@
                               <object class="GtkEntry" id="addr1_entry">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="invisible_char">&#x25CF;</property>
+                                <property name="invisible_char">●</property>
                                 <property name="activates_default">True</property>
-                                <property name="invisible_char_set">True</property>
                                 <property name="primary_icon_activatable">False</property>
                                 <property name="secondary_icon_activatable">False</property>
-                                <property name="primary_icon_sensitive">True</property>
-                                <property name="secondary_icon_sensitive">True</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
@@ -411,13 +410,10 @@
                               <object class="GtkEntry" id="addr2_entry">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="invisible_char">&#x25CF;</property>
+                                <property name="invisible_char">●</property>
                                 <property name="activates_default">True</property>
-                                <property name="invisible_char_set">True</property>
                                 <property name="primary_icon_activatable">False</property>
                                 <property name="secondary_icon_activatable">False</property>
-                                <property name="primary_icon_sensitive">True</property>
-                                <property name="secondary_icon_sensitive">True</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
@@ -429,13 +425,10 @@
                               <object class="GtkEntry" id="addr3_entry">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="invisible_char">&#x25CF;</property>
+                                <property name="invisible_char">●</property>
                                 <property name="activates_default">True</property>
-                                <property name="invisible_char_set">True</property>
                                 <property name="primary_icon_activatable">False</property>
                                 <property name="secondary_icon_activatable">False</property>
-                                <property name="primary_icon_sensitive">True</property>
-                                <property name="secondary_icon_sensitive">True</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
@@ -447,13 +440,10 @@
                               <object class="GtkEntry" id="addr4_entry">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="invisible_char">&#x25CF;</property>
+                                <property name="invisible_char">●</property>
                                 <property name="activates_default">True</property>
-                                <property name="invisible_char_set">True</property>
                                 <property name="primary_icon_activatable">False</property>
                                 <property name="secondary_icon_activatable">False</property>
-                                <property name="primary_icon_sensitive">True</property>
-                                <property name="secondary_icon_sensitive">True</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
@@ -465,13 +455,10 @@
                               <object class="GtkEntry" id="phone_entry">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="invisible_char">&#x25CF;</property>
+                                <property name="invisible_char">●</property>
                                 <property name="activates_default">True</property>
-                                <property name="invisible_char_set">True</property>
                                 <property name="primary_icon_activatable">False</property>
                                 <property name="secondary_icon_activatable">False</property>
-                                <property name="primary_icon_sensitive">True</property>
-                                <property name="secondary_icon_sensitive">True</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
@@ -483,13 +470,10 @@
                               <object class="GtkEntry" id="fax_entry">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="invisible_char">&#x25CF;</property>
+                                <property name="invisible_char">●</property>
                                 <property name="activates_default">True</property>
-                                <property name="invisible_char_set">True</property>
                                 <property name="primary_icon_activatable">False</property>
                                 <property name="secondary_icon_activatable">False</property>
-                                <property name="primary_icon_sensitive">True</property>
-                                <property name="secondary_icon_sensitive">True</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
@@ -501,13 +485,10 @@
                               <object class="GtkEntry" id="email_entry">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="invisible_char">&#x25CF;</property>
+                                <property name="invisible_char">●</property>
                                 <property name="activates_default">True</property>
-                                <property name="invisible_char_set">True</property>
                                 <property name="primary_icon_activatable">False</property>
                                 <property name="secondary_icon_activatable">False</property>
-                                <property name="primary_icon_sensitive">True</property>
-                                <property name="secondary_icon_sensitive">True</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
@@ -545,19 +526,24 @@
                     <property name="border_width">3</property>
                     <property name="label_xalign">0</property>
                     <child>
-                      <object class="GtkVBox" id="vbox14">
+                      <object class="GtkBox" id="vbox14">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="orientation">vertical</property>
                         <child>
-                          <object class="GtkHBox" id="hbox7">
+                          <object class="GtkBox" id="hbox7">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="margin_left">5</property>
+                            <property name="margin_right">5</property>
+                            <property name="margin_top">5</property>
+                            <property name="margin_bottom">5</property>
                             <property name="border_width">2</property>
                             <child>
                               <object class="GtkLabel" id="label34">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Language: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -571,13 +557,11 @@
                               <object class="GtkEntry" id="language_entry">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="invisible_char">&#x25CF;</property>
+                                <property name="hexpand">True</property>
+                                <property name="invisible_char">●</property>
                                 <property name="activates_default">True</property>
-                                <property name="invisible_char_set">True</property>
                                 <property name="primary_icon_activatable">False</property>
                                 <property name="secondary_icon_activatable">False</property>
-                                <property name="primary_icon_sensitive">True</property>
-                                <property name="secondary_icon_sensitive">True</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
@@ -615,14 +599,19 @@
                     <property name="border_width">3</property>
                     <property name="label_xalign">0</property>
                     <child>
-                      <object class="GtkVBox" id="vbox15">
+                      <object class="GtkBox" id="vbox15">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="margin_left">5</property>
+                        <property name="margin_right">5</property>
+                        <property name="margin_top">5</property>
+                        <property name="margin_bottom">5</property>
                         <property name="border_width">2</property>
+                        <property name="orientation">vertical</property>
                         <property name="spacing">2</property>
                         <property name="homogeneous">True</property>
                         <child>
-                          <object class="GtkHBox" id="hbox8">
+                          <object class="GtkBox" id="hbox8">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
@@ -639,9 +628,10 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="hours_hbox">
+                              <object class="GtkBox" id="hours_hbox">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
+                                <property name="hexpand">True</property>
                                 <child>
                                   <placeholder/>
                                 </child>
@@ -660,7 +650,7 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkHBox" id="hbox9">
+                          <object class="GtkBox" id="hbox9">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
@@ -677,9 +667,10 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="rate_hbox">
+                              <object class="GtkBox" id="rate_hbox">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
+                                <property name="hexpand">True</property>
                                 <child>
                                   <placeholder/>
                                 </child>
@@ -698,14 +689,13 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkHBox" id="hbox10">
+                          <object class="GtkBox" id="hbox10">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
                               <object class="GtkLabel" id="label37">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
                                 <property name="label" translatable="yes">Currency: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -716,7 +706,7 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="currency_box">
+                              <object class="GtkBox" id="currency_box">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
@@ -737,14 +727,13 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkHBox" id="hbox11">
+                          <object class="GtkBox" id="hbox11">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
                               <object class="GtkLabel" id="label39">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
                                 <property name="label" translatable="yes">Credit Account</property>
                                 <property name="justify">right</property>
                               </object>
@@ -759,10 +748,11 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
+                                <property name="halign">start</property>
+                                <property name="margin_right">5</property>
                                 <property name="use_underline">True</property>
                                 <property name="draw_indicator">True</property>
-                                <signal name="toggled" handler="gnc_employee_ccard_acct_toggled_cb"/>
+                                <signal name="toggled" handler="gnc_employee_ccard_acct_toggled_cb" swapped="no"/>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
@@ -772,7 +762,7 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="ccard_acct_hbox">
+                              <object class="GtkBox" id="ccard_acct_hbox">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
@@ -822,9 +812,10 @@
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="vbox13">
+              <object class="GtkBox" id="vbox13">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <object class="GtkFrame" id="frame3">
                     <property name="visible">True</property>
@@ -832,9 +823,10 @@
                     <property name="border_width">3</property>
                     <property name="label_xalign">0</property>
                     <child>
-                      <object class="GtkVBox" id="vbox16">
+                      <object class="GtkBox" id="vbox16">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="orientation">vertical</property>
                         <child>
                           <placeholder/>
                         </child>

commit ea8e6943c47aeebe1c97afae876156b794986a3e
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 12:55:54 2017 +0100

    Files linked to dialog-date-close.glade

diff --git a/src/business/business-gnome/dialog-date-close.c b/src/business/business-gnome/dialog-date-close.c
index e8a0ffe..2576588 100644
--- a/src/business/business-gnome/dialog-date-close.c
+++ b/src/business/business-gnome/dialog-date-close.c
@@ -137,8 +137,8 @@ gnc_dialog_date_close_parented (GtkWidget *parent, const char *message,
     ddc->ts = ts;
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-date-close.glade", "Date Close Dialog");
-    ddc->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Date Close Dialog"));
+    gnc_builder_add_from_file (builder, "dialog-date-close.glade", "date_close_dialog");
+    ddc->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "date_close_dialog"));
 
     date_box = GTK_WIDGET(gtk_builder_get_object (builder, "date_box"));
     ddc->date = gnc_date_edit_new (time(NULL), FALSE, FALSE);
@@ -227,8 +227,8 @@ gnc_dialog_dates_acct_question_parented (GtkWidget *parent, const char *message,
     ddc->terms = terms;
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-date-close.glade", "Date Account Dialog");
-    ddc->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Date Account Dialog"));
+    gnc_builder_add_from_file (builder, "dialog-date-close.glade", "date_account_dialog");
+    ddc->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "date_account_dialog"));
     ddc->memo_entry = GTK_WIDGET(gtk_builder_get_object (builder, "memo_entry"));
 
     acct_box = GTK_WIDGET(gtk_builder_get_object (builder, "acct_hbox"));
@@ -343,8 +343,8 @@ gnc_dialog_date_acct_parented (GtkWidget *parent, const char *message,
     ddc->acct = *acct;
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-date-close.glade", "Date Account Dialog");
-    ddc->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Date Account Dialog"));
+    gnc_builder_add_from_file (builder, "dialog-date-close.glade", "date_account_dialog");
+    ddc->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "date_account_dialog"));
 
     acct_box = GTK_WIDGET(gtk_builder_get_object (builder, "acct_hbox"));
     ddc->acct_combo = gnc_account_sel_new();
diff --git a/src/business/business-gnome/gtkbuilder/dialog-date-close.glade b/src/business/business-gnome/gtkbuilder/dialog-date-close.glade
index 45072f2..169b073 100644
--- a/src/business/business-gnome/gtkbuilder/dialog-date-close.glade
+++ b/src/business/business-gnome/gtkbuilder/dialog-date-close.glade
@@ -1,31 +1,32 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <object class="GtkDialog" id="Date Account Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="date_account_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Question</property>
     <property name="modal">True</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox6">
+      <object class="GtkBox" id="dialog-vbox6">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">8</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area6">
+          <object class="GtkButtonBox" id="dialog-action_area6">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancelbutton1">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -35,14 +36,13 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton1">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_dialog_date_close_ok_cb" swapped="no"/>
               </object>
               <packing>
@@ -60,11 +60,12 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox3">
+          <object class="GtkBox" id="vbox3">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
-              <object class="GtkHBox" id="the_top_hbox">
+              <object class="GtkBox" id="the_top_hbox">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">3</property>
@@ -72,7 +73,6 @@
                   <object class="GtkImage" id="image2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xpad">8</property>
                     <property name="stock">gtk-dialog-question</property>
                   </object>
                   <packing>
@@ -85,8 +85,7 @@
                   <object class="GtkLabel" id="top_msg_label">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xpad">8</property>
-                    <property name="label" translatable="no">Dummy message</property>
+                    <property name="label">Dummy message</property>
                   </object>
                   <packing>
                     <property name="expand">True</property>
@@ -102,7 +101,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="hbox4">
+              <object class="GtkBox" id="hbox4">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">3</property>
@@ -119,16 +118,17 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkVBox" id="vbox4">
+                  <object class="GtkBox" id="vbox4">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <property name="homogeneous">True</property>
                     <child>
                       <object class="GtkLabel" id="postdate_label">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
-                        <property name="label" translatable="no">postdate</property>
+                        <property name="halign">end</property>
+                        <property name="label">postd</property>
                         <property name="justify">right</property>
                       </object>
                       <packing>
@@ -141,8 +141,8 @@
                       <object class="GtkLabel" id="date_label">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
-                        <property name="label" translatable="no">duedate</property>
+                        <property name="halign">end</property>
+                        <property name="label">duedate</property>
                         <property name="justify">right</property>
                       </object>
                       <packing>
@@ -155,8 +155,8 @@
                       <object class="GtkLabel" id="memo_label">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
-                        <property name="label" translatable="Yes">Description</property>
+                        <property name="halign">end</property>
+                        <property name="label" translatable="yes">Description</property>
                         <property name="justify">right</property>
                       </object>
                       <packing>
@@ -169,8 +169,8 @@
                       <object class="GtkLabel" id="acct_label">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
-                        <property name="label" translatable="no">acct</property>
+                        <property name="halign">end</property>
+                        <property name="label">acct</property>
                         <property name="justify">right</property>
                       </object>
                       <packing>
@@ -199,12 +199,13 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkVBox" id="vbox5">
+                  <object class="GtkBox" id="vbox5">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <property name="homogeneous">True</property>
                     <child>
-                      <object class="GtkHBox" id="post_date_box">
+                      <object class="GtkBox" id="post_date_box">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
@@ -218,7 +219,7 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="date_hbox">
+                      <object class="GtkBox" id="date_hbox">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
@@ -235,12 +236,9 @@
                       <object class="GtkEntry" id="memo_entry">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="invisible_char">&#x25CF;</property>
-                        <property name="invisible_char_set">True</property>
+                        <property name="invisible_char">●</property>
                         <property name="primary_icon_activatable">False</property>
                         <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -249,7 +247,7 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="acct_hbox">
+                      <object class="GtkBox" id="acct_hbox">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
@@ -264,11 +262,11 @@
                     </child>
                     <child>
                       <object class="GtkCheckButton" id="question_check">
-                        <property name="label" translatable="no">question</property>
+                        <property name="label">question</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                       </object>
@@ -319,31 +317,31 @@
       <action-widget response="-5">okbutton1</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkDialog" id="Date Close Dialog">
+  <object class="GtkDialog" id="date_close_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Question</property>
     <property name="modal">True</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox4">
+      <object class="GtkBox" id="dialog-vbox4">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">8</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area4">
+          <object class="GtkButtonBox" id="dialog-action_area4">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancelbutton">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_dialog_date_close_cancel_cb" swapped="no"/>
               </object>
               <packing>
@@ -354,14 +352,13 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_dialog_date_close_ok_cb" swapped="no"/>
               </object>
               <packing>
@@ -379,11 +376,12 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox1">
+          <object class="GtkBox" id="vbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
-              <object class="GtkHBox" id="the_hbox">
+              <object class="GtkBox" id="the_hbox">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">3</property>
@@ -391,7 +389,6 @@
                   <object class="GtkImage" id="image1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xpad">8</property>
                     <property name="stock">gtk-dialog-question</property>
                   </object>
                   <packing>
@@ -404,8 +401,7 @@
                   <object class="GtkLabel" id="msg_label">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xpad">8</property>
-                    <property name="label" translatable="no">Dummy message</property>
+                    <property name="label">Dummy message</property>
                   </object>
                   <packing>
                     <property name="expand">True</property>
@@ -416,14 +412,15 @@
               </object>
               <packing>
                 <property name="expand">True</property>
-                <property name="fill">True</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="hbox2">
+              <object class="GtkBox" id="hbox2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="valign">start</property>
                 <property name="border_width">3</property>
                 <child>
                   <object class="GtkLabel" id="label1">
@@ -441,8 +438,7 @@
                   <object class="GtkLabel" id="label">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">1</property>
-                    <property name="label" translatable="no">label</property>
+                    <property name="label">label</property>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -452,7 +448,7 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="date_box">
+                  <object class="GtkBox" id="date_box">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
@@ -481,13 +477,13 @@
               </object>
               <packing>
                 <property name="expand">True</property>
-                <property name="fill">True</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
           </object>
           <packing>
-            <property name="expand">True</property>
+            <property name="expand">False</property>
             <property name="fill">True</property>
             <property name="position">2</property>
           </packing>

commit a147d77218b7f2feafcd6d87db4cc902d5e66164
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 12:55:31 2017 +0100

    Files linked to dialog-customer.glade

diff --git a/src/business/business-gnome/dialog-customer.c b/src/business/business-gnome/dialog-customer.c
index 176f7f6..2d4f189 100644
--- a/src/business/business-gnome/dialog-customer.c
+++ b/src/business/business-gnome/dialog-customer.c
@@ -572,8 +572,8 @@ gnc_customer_new_window (QofBook *bookp, GncCustomer *cust)
     gnc_builder_add_from_file (builder, "dialog-customer.glade", "terms_store");
     gnc_builder_add_from_file (builder, "dialog-customer.glade", "tax_included_store");
     gnc_builder_add_from_file (builder, "dialog-customer.glade", "taxtable_store");
-    gnc_builder_add_from_file (builder, "dialog-customer.glade", "Customer Dialog");
-    cw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "Customer Dialog"));
+    gnc_builder_add_from_file (builder, "dialog-customer.glade", "customer_dialog");
+    cw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "customer_dialog"));
 
     g_object_set_data (G_OBJECT (cw->dialog), "dialog_info", cw);
 
diff --git a/src/business/business-gnome/gtkbuilder/dialog-customer.glade b/src/business/business-gnome/gtkbuilder/dialog-customer.glade
index ea040f3..9e58fdf 100644
--- a/src/business/business-gnome/gtkbuilder/dialog-customer.glade
+++ b/src/business/business-gnome/gtkbuilder/dialog-customer.glade
@@ -1,7 +1,32 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <!-- interface-requires gtk+ 2.16 -->
-  <object class="GtkDialog" id="Customer Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkListStore" id="tax_included_store">
+    <columns>
+      <!-- column-name tax_included_name -->
+      <column type="gchararray"/>
+      <!-- column-name tax_included_value -->
+      <column type="gpointer"/>
+    </columns>
+  </object>
+  <object class="GtkListStore" id="taxtable_store">
+    <columns>
+      <!-- column-name taxtable_name -->
+      <column type="gchararray"/>
+      <!-- column-name taxtable_value -->
+      <column type="gpointer"/>
+    </columns>
+  </object>
+  <object class="GtkListStore" id="terms_store">
+    <columns>
+      <!-- column-name terms_name -->
+      <column type="gchararray"/>
+      <!-- column-name terms_pointer -->
+      <column type="gpointer"/>
+    </columns>
+  </object>
+  <object class="GtkDialog" id="customer_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">New Customer</property>
@@ -20,13 +45,12 @@
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="helpbutton">
-                <property name="label">gtk-help</property>
+                <property name="label" translatable="yes">_Help</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_customer_window_help_cb" swapped="no"/>
               </object>
               <packing>
@@ -37,13 +61,12 @@
             </child>
             <child>
               <object class="GtkButton" id="cancelbutton">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_customer_window_cancel_cb" swapped="no"/>
               </object>
               <packing>
@@ -54,14 +77,13 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="gnc_customer_window_ok_cb" swapped="no"/>
               </object>
               <packing>
@@ -83,9 +105,10 @@
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <child>
-              <object class="GtkVBox" id="vbox2">
+              <object class="GtkBox" id="vbox2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <object class="GtkFrame" id="frame1">
                     <property name="visible">True</property>
@@ -93,20 +116,25 @@
                     <property name="border_width">3</property>
                     <property name="label_xalign">0</property>
                     <child>
-                      <object class="GtkHBox" id="hbox2">
+                      <object class="GtkBox" id="hbox2">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="margin_left">5</property>
+                        <property name="margin_right">5</property>
+                        <property name="margin_top">5</property>
+                        <property name="margin_bottom">5</property>
                         <property name="border_width">2</property>
                         <child>
-                          <object class="GtkVBox" id="vbox11">
+                          <object class="GtkBox" id="vbox11">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="orientation">vertical</property>
                             <property name="homogeneous">True</property>
                             <child>
                               <object class="GtkLabel" id="label1">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Customer Number: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -120,7 +148,7 @@
                               <object class="GtkLabel" id="label19">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Company Name: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -136,7 +164,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
+                                <property name="halign">start</property>
                                 <property name="use_underline">True</property>
                                 <property name="active">True</property>
                                 <property name="draw_indicator">True</property>
@@ -155,9 +183,10 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkVBox" id="vbox12">
+                          <object class="GtkBox" id="vbox12">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="orientation">vertical</property>
                             <property name="homogeneous">True</property>
                             <child>
                               <object class="GtkEntry" id="id_entry">
@@ -229,20 +258,25 @@
                     <property name="border_width">3</property>
                     <property name="label_xalign">0</property>
                     <child>
-                      <object class="GtkHBox" id="hbox3">
+                      <object class="GtkBox" id="hbox3">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="margin_left">5</property>
+                        <property name="margin_right">5</property>
+                        <property name="margin_top">5</property>
+                        <property name="margin_bottom">5</property>
                         <child>
-                          <object class="GtkVBox" id="vbox5">
+                          <object class="GtkBox" id="vbox5">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="border_width">3</property>
+                            <property name="orientation">vertical</property>
                             <property name="homogeneous">True</property>
                             <child>
                               <object class="GtkLabel" id="label3">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Name: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -256,7 +290,7 @@
                               <object class="GtkLabel" id="label4">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Address: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -306,7 +340,7 @@
                               <object class="GtkLabel" id="label5">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Phone: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -320,7 +354,7 @@
                               <object class="GtkLabel" id="label6">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Fax: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -334,7 +368,7 @@
                               <object class="GtkLabel" id="label7">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Email: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -353,10 +387,11 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkVBox" id="vbox6">
+                          <object class="GtkBox" id="vbox6">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="border_width">3</property>
+                            <property name="orientation">vertical</property>
                             <property name="homogeneous">True</property>
                             <child>
                               <object class="GtkEntry" id="name_entry">
@@ -493,6 +528,12 @@
                       <object class="GtkScrolledWindow" id="scrolledwindow1">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="margin_left">5</property>
+                        <property name="margin_right">5</property>
+                        <property name="margin_top">5</property>
+                        <property name="margin_bottom">5</property>
+                        <property name="hexpand">True</property>
+                        <property name="vexpand">True</property>
                         <property name="border_width">3</property>
                         <property name="hscrollbar_policy">never</property>
                         <property name="shadow_type">in</property>
@@ -533,9 +574,10 @@
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="vbox13">
+              <object class="GtkBox" id="vbox13">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <object class="GtkFrame" id="frame3">
                     <property name="visible">True</property>
@@ -543,19 +585,24 @@
                     <property name="border_width">3</property>
                     <property name="label_xalign">0</property>
                     <child>
-                      <object class="GtkHBox" id="hbox6">
+                      <object class="GtkBox" id="hbox6">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="margin_left">5</property>
+                        <property name="margin_right">5</property>
+                        <property name="margin_top">5</property>
+                        <property name="margin_bottom">5</property>
                         <child>
-                          <object class="GtkVBox" id="vbox7">
+                          <object class="GtkBox" id="vbox7">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="orientation">vertical</property>
                             <property name="homogeneous">True</property>
                             <child>
                               <object class="GtkLabel" id="label36">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Currency: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -569,7 +616,7 @@
                               <object class="GtkLabel" id="label8">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Terms: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -583,7 +630,7 @@
                               <object class="GtkLabel" id="label10">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Discount: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -597,7 +644,7 @@
                               <object class="GtkLabel" id="label11">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Credit Limit: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -611,7 +658,7 @@
                               <object class="GtkLabel" id="label34">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Tax Included: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -625,7 +672,7 @@
                               <object class="GtkLabel" id="label35">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Tax Table: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -643,13 +690,14 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkVBox" id="vbox1">
+                          <object class="GtkBox" id="vbox1">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="border_width">3</property>
+                            <property name="orientation">vertical</property>
                             <property name="homogeneous">True</property>
                             <child>
-                              <object class="GtkHBox" id="currency_box">
+                              <object class="GtkBox" id="currency_box">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
@@ -682,7 +730,7 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="discount_box">
+                              <object class="GtkBox" id="discount_box">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
@@ -696,7 +744,7 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="credit_box">
+                              <object class="GtkBox" id="credit_box">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
@@ -729,7 +777,7 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="hbox7">
+                              <object class="GtkBox" id="hbox7">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
@@ -738,7 +786,8 @@
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
                                     <property name="tooltip_text" translatable="yes">Override the global Tax Table?</property>
-                                    <property name="use_action_appearance">False</property>
+                                    <property name="halign">start</property>
+                                    <property name="margin_right">5</property>
                                     <property name="use_underline">True</property>
                                     <property name="draw_indicator">True</property>
                                     <signal name="toggled" handler="gnc_customer_taxtable_check_cb" swapped="no"/>
@@ -819,9 +868,10 @@
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="vbox9">
+              <object class="GtkBox" id="vbox9">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <object class="GtkFrame" id="frame5">
                     <property name="visible">True</property>
@@ -829,20 +879,25 @@
                     <property name="border_width">3</property>
                     <property name="label_xalign">0</property>
                     <child>
-                      <object class="GtkHBox" id="hbox5">
+                      <object class="GtkBox" id="hbox5">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="margin_left">5</property>
+                        <property name="margin_right">5</property>
+                        <property name="margin_top">5</property>
+                        <property name="margin_bottom">5</property>
                         <child>
-                          <object class="GtkVBox" id="vbox8">
+                          <object class="GtkBox" id="vbox8">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="border_width">4</property>
+                            <property name="orientation">vertical</property>
                             <property name="homogeneous">True</property>
                             <child>
                               <object class="GtkLabel" id="label14">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Name: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -856,7 +911,7 @@
                               <object class="GtkLabel" id="label15">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Address: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -906,7 +961,7 @@
                               <object class="GtkLabel" id="label16">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Phone: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -920,7 +975,7 @@
                               <object class="GtkLabel" id="label17">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Fax: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -934,7 +989,7 @@
                               <object class="GtkLabel" id="label18">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
+                                <property name="halign">end</property>
                                 <property name="label" translatable="yes">Email: </property>
                                 <property name="justify">right</property>
                               </object>
@@ -953,10 +1008,11 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkVBox" id="vbox3">
+                          <object class="GtkBox" id="vbox3">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="border_width">3</property>
+                            <property name="orientation">vertical</property>
                             <property name="homogeneous">True</property>
                             <child>
                               <object class="GtkEntry" id="shipname_entry">
@@ -1122,28 +1178,4 @@
       <action-widget response="-5">okbutton</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkListStore" id="tax_included_store">
-    <columns>
-      <!-- column-name tax_included_name -->
-      <column type="gchararray"/>
-      <!-- column-name tax_included_value -->
-      <column type="gpointer"/>
-    </columns>
-  </object>
-  <object class="GtkListStore" id="taxtable_store">
-    <columns>
-      <!-- column-name taxtable_name -->
-      <column type="gchararray"/>
-      <!-- column-name taxtable_value -->
-      <column type="gpointer"/>
-    </columns>
-  </object>
-  <object class="GtkListStore" id="terms_store">
-    <columns>
-      <!-- column-name terms_name -->
-      <column type="gchararray"/>
-      <!-- column-name terms_pointer -->
-      <column type="gpointer"/>
-    </columns>
-  </object>
 </interface>

commit ff6c83cabed0f6149e1092a59e144fee2d4986e4
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 12:55:06 2017 +0100

    Files linked to dialog-choose-owner.glade

diff --git a/src/business/business-gnome/dialog-choose-owner.c b/src/business/business-gnome/dialog-choose-owner.c
index c063875..91be7ad 100644
--- a/src/business/business-gnome/dialog-choose-owner.c
+++ b/src/business/business-gnome/dialog-choose-owner.c
@@ -59,11 +59,11 @@ gcoi_create_dialog(Split* split)
 
     /* Open the Glade file */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-choose-owner.glade", "Choose Owner Dialog");
+    gnc_builder_add_from_file (builder, "dialog-choose-owner.glade", "choose_owner_dialog");
     g_assert(builder);
 
     /* Get the dialog handle */
-    dco->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Choose Owner Dialog"));
+    dco->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "choose_owner_dialog"));
     g_assert(dco->dialog);
 
     /* Get the title widget and set the title */
diff --git a/src/business/business-gnome/gtkbuilder/dialog-choose-owner.glade b/src/business/business-gnome/gtkbuilder/dialog-choose-owner.glade
index e8ef0da..8e825e8 100644
--- a/src/business/business-gnome/gtkbuilder/dialog-choose-owner.glade
+++ b/src/business/business-gnome/gtkbuilder/dialog-choose-owner.glade
@@ -1,30 +1,30 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkDialog" id="Choose Owner Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="choose_owner_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Choose Owner Dialog</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox3">
+      <object class="GtkBox" id="dialog-vbox3">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area3">
+          <object class="GtkButtonBox" id="dialog-action_area3">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancelbutton1">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -34,13 +34,12 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton1">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -57,9 +56,10 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox1">
+          <object class="GtkBox" id="vbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
               <object class="GtkLabel" id="title_label">
                 <property name="visible">True</property>
@@ -74,7 +74,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkHSeparator" id="hseparator1">
+              <object class="GtkSeparator" id="hseparator1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
               </object>
@@ -85,19 +85,19 @@
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="hbox3">
+              <object class="GtkBox" id="hbox3">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
-                  <object class="GtkVBox" id="vbox2">
+                  <object class="GtkBox" id="vbox2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <property name="homogeneous">True</property>
                     <child>
                       <object class="GtkLabel" id="label4">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes">Description</property>
                       </object>
                       <packing>
@@ -110,7 +110,6 @@
                       <object class="GtkLabel" id="owner_label">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label">(owner)</property>
                       </object>
                       <packing>
@@ -127,15 +126,15 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkVBox" id="vbox3">
+                  <object class="GtkBox" id="vbox3">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <property name="homogeneous">True</property>
                     <child>
                       <object class="GtkLabel" id="desc_label">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label">(desc)</property>
                       </object>
                       <packing>
@@ -145,7 +144,7 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="owner_box">
+                      <object class="GtkBox" id="owner_box">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>

commit 6102f1d5f12105fe74fa974777bb3e04816dc42c
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 12:54:40 2017 +0100

    Files linked to dialog-billterms.glade

diff --git a/src/business/business-gnome/dialog-billterms.c b/src/business/business-gnome/dialog-billterms.c
index c7e3b3f..ce2ad27 100644
--- a/src/business/business-gnome/dialog-billterms.c
+++ b/src/business/business-gnome/dialog-billterms.c
@@ -109,7 +109,6 @@ read_widget (GtkBuilder *builder, char *name, gboolean read_only)
         adj = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (widget));
         gtk_adjustment_set_step_increment (adj, 0.0);
         gtk_adjustment_set_page_increment (adj, 0.0);
-        gtk_adjustment_changed (adj);
     }
 
     return widget;
@@ -132,9 +131,9 @@ init_notebook_widgets (BillTermNB *notebook, gboolean read_only,
     gnc_builder_add_from_file (builder, "dialog-billterms.glade", "pdiscount_day_adj");
     gnc_builder_add_from_file (builder, "dialog-billterms.glade", "pdue_day_adj");
     gnc_builder_add_from_file (builder, "dialog-billterms.glade", "pcutoff_day_adj");
-    gnc_builder_add_from_file (builder, "dialog-billterms.glade", "Term Notebook");
+    gnc_builder_add_from_file (builder, "dialog-billterms.glade", "terms_notebook_window");
     notebook->notebook = GTK_WIDGET(gtk_builder_get_object (builder, "term_notebook"));
-    parent = GTK_WIDGET(gtk_builder_get_object (builder, "Term Notebook"));
+    parent = GTK_WIDGET(gtk_builder_get_object (builder, "terms_notebook_window"));
 
     /* load the "days" widgets */
     notebook->days_due_days = read_widget (builder, "days:due_days", read_only);
@@ -419,14 +418,14 @@ new_billterm_dialog (BillTermsWindow *btw, GncBillTerm *term,
     /* Open and read the Glade File */
     if (term == NULL)
     {
-        dialog_name = "New Term Dialog";
+        dialog_name = "new_term_dialog";
         dialog_desc = "description_entry";
         dialog_combo = "type_combobox";
         dialog_nb = "note_book_hbox";
     }
     else
     {
-        dialog_name = "Edit Term Dialog";
+        dialog_name = "edit_term_dialog";
         dialog_desc = "entry_desc";
         dialog_combo = "type_combo";
         dialog_nb = "notebook_hbox";
@@ -767,8 +766,8 @@ gnc_ui_billterms_window_new (QofBook *book)
 
     /* Open and read the Glade File */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-billterms.glade", "Terms Window");
-    btw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Terms Window"));
+    gnc_builder_add_from_file (builder, "dialog-billterms.glade", "terms_dialog");
+    btw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "terms_dialog"));
     btw->terms_view = GTK_WIDGET(gtk_builder_get_object (builder, "terms_view"));
     btw->desc_entry = GTK_WIDGET(gtk_builder_get_object (builder, "desc_entry"));
     btw->type_label = GTK_WIDGET(gtk_builder_get_object (builder, "type_label"));
diff --git a/src/business/business-gnome/gtkbuilder/dialog-billterms.glade b/src/business/business-gnome/gtkbuilder/dialog-billterms.glade
index 0cd0e55..b84d653 100644
--- a/src/business/business-gnome/gtkbuilder/dialog-billterms.glade
+++ b/src/business/business-gnome/gtkbuilder/dialog-billterms.glade
@@ -1,562 +1,282 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkDialog" id="Edit Term Dialog">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="modal">True</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox9">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="spacing">8</property>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area9">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="cancel_butt">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="has_tooltip">True</property>
-                <property name="tooltip_markup">Cancel your changes</property>
-                <property name="tooltip_text" translatable="yes">Cancel your changes</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="ok_butt">
-                <property name="label">gtk-ok</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="has_tooltip">True</property>
-                <property name="tooltip_markup">Commit this Billing Term</property>
-                <property name="tooltip_text" translatable="yes">Commit this Billing Term</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkTable" id="table3">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="n_rows">4</property>
-            <property name="n_columns">2</property>
-            <child>
-              <object class="GtkLabel" id="label3">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes"><b>Term Definition</b></property>
-                <property name="use_markup">True</property>
-              </object>
-              <packing>
-                <property name="right_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkAlignment" id="alignment7">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="left_padding">12</property>
-                <child>
-                  <object class="GtkLabel" id="label4">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">De_scription:</property>
-                    <property name="use_underline">True</property>
-                    <property name="justify">right</property>
-                    <property name="mnemonic_widget">entry_desc</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkEntry" id="entry_desc">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="has_tooltip">True</property>
-                <property name="tooltip_markup">The description of the Billing Term, printed on invoices</property>
-                <property name="tooltip_text" translatable="yes">The description of the Billing Term, printed on invoices</property>
-                <property name="invisible_char">&#x25CF;</property>
-                <property name="activates_default">True</property>
-                <property name="invisible_char_set">True</property>
-                <property name="primary_icon_activatable">False</property>
-                <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkAlignment" id="alignment8">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="left_padding">12</property>
-                <child>
-                  <object class="GtkLabel" id="label6">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">_Type:</property>
-                    <property name="use_underline">True</property>
-                    <property name="justify">right</property>
-                    <property name="mnemonic_widget">type_combo</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkComboBox" id="type_combo">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="model">type_liststore</property>
-                <signal name="changed" handler="billterms_type_combobox_changed" swapped="no"/>
-                <child>
-                  <object class="GtkCellRendererText" id="cellrenderertext3"/>
-                  <attributes>
-                    <attribute name="text">0</attribute>
-                  </attributes>
-                </child>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkHBox" id="notebook_hbox">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">GTK_FILL</property>
-              </packing>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">2</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="-6">cancel_butt</action-widget>
-      <action-widget response="-5">ok_butt</action-widget>
-    </action-widgets>
-  </object>
-  <object class="GtkDialog" id="New Term Dialog">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="modal">True</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox7">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="spacing">8</property>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area7">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="cancel_button">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="has_tooltip">True</property>
-                <property name="tooltip_markup">Cancel your changes</property>
-                <property name="tooltip_text" translatable="yes">Cancel your changes</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="ok_button">
-                <property name="label">gtk-ok</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="has_tooltip">True</property>
-                <property name="tooltip_markup">Commit this Billing Term</property>
-                <property name="tooltip_text" translatable="yes">Commit this Billing Term</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkTable" id="table2">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="n_rows">7</property>
-            <property name="n_columns">2</property>
-            <child>
-              <object class="GtkEntry" id="name_entry">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="has_tooltip">True</property>
-                <property name="tooltip_markup">The internal name of the Billing Term.</property>
-                <property name="tooltip_text" translatable="yes">The internal name of the Billing Term.</property>
-                <property name="invisible_char">&#x25CF;</property>
-                <property name="activates_default">True</property>
-                <property name="invisible_char_set">True</property>
-                <property name="primary_icon_activatable">False</property>
-                <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkEntry" id="description_entry">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="has_tooltip">True</property>
-                <property name="tooltip_markup">The description of the Billing Term, printed on invoices</property>
-                <property name="tooltip_text" translatable="yes">The description of the Billing Term, printed on invoices</property>
-                <property name="invisible_char">&#x25CF;</property>
-                <property name="activates_default">True</property>
-                <property name="invisible_char_set">True</property>
-                <property name="primary_icon_activatable">False</property>
-                <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkHBox" id="note_book_hbox">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">6</property>
-                <property name="bottom_attach">7</property>
-                <property name="x_options">GTK_FILL</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label17">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes"><b>New Billing Term</b></property>
-                <property name="use_markup">True</property>
-              </object>
-              <packing>
-                <property name="right_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label18">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes"><b>Term Definition</b></property>
-                <property name="use_markup">True</property>
-              </object>
-              <packing>
-                <property name="right_attach">2</property>
-                <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label24">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-              </object>
-              <packing>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkAlignment" id="alignment4">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="left_padding">12</property>
-                <child>
-                  <object class="GtkLabel" id="label5">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">_Name:</property>
-                    <property name="use_underline">True</property>
-                    <property name="justify">right</property>
-                    <property name="mnemonic_widget">name_entry</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
-              </packing>
-            </child>
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkAdjustment" id="discount_adj">
+    <property name="upper">100</property>
+    <property name="step_increment">0.01</property>
+    <property name="page_increment">0.10000000000000001</property>
+  </object>
+  <object class="GtkAdjustment" id="discount_days_adj">
+    <property name="upper">365</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="due_days_adj">
+    <property name="upper">365</property>
+    <property name="value">30</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="pcutoff_day_adj">
+    <property name="lower">-27</property>
+    <property name="upper">27</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="pdiscount_adj">
+    <property name="upper">100</property>
+    <property name="step_increment">0.01</property>
+    <property name="page_increment">0.10000000000000001</property>
+  </object>
+  <object class="GtkAdjustment" id="pdiscount_day_adj">
+    <property name="lower">1</property>
+    <property name="upper">31</property>
+    <property name="value">1</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="pdue_day_adj">
+    <property name="lower">1</property>
+    <property name="upper">31</property>
+    <property name="value">1</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkWindow" id="terms_notebook_window">
+    <property name="can_focus">False</property>
+    <property name="title" translatable="yes">window1</property>
+    <child>
+      <object class="GtkNotebook" id="term_notebook">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="show_tabs">False</property>
+        <property name="show_border">False</property>
+        <child>
+          <object class="GtkBox" id="vbox13">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
-              <object class="GtkAlignment" id="alignment5">
+              <object class="GtkBox" id="hbox9">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="left_padding">12</property>
                 <child>
-                  <object class="GtkLabel" id="label22">
+                  <object class="GtkBox" id="vbox7">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">De_scription:</property>
-                    <property name="use_underline">True</property>
-                    <property name="justify">right</property>
-                    <property name="mnemonic_widget">description_entry</property>
+                    <property name="orientation">vertical</property>
+                    <property name="homogeneous">True</property>
+                    <child>
+                      <object class="GtkLabel" id="label13">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">end</property>
+                        <property name="label" translatable="yes">Due Days: </property>
+                        <property name="justify">right</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label14">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">end</property>
+                        <property name="label" translatable="yes">Discount Days: </property>
+                        <property name="justify">right</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label15">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">end</property>
+                        <property name="label" translatable="yes">Discount %: </property>
+                        <property name="justify">right</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
                   </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
                 </child>
-              </object>
-              <packing>
-                <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkAlignment" id="alignment6">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="left_padding">12</property>
                 <child>
-                  <object class="GtkLabel" id="label21">
+                  <object class="GtkBox" id="vbox8">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">_Type:</property>
-                    <property name="use_underline">True</property>
-                    <property name="justify">right</property>
-                    <property name="mnemonic_widget">type_combobox</property>
+                    <property name="orientation">vertical</property>
+                    <property name="homogeneous">True</property>
+                    <child>
+                      <object class="GtkSpinButton" id="days:due_days">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="has_tooltip">True</property>
+                        <property name="tooltip_markup">The number of days to pay the bill after the post date.</property>
+                        <property name="tooltip_text" translatable="yes">The number of days to pay the bill after the post date.</property>
+                        <property name="invisible_char">●</property>
+                        <property name="primary_icon_activatable">False</property>
+                        <property name="secondary_icon_activatable">False</property>
+                        <property name="adjustment">due_days_adj</property>
+                        <property name="climb_rate">1</property>
+                        <property name="snap_to_ticks">True</property>
+                        <property name="numeric">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="days:discount_days">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="has_tooltip">True</property>
+                        <property name="tooltip_markup">The number of days after the post date during which a discount will be applied for early payment.</property>
+                        <property name="tooltip_text" translatable="yes">The number of days after the post date during which a discount will be applied for early payment.</property>
+                        <property name="invisible_char">●</property>
+                        <property name="primary_icon_activatable">False</property>
+                        <property name="secondary_icon_activatable">False</property>
+                        <property name="adjustment">discount_days_adj</property>
+                        <property name="climb_rate">1</property>
+                        <property name="snap_to_ticks">True</property>
+                        <property name="numeric">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="days:discount">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="has_tooltip">True</property>
+                        <property name="tooltip_markup">The percentage discount applied for early payment.</property>
+                        <property name="tooltip_text" translatable="yes">The percentage discount applied for early payment.</property>
+                        <property name="invisible_char">●</property>
+                        <property name="primary_icon_activatable">False</property>
+                        <property name="secondary_icon_activatable">False</property>
+                        <property name="adjustment">discount_adj</property>
+                        <property name="climb_rate">1</property>
+                        <property name="digits">2</property>
+                        <property name="snap_to_ticks">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
                   </object>
+                  <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
                 </child>
               </object>
               <packing>
-                <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkComboBox" id="type_combobox">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="model">type_liststore</property>
-                <signal name="changed" handler="billterms_type_combobox_changed" swapped="no"/>
-                <child>
-                  <object class="GtkCellRendererText" id="cellrenderertext1"/>
-                  <attributes>
-                    <attribute name="text">0</attribute>
-                  </attributes>
-                </child>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
               </packing>
             </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
+          </object>
+        </child>
+        <child type="tab">
+          <object class="GtkLabel" id="days_label">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Days</property>
+            <property name="justify">center</property>
           </object>
           <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">2</property>
+            <property name="tab_fill">False</property>
           </packing>
         </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="-6">cancel_button</action-widget>
-      <action-widget response="-5">ok_button</action-widget>
-    </action-widgets>
-  </object>
-  <object class="GtkWindow" id="Term Notebook">
-    <property name="can_focus">False</property>
-    <property name="title" translatable="yes">window1</property>
-    <child>
-      <object class="GtkNotebook" id="term_notebook">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="show_tabs">False</property>
-        <property name="show_border">False</property>
         <child>
-          <object class="GtkVBox" id="vbox13">
+          <object class="GtkBox" id="vbox14">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
-              <object class="GtkHBox" id="hbox9">
+              <object class="GtkBox" id="hbox14">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
-                  <object class="GtkVBox" id="vbox7">
+                  <object class="GtkBox" id="vbox11">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <property name="homogeneous">True</property>
                     <child>
-                      <object class="GtkLabel" id="label13">
+                      <object class="GtkLabel" id="label7">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Due Day: </property>
+                        <property name="justify">right</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label8">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
-                        <property name="label" translatable="yes">Due Days: </property>
+                        <property name="label" translatable="yes">Discount Day: </property>
                         <property name="justify">right</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
-                        <property name="position">0</property>
+                        <property name="position">1</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkLabel" id="label14">
+                      <object class="GtkLabel" id="label19">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
-                        <property name="label" translatable="yes">Discount Days: </property>
+                        <property name="label" translatable="yes">Discount %: </property>
                         <property name="justify">right</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
-                        <property name="position">1</property>
+                        <property name="position">2</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkLabel" id="label15">
+                      <object class="GtkLabel" id="label20">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
-                        <property name="label" translatable="yes">Discount %: </property>
+                        <property name="label" translatable="yes">Cutoff Day: </property>
                         <property name="justify">right</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
-                        <property name="position">2</property>
+                        <property name="position">3</property>
                       </packing>
                     </child>
                   </object>
@@ -567,27 +287,26 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkVBox" id="vbox8">
+                  <object class="GtkBox" id="vbox12">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <property name="homogeneous">True</property>
                     <child>
-                      <object class="GtkSpinButton" id="days:due_days">
+                      <object class="GtkSpinButton" id="prox:due_day">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="has_tooltip">True</property>
-                        <property name="tooltip_markup">The number of days to pay the bill after the post date.</property>
-                        <property name="tooltip_text" translatable="yes">The number of days to pay the bill after the post date.</property>
-                        <property name="invisible_char">&#x25CF;</property>
-                        <property name="invisible_char_set">True</property>
+                        <property name="tooltip_markup">The day of the month bills are due</property>
+                        <property name="tooltip_text" translatable="yes">The day of the month bills are due</property>
+                        <property name="invisible_char">●</property>
                         <property name="primary_icon_activatable">False</property>
                         <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
-                        <property name="adjustment">due_days_adj</property>
+                        <property name="adjustment">pdue_day_adj</property>
                         <property name="climb_rate">1</property>
                         <property name="snap_to_ticks">True</property>
                         <property name="numeric">True</property>
+                        <property name="wrap">True</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -596,22 +315,20 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkSpinButton" id="days:discount_days">
+                      <object class="GtkSpinButton" id="prox:discount_day">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="has_tooltip">True</property>
-                        <property name="tooltip_markup">The number of days after the post date during which a discount will be applied for early payment.</property>
-                        <property name="tooltip_text" translatable="yes">The number of days after the post date during which a discount will be applied for early payment.</property>
-                        <property name="invisible_char">&#x25CF;</property>
-                        <property name="invisible_char_set">True</property>
+                        <property name="tooltip_markup">The last day of the month for the early payment discount.</property>
+                        <property name="tooltip_text" translatable="yes">The last day of the month for the early payment discount.</property>
+                        <property name="invisible_char">●</property>
                         <property name="primary_icon_activatable">False</property>
                         <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
-                        <property name="adjustment">discount_days_adj</property>
+                        <property name="adjustment">pdiscount_day_adj</property>
                         <property name="climb_rate">1</property>
                         <property name="snap_to_ticks">True</property>
                         <property name="numeric">True</property>
+                        <property name="wrap">True</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -620,22 +337,20 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkSpinButton" id="days:discount">
+                      <object class="GtkSpinButton" id="prox:discount">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="has_tooltip">True</property>
-                        <property name="tooltip_markup">The percentage discount applied for early payment.</property>
-                        <property name="tooltip_text" translatable="yes">The percentage discount applied for early payment.</property>
-                        <property name="invisible_char">&#x25CF;</property>
-                        <property name="invisible_char_set">True</property>
+                        <property name="tooltip_markup">The discount percentage applied if paid early.</property>
+                        <property name="tooltip_text" translatable="yes">The discount percentage applied if paid early.</property>
+                        <property name="invisible_char">●</property>
                         <property name="primary_icon_activatable">False</property>
                         <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
-                        <property name="adjustment">discount_adj</property>
+                        <property name="adjustment">pdiscount_adj</property>
                         <property name="climb_rate">1</property>
                         <property name="digits">2</property>
                         <property name="snap_to_ticks">True</property>
+                        <property name="numeric">True</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -643,6 +358,178 @@
                         <property name="position">2</property>
                       </packing>
                     </child>
+                    <child>
+                      <object class="GtkSpinButton" id="prox:cutoff_day">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="has_tooltip">True</property>
+                        <property name="tooltip_markup">The cutoff day for applying bills to the next month. After the cutoff, bills are applied to the following month. Negative values count backwards from the end of the month.</property>
+                        <property name="tooltip_text" translatable="yes">The cutoff day for applying bills to the next month. After the cutoff, bills are applied to the following month. Negative values count backwards from the end of the month.</property>
+                        <property name="invisible_char">●</property>
+                        <property name="primary_icon_activatable">False</property>
+                        <property name="secondary_icon_activatable">False</property>
+                        <property name="adjustment">pcutoff_day_adj</property>
+                        <property name="climb_rate">1</property>
+                        <property name="snap_to_ticks">True</property>
+                        <property name="numeric">True</property>
+                        <property name="wrap">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">3</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child type="tab">
+          <object class="GtkLabel" id="proximo_label">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Proximo</property>
+            <property name="justify">center</property>
+          </object>
+          <packing>
+            <property name="position">1</property>
+            <property name="tab_fill">False</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkBox" id="box1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
+            <child>
+              <placeholder/>
+            </child>
+          </object>
+          <packing>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child type="tab">
+          <object class="GtkLabel" id="grid_label">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Table</property>
+            <property name="justify">center</property>
+          </object>
+          <packing>
+            <property name="position">2</property>
+            <property name="tab_fill">False</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+  <object class="GtkDialog" id="terms_dialog">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="title" translatable="yes">Terms</property>
+    <property name="type_hint">dialog</property>
+    <signal name="destroy" handler="billterms_window_destroy_cb" swapped="no"/>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox5">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">8</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area5">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="close_button">
+                <property name="label" translatable="yes">_Close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="has_tooltip">True</property>
+                <property name="tooltip_markup">Close this window</property>
+                <property name="tooltip_text" translatable="yes">Close this window</property>
+                <property name="use_underline">True</property>
+                <signal name="clicked" handler="billterms_window_close" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkBox" id="hbox1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkBox" id="vbox18">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkLabel" id="label1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes"><b>Terms</b></property>
+                    <property name="use_markup">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkAlignment" id="alignment1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="left_padding">12</property>
+                    <child>
+                      <object class="GtkScrolledWindow" id="scrolledwindow1">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="shadow_type">in</property>
+                        <child>
+                          <object class="GtkTreeView" id="terms_view">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="headers_visible">False</property>
+                            <property name="rules_hint">True</property>
+                            <child internal-child="selection">
+                              <object class="GtkTreeSelection" id="treeview-selection1"/>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
                   </object>
                   <packing>
                     <property name="expand">True</property>
@@ -650,285 +537,485 @@
                     <property name="position">1</property>
                   </packing>
                 </child>
+                <child>
+                  <object class="GtkAlignment" id="alignment2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="left_padding">12</property>
+                    <child>
+                      <object class="GtkButtonBox" id="hbox2">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="spacing">6</property>
+                        <property name="layout_style">spread</property>
+                        <child>
+                          <object class="GtkButton" id="delete_term_button">
+                            <property name="label" translatable="yes">_Delete</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="has_tooltip">True</property>
+                            <property name="tooltip_markup">Delete the current Billing Term</property>
+                            <property name="tooltip_text" translatable="yes">Delete the current Billing Term</property>
+                            <property name="use_underline">True</property>
+                            <signal name="clicked" handler="billterms_delete_term_cb" swapped="no"/>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkButton" id="new_term_button">
+                            <property name="label" translatable="yes">_New</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="has_tooltip">True</property>
+                            <property name="tooltip_markup">Create a new Billing Term</property>
+                            <property name="tooltip_text" translatable="yes">Create a new Billing Term</property>
+                            <property name="use_underline">True</property>
+                            <signal name="clicked" handler="billterms_new_term_cb" swapped="no"/>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkSeparator" id="vseparator1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
               </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">True</property>
-                <property name="position">0</property>
+                <property name="position">1</property>
               </packing>
             </child>
-          </object>
-        </child>
-        <child type="tab">
-          <object class="GtkLabel" id="days_label">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label" translatable="yes">Days</property>
-            <property name="justify">center</property>
-          </object>
-          <packing>
-            <property name="tab_fill">False</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkVBox" id="vbox14">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <child>
-              <object class="GtkHBox" id="hbox14">
+              <object class="GtkBox" id="vbox19">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
                 <child>
-                  <object class="GtkVBox" id="vbox11">
+                  <object class="GtkLabel" id="label2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="homogeneous">True</property>
-                    <child>
-                      <object class="GtkLabel" id="label7">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
-                        <property name="label" translatable="yes">Due Day: </property>
-                        <property name="justify">right</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label8">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
-                        <property name="label" translatable="yes">Discount Day: </property>
-                        <property name="justify">right</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label19">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
-                        <property name="label" translatable="yes">Discount %: </property>
-                        <property name="justify">right</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">2</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label20">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
-                        <property name="label" translatable="yes">Cutoff Day: </property>
-                        <property name="justify">right</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">3</property>
-                      </packing>
-                    </child>
+                    <property name="label" translatable="yes"><b>Term Definition</b></property>
+                    <property name="use_markup">True</property>
                   </object>
                   <packing>
                     <property name="expand">False</property>
-                    <property name="fill">True</property>
+                    <property name="fill">False</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkVBox" id="vbox12">
+                  <object class="GtkBox" id="term_vbox">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="homogeneous">True</property>
+                    <property name="border_width">2</property>
+                    <property name="orientation">vertical</property>
+                    <property name="spacing">6</property>
                     <child>
-                      <object class="GtkSpinButton" id="prox:due_day">
+                      <object class="GtkGrid" id="table1">
                         <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="has_tooltip">True</property>
-                        <property name="tooltip_markup">The day of the month bills are due</property>
-                        <property name="tooltip_text" translatable="yes">The day of the month bills are due</property>
-                        <property name="invisible_char">&#x25CF;</property>
-                        <property name="invisible_char_set">True</property>
-                        <property name="primary_icon_activatable">False</property>
-                        <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
-                        <property name="adjustment">pdue_day_adj</property>
-                        <property name="climb_rate">1</property>
-                        <property name="snap_to_ticks">True</property>
-                        <property name="numeric">True</property>
-                        <property name="wrap">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="column_spacing">12</property>
+                        <child>
+                          <object class="GtkLabel" id="label16">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="label" translatable="yes">De_scription:</property>
+                            <property name="use_underline">True</property>
+                            <property name="justify">right</property>
+                            <property name="mnemonic_widget">desc_entry</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label9">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="label" translatable="yes">_Type:</property>
+                            <property name="use_underline">True</property>
+                            <property name="justify">right</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkEntry" id="desc_entry">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="has_tooltip">True</property>
+                            <property name="tooltip_markup">The description of the Billing Term, printed on invoices</property>
+                            <property name="tooltip_text" translatable="yes">The description of the Billing Term, printed on invoices</property>
+                            <property name="hexpand">True</property>
+                            <property name="editable">False</property>
+                            <property name="invisible_char">●</property>
+                            <property name="activates_default">True</property>
+                            <property name="primary_icon_activatable">False</property>
+                            <property name="secondary_icon_activatable">False</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="type_label">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
+                            <property name="label">(type)</property>
+                            <property name="justify">center</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkBox" id="notebook_box">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="hexpand">True</property>
+                            <child>
+                              <placeholder/>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">2</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
                       </object>
                       <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
                         <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkSpinButton" id="prox:discount_day">
+                      <object class="GtkButtonBox" id="hbox30">
                         <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="has_tooltip">True</property>
-                        <property name="tooltip_markup">The last day of the month for the early payment discount.</property>
-                        <property name="tooltip_text" translatable="yes">The last day of the month for the early payment discount.</property>
-                        <property name="invisible_char">&#x25CF;</property>
-                        <property name="invisible_char_set">True</property>
-                        <property name="primary_icon_activatable">False</property>
-                        <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
-                        <property name="adjustment">pdiscount_day_adj</property>
-                        <property name="climb_rate">1</property>
-                        <property name="snap_to_ticks">True</property>
-                        <property name="numeric">True</property>
-                        <property name="wrap">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="layout_style">spread</property>
+                        <child>
+                          <object class="GtkButton" id="edit_term_button">
+                            <property name="label" translatable="yes">_Edit</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="has_tooltip">True</property>
+                            <property name="tooltip_markup">Edit the current Billing Term</property>
+                            <property name="tooltip_text" translatable="yes">Edit the current Billing Term</property>
+                            <property name="use_underline">True</property>
+                            <signal name="clicked" handler="billterms_edit_term_cb" swapped="no"/>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
                       </object>
                       <packing>
                         <property name="expand">False</property>
-                        <property name="fill">False</property>
+                        <property name="fill">True</property>
+                        <property name="pack_type">end</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                    <child>
-                      <object class="GtkSpinButton" id="prox:discount">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="has_tooltip">True</property>
-                        <property name="tooltip_markup">The discount percentage applied if paid early.</property>
-                        <property name="tooltip_text" translatable="yes">The discount percentage applied if paid early.</property>
-                        <property name="invisible_char">&#x25CF;</property>
-                        <property name="invisible_char_set">True</property>
-                        <property name="primary_icon_activatable">False</property>
-                        <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
-                        <property name="adjustment">pdiscount_adj</property>
-                        <property name="climb_rate">1</property>
-                        <property name="digits">2</property>
-                        <property name="snap_to_ticks">True</property>
-                        <property name="numeric">True</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">2</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkSpinButton" id="prox:cutoff_day">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="has_tooltip">True</property>
-                        <property name="tooltip_markup">The cutoff day for applying bills to the next month. After the cutoff, bills are applied to the following month. Negative values count backwards from the end of the month.</property>
-                        <property name="tooltip_text" translatable="yes">The cutoff day for applying bills to the next month. After the cutoff, bills are applied to the following month. Negative values count backwards from the end of the month.</property>
-                        <property name="invisible_char">&#x25CF;</property>
-                        <property name="invisible_char_set">True</property>
-                        <property name="primary_icon_activatable">False</property>
-                        <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
-                        <property name="adjustment">pcutoff_day_adj</property>
-                        <property name="climb_rate">1</property>
-                        <property name="snap_to_ticks">True</property>
-                        <property name="numeric">True</property>
-                        <property name="wrap">True</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">3</property>
-                      </packing>
-                    </child>
                   </object>
                   <packing>
-                    <property name="expand">False</property>
+                    <property name="expand">True</property>
                     <property name="fill">True</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
               </object>
               <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-6">close_button</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkListStore" id="type_liststore">
+    <columns>
+      <!-- column-name type -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Days</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Proximo</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkDialog" id="edit_term_dialog">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="modal">True</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox9">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">8</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area9">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="cancel_butt">
+                <property name="label" translatable="yes">_Cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="has_tooltip">True</property>
+                <property name="tooltip_markup">Cancel your changes</property>
+                <property name="tooltip_text" translatable="yes">Cancel your changes</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
                 <property name="expand">False</property>
-                <property name="fill">True</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
+            <child>
+              <object class="GtkButton" id="ok_butt">
+                <property name="label" translatable="yes">_OK</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="has_tooltip">True</property>
+                <property name="tooltip_markup">Commit this Billing Term</property>
+                <property name="tooltip_text" translatable="yes">Commit this Billing Term</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
           </object>
           <packing>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child type="tab">
-          <object class="GtkLabel" id="proximo_label">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label" translatable="yes">Proximo</property>
-            <property name="justify">center</property>
-          </object>
-          <packing>
-            <property name="position">1</property>
-            <property name="tab_fill">False</property>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
         <child>
-          <placeholder/>
-        </child>
-        <child type="tab">
-          <object class="GtkLabel" id="table_label">
+          <object class="GtkGrid" id="table3">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="label" translatable="yes">Table</property>
-            <property name="justify">center</property>
+            <child>
+              <object class="GtkLabel" id="label3">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="label" translatable="yes"><b>Term Definition</b></property>
+                <property name="use_markup">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="alignment7">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkLabel" id="label4">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
+                    <property name="label" translatable="yes">De_scription:</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">right</property>
+                    <property name="mnemonic_widget">entry_desc</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="entry_desc">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="has_tooltip">True</property>
+                <property name="tooltip_markup">The description of the Billing Term, printed on invoices</property>
+                <property name="tooltip_text" translatable="yes">The description of the Billing Term, printed on invoices</property>
+                <property name="hexpand">True</property>
+                <property name="invisible_char">●</property>
+                <property name="activates_default">True</property>
+                <property name="primary_icon_activatable">False</property>
+                <property name="secondary_icon_activatable">False</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="alignment8">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkLabel" id="label6">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
+                    <property name="label" translatable="yes">_Type:</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">right</property>
+                    <property name="mnemonic_widget">type_combo</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkComboBox" id="type_combo">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
+                <property name="model">type_liststore</property>
+                <signal name="changed" handler="billterms_type_combobox_changed" swapped="no"/>
+                <child>
+                  <object class="GtkCellRendererText" id="cellrenderertext3"/>
+                  <attributes>
+                    <attribute name="text">0</attribute>
+                  </attributes>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkBox" id="notebook_hbox">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">3</property>
+              </packing>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
           </object>
           <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
             <property name="position">2</property>
-            <property name="tab_fill">False</property>
           </packing>
         </child>
       </object>
     </child>
+    <action-widgets>
+      <action-widget response="-6">cancel_butt</action-widget>
+      <action-widget response="-5">ok_butt</action-widget>
+    </action-widgets>
   </object>
-  <object class="GtkDialog" id="Terms Window">
+  <object class="GtkDialog" id="new_term_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
-    <property name="title" translatable="yes">Terms</property>
+    <property name="modal">True</property>
     <property name="type_hint">dialog</property>
-    <signal name="destroy" handler="billterms_window_destroy_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox5">
+      <object class="GtkBox" id="dialog-vbox7">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">8</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area5">
+          <object class="GtkButtonBox" id="dialog-action_area7">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
-              <object class="GtkButton" id="close_button">
-                <property name="label">gtk-close</property>
+              <object class="GtkButton" id="cancel_button">
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
                 <property name="has_tooltip">True</property>
-                <property name="tooltip_markup">Close this window</property>
-                <property name="tooltip_text" translatable="yes">Close this window</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="billterms_window_close" swapped="no"/>
+                <property name="tooltip_markup">Cancel your changes</property>
+                <property name="tooltip_text" translatable="yes">Cancel your changes</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -936,6 +1023,24 @@
                 <property name="position">0</property>
               </packing>
             </child>
+            <child>
+              <object class="GtkButton" id="ok_button">
+                <property name="label" translatable="yes">_OK</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="has_tooltip">True</property>
+                <property name="tooltip_markup">Commit this Billing Term</property>
+                <property name="tooltip_text" translatable="yes">Commit this Billing Term</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
           </object>
           <packing>
             <property name="expand">False</property>
@@ -945,315 +1050,191 @@
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox1">
+          <object class="GtkGrid" id="table2">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="spacing">6</property>
             <child>
-              <object class="GtkVBox" id="vbox18">
+              <object class="GtkEntry" id="name_entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="has_tooltip">True</property>
+                <property name="tooltip_markup">The internal name of the Billing Term.</property>
+                <property name="tooltip_text" translatable="yes">The internal name of the Billing Term.</property>
+                <property name="hexpand">True</property>
+                <property name="invisible_char">●</property>
+                <property name="activates_default">True</property>
+                <property name="primary_icon_activatable">False</property>
+                <property name="secondary_icon_activatable">False</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="description_entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="has_tooltip">True</property>
+                <property name="tooltip_markup">The description of the Billing Term, printed on invoices</property>
+                <property name="tooltip_text" translatable="yes">The description of the Billing Term, printed on invoices</property>
+                <property name="hexpand">True</property>
+                <property name="invisible_char">●</property>
+                <property name="activates_default">True</property>
+                <property name="primary_icon_activatable">False</property>
+                <property name="secondary_icon_activatable">False</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">4</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkBox" id="note_book_hbox">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="spacing">6</property>
-                <child>
-                  <object class="GtkLabel" id="label1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes"><b>Terms</b></property>
-                    <property name="use_markup">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
+                <property name="hexpand">True</property>
                 <child>
-                  <object class="GtkAlignment" id="alignment1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="left_padding">12</property>
-                    <child>
-                      <object class="GtkScrolledWindow" id="scrolledwindow1">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="hscrollbar_policy">automatic</property>
-                        <property name="vscrollbar_policy">automatic</property>
-                        <property name="shadow_type">in</property>
-                        <child>
-                          <object class="GtkTreeView" id="terms_view">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="headers_visible">False</property>
-                            <property name="rules_hint">True</property>
-                          </object>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
+                  <placeholder/>
                 </child>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">6</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label17">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="label" translatable="yes"><b>New Billing Term</b></property>
+                <property name="use_markup">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label18">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="label" translatable="yes"><b>Term Definition</b></property>
+                <property name="use_markup">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">3</property>
+                <property name="width">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label24">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="alignment4">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="left_padding">12</property>
                 <child>
-                  <object class="GtkAlignment" id="alignment2">
+                  <object class="GtkLabel" id="label5">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="left_padding">12</property>
-                    <child>
-                      <object class="GtkHButtonBox" id="hbox2">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="spacing">6</property>
-                        <property name="layout_style">spread</property>
-                        <child>
-                          <object class="GtkButton" id="delete_term_button">
-                            <property name="label">gtk-delete</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">True</property>
-                            <property name="has_tooltip">True</property>
-                            <property name="tooltip_markup">Delete the current Billing Term</property>
-                            <property name="tooltip_text" translatable="yes">Delete the current Billing Term</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_stock">True</property>
-                            <signal name="clicked" handler="billterms_delete_term_cb" swapped="no"/>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkButton" id="new_term_button">
-                            <property name="label">gtk-new</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">True</property>
-                            <property name="has_tooltip">True</property>
-                            <property name="tooltip_markup">Create a new Billing Term</property>
-                            <property name="tooltip_text" translatable="yes">Create a new Billing Term</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_stock">True</property>
-                            <signal name="clicked" handler="billterms_new_term_cb" swapped="no"/>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
+                    <property name="halign">start</property>
+                    <property name="label" translatable="yes">_Name:</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">right</property>
+                    <property name="mnemonic_widget">name_entry</property>
                   </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">2</property>
-                  </packing>
                 </child>
               </object>
               <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkVSeparator" id="vseparator1">
+              <object class="GtkAlignment" id="alignment5">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkLabel" id="label22">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
+                    <property name="label" translatable="yes">De_scription:</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">right</property>
+                    <property name="mnemonic_widget">description_entry</property>
+                  </object>
+                </child>
               </object>
               <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">4</property>
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="vbox19">
+              <object class="GtkAlignment" id="alignment6">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="left_padding">12</property>
                 <child>
-                  <object class="GtkLabel" id="label2">
+                  <object class="GtkLabel" id="label21">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes"><b>Term Definition</b></property>
-                    <property name="use_markup">True</property>
+                    <property name="halign">start</property>
+                    <property name="label" translatable="yes">_Type:</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">right</property>
+                    <property name="mnemonic_widget">type_combobox</property>
                   </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
                 </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">5</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkComboBox" id="type_combobox">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
+                <property name="model">type_liststore</property>
+                <signal name="changed" handler="billterms_type_combobox_changed" swapped="no"/>
                 <child>
-                  <object class="GtkAlignment" id="alignment3">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="top_padding">6</property>
-                    <property name="left_padding">12</property>
-                    <child>
-                      <object class="GtkVBox" id="term_vbox">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="border_width">2</property>
-                        <property name="spacing">6</property>
-                        <child>
-                          <object class="GtkTable" id="table1">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="n_rows">3</property>
-                            <property name="n_columns">2</property>
-                            <property name="column_spacing">12</property>
-                            <child>
-                              <object class="GtkLabel" id="label16">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">De_scription:</property>
-                                <property name="use_underline">True</property>
-                                <property name="justify">right</property>
-                                <property name="mnemonic_widget">desc_entry</property>
-                              </object>
-                              <packing>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label9">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">_Type:</property>
-                                <property name="use_underline">True</property>
-                                <property name="justify">right</property>
-                              </object>
-                              <packing>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkEntry" id="desc_entry">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="has_tooltip">True</property>
-                                <property name="tooltip_markup">The description of the Billing Term, printed on invoices</property>
-                                <property name="tooltip_text" translatable="yes">The description of the Billing Term, printed on invoices</property>
-                                <property name="editable">False</property>
-                                <property name="invisible_char">&#x25CF;</property>
-                                <property name="activates_default">True</property>
-                                <property name="invisible_char_set">True</property>
-                                <property name="primary_icon_activatable">False</property>
-                                <property name="secondary_icon_activatable">False</property>
-                                <property name="primary_icon_sensitive">True</property>
-                                <property name="secondary_icon_sensitive">True</property>
-                              </object>
-                              <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="type_label">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label">(type)</property>
-                                <property name="justify">center</property>
-                              </object>
-                              <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkHBox" id="notebook_box">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <child>
-                                  <placeholder/>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
-                                <property name="x_options">GTK_FILL</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <placeholder/>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">True</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkHButtonBox" id="hbox30">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="layout_style">spread</property>
-                            <child>
-                              <object class="GtkButton" id="edit_term_button">
-                                <property name="label">gtk-edit</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">True</property>
-                                <property name="has_tooltip">True</property>
-                                <property name="tooltip_markup">Edit the current Billing Term</property>
-                                <property name="tooltip_text" translatable="yes">Edit the current Billing Term</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="use_stock">True</property>
-                                <signal name="clicked" handler="billterms_edit_term_cb" swapped="no"/>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="pack_type">end</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
+                  <object class="GtkCellRendererText" id="cellrenderertext1"/>
+                  <attributes>
+                    <attribute name="text">0</attribute>
+                  </attributes>
                 </child>
               </object>
               <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-                <property name="position">2</property>
+                <property name="left_attach">1</property>
+                <property name="top_attach">5</property>
               </packing>
             </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
           </object>
           <packing>
             <property name="expand">True</property>
@@ -1264,62 +1245,8 @@
       </object>
     </child>
     <action-widgets>
-      <action-widget response="-6">close_button</action-widget>
+      <action-widget response="-6">cancel_button</action-widget>
+      <action-widget response="-5">ok_button</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkAdjustment" id="discount_adj">
-    <property name="upper">100</property>
-    <property name="step_increment">0.01</property>
-    <property name="page_increment">0.10000000000000001</property>
-  </object>
-  <object class="GtkAdjustment" id="discount_days_adj">
-    <property name="upper">365</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="due_days_adj">
-    <property name="upper">365</property>
-    <property name="value">30</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="pcutoff_day_adj">
-    <property name="lower">-27</property>
-    <property name="upper">27</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="pdiscount_adj">
-    <property name="upper">100</property>
-    <property name="step_increment">0.01</property>
-    <property name="page_increment">0.10000000000000001</property>
-  </object>
-  <object class="GtkAdjustment" id="pdiscount_day_adj">
-    <property name="lower">1</property>
-    <property name="upper">31</property>
-    <property name="value">1</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="pdue_day_adj">
-    <property name="lower">1</property>
-    <property name="upper">31</property>
-    <property name="value">1</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkListStore" id="type_liststore">
-    <columns>
-      <!-- column-name type -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Days</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Proximo</col>
-      </row>
-    </data>
-  </object>
 </interface>

commit ae0e76e6afa25455c9318a67936528d02ba1bd30
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 09:28:56 2017 +0100

    Files linked to gnc-plugin-page-register2.glade

diff --git a/src/gnome/gnc-plugin-page-register2.c b/src/gnome/gnc-plugin-page-register2.c
index e948981..3d26ca1 100644
--- a/src/gnome/gnc-plugin-page-register2.c
+++ b/src/gnome/gnc-plugin-page-register2.c
@@ -2903,8 +2903,8 @@ gnc_plugin_page_register2_cmd_void_transaction (GtkAction *action,
     }
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file  (builder , "gnc-plugin-page-register2.glade", "Void Transaction");
-    dialog = GTK_WIDGET (gtk_builder_get_object (builder, "Void Transaction"));
+    gnc_builder_add_from_file  (builder , "gnc-plugin-page-register2.glade", "void_transaction_dialog");
+    dialog = GTK_WIDGET (gtk_builder_get_object (builder, "void_transaction_dialog"));
     entry = GTK_WIDGET (gtk_builder_get_object (builder, "reason"));
 
     result = gtk_dialog_run (GTK_DIALOG (dialog));
@@ -3028,8 +3028,8 @@ gnc_plugin_page_register2_cmd_view_filter_by (GtkAction *action,
 
     /* Create the dialog */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "gnc-plugin-page-register2.glade", "Filter By");
-    dialog = GTK_WIDGET (gtk_builder_get_object (builder, "Filter By"));
+    gnc_builder_add_from_file (builder, "gnc-plugin-page-register2.glade", "filter_by_dialog");
+    dialog = GTK_WIDGET (gtk_builder_get_object (builder, "filter_by_dialog"));
     priv->fd.dialog = dialog;
     gtk_window_set_transient_for (GTK_WINDOW (dialog),
                                  gnc_window_get_gtk_window (GNC_WINDOW (GNC_PLUGIN_PAGE (page)->window)));
diff --git a/src/gnome/gtkbuilder/gnc-plugin-page-register2.glade b/src/gnome/gtkbuilder/gnc-plugin-page-register2.glade
index 01d65b8..2c0cc36 100644
--- a/src/gnome/gtkbuilder/gnc-plugin-page-register2.glade
+++ b/src/gnome/gtkbuilder/gnc-plugin-page-register2.glade
@@ -1,8 +1,13 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkDialog" id="Duplicate Transaction Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkAdjustment" id="adjustment1">
+    <property name="upper">1000000000</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkDialog" id="duplicate_transaction_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
@@ -11,24 +16,24 @@
     <property name="modal">True</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox15">
+      <object class="GtkBox" id="dialog-vbox15">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">6</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area15">
+          <object class="GtkButtonBox" id="dialog-action_area15">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="button76">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -38,14 +43,13 @@
             </child>
             <child>
               <object class="GtkButton" id="button77">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -65,7 +69,7 @@
           <object class="GtkLabel" id="duplicate_title_label">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
+            <property name="halign">start</property>
             <property name="label" translatable="yes"><b>New Transaction Information</b></property>
             <property name="use_markup">True</property>
           </object>
@@ -81,42 +85,38 @@
             <property name="can_focus">False</property>
             <property name="left_padding">12</property>
             <child>
-              <object class="GtkTable" id="duplicate_table">
+              <object class="GtkGrid" id="duplicate_table">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="n_rows">2</property>
-                <property name="n_columns">2</property>
-                <property name="column_spacing">12</property>
                 <property name="row_spacing">6</property>
+                <property name="column_spacing">12</property>
                 <child>
                   <object class="GtkLabel" id="date_label">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">_Date:</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                   </object>
                   <packing>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="num_label">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">_Number:</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">num_spin</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
@@ -126,21 +126,16 @@
                     <property name="has_focus">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment1</property>
                     <property name="climb_rate">1</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="date_hbox">
+                  <object class="GtkBox" id="date_hbox">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
@@ -149,9 +144,7 @@
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
+                    <property name="top_attach">0</property>
                   </packing>
                 </child>
               </object>
@@ -170,7 +163,7 @@
       <action-widget response="-5">button77</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkDialog" id="Filter By">
+  <object class="GtkDialog" id="filter_by_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
@@ -180,24 +173,24 @@
     <property name="type_hint">dialog</property>
     <signal name="response" handler="gnc_plugin_page_register2_filter_response_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox19">
+      <object class="GtkBox" id="dialog-vbox19">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">6</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area21">
+          <object class="GtkButtonBox" id="dialog-action_area21">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancelbutton4">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -207,14 +200,13 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton4">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -235,17 +227,18 @@
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <child>
-              <object class="GtkVBox" id="vbox103">
+              <object class="GtkBox" id="vbox103">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">12</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <object class="GtkRadioButton" id="filter_show_all">
                     <property name="label" translatable="yes">Show _All</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="halign">start</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
@@ -259,7 +252,6 @@
                   <object class="GtkLabel" id="label847680">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -273,7 +265,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="halign">start</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">filter_show_all</property>
@@ -286,23 +278,20 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkTable" id="select_range_table">
+                  <object class="GtkGrid" id="select_range_table">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="n_rows">7</property>
-                    <property name="n_columns">3</property>
                     <property name="column_spacing">6</property>
                     <child>
                       <object class="GtkLabel" id="label847682">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
+                        <property name="halign">start</property>
                         <property name="label" translatable="yes">Start:</property>
                       </object>
                       <packing>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                        <property name="x_padding">12</property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
@@ -311,16 +300,14 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <signal name="clicked" handler="gnc_plugin_page_register2_filter_start_cb" swapped="no"/>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
@@ -329,18 +316,14 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <signal name="clicked" handler="gnc_plugin_page_register2_filter_end_cb" swapped="no"/>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">6</property>
-                        <property name="bottom_attach">7</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
@@ -349,7 +332,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">end_date_choose</property>
@@ -357,11 +340,7 @@
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">5</property>
-                        <property name="bottom_attach">6</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
@@ -370,7 +349,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">end_date_choose</property>
@@ -378,39 +357,29 @@
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">4</property>
-                        <property name="bottom_attach">5</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="label847683">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">3</property>
-                        <property name="bottom_attach">4</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="label847684">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
+                        <property name="halign">start</property>
                         <property name="label" translatable="yes">End:</property>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">4</property>
-                        <property name="bottom_attach">5</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                        <property name="x_padding">12</property>
                       </packing>
                     </child>
                     <child>
@@ -419,7 +388,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">start_date_earliest</property>
@@ -427,11 +396,7 @@
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
@@ -440,7 +405,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">start_date_earliest</property>
@@ -448,15 +413,11 @@
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="start_date_hbox">
+                      <object class="GtkBox" id="start_date_hbox">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
@@ -465,13 +426,11 @@
                       </object>
                       <packing>
                         <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
                         <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="end_date_hbox">
+                      <object class="GtkBox" id="end_date_hbox">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
@@ -480,9 +439,7 @@
                       </object>
                       <packing>
                         <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
                         <property name="top_attach">6</property>
-                        <property name="bottom_attach">7</property>
                       </packing>
                     </child>
                     <child>
@@ -536,31 +493,29 @@
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="vbox104">
+              <object class="GtkBox" id="vbox104">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
                 <child>
-                  <object class="GtkTable" id="table1">
+                  <object class="GtkGrid" id="table1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="border_width">12</property>
-                    <property name="n_rows">7</property>
-                    <property name="n_columns">3</property>
                     <child>
                       <object class="GtkCheckButton" id="filter_status_unreconciled">
                         <property name="label" translatable="yes">_Unreconciled</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <signal name="toggled" handler="gnc_plugin_page_register2_filter_status_one_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="right_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
@@ -569,17 +524,14 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <signal name="toggled" handler="gnc_plugin_page_register2_filter_status_one_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="right_attach">3</property>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
@@ -588,17 +540,14 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <signal name="toggled" handler="gnc_plugin_page_register2_filter_status_one_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="right_attach">3</property>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
@@ -607,17 +556,14 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <signal name="toggled" handler="gnc_plugin_page_register2_filter_status_one_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="right_attach">3</property>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">3</property>
-                        <property name="bottom_attach">4</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
@@ -626,17 +572,14 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <signal name="toggled" handler="gnc_plugin_page_register2_filter_status_one_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="right_attach">3</property>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">4</property>
-                        <property name="bottom_attach">5</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
@@ -645,37 +588,27 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">True</property>
-                        <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
                         <signal name="clicked" handler="gnc_plugin_page_register2_filter_status_all_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">6</property>
-                        <property name="bottom_attach">7</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHSeparator" id="hseparator1">
+                      <object class="GtkSeparator" id="hseparator1">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="margin_top">5</property>
+                        <property name="margin_bottom">5</property>
+                        <property name="hexpand">True</property>
                       </object>
                       <packing>
-                        <property name="right_attach">3</property>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">5</property>
-                        <property name="bottom_attach">6</property>
-                        <property name="y_options">GTK_EXPAND</property>
                       </packing>
                     </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
                   </object>
                   <packing>
                     <property name="expand">True</property>
@@ -708,7 +641,7 @@
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox1">
+          <object class="GtkBox" id="hbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
@@ -717,9 +650,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
-                <property name="xalign">1</property>
                 <property name="draw_indicator">True</property>
                 <signal name="toggled" handler="gnc_plugin_page_register2_filter_save_cb" swapped="no"/>
               </object>
@@ -745,7 +676,7 @@
       <action-widget response="-5">okbutton4</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkDialog" id="Void Transaction">
+  <object class="GtkDialog" id="void_transaction_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
@@ -755,24 +686,24 @@
     <property name="window_position">center-on-parent</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox16">
+      <object class="GtkBox" id="dialog-vbox16">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">6</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area18">
+          <object class="GtkButtonBox" id="dialog-action_area18">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancelbutton1">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -782,14 +713,13 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton1">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -806,9 +736,10 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox100">
+          <object class="GtkBox" id="vbox100">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
               <object class="GtkLabel" id="label847671">
                 <property name="visible">True</property>
@@ -830,8 +761,6 @@
                 <property name="activates_default">True</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -853,9 +782,4 @@
       <action-widget response="-5">okbutton1</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkAdjustment" id="adjustment1">
-    <property name="upper">1000000000</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
 </interface>

commit b0fd1c671bf511505ce3835d88f93bc426d8ea9a
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 09:28:33 2017 +0100

    File linked to gnc-plugin-page-register.glade

diff --git a/src/gnome-utils/dialog-dup-trans.c b/src/gnome-utils/dialog-dup-trans.c
index 94a8140..6d3279c 100644
--- a/src/gnome-utils/dialog-dup-trans.c
+++ b/src/gnome-utils/dialog-dup-trans.c
@@ -103,9 +103,9 @@ gnc_dup_trans_dialog_create (GtkWidget * parent, DupTransDialog *dt_dialog,
     builder = gtk_builder_new();
     gnc_builder_add_from_file (builder, "gnc-plugin-page-register.glade", "num_adjustment");
     gnc_builder_add_from_file (builder, "gnc-plugin-page-register.glade", "tnum_adjustment");
-    gnc_builder_add_from_file (builder, "gnc-plugin-page-register.glade", "Duplicate Transaction Dialog");
+    gnc_builder_add_from_file (builder, "gnc-plugin-page-register.glade", "duplicate_transaction_dialog");
 
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Duplicate Transaction Dialog"));
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "duplicate_transaction_dialog"));
     dt_dialog->dialog = dialog;
 
     /* parent */
diff --git a/src/gnome/gnc-plugin-page-register.c b/src/gnome/gnc-plugin-page-register.c
index dcb069a..7f67411 100644
--- a/src/gnome/gnc-plugin-page-register.c
+++ b/src/gnome/gnc-plugin-page-register.c
@@ -3053,8 +3053,8 @@ gnc_plugin_page_register_cmd_void_transaction (GtkAction *action,
         return;
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file  (builder , "gnc-plugin-page-register.glade", "Void Transaction");
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Void Transaction"));
+    gnc_builder_add_from_file  (builder , "gnc-plugin-page-register.glade", "void_transaction_dialog");
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "void_transaction_dialog"));
     entry = GTK_WIDGET(gtk_builder_get_object (builder, "reason"));
 
     result = gtk_dialog_run(GTK_DIALOG(dialog));
@@ -3161,8 +3161,8 @@ gnc_plugin_page_register_cmd_view_sort_by (GtkAction *action,
     /* Create the dialog */
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file  (builder, "gnc-plugin-page-register.glade", "Sort By");
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Sort By"));
+    gnc_builder_add_from_file  (builder, "gnc-plugin-page-register.glade", "sort_by_dialog");
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "sort_by_dialog"));
     priv->sd.dialog = dialog;
     gtk_window_set_transient_for(GTK_WINDOW(dialog),
                                  gnc_window_get_gtk_window(GNC_WINDOW(GNC_PLUGIN_PAGE(page)->window)));
@@ -3238,8 +3238,8 @@ gnc_plugin_page_register_cmd_view_filter_by (GtkAction *action,
 
     /* Create the dialog */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "gnc-plugin-page-register.glade", "Filter By");
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Filter By"));
+    gnc_builder_add_from_file (builder, "gnc-plugin-page-register.glade", "filter_by_dialog");
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "filter_by_dialog"));
     priv->fd.dialog = dialog;
     gtk_window_set_transient_for(GTK_WINDOW(dialog),
                                  gnc_window_get_gtk_window(GNC_WINDOW(GNC_PLUGIN_PAGE(page)->window)));
diff --git a/src/gnome/gtkbuilder/gnc-plugin-page-register.glade b/src/gnome/gtkbuilder/gnc-plugin-page-register.glade
index b6fcdab..a04c1ff 100644
--- a/src/gnome/gtkbuilder/gnc-plugin-page-register.glade
+++ b/src/gnome/gtkbuilder/gnc-plugin-page-register.glade
@@ -1,209 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <object class="GtkDialog" id="Duplicate Transaction Dialog">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="border_width">6</property>
-    <property name="title" translatable="yes">Duplicate Transaction</property>
-    <property name="resizable">False</property>
-    <property name="modal">True</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
-      <object class="GtkBox" id="dialog-vbox15">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="spacing">6</property>
-        <child internal-child="action_area">
-          <object class="GtkButtonBox" id="dialog-action_area15">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="button76">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="button77">
-                <property name="label">gtk-ok</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="has_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkLabel" id="duplicate_title_label">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="xalign">0</property>
-            <property name="label" translatable="yes"><b>New Transaction Information</b></property>
-            <property name="use_markup">True</property>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkAlignment" id="alignment1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="left_padding">12</property>
-            <child>
-              <object class="GtkTable" id="duplicate_table">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="n_rows">3</property>
-                <property name="n_columns">2</property>
-                <property name="column_spacing">12</property>
-                <property name="row_spacing">6</property>
-                <child>
-                  <object class="GtkLabel" id="date_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">_Date:</property>
-                    <property name="use_underline">True</property>
-                    <property name="justify">center</property>
-                  </object>
-                  <packing>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="num_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">_Number:</property>
-                    <property name="use_underline">True</property>
-                    <property name="justify">center</property>
-                    <property name="mnemonic_widget">num_spin</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkSpinButton" id="num_spin">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="has_focus">True</property>
-                    <property name="primary_icon_activatable">False</property>
-                    <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
-                    <property name="adjustment">num_adjustment</property>
-                    <property name="climb_rate">1</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHBox" id="date_hbox">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <child>
-                      <placeholder/>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="tnum_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">_Transaction Number:</property>
-                    <property name="use_underline">True</property>
-                    <property name="justify">center</property>
-                    <property name="mnemonic_widget">tnum_spin</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkSpinButton" id="tnum_spin">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="primary_icon_activatable">False</property>
-                    <property name="secondary_icon_activatable">False</property>
-                    <property name="adjustment">tnum_adjustment</property>
-                    <property name="climb_rate">1</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-              </object>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">3</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="-6">button76</action-widget>
-      <action-widget response="-5">button77</action-widget>
-    </action-widgets>
-  </object>
-  <object class="GtkDialog" id="Filter By">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="filter_by_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
@@ -216,6 +15,7 @@
       <object class="GtkBox" id="dialog-vbox19">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">6</property>
         <child internal-child="action_area">
           <object class="GtkButtonBox" id="dialog-action_area21">
@@ -224,13 +24,12 @@
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancelbutton4">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -240,14 +39,13 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton4">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -268,17 +66,18 @@
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <child>
-              <object class="GtkVBox" id="vbox103">
+              <object class="GtkBox" id="vbox103">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">12</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <object class="GtkRadioButton" id="filter_show_all">
                     <property name="label" translatable="yes">Show _All</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="halign">start</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
@@ -292,7 +91,6 @@
                   <object class="GtkLabel" id="label847680">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -306,7 +104,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="halign">start</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">filter_show_all</property>
@@ -319,23 +117,19 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkTable" id="select_range_table">
+                  <object class="GtkGrid" id="select_range_table">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="n_rows">7</property>
-                    <property name="n_columns">3</property>
                     <property name="column_spacing">6</property>
                     <child>
                       <object class="GtkLabel" id="label847682">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes">Start:</property>
                       </object>
                       <packing>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                        <property name="x_padding">12</property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
@@ -344,16 +138,14 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <signal name="clicked" handler="gnc_plugin_page_register_filter_start_cb" swapped="no"/>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
@@ -362,18 +154,14 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <signal name="clicked" handler="gnc_plugin_page_register_filter_end_cb" swapped="no"/>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">6</property>
-                        <property name="bottom_attach">7</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
@@ -382,7 +170,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">end_date_choose</property>
@@ -390,11 +178,7 @@
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">5</property>
-                        <property name="bottom_attach">6</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
@@ -403,7 +187,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">end_date_choose</property>
@@ -411,39 +195,28 @@
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">4</property>
-                        <property name="bottom_attach">5</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="label847683">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">3</property>
-                        <property name="bottom_attach">4</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="label847684">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes">End:</property>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">4</property>
-                        <property name="bottom_attach">5</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                        <property name="x_padding">12</property>
                       </packing>
                     </child>
                     <child>
@@ -452,7 +225,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">start_date_earliest</property>
@@ -460,11 +233,7 @@
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
@@ -473,7 +242,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">start_date_earliest</property>
@@ -481,15 +250,11 @@
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="start_date_hbox">
+                      <object class="GtkBox" id="start_date_hbox">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
@@ -498,13 +263,11 @@
                       </object>
                       <packing>
                         <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
                         <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="end_date_hbox">
+                      <object class="GtkBox" id="end_date_hbox">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
@@ -513,9 +276,7 @@
                       </object>
                       <packing>
                         <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
                         <property name="top_attach">6</property>
-                        <property name="bottom_attach">7</property>
                       </packing>
                     </child>
                     <child>
@@ -569,31 +330,29 @@
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="vbox104">
+              <object class="GtkBox" id="vbox104">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
                 <child>
-                  <object class="GtkTable" id="table1">
+                  <object class="GtkGrid" id="table1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="border_width">12</property>
-                    <property name="n_rows">7</property>
-                    <property name="n_columns">3</property>
                     <child>
                       <object class="GtkCheckButton" id="filter_status_unreconciled">
                         <property name="label" translatable="yes">_Unreconciled</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <signal name="toggled" handler="gnc_plugin_page_register_filter_status_one_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="right_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
@@ -602,17 +361,14 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <signal name="toggled" handler="gnc_plugin_page_register_filter_status_one_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="right_attach">3</property>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
@@ -621,17 +377,14 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <signal name="toggled" handler="gnc_plugin_page_register_filter_status_one_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="right_attach">3</property>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
@@ -640,17 +393,14 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <signal name="toggled" handler="gnc_plugin_page_register_filter_status_one_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="right_attach">3</property>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">3</property>
-                        <property name="bottom_attach">4</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
@@ -659,17 +409,14 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <signal name="toggled" handler="gnc_plugin_page_register_filter_status_one_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="right_attach">3</property>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">4</property>
-                        <property name="bottom_attach">5</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
@@ -678,37 +425,28 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">True</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="halign">center</property>
                         <property name="use_underline">True</property>
                         <signal name="clicked" handler="gnc_plugin_page_register_filter_status_all_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">6</property>
-                        <property name="bottom_attach">7</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHSeparator" id="hseparator1">
+                      <object class="GtkSeparator" id="hseparator1">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="margin_top">5</property>
+                        <property name="margin_bottom">5</property>
+                        <property name="hexpand">True</property>
                       </object>
                       <packing>
-                        <property name="right_attach">3</property>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">5</property>
-                        <property name="bottom_attach">6</property>
-                        <property name="y_options">GTK_EXPAND</property>
                       </packing>
                     </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
                   </object>
                   <packing>
                     <property name="expand">True</property>
@@ -741,7 +479,7 @@
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox1">
+          <object class="GtkBox" id="hbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
@@ -750,9 +488,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
-                <property name="xalign">1</property>
                 <property name="draw_indicator">True</property>
                 <signal name="toggled" handler="gnc_plugin_page_register_filter_save_cb" swapped="no"/>
               </object>
@@ -778,7 +514,12 @@
       <action-widget response="-5">okbutton4</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkDialog" id="Sort By">
+  <object class="GtkAdjustment" id="num_adjustment">
+    <property name="upper">1000000000</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkDialog" id="sort_by_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
@@ -791,6 +532,7 @@
       <object class="GtkBox" id="dialog-vbox17">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">6</property>
         <child internal-child="action_area">
           <object class="GtkButtonBox" id="dialog-action_area19">
@@ -799,13 +541,12 @@
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancelbutton2">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -815,14 +556,13 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton2">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -839,10 +579,11 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox101">
+          <object class="GtkBox" id="vbox101">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="border_width">12</property>
+            <property name="orientation">vertical</property>
             <child>
               <object class="GtkRadioButton" id="BY_STANDARD">
                 <property name="label" translatable="yes">_Standard Order</property>
@@ -850,7 +591,7 @@
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
                 <property name="tooltip_text" translatable="yes">Keep normal account order.</property>
-                <property name="use_action_appearance">False</property>
+                <property name="halign">start</property>
                 <property name="use_underline">True</property>
                 <property name="draw_indicator">True</property>
                 <signal name="toggled" handler="gnc_plugin_page_register_sort_button_cb" swapped="no"/>
@@ -862,7 +603,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkHSeparator" id="hseparator2">
+              <object class="GtkSeparator" id="hseparator2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
               </object>
@@ -879,7 +620,7 @@
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
                 <property name="tooltip_text" translatable="yes">Sort by date.</property>
-                <property name="use_action_appearance">False</property>
+                <property name="halign">start</property>
                 <property name="use_underline">True</property>
                 <property name="draw_indicator">True</property>
                 <property name="group">BY_STANDARD</property>
@@ -898,7 +639,7 @@
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
                 <property name="tooltip_text" translatable="yes">Sort by the date of entry.</property>
-                <property name="use_action_appearance">False</property>
+                <property name="halign">start</property>
                 <property name="use_underline">True</property>
                 <property name="draw_indicator">True</property>
                 <property name="group">BY_STANDARD</property>
@@ -917,7 +658,7 @@
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
                 <property name="tooltip_text" translatable="yes">Sort by the statement date (and group by cleared, unreconciled, reconciled).</property>
-                <property name="use_action_appearance">False</property>
+                <property name="halign">start</property>
                 <property name="use_underline">True</property>
                 <property name="draw_indicator">True</property>
                 <property name="group">BY_STANDARD</property>
@@ -936,7 +677,7 @@
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
                 <property name="tooltip_text" translatable="yes">Sort by number.</property>
-                <property name="use_action_appearance">False</property>
+                <property name="halign">start</property>
                 <property name="use_underline">True</property>
                 <property name="draw_indicator">True</property>
                 <property name="group">BY_STANDARD</property>
@@ -955,7 +696,7 @@
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
                 <property name="tooltip_text" translatable="yes">Sort by amount.</property>
-                <property name="use_action_appearance">False</property>
+                <property name="halign">start</property>
                 <property name="use_underline">True</property>
                 <property name="draw_indicator">True</property>
                 <property name="group">BY_STANDARD</property>
@@ -974,7 +715,7 @@
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
                 <property name="tooltip_text" translatable="yes">Sort by memo.</property>
-                <property name="use_action_appearance">False</property>
+                <property name="halign">start</property>
                 <property name="use_underline">True</property>
                 <property name="draw_indicator">True</property>
                 <property name="group">BY_STANDARD</property>
@@ -993,7 +734,7 @@
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
                 <property name="tooltip_text" translatable="yes">Sort by description.</property>
-                <property name="use_action_appearance">False</property>
+                <property name="halign">start</property>
                 <property name="use_underline">True</property>
                 <property name="draw_indicator">True</property>
                 <property name="group">BY_STANDARD</property>
@@ -1012,7 +753,7 @@
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
                 <property name="tooltip_text" translatable="yes">Sort by action field.</property>
-                <property name="use_action_appearance">False</property>
+                <property name="halign">start</property>
                 <property name="use_underline">True</property>
                 <property name="draw_indicator">True</property>
                 <property name="group">BY_STANDARD</property>
@@ -1031,7 +772,7 @@
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
                 <property name="tooltip_text" translatable="yes">Sort by notes field.</property>
-                <property name="use_action_appearance">False</property>
+                <property name="halign">start</property>
                 <property name="use_underline">True</property>
                 <property name="draw_indicator">True</property>
                 <property name="group">BY_STANDARD</property>
@@ -1044,7 +785,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkHSeparator" id="hseparator3">
+              <object class="GtkSeparator" id="hseparator3">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
               </object>
@@ -1066,7 +807,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="hbox2">
+              <object class="GtkBox" id="hbox2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
@@ -1076,9 +817,8 @@
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
                     <property name="tooltip_text" translatable="yes">Save the sort order for this register.</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="halign">start</property>
                     <property name="use_underline">True</property>
-                    <property name="xalign">1</property>
                     <property name="draw_indicator">True</property>
                     <signal name="toggled" handler="gnc_plugin_page_register_sort_order_save_cb" swapped="no"/>
                   </object>
@@ -1097,8 +837,7 @@
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
                     <property name="tooltip_text" translatable="yes">Sort in descending order.</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="draw_indicator">True</property>
                     <signal name="toggled" handler="gnc_plugin_page_register_sort_order_reverse_cb" swapped="no"/>
                   </object>
@@ -1129,7 +868,197 @@
       <action-widget response="-5">okbutton2</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkDialog" id="Void Transaction">
+  <object class="GtkAdjustment" id="tnum_adjustment">
+    <property name="upper">1000000000</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkDialog" id="duplicate_transaction_dialog">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">Duplicate Transaction</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox15">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">6</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area15">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="button76">
+                <property name="label" translatable="yes">_Cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="button77">
+                <property name="label" translatable="yes">_OK</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="duplicate_title_label">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="halign">start</property>
+            <property name="label" translatable="yes"><b>New Transaction Information</b></property>
+            <property name="use_markup">True</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkAlignment" id="alignment1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="left_padding">12</property>
+            <child>
+              <object class="GtkGrid" id="duplicate_table">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="row_spacing">6</property>
+                <property name="column_spacing">12</property>
+                <child>
+                  <object class="GtkLabel" id="date_label">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
+                    <property name="label" translatable="yes">_Date:</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="num_label">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
+                    <property name="label" translatable="yes">_Number:</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">center</property>
+                    <property name="mnemonic_widget">num_spin</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkSpinButton" id="num_spin">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="has_focus">True</property>
+                    <property name="primary_icon_activatable">False</property>
+                    <property name="secondary_icon_activatable">False</property>
+                    <property name="adjustment">num_adjustment</property>
+                    <property name="climb_rate">1</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkBox" id="date_hbox">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="tnum_label">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
+                    <property name="label" translatable="yes">_Transaction Number:</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">center</property>
+                    <property name="mnemonic_widget">tnum_spin</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkSpinButton" id="tnum_spin">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="primary_icon_activatable">False</property>
+                    <property name="secondary_icon_activatable">False</property>
+                    <property name="adjustment">tnum_adjustment</property>
+                    <property name="climb_rate">1</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">2</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">3</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-6">button76</action-widget>
+      <action-widget response="-5">button77</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkDialog" id="void_transaction_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
@@ -1142,6 +1071,7 @@
       <object class="GtkBox" id="dialog-vbox16">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">6</property>
         <child internal-child="action_area">
           <object class="GtkButtonBox" id="dialog-action_area18">
@@ -1150,13 +1080,12 @@
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancelbutton1">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -1166,14 +1095,13 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton1">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -1190,9 +1118,10 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox100">
+          <object class="GtkBox" id="vbox100">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
               <object class="GtkLabel" id="label847671">
                 <property name="visible">True</property>
@@ -1235,14 +1164,4 @@
       <action-widget response="-5">okbutton1</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkAdjustment" id="num_adjustment">
-    <property name="upper">1000000000</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="tnum_adjustment">
-    <property name="upper">1000000000</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
 </interface>

commit 8b7cd2f56cec2b9d026f8420e2c05f6cabc4b86e
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 09:27:57 2017 +0100

    Files linked to window-reconcile.glade

diff --git a/src/gnome/gtkbuilder/window-reconcile.glade b/src/gnome/gtkbuilder/window-reconcile.glade
index 7e26057..8acdedf 100644
--- a/src/gnome/gtkbuilder/window-reconcile.glade
+++ b/src/gnome/gtkbuilder/window-reconcile.glade
@@ -1,25 +1,73 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkDialog" id="Reconcile Start Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="reconcile_start_dialog">
     <property name="visible">True</property>
+    <property name="can_focus">False</property>
     <property name="resizable">False</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox6">
+      <object class="GtkBox" id="dialog-vbox6">
         <property name="visible">True</property>
+        <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">6</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area6">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="cancelbutton1">
+                <property name="label" translatable="yes">_Cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="okbutton1">
+                <property name="label" translatable="yes">_OK</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
         <child>
-          <object class="GtkVBox" id="vbox1">
+          <object class="GtkBox" id="vbox1">
             <property name="visible">True</property>
+            <property name="can_focus">False</property>
             <property name="orientation">vertical</property>
             <property name="spacing">6</property>
             <child>
               <object class="GtkLabel" id="label1">
                 <property name="visible">True</property>
-                <property name="xalign">0</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes"><b>Reconcile Information</b></property>
                 <property name="use_markup">True</property>
               </object>
@@ -32,59 +80,60 @@
             <child>
               <object class="GtkAlignment" id="alignment1">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="left_padding">12</property>
                 <child>
-                  <object class="GtkTable" id="table1">
+                  <object class="GtkGrid" id="table1">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="border_width">10</property>
-                    <property name="n_rows">4</property>
-                    <property name="n_columns">2</property>
-                    <property name="column_spacing">4</property>
                     <property name="row_spacing">6</property>
+                    <property name="column_spacing">4</property>
                     <child>
                       <object class="GtkLabel" id="start_value">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
                         <property name="label">$15.00</property>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="date_label">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
+                        <property name="can_focus">False</property>
                         <property name="label" translatable="yes">Statement _Date:</property>
                         <property name="use_underline">True</property>
                       </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
+                      </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="start_label">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
+                        <property name="can_focus">False</property>
                         <property name="label" translatable="yes">Starting Balance:</property>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="end_label">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
+                        <property name="can_focus">False</property>
                         <property name="label" translatable="yes">_Ending Balance:</property>
                         <property name="use_underline">True</property>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
                       </packing>
                     </child>
                     <child>
@@ -93,47 +142,40 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="tooltip_text" translatable="yes">Include all descendant accounts in the reconcile. All of them must use the same commodity as this one.</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
-                        <signal name="toggled" handler="gnc_start_recn_children_changed"/>
-                        <property name="tooltip_text" translatable="yes">Include all descendant accounts in the reconcile. All of them must use the same commodity as this one.</property>
-
+                        <signal name="toggled" handler="gnc_start_recn_children_changed" swapped="no"/>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">3</property>
-                        <property name="bottom_attach">4</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="date_value_box">
+                      <object class="GtkBox" id="date_value_box">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <child>
                           <placeholder/>
                         </child>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="ending_value_box">
+                      <object class="GtkBox" id="ending_value_box">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <child>
                           <placeholder/>
                         </child>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
                       </packing>
                     </child>
                     <child>
@@ -143,12 +185,15 @@
                 </child>
               </object>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
                 <property name="position">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkHButtonBox" id="hbuttonbox1">
+              <object class="GtkButtonBox" id="hbuttonbox1">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <child>
                   <object class="GtkButton" id="interest_button">
                     <property name="label" translatable="yes">Enter _Interest Payment...</property>
@@ -157,7 +202,7 @@
                     <property name="receives_default">False</property>
                     <property name="border_width">8</property>
                     <property name="use_underline">True</property>
-                    <signal name="clicked" handler="gnc_start_recn_interest_clicked_cb"/>
+                    <signal name="clicked" handler="gnc_start_recn_interest_clicked_cb" swapped="no"/>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -167,6 +212,8 @@
                 </child>
               </object>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
                 <property name="position">2</property>
               </packing>
             </child>
@@ -178,48 +225,6 @@
             <property name="position">2</property>
           </packing>
         </child>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area6">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="cancelbutton1">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="okbutton1">
-                <property name="label">gtk-ok</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="has_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
       </object>
     </child>
     <action-widgets>
diff --git a/src/gnome/window-reconcile.c b/src/gnome/window-reconcile.c
index d376e36..7ed393b 100644
--- a/src/gnome/window-reconcile.c
+++ b/src/gnome/window-reconcile.c
@@ -728,9 +728,9 @@ startRecnWindow(GtkWidget *parent, Account *account,
 
     /* Create the dialog box */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "window-reconcile.glade", "Reconcile Start Dialog");
+    gnc_builder_add_from_file (builder, "window-reconcile.glade", "reconcile_start_dialog");
 
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Reconcile Start Dialog"));
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "reconcile_start_dialog"));
 
     title = gnc_recn_make_window_name (account);
     gtk_window_set_title(GTK_WINDOW(dialog), title);
@@ -1786,7 +1786,7 @@ recnWindowWithBalance (GtkWidget *parent, Account *account,
     {
         GtkWidget *frame = gtk_frame_new(NULL);
         GtkWidget *main_area = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
-        GtkWidget *debcred_area = gtk_table_new(1, 2, TRUE);
+        GtkWidget *debcred_area = gtk_grid_new ();
         GtkWidget *debits_box;
         GtkWidget *credits_box;
 
@@ -1812,9 +1812,20 @@ recnWindowWithBalance (GtkWidget *parent, Account *account,
         GNC_RECONCILE_VIEW(recnData->credit)->sibling = GNC_RECONCILE_VIEW(recnData->debit);
 
         gtk_box_pack_start(GTK_BOX(main_area), debcred_area, TRUE, TRUE, 0);
-        gtk_table_set_col_spacings(GTK_TABLE(debcred_area), 15);
-        gtk_table_attach_defaults(GTK_TABLE(debcred_area), debits_box, 0, 1, 0, 1);
-        gtk_table_attach_defaults(GTK_TABLE(debcred_area), credits_box, 1, 2, 0, 1);
+
+        gtk_grid_set_column_homogeneous (GTK_GRID(debcred_area), TRUE);
+        gtk_grid_set_column_spacing (GTK_GRID(debcred_area), 15);
+        gtk_grid_attach (GTK_GRID(debcred_area), debits_box, 0, 0, 1, 1);
+        gtk_widget_set_hexpand (debits_box, TRUE);
+        gtk_widget_set_vexpand (debits_box, TRUE);
+        gtk_widget_set_halign (debits_box, GTK_ALIGN_FILL);
+        gtk_widget_set_valign (debits_box, GTK_ALIGN_FILL);
+
+        gtk_grid_attach (GTK_GRID(debcred_area), credits_box, 1, 0, 1, 1);
+        gtk_widget_set_hexpand (credits_box, TRUE);
+        gtk_widget_set_vexpand (credits_box, TRUE);
+        gtk_widget_set_halign (credits_box, GTK_ALIGN_FILL);
+        gtk_widget_set_valign (credits_box, GTK_ALIGN_FILL);
 
         {
             GtkWidget *hbox, *title_vbox, *value_vbox;
diff --git a/src/gnome/window-reconcile2.c b/src/gnome/window-reconcile2.c
index f713a84..ac12383 100644
--- a/src/gnome/window-reconcile2.c
+++ b/src/gnome/window-reconcile2.c
@@ -691,9 +691,9 @@ startRecnWindow (GtkWidget *parent, Account *account,
 
     /* Create the dialog box */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "window-reconcile.glade", "Reconcile Start Dialog");
+    gnc_builder_add_from_file (builder, "window-reconcile.glade", "reconcile_start_dialog");
 
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Reconcile Start Dialog"));
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "reconcile_start_dialog"));
 
     title = gnc_recn_make_window_name (account);
     gtk_window_set_title (GTK_WINDOW (dialog), title);
@@ -1746,7 +1746,7 @@ recnWindow2WithBalance (GtkWidget *parent, Account *account,
     {
         GtkWidget *frame = gtk_frame_new (NULL);
         GtkWidget *main_area = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
-        GtkWidget *debcred_area = gtk_table_new (1, 2, TRUE);
+        GtkWidget *debcred_area = gtk_grid_new ();
         GtkWidget *debits_box;
         GtkWidget *credits_box;
 
@@ -1772,9 +1772,20 @@ recnWindow2WithBalance (GtkWidget *parent, Account *account,
         GNC_RECONCILE_VIEW (recnData->credit)->sibling = GNC_RECONCILE_VIEW (recnData->debit);
 
         gtk_box_pack_start (GTK_BOX (main_area), debcred_area, TRUE, TRUE, 0);
-        gtk_table_set_col_spacings (GTK_TABLE (debcred_area), 15);
-        gtk_table_attach_defaults (GTK_TABLE (debcred_area), debits_box, 0, 1, 0, 1);
-        gtk_table_attach_defaults (GTK_TABLE (debcred_area), credits_box, 1, 2, 0, 1);
+
+        gtk_grid_set_column_homogeneous (GTK_GRID(debcred_area), TRUE);
+        gtk_grid_set_column_spacing (GTK_GRID(debcred_area), 15);
+        gtk_grid_attach (GTK_GRID(debcred_area), debits_box, 0, 0, 1, 1);
+        gtk_widget_set_hexpand (debits_box, TRUE);
+        gtk_widget_set_vexpand (debits_box, TRUE);
+        gtk_widget_set_halign (debits_box, GTK_ALIGN_FILL);
+        gtk_widget_set_valign (debits_box, GTK_ALIGN_FILL);
+
+        gtk_grid_attach (GTK_GRID(debcred_area), credits_box, 1, 0, 1, 1);
+        gtk_widget_set_hexpand (credits_box, TRUE);
+        gtk_widget_set_vexpand (credits_box, TRUE);
+        gtk_widget_set_halign (credits_box, GTK_ALIGN_FILL);
+        gtk_widget_set_valign (credits_box, GTK_ALIGN_FILL);
 
         {
             GtkWidget *hbox, *title_vbox, *value_vbox;

commit 296f739c0df658ca1953a01449fc2f6e80b59574
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 09:27:08 2017 +0100

    Files linked to window-autoclear.glade

diff --git a/src/gnome/gtkbuilder/window-autoclear.glade b/src/gnome/gtkbuilder/window-autoclear.glade
index 15cc5ed..b9eb4be 100644
--- a/src/gnome/gtkbuilder/window-autoclear.glade
+++ b/src/gnome/gtkbuilder/window-autoclear.glade
@@ -1,25 +1,74 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkDialog" id="Auto-clear Start Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="auto_clear_start_dialog">
     <property name="visible">True</property>
+    <property name="can_focus">False</property>
     <property name="resizable">False</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox6">
+      <object class="GtkBox" id="dialog-vbox6">
         <property name="visible">True</property>
+        <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">6</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area6">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="cancel_button">
+                <property name="label" translatable="yes">_Cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+                <signal name="clicked" handler="gnc_autoclear_window_cancel_cb" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="ok_button">
+                <property name="label" translatable="yes">_OK</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+                <signal name="clicked" handler="gnc_autoclear_window_ok_cb" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
         <child>
-          <object class="GtkVBox" id="vbox1">
+          <object class="GtkBox" id="vbox1">
             <property name="visible">True</property>
+            <property name="can_focus">False</property>
             <property name="orientation">vertical</property>
             <property name="spacing">6</property>
             <child>
               <object class="GtkLabel" id="label1">
                 <property name="visible">True</property>
-                <property name="xalign">0</property>
+                <property name="can_focus">False</property>
                 <property name="label" translatable="yes"><b>Auto-Clear Information</b></property>
                 <property name="use_markup">True</property>
               </object>
@@ -32,49 +81,59 @@
             <child>
               <object class="GtkAlignment" id="alignment1">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="left_padding">12</property>
                 <child>
-                  <object class="GtkTable" id="table1">
+                  <object class="GtkGrid" id="table1">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="border_width">10</property>
-                    <property name="n_rows">2</property>
-                    <property name="n_columns">2</property>
-                    <property name="column_spacing">4</property>
                     <property name="row_spacing">6</property>
+                    <property name="column_spacing">4</property>
                     <child>
                       <object class="GtkLabel" id="end_label">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
                         <property name="label" translatable="yes">_Ending Balance:</property>
                         <property name="use_underline">True</property>
                       </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
+                      </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="end_value_box">
+                      <object class="GtkBox" id="end_value_box">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
                         <child>
                           <placeholder/>
                         </child>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="status_label">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                       </object>
                       <packing>
-                        <property name="right_attach">2</property>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
+                        <property name="width">2</property>
                       </packing>
                     </child>
                   </object>
                 </child>
               </object>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -86,50 +145,6 @@
             <property name="position">2</property>
           </packing>
         </child>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area6">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="cancel_button">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="gnc_autoclear_window_cancel_cb"/>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="ok_button">
-                <property name="label">gtk-ok</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="has_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="gnc_autoclear_window_ok_cb"/>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
       </object>
     </child>
     <action-widgets>
diff --git a/src/gnome/window-autoclear.c b/src/gnome/window-autoclear.c
index 8a1c500..2b977f8 100644
--- a/src/gnome/window-autoclear.c
+++ b/src/gnome/window-autoclear.c
@@ -308,8 +308,8 @@ autoClearWindow (GtkWidget *parent, Account *account)
 
     /* Create the dialog box */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "window-autoclear.glade", "Auto-clear Start Dialog");
-    data->window = GTK_WIDGET(gtk_builder_get_object (builder, "Auto-clear Start Dialog"));
+    gnc_builder_add_from_file (builder, "window-autoclear.glade", "auto_clear_start_dialog");
+    data->window = GTK_WIDGET(gtk_builder_get_object (builder, "auto_clear_start_dialog"));
     title = gnc_autoclear_make_window_name (account);
     gtk_window_set_title(GTK_WINDOW(data->window), title);
     g_free (title);

commit c618a4739a47eddb15f399d9c7b062187ca4a447
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 09:26:37 2017 +0100

    Files linked to dialog-sx-glade

diff --git a/src/gnome/dialog-sx-editor.c b/src/gnome/dialog-sx-editor.c
index 5c125d2..a10c275 100644
--- a/src/gnome/dialog-sx-editor.c
+++ b/src/gnome/dialog-sx-editor.c
@@ -1173,12 +1173,12 @@ gnc_ui_scheduled_xaction_editor_dialog_create (SchedXaction *sx,
     gnc_builder_add_from_file (builder, "dialog-sx.glade", "remind_days_adj");
     gnc_builder_add_from_file (builder, "dialog-sx.glade", "end_spin_adj");
     gnc_builder_add_from_file (builder, "dialog-sx.glade", "remain_spin_adj");
-    gnc_builder_add_from_file (builder, "dialog-sx.glade", "Scheduled Transaction Editor");
+    gnc_builder_add_from_file (builder, "dialog-sx.glade", "scheduled_transaction_editor_dialog");
 
     sxed->builder = builder;
 
     /* Connect the Widgets */
-    sxed->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Scheduled Transaction Editor"));
+    sxed->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "scheduled_transaction_editor_dialog"));
     sxed->notebook = GTK_NOTEBOOK(gtk_builder_get_object (builder, "editor_notebook"));
     sxed->nameEntry = GTK_EDITABLE(gtk_builder_get_object (builder, "sxe_name"));
     sxed->enabledOpt = GTK_TOGGLE_BUTTON(gtk_builder_get_object (builder, "enabled_opt"));
@@ -1197,7 +1197,7 @@ gnc_ui_scheduled_xaction_editor_dialog_create (SchedXaction *sx,
 
     /* Setup the end-date GNC widget */
     {
-        GtkWidget *endDateBox = GTK_WIDGET(gtk_builder_get_object (builder, "end_date_hbox"));
+        GtkWidget *endDateBox = GTK_WIDGET(gtk_builder_get_object (builder, "editor_end_date_box"));
         sxed->endDateEntry = GNC_DATE_EDIT(gnc_date_edit_new (gnc_time (NULL),
 							      FALSE, FALSE));
         gtk_widget_show(GTK_WIDGET(sxed->endDateEntry));
@@ -1768,9 +1768,9 @@ _sx_engine_event_handler(QofInstance *ent, QofEventId event_type, gpointer user_
         GtkCellRenderer *renderer;
 
         builder = gtk_builder_new();
-        gnc_builder_add_from_file (builder, "dialog-sx.glade", "Account Deletion");
+        gnc_builder_add_from_file (builder, "dialog-sx.glade", "account_deletion_dialog");
 
-        dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Account Deletion"));
+        dialog = GTK_WIDGET(gtk_builder_get_object (builder, "account_deletion_dialog"));
 
         list = GTK_TREE_VIEW(gtk_builder_get_object (builder, "sx_list"));
 
diff --git a/src/gnome/dialog-sx-editor2.c b/src/gnome/dialog-sx-editor2.c
index 7c96eb5..1a47a25 100644
--- a/src/gnome/dialog-sx-editor2.c
+++ b/src/gnome/dialog-sx-editor2.c
@@ -1143,12 +1143,12 @@ gnc_ui_scheduled_xaction_editor_dialog_create2 (SchedXaction *sx,
     gnc_builder_add_from_file (builder, "dialog-sx.glade", "remind_days_adj");
     gnc_builder_add_from_file (builder, "dialog-sx.glade", "end_spin_adj");
     gnc_builder_add_from_file (builder, "dialog-sx.glade", "remain_spin_adj");
-    gnc_builder_add_from_file (builder, "dialog-sx.glade", "Scheduled Transaction Editor");
+    gnc_builder_add_from_file (builder, "dialog-sx.glade", "scheduled_transaction_editor_dialog");
 
     sxed->builder = builder;
 
     /* Connect the Widgets */
-    sxed->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "Scheduled Transaction Editor"));
+    sxed->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "scheduled_transaction_editor_dialog"));
     sxed->notebook = GTK_NOTEBOOK (gtk_builder_get_object (builder, "editor_notebook"));
     sxed->nameEntry = GTK_EDITABLE (gtk_builder_get_object (builder, "sxe_name"));
     sxed->enabledOpt = GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder, "enabled_opt"));
@@ -1167,7 +1167,7 @@ gnc_ui_scheduled_xaction_editor_dialog_create2 (SchedXaction *sx,
 
     /* Setup the end-date GNC widget */
     {
-        GtkWidget *endDateBox = GTK_WIDGET (gtk_builder_get_object (builder, "end_date_hbox"));
+        GtkWidget *endDateBox = GTK_WIDGET(gtk_builder_get_object (builder, "editor_end_date_box"));
         sxed->endDateEntry = GNC_DATE_EDIT (gnc_date_edit_new (gnc_time (NULL),
 							      FALSE, FALSE));
         gtk_widget_show (GTK_WIDGET (sxed->endDateEntry));
@@ -1716,9 +1716,9 @@ _sx_engine_event_handler (QofInstance *ent, QofEventId event_type, gpointer user
         GtkCellRenderer *renderer;
 
         builder = gtk_builder_new();
-        gnc_builder_add_from_file (builder, "dialog-sx.glade", "Account Deletion");
+        gnc_builder_add_from_file (builder, "dialog-sx.glade", "account_deletion_dialog");
 
-        dialog = GTK_WIDGET (gtk_builder_get_object (builder, "Account Deletion"));
+        dialog = GTK_WIDGET (gtk_builder_get_object (builder, "account_deletion_dialog"));
 
         list = GTK_TREE_VIEW (gtk_builder_get_object (builder, "sx_list"));
 
diff --git a/src/gnome/dialog-sx-from-trans.c b/src/gnome/dialog-sx-from-trans.c
index f8be47b..3e0666d 100644
--- a/src/gnome/dialog-sx-from-trans.c
+++ b/src/gnome/dialog-sx-from-trans.c
@@ -393,15 +393,15 @@ sxftd_init( SXFromTransInfo *sxfti )
     /* Setup the start and end dates as GNCDateEdits */
     {
         GtkWidget *paramTable = GTK_WIDGET(gtk_builder_get_object(sxfti->builder, "param_table" ));
-        sxfti->startDateGDE =
-            GNC_DATE_EDIT( gnc_date_edit_new (gnc_time (NULL),
-                                              FALSE, FALSE));
-        gtk_table_attach( GTK_TABLE(paramTable),
-                          GTK_WIDGET( sxfti->startDateGDE ),
-                          1, 2, 2, 3,
-                          (GTK_EXPAND | GTK_FILL),
-                          GTK_FILL,
-                          0, 0 );
+        sxfti->startDateGDE =  GNC_DATE_EDIT( gnc_date_edit_new (gnc_time (NULL), FALSE, FALSE));
+
+        gtk_grid_attach (GTK_GRID(paramTable), GTK_WIDGET(sxfti->startDateGDE), 1, 2, 1, 1);
+        gtk_widget_set_halign (GTK_WIDGET(sxfti->startDateGDE), GTK_ALIGN_FILL);
+        gtk_widget_set_valign (GTK_WIDGET(sxfti->startDateGDE), GTK_ALIGN_FILL);
+        gtk_widget_set_hexpand (GTK_WIDGET(sxfti->startDateGDE), TRUE);
+        gtk_widget_set_vexpand (GTK_WIDGET(sxfti->startDateGDE), FALSE);
+        g_object_set (GTK_WIDGET(sxfti->startDateGDE), "margin", 0, NULL);
+
         g_signal_connect( sxfti->startDateGDE, "date-changed",
                           G_CALLBACK( sxftd_update_excal_adapt ),
                           sxfti );
@@ -766,8 +766,8 @@ gnc_sx_create_from_trans( Transaction *trans )
 
     gnc_builder_add_from_file  (builder , "dialog-sx.glade", "freq_liststore");
 
-    gnc_builder_add_from_file  (builder , "dialog-sx.glade", "sx_from_real_trans");
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "sx_from_real_trans"));
+    gnc_builder_add_from_file  (builder , "dialog-sx.glade", "sx_from_real_trans_dialog");
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "sx_from_real_trans_dialog"));
 
     sxfti->builder = builder;
     sxfti->dialog = dialog;
diff --git a/src/gnome/dialog-sx-since-last-run.c b/src/gnome/dialog-sx-since-last-run.c
index 1258a2e..6d85d4d 100644
--- a/src/gnome/dialog-sx-since-last-run.c
+++ b/src/gnome/dialog-sx-since-last-run.c
@@ -967,9 +967,9 @@ gnc_ui_sx_since_last_run_dialog(GncSxInstanceModel *sx_instances, GList *auto_cr
     dialog = g_new0(GncSxSinceLastRunDialog, 1);
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-sx.glade", "since-last-run-dialog");
+    gnc_builder_add_from_file (builder, "dialog-sx.glade", "since_last_run_dialog");
 
-    dialog->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "since-last-run-dialog"));
+    dialog->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "since_last_run_dialog"));
 
     dialog->editing_model = gnc_sx_slr_tree_model_adapter_new(sx_instances);
     dialog->review_created_txns_toggle = GTK_TOGGLE_BUTTON(gtk_builder_get_object (builder, "review_txn_toggle"));
diff --git a/src/gnome/gtkbuilder/dialog-sx.glade b/src/gnome/gtkbuilder/dialog-sx.glade
index a2a4052..e2c9ba3 100644
--- a/src/gnome/gtkbuilder/dialog-sx.glade
+++ b/src/gnome/gtkbuilder/dialog-sx.glade
@@ -1,8 +1,8 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkDialog" id="Account Deletion">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="account_deletion_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
@@ -12,23 +12,23 @@
     <property name="default_height">240</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox24">
+      <object class="GtkBox" id="dialog-vbox24">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area24">
+          <object class="GtkButtonBox" id="dialog-action_area24">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="okbutton1">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -45,9 +45,10 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox181">
+          <object class="GtkBox" id="vbox181">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
               <object class="GtkLabel" id="label847994">
                 <property name="visible">True</property>
@@ -65,8 +66,6 @@
               <object class="GtkScrolledWindow" id="scrolledwindow20">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="hscrollbar_policy">automatic</property>
-                <property name="vscrollbar_policy">automatic</property>
                 <property name="shadow_type">in</property>
                 <child>
                   <object class="GtkTreeView" id="sx_list">
@@ -74,6 +73,9 @@
                     <property name="can_focus">False</property>
                     <property name="headers_visible">False</property>
                     <property name="enable_search">False</property>
+                    <child internal-child="selection">
+                      <object class="GtkTreeSelection" id="treeview-selection1"/>
+                    </child>
                   </object>
                 </child>
               </object>
@@ -96,198 +98,86 @@
       <action-widget response="-5">okbutton1</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkWindow" id="Preferences">
-    <property name="visible">True</property>
+  <object class="GtkAdjustment" id="advance_days_adj">
+    <property name="upper">731</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">30</property>
+  </object>
+  <object class="GtkAdjustment" id="create_days_adj">
+    <property name="upper">999999</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="end_spin_adj">
+    <property name="upper">1000</property>
+    <property name="value">1</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkListStore" id="freq_liststore">
+    <columns>
+      <!-- column-name item -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Daily</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Weekly</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Bi-Weekly</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Monthly</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Quarterly</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Yearly</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkDialog" id="sx_from_real_trans_dialog">
     <property name="can_focus">False</property>
-    <property name="title" translatable="yes">Preferences</property>
-    <child>
-      <object class="GtkTable" id="sx_prefs">
+    <property name="title" translatable="yes">Make Scheduled Transaction</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox23">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <property name="border_width">6</property>
-        <property name="n_rows">9</property>
-        <property name="n_columns">4</property>
-        <property name="column_spacing">12</property>
-        <child>
-          <object class="GtkLabel" id="label847981">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="xalign">0</property>
-            <property name="label" translatable="yes"><b>Since Last Run</b></property>
-            <property name="use_markup">True</property>
-          </object>
-          <packing>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkLabel" id="label847982">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="xalign">0</property>
-          </object>
-          <packing>
-            <property name="top_attach">3</property>
-            <property name="bottom_attach">4</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkLabel" id="label847983">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="xalign">0</property>
-            <property name="label" translatable="yes"><b>Transaction Editor Defaults</b></property>
-            <property name="use_markup">True</property>
-          </object>
-          <packing>
-            <property name="top_attach">4</property>
-            <property name="bottom_attach">5</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkCheckButton" id="pref/dialogs.sxs.since-last-run/show-at-file-open">
-            <property name="label" translatable="yes">_Run when data file opened</property>
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">False</property>
-            <property name="tooltip_text" translatable="yes">Run the "since last run" process when a file is opened.</property>
-            <property name="use_action_appearance">False</property>
-            <property name="use_underline">True</property>
-            <property name="draw_indicator">True</property>
-            <signal name="toggled" handler="on_sx_check_toggled_cb" swapped="no"/>
-          </object>
-          <packing>
-            <property name="right_attach">4</property>
-            <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-            <property name="x_padding">12</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkCheckButton" id="pref/dialogs.sxs.since-last-run/show-notify-window-at-file-open">
-            <property name="label" translatable="yes">_Show notification window</property>
-            <property name="visible">True</property>
-            <property name="sensitive">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">False</property>
-            <property name="tooltip_text" translatable="yes">Show the notification window for the "since last run" process when a file is opened.</property>
-            <property name="use_action_appearance">False</property>
-            <property name="use_underline">True</property>
-            <property name="draw_indicator">True</property>
-            <signal name="toggled" handler="on_sx_check_toggled_cb" swapped="no"/>
-          </object>
-          <packing>
-            <property name="right_attach">4</property>
-            <property name="top_attach">2</property>
-            <property name="bottom_attach">3</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-            <property name="x_padding">30</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkCheckButton" id="pref/dialogs.sxs.transaction-editor/create-auto">
-            <property name="label" translatable="yes">_Auto-create new transactions</property>
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">False</property>
-            <property name="tooltip_text" translatable="yes">Set the 'auto-create' flag on newly created scheduled transactions.</property>
-            <property name="use_action_appearance">False</property>
-            <property name="use_underline">True</property>
-            <property name="draw_indicator">True</property>
-            <signal name="toggled" handler="on_sx_check_toggled_cb" swapped="no"/>
-          </object>
-          <packing>
-            <property name="right_attach">4</property>
-            <property name="top_attach">5</property>
-            <property name="bottom_attach">6</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-            <property name="x_padding">12</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkAlignment" id="alignment25">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="left_padding">12</property>
-            <child>
-              <object class="GtkLabel" id="create_days_label">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Crea_te in advance:</property>
-                <property name="use_underline">True</property>
-                <property name="mnemonic_widget">pref/dialogs.sxs.transaction-editor/create-days</property>
-              </object>
-            </child>
-          </object>
-          <packing>
-            <property name="top_attach">7</property>
-            <property name="bottom_attach">8</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options">GTK_FILL</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkAlignment" id="alignment26">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="left_padding">12</property>
-            <child>
-              <object class="GtkLabel" id="remind_days_label">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">R_emind in advance:</property>
-                <property name="use_underline">True</property>
-                <property name="mnemonic_widget">pref/dialogs.sxs.transaction-editor/remind-days</property>
-              </object>
-            </child>
-          </object>
-          <packing>
-            <property name="top_attach">8</property>
-            <property name="bottom_attach">9</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options">GTK_FILL</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkHBox" id="remind_days_hbox">
+        <property name="orientation">vertical</property>
+        <property name="spacing">8</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area23">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="spacing">6</property>
+            <property name="layout_style">end</property>
             <child>
-              <object class="GtkSpinButton" id="pref/dialogs.sxs.transaction-editor/remind-days">
+              <object class="GtkButton" id="advanced_button">
+                <property name="label" translatable="yes">Advanced...</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="tooltip_text" translatable="yes">Begin notifications this many days before the transaction is created.</property>
-                <property name="primary_icon_activatable">False</property>
-                <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
-                <property name="adjustment">remind_days_adj</property>
-                <property name="climb_rate">1</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
-                <property name="fill">True</property>
+                <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
             <child>
-              <object class="GtkLabel" id="label847986">
+              <object class="GtkButton" id="cancel_button1">
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">days</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -295,104 +185,546 @@
                 <property name="position">1</property>
               </packing>
             </child>
-          </object>
-          <packing>
-            <property name="left_attach">1</property>
-            <property name="right_attach">2</property>
-            <property name="top_attach">8</property>
-            <property name="bottom_attach">9</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options">GTK_FILL</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkHBox" id="create_days_hbox">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="spacing">6</property>
             <child>
-              <object class="GtkSpinButton" id="pref/dialogs.sxs.transaction-editor/create-days">
+              <object class="GtkButton" id="ok_button1">
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="tooltip_text" translatable="yes">Create the transaction this many days before its effective date.</property>
-                <property name="primary_icon_activatable">False</property>
-                <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
-                <property name="adjustment">create_days_adj</property>
-                <property name="climb_rate">1</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label847985">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">days</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="position">1</property>
+                <property name="position">2</property>
               </packing>
             </child>
           </object>
           <packing>
-            <property name="left_attach">1</property>
-            <property name="right_attach">2</property>
-            <property name="top_attach">7</property>
-            <property name="bottom_attach">8</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options">GTK_FILL</property>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
         <child>
-          <object class="GtkCheckButton" id="pref/dialogs.sxs.transaction-editor/notify">
-            <property name="label" translatable="yes">_Notify before transactions are created </property>
+          <object class="GtkBox" id="hbox171">
             <property name="visible">True</property>
-            <property name="sensitive">False</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">False</property>
-            <property name="tooltip_text" translatable="yes">Set the 'notify' flag on newly created scheduled transactions.</property>
-            <property name="use_action_appearance">False</property>
-            <property name="use_underline">True</property>
-            <property name="draw_indicator">True</property>
-            <signal name="toggled" handler="on_sx_check_toggled_cb" swapped="no"/>
-          </object>
-          <packing>
-            <property name="right_attach">4</property>
-            <property name="top_attach">6</property>
-            <property name="bottom_attach">7</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
-            <property name="x_padding">30</property>
-          </packing>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <placeholder/>
+            <property name="can_focus">False</property>
+            <child>
+              <object class="GtkBox" id="vbox146">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="hexpand">False</property>
+                <property name="vexpand">False</property>
+                <property name="orientation">vertical</property>
+                <child>
+                  <object class="GtkGrid" id="param_table">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="column_spacing">5</property>
+                    <child>
+                      <object class="GtkLabel" id="label847842">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">end</property>
+                        <property name="label" translatable="yes">Name:</property>
+                        <property name="justify">center</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label847843">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">end</property>
+                        <property name="label" translatable="yes">Frequency:</property>
+                        <property name="justify">center</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label847875">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">end</property>
+                        <property name="label" translatable="yes">Start Date:</property>
+                        <property name="justify">center</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkEntry" id="name_entry">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="primary_icon_activatable">False</property>
+                        <property name="secondary_icon_activatable">False</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="freq_combo_box">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="model">freq_liststore</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="cellrenderertext1"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkFrame" id="frame78">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="border_width">2</property>
+                        <property name="label_xalign">0</property>
+                        <property name="shadow_type">in</property>
+                        <child>
+                          <object class="GtkBox" id="vbox147">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="orientation">vertical</property>
+                            <child>
+                              <object class="GtkRadioButton" id="never_end_button">
+                                <property name="label" translatable="yes">Never End</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="halign">start</property>
+                                <property name="use_underline">True</property>
+                                <property name="active">True</property>
+                                <property name="draw_indicator">True</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkBox" id="end_date_hbox">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <child>
+                                  <object class="GtkRadioButton" id="end_on_date_button">
+                                    <property name="label" translatable="yes">End Date:</property>
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="halign">start</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="draw_indicator">True</property>
+                                    <property name="group">never_end_button</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkBox" id="hbox164">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <child>
+                                  <object class="GtkRadioButton" id="n_occurrences_button">
+                                    <property name="label" translatable="yes">Number of Occurrences:</property>
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="halign">start</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="draw_indicator">True</property>
+                                    <property name="group">never_end_button</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkEntry" id="n_occurrences_entry">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="max_length">4</property>
+                                    <property name="invisible_char">●</property>
+                                    <property name="text" translatable="yes">1</property>
+                                    <property name="primary_icon_activatable">False</property>
+                                    <property name="secondary_icon_activatable">False</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                        <child type="label">
+                          <object class="GtkLabel" id="label847972">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="use_markup">True</property>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">3</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label1">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">end</property>
+                        <property name="label" translatable="yes">End: </property>
+                        <property name="use_markup">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">3</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkFrame" id="ex_cal_frame">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
+                <property name="vexpand">True</property>
+                <property name="label_xalign">0</property>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="100">advanced_button</action-widget>
+      <action-widget response="-6">cancel_button1</action-widget>
+      <action-widget response="-5">ok_button1</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkAdjustment" id="remain_spin_adj">
+    <property name="upper">1000</property>
+    <property name="value">1</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="remind_days_adj">
+    <property name="upper">999999</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">30</property>
+  </object>
+  <object class="GtkWindow" id="preferences_window">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="title" translatable="yes">Preferences</property>
+    <child>
+      <object class="GtkGrid" id="sx_prefs">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="border_width">6</property>
+        <property name="column_spacing">12</property>
+        <child>
+          <object class="GtkLabel" id="label847981">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="halign">start</property>
+            <property name="label" translatable="yes"><b>Since Last Run</b></property>
+            <property name="use_markup">True</property>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="label847982">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+          </object>
+          <packing>
+            <property name="left_attach">1</property>
+            <property name="top_attach">3</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="label847983">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="halign">start</property>
+            <property name="label" translatable="yes"><b>Transaction Editor Defaults</b></property>
+            <property name="use_markup">True</property>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">4</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkCheckButton" id="pref/dialogs.sxs.since-last-run/show-at-file-open">
+            <property name="label" translatable="yes">_Run when data file opened</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="tooltip_text" translatable="yes">Run the "since last run" process when a file is opened.</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
+            <property name="use_underline">True</property>
+            <property name="draw_indicator">True</property>
+            <signal name="toggled" handler="on_sx_check_toggled_cb" swapped="no"/>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkCheckButton" id="pref/dialogs.sxs.since-last-run/show-notify-window-at-file-open">
+            <property name="label" translatable="yes">_Show notification window</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="tooltip_text" translatable="yes">Show the notification window for the "since last run" process when a file is opened.</property>
+            <property name="halign">start</property>
+            <property name="margin_left">24</property>
+            <property name="use_underline">True</property>
+            <property name="draw_indicator">True</property>
+            <signal name="toggled" handler="on_sx_check_toggled_cb" swapped="no"/>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">2</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkCheckButton" id="pref/dialogs.sxs.transaction-editor/create-auto">
+            <property name="label" translatable="yes">_Auto-create new transactions</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="tooltip_text" translatable="yes">Set the 'auto-create' flag on newly created scheduled transactions.</property>
+            <property name="halign">start</property>
+            <property name="margin_left">12</property>
+            <property name="use_underline">True</property>
+            <property name="draw_indicator">True</property>
+            <signal name="toggled" handler="on_sx_check_toggled_cb" swapped="no"/>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">5</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkAlignment" id="alignment25">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="left_padding">12</property>
+            <child>
+              <object class="GtkLabel" id="create_days_label">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="margin_left">12</property>
+                <property name="label" translatable="yes">Crea_te in advance:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">pref/dialogs.sxs.transaction-editor/create-days</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">7</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkAlignment" id="alignment26">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="left_padding">12</property>
+            <child>
+              <object class="GtkLabel" id="remind_days_label">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="margin_left">12</property>
+                <property name="label" translatable="yes">R_emind in advance:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">pref/dialogs.sxs.transaction-editor/remind-days</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">8</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkBox" id="remind_days_hbox">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkSpinButton" id="pref/dialogs.sxs.transaction-editor/remind-days">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="tooltip_text" translatable="yes">Begin notifications this many days before the transaction is created.</property>
+                <property name="primary_icon_activatable">False</property>
+                <property name="secondary_icon_activatable">False</property>
+                <property name="adjustment">remind_days_adj</property>
+                <property name="climb_rate">1</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label847986">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">days</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="left_attach">1</property>
+            <property name="top_attach">8</property>
+          </packing>
         </child>
         <child>
-          <placeholder/>
+          <object class="GtkBox" id="create_days_hbox">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkSpinButton" id="pref/dialogs.sxs.transaction-editor/create-days">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="tooltip_text" translatable="yes">Create the transaction this many days before its effective date.</property>
+                <property name="primary_icon_activatable">False</property>
+                <property name="secondary_icon_activatable">False</property>
+                <property name="adjustment">create_days_adj</property>
+                <property name="climb_rate">1</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label847985">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">days</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="left_attach">1</property>
+            <property name="top_attach">7</property>
+          </packing>
         </child>
         <child>
-          <placeholder/>
+          <object class="GtkCheckButton" id="pref/dialogs.sxs.transaction-editor/notify">
+            <property name="label" translatable="yes">_Notify before transactions are created </property>
+            <property name="visible">True</property>
+            <property name="sensitive">False</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="tooltip_text" translatable="yes">Set the 'notify' flag on newly created scheduled transactions.</property>
+            <property name="halign">start</property>
+            <property name="margin_left">24</property>
+            <property name="use_underline">True</property>
+            <property name="draw_indicator">True</property>
+            <signal name="toggled" handler="on_sx_check_toggled_cb" swapped="no"/>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">6</property>
+            <property name="width">2</property>
+          </packing>
         </child>
         <child>
           <placeholder/>
@@ -415,29 +747,29 @@
       </object>
     </child>
   </object>
-  <object class="GtkDialog" id="Scheduled Transaction Editor">
+  <object class="GtkDialog" id="scheduled_transaction_editor_dialog">
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Edit Scheduled Transaction</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox17">
+      <object class="GtkBox" id="dialog-vbox17">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">8</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area17">
+          <object class="GtkButtonBox" id="dialog-action_area17">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="help_button">
-                <property name="label">gtk-help</property>
+                <property name="label" translatable="yes">_Help</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -447,13 +779,12 @@
             </child>
             <child>
               <object class="GtkButton" id="cancel_button">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -463,13 +794,12 @@
             </child>
             <child>
               <object class="GtkButton" id="ok_button">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -486,20 +816,19 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="editor-vbox">
+          <object class="GtkBox" id="editor-vbox">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="border_width">6</property>
+            <property name="orientation">vertical</property>
             <child>
-              <object class="GtkHBox" id="hbox96">
+              <object class="GtkBox" id="hbox96">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
                   <object class="GtkLabel" id="label847707">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">1</property>
-                    <property name="xpad">5</property>
                     <property name="label" translatable="yes"><b>Name</b></property>
                     <property name="use_markup">True</property>
                     <property name="use_underline">True</property>
@@ -533,8 +862,6 @@
                     <property name="can_focus">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                   </object>
                 </child>
               </object>
@@ -550,9 +877,10 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <child>
-                  <object class="GtkVBox" id="vbox106">
+                  <object class="GtkBox" id="vbox106">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkLabel" id="label847991">
                         <property name="visible">True</property>
@@ -568,8 +896,7 @@
                       <object class="GtkLabel" id="label847965">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="xpad">3</property>
+                        <property name="halign">start</property>
                         <property name="label" translatable="yes"><b>Options</b></property>
                         <property name="use_markup">True</property>
                       </object>
@@ -586,11 +913,9 @@
                         <property name="can_focus">False</property>
                         <property name="left_padding">12</property>
                         <child>
-                          <object class="GtkTable" id="table2">
+                          <object class="GtkGrid" id="table2">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="n_rows">5</property>
-                            <property name="n_columns">2</property>
                             <property name="column_spacing">6</property>
                             <child>
                               <object class="GtkCheckButton" id="advance_opt">
@@ -598,15 +923,13 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
+                                <property name="halign">start</property>
                                 <property name="use_underline">True</property>
                                 <property name="draw_indicator">True</property>
                               </object>
                               <packing>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">3</property>
-                                <property name="bottom_attach">4</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
@@ -615,29 +938,27 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
+                                <property name="halign">start</property>
                                 <property name="use_underline">True</property>
                                 <property name="draw_indicator">True</property>
                               </object>
                               <packing>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">4</property>
-                                <property name="bottom_attach">5</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="remind_hbox">
+                              <object class="GtkBox" id="remind_hbox">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
+                                <property name="halign">start</property>
+                                <property name="valign">start</property>
                                 <child>
                                   <object class="GtkSpinButton" id="remind_days">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="primary_icon_activatable">False</property>
                                     <property name="secondary_icon_activatable">False</property>
-                                    <property name="primary_icon_sensitive">True</property>
-                                    <property name="secondary_icon_sensitive">True</property>
                                     <property name="adjustment">remind_days_adj</property>
                                     <property name="climb_rate">1</property>
                                     <property name="snap_to_ticks">True</property>
@@ -653,6 +974,7 @@
                                   <object class="GtkLabel" id="label847810">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
+                                    <property name="halign">start</property>
                                     <property name="label" translatable="yes"> days</property>
                                     <property name="justify">center</property>
                                   </object>
@@ -665,11 +987,7 @@
                               </object>
                               <packing>
                                 <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
                                 <property name="top_attach">4</property>
-                                <property name="bottom_attach">5</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
@@ -679,30 +997,27 @@
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
                                 <property name="tooltip_text" translatable="yes">Conditional on splits not having variables</property>
-                                <property name="use_action_appearance">False</property>
+                                <property name="halign">start</property>
                                 <property name="use_underline">True</property>
                                 <property name="draw_indicator">True</property>
                               </object>
                               <packing>
-                                <property name="right_attach">2</property>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="advance_hbox">
+                              <object class="GtkBox" id="advance_hbox">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
+                                <property name="halign">start</property>
+                                <property name="valign">start</property>
                                 <child>
                                   <object class="GtkSpinButton" id="advance_days">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="primary_icon_activatable">False</property>
                                     <property name="secondary_icon_activatable">False</property>
-                                    <property name="primary_icon_sensitive">True</property>
-                                    <property name="secondary_icon_sensitive">True</property>
                                     <property name="adjustment">advance_days_adj</property>
                                     <property name="climb_rate">1</property>
                                     <property name="snap_to_ticks">True</property>
@@ -718,6 +1033,7 @@
                                   <object class="GtkLabel" id="label847808">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
+                                    <property name="halign">start</property>
                                     <property name="label" translatable="yes"> days</property>
                                     <property name="justify">center</property>
                                   </object>
@@ -730,11 +1046,7 @@
                               </object>
                               <packing>
                                 <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
                                 <property name="top_attach">3</property>
-                                <property name="bottom_attach">4</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
@@ -748,19 +1060,15 @@
                                     <property name="sensitive">False</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
-                                    <property name="use_action_appearance">False</property>
+                                    <property name="halign">start</property>
                                     <property name="use_underline">True</property>
                                     <property name="draw_indicator">True</property>
                                   </object>
                                 </child>
                               </object>
                               <packing>
-                                <property name="right_attach">2</property>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
-                                <property name="x_padding">24</property>
                               </packing>
                             </child>
                             <child>
@@ -769,18 +1077,24 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
+                                <property name="halign">start</property>
                                 <property name="use_underline">True</property>
                                 <property name="draw_indicator">True</property>
                               </object>
                               <packing>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
                               </packing>
                             </child>
                             <child>
                               <placeholder/>
                             </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
                           </object>
                         </child>
                       </object>
@@ -805,8 +1119,7 @@
                       <object class="GtkLabel" id="label847966">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="xpad">3</property>
+                        <property name="halign">start</property>
                         <property name="label" translatable="yes"><b>Occurrences</b></property>
                         <property name="use_markup">True</property>
                       </object>
@@ -823,18 +1136,18 @@
                         <property name="can_focus">False</property>
                         <property name="left_padding">12</property>
                         <child>
-                          <object class="GtkVBox" id="vbox179">
+                          <object class="GtkBox" id="vbox179">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="orientation">vertical</property>
                             <child>
-                              <object class="GtkHBox" id="hbox172">
+                              <object class="GtkBox" id="hbox172">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
                                   <object class="GtkLabel" id="label847964">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
                                     <property name="label" translatable="yes">Last Occurred: </property>
                                     <property name="justify">center</property>
                                   </object>
@@ -868,7 +1181,7 @@
                               <object class="GtkLabel" id="label847988">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
+                                <property name="halign">start</property>
                                 <property name="label" translatable="yes">Repeats:</property>
                               </object>
                               <packing>
@@ -883,25 +1196,23 @@
                                 <property name="can_focus">False</property>
                                 <property name="left_padding">12</property>
                                 <child>
-                                  <object class="GtkTable" id="table1">
+                                  <object class="GtkGrid" id="table1">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="n_rows">4</property>
-                                    <property name="n_columns">3</property>
                                     <child>
                                       <object class="GtkRadioButton" id="rb_noend">
                                         <property name="label" translatable="yes">Forever</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="receives_default">False</property>
-                                        <property name="use_action_appearance">False</property>
+                                        <property name="halign">start</property>
                                         <property name="use_underline">True</property>
                                         <property name="active">True</property>
                                         <property name="draw_indicator">True</property>
                                       </object>
                                       <packing>
-                                        <property name="x_options">GTK_FILL</property>
-                                        <property name="y_options"></property>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">0</property>
                                       </packing>
                                     </child>
                                     <child>
@@ -910,16 +1221,14 @@
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="receives_default">False</property>
-                                        <property name="use_action_appearance">False</property>
+                                        <property name="halign">start</property>
                                         <property name="use_underline">True</property>
                                         <property name="draw_indicator">True</property>
                                         <property name="group">rb_noend</property>
                                       </object>
                                       <packing>
+                                        <property name="left_attach">0</property>
                                         <property name="top_attach">1</property>
-                                        <property name="bottom_attach">2</property>
-                                        <property name="x_options">GTK_FILL</property>
-                                        <property name="y_options"></property>
                                       </packing>
                                     </child>
                                     <child>
@@ -928,54 +1237,45 @@
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="receives_default">False</property>
-                                        <property name="use_action_appearance">False</property>
+                                        <property name="halign">start</property>
                                         <property name="use_underline">True</property>
                                         <property name="draw_indicator">True</property>
                                         <property name="group">rb_noend</property>
                                       </object>
                                       <packing>
+                                        <property name="left_attach">0</property>
                                         <property name="top_attach">2</property>
-                                        <property name="bottom_attach">3</property>
-                                        <property name="x_options">GTK_FILL</property>
-                                        <property name="y_options"></property>
                                       </packing>
                                     </child>
                                     <child>
                                       <object class="GtkLabel" id="label847989">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="xpad">3</property>
+                                        <property name="halign">start</property>
+                                        <property name="margin_left">5</property>
+                                        <property name="margin_right">5</property>
                                         <property name="label" translatable="yes">occurrences</property>
                                       </object>
                                       <packing>
                                         <property name="left_attach">2</property>
-                                        <property name="right_attach">3</property>
                                         <property name="top_attach">2</property>
-                                        <property name="bottom_attach">3</property>
-                                        <property name="x_options">GTK_FILL</property>
-                                        <property name="y_options"></property>
                                       </packing>
                                     </child>
                                     <child>
                                       <object class="GtkLabel" id="label847876">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="xpad">3</property>
+                                        <property name="halign">start</property>
+                                        <property name="margin_left">5</property>
                                         <property name="label" translatable="yes">remaining</property>
                                       </object>
                                       <packing>
                                         <property name="left_attach">2</property>
-                                        <property name="right_attach">3</property>
                                         <property name="top_attach">3</property>
-                                        <property name="bottom_attach">4</property>
-                                        <property name="x_options">GTK_FILL</property>
-                                        <property name="y_options"></property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <object class="GtkHBox" id="end_date_hbox">
+                                      <object class="GtkBox" id="editor_end_date_box">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <child>
@@ -984,11 +1284,7 @@
                                       </object>
                                       <packing>
                                         <property name="left_attach">1</property>
-                                        <property name="right_attach">3</property>
                                         <property name="top_attach">1</property>
-                                        <property name="bottom_attach">2</property>
-                                        <property name="x_options">GTK_FILL</property>
-                                        <property name="y_options">GTK_FILL</property>
                                       </packing>
                                     </child>
                                     <child>
@@ -997,19 +1293,13 @@
                                         <property name="can_focus">True</property>
                                         <property name="primary_icon_activatable">False</property>
                                         <property name="secondary_icon_activatable">False</property>
-                                        <property name="primary_icon_sensitive">True</property>
-                                        <property name="secondary_icon_sensitive">True</property>
                                         <property name="adjustment">end_spin_adj</property>
                                         <property name="climb_rate">1</property>
                                         <property name="numeric">True</property>
                                       </object>
                                       <packing>
                                         <property name="left_attach">1</property>
-                                        <property name="right_attach">2</property>
                                         <property name="top_attach">2</property>
-                                        <property name="bottom_attach">3</property>
-                                        <property name="x_options">GTK_FILL</property>
-                                        <property name="y_options"></property>
                                       </packing>
                                     </child>
                                     <child>
@@ -1018,19 +1308,13 @@
                                         <property name="can_focus">True</property>
                                         <property name="primary_icon_activatable">False</property>
                                         <property name="secondary_icon_activatable">False</property>
-                                        <property name="primary_icon_sensitive">True</property>
-                                        <property name="secondary_icon_sensitive">True</property>
                                         <property name="adjustment">remain_spin_adj</property>
                                         <property name="climb_rate">1</property>
                                         <property name="numeric">True</property>
                                       </object>
                                       <packing>
                                         <property name="left_attach">1</property>
-                                        <property name="right_attach">2</property>
                                         <property name="top_attach">3</property>
-                                        <property name="bottom_attach">4</property>
-                                        <property name="x_options">GTK_FILL</property>
-                                        <property name="y_options"></property>
                                       </packing>
                                     </child>
                                     <child>
@@ -1042,6 +1326,9 @@
                                     <child>
                                       <placeholder/>
                                     </child>
+                                    <child>
+                                      <placeholder/>
+                                    </child>
                                   </object>
                                 </child>
                               </object>
@@ -1073,11 +1360,12 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkVBox" id="vbox184">
+                  <object class="GtkBox" id="vbox184">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <child>
-                      <object class="GtkHBox" id="gncfreq_hbox">
+                      <object class="GtkBox" id="gncfreq_hbox">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
@@ -1091,7 +1379,7 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="example_cal_hbox">
+                      <object class="GtkBox" id="example_cal_hbox">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
@@ -1121,10 +1409,11 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkVBox" id="register_vbox">
+                  <object class="GtkBox" id="register_vbox">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="border_width">1</property>
+                    <property name="orientation">vertical</property>
                     <child>
                       <placeholder/>
                     </child>
@@ -1166,60 +1455,7 @@
       <action-widget response="0">ok_button</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkAdjustment" id="advance_days_adj">
-    <property name="upper">731</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">30</property>
-  </object>
-  <object class="GtkAdjustment" id="create_days_adj">
-    <property name="upper">999999</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="end_spin_adj">
-    <property name="upper">1000</property>
-    <property name="value">1</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkListStore" id="freq_liststore">
-    <columns>
-      <!-- column-name item -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Daily</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Weekly</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Bi-Weekly</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Monthly</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Quarterly</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Yearly</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkAdjustment" id="remain_spin_adj">
-    <property name="upper">1000</property>
-    <property name="value">1</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="remind_days_adj">
-    <property name="upper">999999</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">30</property>
-  </object>
-  <object class="GtkDialog" id="since-last-run-dialog">
+  <object class="GtkDialog" id="since_last_run_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Since Last Run...</property>
@@ -1229,154 +1465,23 @@
     <property name="destroy_with_parent">True</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox25">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area25">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="cancelbutton2">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="has_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="okbutton2">
-                <property name="label">gtk-ok</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkVBox" id="vbox182">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <child>
-              <object class="GtkScrolledWindow" id="scrolledwindow21">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="hscrollbar_policy">automatic</property>
-                <property name="vscrollbar_policy">automatic</property>
-                <property name="shadow_type">in</property>
-                <child>
-                  <object class="GtkTreeView" id="instance_view">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="has_focus">True</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkHBox" id="hbox179">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <child>
-                  <object class="GtkFixed" id="fixed1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                  </object>
-                  <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkCheckButton" id="review_txn_toggle">
-                    <property name="label" translatable="yes">_Review created transactions</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_underline">True</property>
-                    <property name="draw_indicator">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">2</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="-6">cancelbutton2</action-widget>
-      <action-widget response="-5">okbutton2</action-widget>
-    </action-widgets>
-  </object>
-  <object class="GtkDialog" id="sx_from_real_trans">
-    <property name="can_focus">False</property>
-    <property name="title" translatable="yes">Make Scheduled Transaction</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox23">
+      <object class="GtkBox" id="dialog-vbox25">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <property name="spacing">8</property>
+        <property name="orientation">vertical</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area23">
+          <object class="GtkButtonBox" id="dialog-action_area25">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="advanced_button">
-                <property name="label" translatable="yes">Advanced...</property>
+            <child>
+              <object class="GtkButton" id="cancelbutton2">
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
+                <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
               </object>
               <packing>
@@ -1386,14 +1491,13 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="cancel_button">
-                <property name="label">gtk-cancel</property>
+              <object class="GtkButton" id="okbutton2">
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -1401,295 +1505,76 @@
                 <property name="position">1</property>
               </packing>
             </child>
-            <child>
-              <object class="GtkButton" id="ok_button">
-                <property name="label">gtk-ok</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">2</property>
-              </packing>
-            </child>
           </object>
           <packing>
             <property name="expand">False</property>
-            <property name="fill">False</property>
+            <property name="fill">True</property>
             <property name="pack_type">end</property>
             <property name="position">0</property>
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox171">
+          <object class="GtkBox" id="vbox182">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
-              <object class="GtkVBox" id="vbox146">
+              <object class="GtkScrolledWindow" id="scrolledwindow21">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
+                <property name="can_focus">True</property>
+                <property name="shadow_type">in</property>
                 <child>
-                  <object class="GtkTable" id="param_table">
+                  <object class="GtkTreeView" id="instance_view">
                     <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="n_rows">4</property>
-                    <property name="n_columns">2</property>
-                    <child>
-                      <object class="GtkLabel" id="label847842">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
-                        <property name="xpad">3</property>
-                        <property name="label" translatable="yes">Name:</property>
-                        <property name="justify">center</property>
-                      </object>
-                      <packing>
-                        <property name="x_options"></property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label847843">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
-                        <property name="xpad">3</property>
-                        <property name="label" translatable="yes">Frequency:</property>
-                        <property name="justify">center</property>
-                      </object>
-                      <packing>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options"></property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label847875">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
-                        <property name="xpad">3</property>
-                        <property name="label" translatable="yes">Start Date:</property>
-                        <property name="justify">center</property>
-                      </object>
-                      <packing>
-                        <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options"></property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkEntry" id="name_entry">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="primary_icon_activatable">False</property>
-                        <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkComboBox" id="freq_combo_box">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="model">freq_liststore</property>
-                        <child>
-                          <object class="GtkCellRendererText" id="cellrenderertext1"/>
-                          <attributes>
-                            <attribute name="text">0</attribute>
-                          </attributes>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkFrame" id="frame78">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="border_width">2</property>
-                        <property name="label_xalign">0</property>
-                        <property name="shadow_type">in</property>
-                        <child>
-                          <object class="GtkVBox" id="vbox147">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <child>
-                              <object class="GtkRadioButton" id="never_end_button">
-                                <property name="label" translatable="yes">Never End</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="active">True</property>
-                                <property name="draw_indicator">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkHBox" id="end_date_hbox">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <child>
-                                  <object class="GtkRadioButton" id="end_on_date_button">
-                                    <property name="label" translatable="yes">End Date:</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="use_action_appearance">False</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">never_end_button</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <placeholder/>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkHBox" id="hbox164">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <child>
-                                  <object class="GtkRadioButton" id="n_occurrences_button">
-                                    <property name="label" translatable="yes">Number of Occurrences:</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="use_action_appearance">False</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">never_end_button</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkEntry" id="n_occurrences_entry">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="max_length">4</property>
-                                    <property name="invisible_char">&#x25CF;</property>
-                                    <property name="text" translatable="yes">1</property>
-                                    <property name="invisible_char_set">True</property>
-                                    <property name="primary_icon_activatable">False</property>
-                                    <property name="secondary_icon_activatable">False</property>
-                                    <property name="primary_icon_sensitive">True</property>
-                                    <property name="secondary_icon_sensitive">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">2</property>
-                              </packing>
-                            </child>
-                          </object>
-                        </child>
-                        <child type="label">
-                          <object class="GtkLabel" id="label847972">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="use_markup">True</property>
-                          </object>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">3</property>
-                        <property name="bottom_attach">4</property>
-                        <property name="x_options"></property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label1">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
-                        <property name="yalign">0.20000000298023224</property>
-                        <property name="label" translatable="yes">End: </property>
-                        <property name="use_markup">True</property>
-                      </object>
-                      <packing>
-                        <property name="top_attach">3</property>
-                        <property name="bottom_attach">4</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <placeholder/>
+                    <property name="can_focus">True</property>
+                    <property name="has_focus">True</property>
+                    <child internal-child="selection">
+                      <object class="GtkTreeSelection" id="treeview-selection2"/>
                     </child>
                   </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
-                  </packing>
                 </child>
               </object>
               <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
                 <property name="position">0</property>
               </packing>
             </child>
             <child>
-              <object class="GtkFrame" id="ex_cal_frame">
+              <object class="GtkBox" id="hbox179">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label_xalign">0</property>
                 <child>
-                  <placeholder/>
+                  <object class="GtkFixed" id="fixed1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                  </object>
+                  <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="review_txn_toggle">
+                    <property name="label" translatable="yes">_Review created transactions</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="halign">start</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">1</property>
+                  </packing>
                 </child>
               </object>
               <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -1703,9 +1588,8 @@
       </object>
     </child>
     <action-widgets>
-      <action-widget response="100">advanced_button</action-widget>
-      <action-widget response="-6">cancel_button</action-widget>
-      <action-widget response="-5">ok_button</action-widget>
+      <action-widget response="-6">cancelbutton2</action-widget>
+      <action-widget response="-5">okbutton2</action-widget>
     </action-widgets>
   </object>
 </interface>

commit aebbf61ec557ff4b05154437842157251799632d
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 09:25:59 2017 +0100

    Files linked to dialog-tax-info.glade

diff --git a/src/gnome/dialog-tax-info.c b/src/gnome/dialog-tax-info.c
index 97a06b1..9d5ad76 100644
--- a/src/gnome/dialog-tax-info.c
+++ b/src/gnome/dialog-tax-info.c
@@ -1155,12 +1155,14 @@ identity_edit_clicked_cb (GtkButton *button,
     alignment = gtk_alignment_new(1.00, 0.50, 1.00, 0.00);
     gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 12, 0);
     gtk_container_add (GTK_CONTAINER (alignment), label);
-    table = gtk_table_new (3, 2, FALSE);
-    gtk_table_attach_defaults (GTK_TABLE (table), alignment, 0, 1, 0, 1);
+    table = gtk_grid_new ();
+    gtk_grid_attach (GTK_GRID(table), alignment, 0, 0, 1, 1);
+
     alignment = gtk_alignment_new(0.00, 0.50, 1.00, 0.00);
     gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 12, 0);
     gtk_container_add (GTK_CONTAINER (alignment), name_entry);
-    gtk_table_attach_defaults (GTK_TABLE (table), alignment, 1, 2, 0, 1);
+    gtk_grid_attach (GTK_GRID(table), alignment, 1, 0, 1, 1);
+
     store = gtk_list_store_new (1, G_TYPE_STRING);
     gtk_list_store_clear(store);
     types = ti_dialog->entity_type_infos;
@@ -1194,18 +1196,22 @@ identity_edit_clicked_cb (GtkButton *button,
     alignment = gtk_alignment_new(1.00, 0.50, 1.00, 0.00);
     gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 12, 0);
     gtk_container_add (GTK_CONTAINER (alignment), label);
-    gtk_table_attach_defaults (GTK_TABLE (table), alignment, 0, 1, 1, 2);
+    gtk_grid_attach (GTK_GRID(table), alignment, 0, 1, 1, 1);
+
     alignment = gtk_alignment_new(0.00, 0.50, 1.00, 0.00);
     gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 12, 0);
     gtk_container_add (GTK_CONTAINER (alignment), type_combo);
-    gtk_table_attach_defaults (GTK_TABLE (table), alignment, 1, 2, 1, 2);
+    gtk_grid_attach (GTK_GRID(table), alignment, 1, 1, 1, 1);
+
     label = gtk_label_new (_("CAUTION: If you set TXF categories, and later change 'Type', you will need to manually reset those categories one at a time"));
+    gtk_label_set_max_width_chars (GTK_LABEL (label), 50);
     gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
     gnc_label_set_alignment (label, 0.50, 0.50);
     alignment = gtk_alignment_new(0.50, 0.50, 1.00, 0.00);
     gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 6, 6, 4, 4);
     gtk_container_add (GTK_CONTAINER (alignment), label);
-    gtk_table_attach_defaults (GTK_TABLE (table), alignment, 0, 2, 2, 3);
+    gtk_grid_attach (GTK_GRID(table), alignment, 0, 2, 2, 1);
+
     gtk_container_add (GTK_CONTAINER (content_area), table);
     gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_APPLY);
     g_signal_connect (G_OBJECT (dialog), "response",
@@ -1269,9 +1275,9 @@ gnc_tax_info_dialog_create (GtkWidget * parent, TaxInfoDialog *ti_dialog)
 
     builder = gtk_builder_new();
     gnc_builder_add_from_file (builder, "dialog-tax-info.glade", "copy_spin_adj");
-    gnc_builder_add_from_file (builder, "dialog-tax-info.glade", "Tax Information Dialog");
+    gnc_builder_add_from_file (builder, "dialog-tax-info.glade", "tax_information_dialog");
 
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Tax Information Dialog"));
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "tax_information_dialog"));
     ti_dialog->dialog = dialog;
 
     initialize_getters ();
diff --git a/src/gnome/gtkbuilder/dialog-tax-info.glade b/src/gnome/gtkbuilder/dialog-tax-info.glade
index 7b16160..b3f85b8 100644
--- a/src/gnome/gtkbuilder/dialog-tax-info.glade
+++ b/src/gnome/gtkbuilder/dialog-tax-info.glade
@@ -1,30 +1,36 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkDialog" id="Tax Information Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkAdjustment" id="copy_spin_adj">
+    <property name="lower">1</property>
+    <property name="upper">100</property>
+    <property name="value">1</property>
+    <property name="step_increment">1</property>
+  </object>
+  <object class="GtkDialog" id="tax_information_dialog">
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Income Tax Information</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox14">
+      <object class="GtkBox" id="dialog-vbox14">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">6</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area14">
+          <object class="GtkButtonBox" id="dialog-action_area14">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancel_button">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -34,13 +40,12 @@
             </child>
             <child>
               <object class="GtkButton" id="ok_button">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -57,9 +62,10 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox101">
+          <object class="GtkBox" id="vbox101">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
               <object class="GtkAlignment" id="alignment14">
                 <property name="visible">True</property>
@@ -69,7 +75,7 @@
                   <object class="GtkLabel" id="label847741">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Income Tax Identity</b></property>
                     <property name="use_markup">True</property>
                     <property name="use_underline">True</property>
@@ -92,11 +98,9 @@
                 <property name="top_padding">4</property>
                 <property name="left_padding">12</property>
                 <child>
-                  <object class="GtkTable" id="table1">
+                  <object class="GtkGrid" id="table1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="n_rows">3</property>
-                    <property name="n_columns">2</property>
                     <child>
                       <object class="GtkAlignment" id="alignment17">
                         <property name="visible">True</property>
@@ -108,7 +112,7 @@
                           <object class="GtkLabel" id="label847743">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
+                            <property name="halign">start</property>
                             <property name="label" translatable="yes">Name:</property>
                             <property name="use_markup">True</property>
                             <property name="use_underline">True</property>
@@ -117,7 +121,8 @@
                         </child>
                       </object>
                       <packing>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
@@ -131,7 +136,6 @@
                           <object class="GtkLabel" id="label847742">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">1</property>
                             <property name="label" translatable="yes">Type:</property>
                             <property name="use_markup">True</property>
                             <property name="use_underline">True</property>
@@ -140,9 +144,8 @@
                         </child>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="y_options">GTK_FILL</property>
                       </packing>
                     </child>
                     <child>
@@ -157,14 +160,12 @@
                           <object class="GtkLabel" id="entity_name">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">0</property>
                           </object>
                         </child>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
@@ -176,28 +177,27 @@
                         <property name="left_padding">12</property>
                         <child>
                           <object class="GtkButton" id="identity_edit_button">
-                            <property name="label">gtk-edit</property>
+                            <property name="label" translatable="yes">_Edit</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">False</property>
                             <property name="tooltip_text" translatable="yes">Click to change Tax Name and/or Tax Type.</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_stock">True</property>
+                            <property name="halign">center</property>
+                            <property name="use_underline">True</property>
                           </object>
                         </child>
                       </object>
                       <packing>
-                        <property name="right_attach">2</property>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options"></property>
-                        <property name="y_options"></property>
+                        <property name="width">2</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkAlignment" id="alignment3">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="halign">start</property>
                         <property name="xalign">0</property>
                         <property name="xscale">0</property>
                         <property name="yscale">0</property>
@@ -206,16 +206,12 @@
                           <object class="GtkLabel" id="entity_type">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">0</property>
                           </object>
                         </child>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="y_options">GTK_FILL</property>
                       </packing>
                     </child>
                   </object>
@@ -235,19 +231,20 @@
           </packing>
         </child>
         <child>
-          <object class="GtkHPaned" id="paned">
+          <object class="GtkPaned" id="paned">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <child>
-              <object class="GtkVBox" id="acct_info_vbox">
+              <object class="GtkBox" id="acct_info_vbox">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">6</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <object class="GtkLabel" id="accounts_label">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>_Accounts</b></property>
                     <property name="use_markup">True</property>
                     <property name="use_underline">True</property>
@@ -264,26 +261,29 @@
                     <property name="can_focus">False</property>
                     <property name="left_padding">12</property>
                     <child>
-                      <object class="GtkVBox" id="vbox96">
+                      <object class="GtkBox" id="vbox96">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="orientation">vertical</property>
                         <child>
-                          <object class="GtkTable" id="table3">
+                          <object class="GtkGrid" id="table3">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="n_rows">2</property>
-                            <property name="n_columns">2</property>
                             <child>
                               <object class="GtkRadioButton" id="income_radio">
                                 <property name="label" translatable="yes">_Income</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
+                                <property name="halign">start</property>
                                 <property name="use_underline">True</property>
                                 <property name="active">True</property>
                                 <property name="draw_indicator">True</property>
                               </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
+                              </packing>
                             </child>
                             <child>
                               <object class="GtkRadioButton" id="expense_radio">
@@ -291,14 +291,14 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
+                                <property name="halign">start</property>
                                 <property name="use_underline">True</property>
                                 <property name="draw_indicator">True</property>
                                 <property name="group">income_radio</property>
                               </object>
                               <packing>
                                 <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
+                                <property name="top_attach">0</property>
                               </packing>
                             </child>
                             <child>
@@ -307,14 +307,14 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
+                                <property name="halign">start</property>
                                 <property name="use_underline">True</property>
                                 <property name="draw_indicator">True</property>
                                 <property name="group">income_radio</property>
                               </object>
                               <packing>
+                                <property name="left_attach">0</property>
                                 <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
                               </packing>
                             </child>
                             <child>
@@ -323,16 +323,14 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
+                                <property name="halign">start</property>
                                 <property name="use_underline">True</property>
                                 <property name="draw_indicator">True</property>
                                 <property name="group">income_radio</property>
                               </object>
                               <packing>
                                 <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
                                 <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
                               </packing>
                             </child>
                           </object>
@@ -346,8 +344,6 @@
                           <object class="GtkScrolledWindow" id="account_scroll">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="hscrollbar_policy">automatic</property>
-                            <property name="vscrollbar_policy">automatic</property>
                             <property name="shadow_type">in</property>
                             <child>
                               <placeholder/>
@@ -360,7 +356,7 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkHBox" id="hbox98">
+                          <object class="GtkBox" id="hbox98">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="border_width">3</property>
@@ -380,7 +376,6 @@
                               <object class="GtkLabel" id="label847733">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
                                 <property name="label" translatable="yes">Accounts Selected:</property>
                                 <property name="justify">center</property>
                               </object>
@@ -422,56 +417,17 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkHButtonBox" id="hbox99">
+                          <object class="GtkButtonBox" id="hbox99">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
                               <object class="GtkButton" id="select_subaccounts_button">
+                                <property name="label" translatable="yes">_Select Subaccounts</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">True</property>
                                 <property name="border_width">3</property>
-                                <property name="use_action_appearance">False</property>
-                                <child>
-                                  <object class="GtkAlignment" id="alignment1">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xscale">0</property>
-                                    <property name="yscale">0</property>
-                                    <child>
-                                      <object class="GtkHBox" id="hbox100">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="spacing">2</property>
-                                        <child>
-                                          <object class="GtkImage" id="image1">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="stock">gtk-add</property>
-                                          </object>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">False</property>
-                                            <property name="position">0</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkLabel" id="label847737">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="label" translatable="yes">_Select Subaccounts</property>
-                                            <property name="use_underline">True</property>
-                                          </object>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">False</property>
-                                            <property name="position">1</property>
-                                          </packing>
-                                        </child>
-                                      </object>
-                                    </child>
-                                  </object>
-                                </child>
+                                <property name="use_underline">True</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
@@ -502,20 +458,22 @@
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="tax_info_vbox">
+              <object class="GtkBox" id="tax_info_vbox">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">6</property>
+                <property name="orientation">vertical</property>
                 <property name="spacing">12</property>
                 <child>
-                  <object class="GtkVBox" id="vbox100">
+                  <object class="GtkBox" id="vbox100">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkLabel" id="label847734">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
+                        <property name="halign">start</property>
                         <property name="label" translatable="yes"><b>Account Tax Information</b></property>
                         <property name="use_markup">True</property>
                       </object>
@@ -536,7 +494,7 @@
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">False</property>
-                            <property name="use_action_appearance">False</property>
+                            <property name="halign">start</property>
                             <property name="use_underline">True</property>
                             <property name="draw_indicator">True</property>
                           </object>
@@ -556,15 +514,16 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkVBox" id="txf_categories_vbox">
+                  <object class="GtkBox" id="txf_categories_vbox">
                     <property name="visible">True</property>
                     <property name="sensitive">False</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkLabel" id="txf_category_label">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
+                        <property name="halign">start</property>
                         <property name="label" translatable="yes"><b>_TXF Categories</b></property>
                         <property name="use_markup">True</property>
                         <property name="use_underline">True</property>
@@ -576,34 +535,49 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkVPaned" id="vpaned1">
+                      <object class="GtkPaned" id="paned1">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
+                        <property name="margin_top">5</property>
+                        <property name="margin_bottom">5</property>
+                        <property name="hexpand">True</property>
+                        <property name="vexpand">True</property>
+                        <property name="orientation">vertical</property>
+                        <property name="position">200</property>
                         <child>
                           <object class="GtkAlignment" id="alignment5">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="hexpand">True</property>
+                            <property name="vexpand">True</property>
                             <property name="left_padding">12</property>
                             <child>
                               <object class="GtkScrolledWindow" id="scrolledwindow28">
                                 <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="hscrollbar_policy">automatic</property>
-                                <property name="vscrollbar_policy">automatic</property>
+                                <property name="can_focus">True</property>
+                                <property name="margin_top">5</property>
+                                <property name="margin_bottom">5</property>
+                                <property name="hexpand">True</property>
+                                <property name="vexpand">True</property>
                                 <property name="shadow_type">in</property>
                                 <child>
                                   <object class="GtkTreeView" id="txf_category_view">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
+                                    <property name="hexpand">True</property>
+                                    <property name="vexpand">True</property>
                                     <property name="reorderable">True</property>
                                     <property name="rules_hint">True</property>
+                                    <child internal-child="selection">
+                                      <object class="GtkTreeSelection" id="treeview-selection"/>
+                                    </child>
                                   </object>
                                 </child>
                               </object>
                             </child>
                           </object>
                           <packing>
-                            <property name="resize">True</property>
+                            <property name="resize">False</property>
                             <property name="shrink">True</property>
                           </packing>
                         </child>
@@ -611,17 +585,23 @@
                           <object class="GtkAlignment" id="alignment6">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="hexpand">True</property>
+                            <property name="vexpand">True</property>
                             <property name="left_padding">12</property>
                             <child>
                               <object class="GtkScrolledWindow" id="help_scroll">
                                 <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="hscrollbar_policy">automatic</property>
-                                <property name="vscrollbar_policy">automatic</property>
+                                <property name="can_focus">True</property>
+                                <property name="margin_top">5</property>
+                                <property name="margin_bottom">5</property>
+                                <property name="hexpand">True</property>
+                                <property name="vexpand">True</property>
                                 <property name="shadow_type">in</property>
                                 <child>
                                   <object class="GtkTextView" id="txf_help_text">
-                                    <property name="can_focus">False</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="hexpand">True</property>
+                                    <property name="vexpand">True</property>
                                     <property name="editable">False</property>
                                     <property name="wrap_mode">word</property>
                                   </object>
@@ -630,13 +610,13 @@
                             </child>
                           </object>
                           <packing>
-                            <property name="resize">False</property>
+                            <property name="resize">True</property>
                             <property name="shrink">True</property>
                           </packing>
                         </child>
                       </object>
                       <packing>
-                        <property name="expand">True</property>
+                        <property name="expand">False</property>
                         <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
@@ -649,20 +629,20 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="pns_copy_hbox">
+                  <object class="GtkBox" id="pns_copy_hbox">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="spacing">30</property>
                     <child>
-                      <object class="GtkVBox" id="payer_name_source_vbox">
+                      <object class="GtkBox" id="payer_name_source_vbox">
                         <property name="visible">True</property>
                         <property name="sensitive">False</property>
                         <property name="can_focus">False</property>
+                        <property name="orientation">vertical</property>
                         <child>
                           <object class="GtkLabel" id="label847736">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">0</property>
                             <property name="label" translatable="yes"><b>Payer Name Source</b></property>
                             <property name="use_markup">True</property>
                           </object>
@@ -683,7 +663,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
+                                <property name="halign">start</property>
                                 <property name="use_underline">True</property>
                                 <property name="draw_indicator">True</property>
                               </object>
@@ -706,7 +686,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
+                                <property name="halign">start</property>
                                 <property name="use_underline">True</property>
                                 <property name="draw_indicator">True</property>
                                 <property name="group">current_account_button</property>
@@ -727,15 +707,15 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkVBox" id="copy_number_vbox">
+                      <object class="GtkBox" id="copy_number_vbox">
                         <property name="visible">True</property>
                         <property name="sensitive">False</property>
                         <property name="can_focus">False</property>
+                        <property name="orientation">vertical</property>
                         <child>
                           <object class="GtkLabel" id="label847738">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">0</property>
                             <property name="label" translatable="yes"><b>Copy Number</b></property>
                             <property name="use_markup">True</property>
                           </object>
@@ -756,8 +736,6 @@
                                 <property name="can_focus">True</property>
                                 <property name="primary_icon_activatable">False</property>
                                 <property name="secondary_icon_activatable">False</property>
-                                <property name="primary_icon_sensitive">True</property>
-                                <property name="secondary_icon_sensitive">True</property>
                                 <property name="adjustment">copy_spin_adj</property>
                                 <property name="climb_rate">1</property>
                               </object>
@@ -803,10 +781,4 @@
       <action-widget response="-5">ok_button</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkAdjustment" id="copy_spin_adj">
-    <property name="lower">1</property>
-    <property name="upper">100</property>
-    <property name="value">1</property>
-    <property name="step_increment">1</property>
-  </object>
 </interface>

commit f1906344c079cb6c1d242cd8f37c6edd444a55a6
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 09:25:17 2017 +0100

    Files linked to dialog-trans-assoc.glade

diff --git a/src/gnome/dialog-trans-assoc.c b/src/gnome/dialog-trans-assoc.c
index 59cf0d6..04e27b0 100644
--- a/src/gnome/dialog-trans-assoc.c
+++ b/src/gnome/dialog-trans-assoc.c
@@ -387,9 +387,9 @@ gnc_assoc_dialog_create (AssocDialog *assoc_dialog)
     builder = gtk_builder_new();
     gnc_builder_add_from_file (builder, "dialog-trans-assoc.glade", "list-store");
 
-    gnc_builder_add_from_file (builder, "dialog-trans-assoc.glade", "Transaction Association Dialog");
+    gnc_builder_add_from_file (builder, "dialog-trans-assoc.glade", "transaction_association_dialog");
 
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Transaction Association Dialog"));
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "transaction_association_dialog"));
     assoc_dialog->dialog = dialog;
 
     assoc_dialog->view = GTK_WIDGET(gtk_builder_get_object (builder, "treeview"));
diff --git a/src/gnome/gtkbuilder/dialog-trans-assoc.glade b/src/gnome/gtkbuilder/dialog-trans-assoc.glade
index 721a9d5..73374c7 100644
--- a/src/gnome/gtkbuilder/dialog-trans-assoc.glade
+++ b/src/gnome/gtkbuilder/dialog-trans-assoc.glade
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
+  <requires lib="gtk+" version="3.10"/>
   <object class="GtkListStore" id="list-store">
     <columns>
       <!-- column-name date -->
@@ -20,7 +20,7 @@
       <column type="gboolean"/>
     </columns>
   </object>
-  <object class="GtkDialog" id="Transaction Association Dialog">
+  <object class="GtkDialog" id="transaction_association_dialog">
     <property name="visible">True</property>
     <property name="can_focus">True</property>
     <property name="has_focus">True</property>
@@ -34,23 +34,11 @@
     <signal name="destroy" handler="gnc_assoc_dialog_window_destroy_cb" swapped="no"/>
     <signal name="response" handler="gnc_assoc_dialog_response_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox2">
+      <object class="GtkBox" id="dialog-vbox2">
         <property name="can_focus">False</property>
-        <child>
-          <object class="GtkLabel" id="label1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label" translatable="yes">All Transaction Associations</property>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="padding">2</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
+        <property name="orientation">vertical</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area1">
+          <object class="GtkButtonBox" id="dialog-action_area1">
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
@@ -106,6 +94,19 @@
           </packing>
         </child>
         <child>
+          <object class="GtkLabel" id="label1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">All Transaction Associations</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="padding">2</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
           <object class="GtkLabel" id="path-head">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
@@ -121,13 +122,14 @@
           <object class="GtkScrolledWindow" id="scrolledwindow2">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">automatic</property>
-            <property name="vscrollbar_policy">automatic</property>
             <child>
               <object class="GtkTreeView" id="treeview">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="model">list-store</property>
+                <child internal-child="selection">
+                  <object class="GtkTreeSelection" id="treeview-selection1"/>
+                </child>
                 <child>
                   <object class="GtkTreeViewColumn" id="trans-date">
                     <property name="resizable">True</property>
@@ -195,7 +197,6 @@
           <object class="GtkLabel" id="label2">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="ypad">5</property>
             <property name="label" translatable="yes">     To jump to the Transaction, double click on the entry in the
 Description column or Association column to open the Association</property>
           </object>

commit 64f5d5e546ff4080a5555eb5e0e8d747084ed0ad
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 09:24:50 2017 +0100

    Files linked to dialog-print-check.glade

diff --git a/src/gnome/dialog-print-check.c b/src/gnome/dialog-print-check.c
index 4411b0b..ab4270a 100644
--- a/src/gnome/dialog-print-check.c
+++ b/src/gnome/dialog-print-check.c
@@ -855,10 +855,10 @@ gnc_print_check_save_button_clicked(GtkButton *unused, PrintCheckDialog *pcd)
     gchar *title;
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-print-check.glade", "Format Title Dialog");
+    gnc_builder_add_from_file (builder, "dialog-print-check.glade", "format_title_dialog");
 
     /* Get a title for the new check format. */
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Format Title Dialog"));
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "format_title_dialog"));
     entry = GTK_WIDGET(gtk_builder_get_object (builder, "format_title"));
     button = GTK_WIDGET(gtk_builder_get_object (builder, "ok_button"));
     gnc_check_format_title_changed(GTK_EDITABLE(entry), button);
@@ -1642,12 +1642,12 @@ gnc_ui_print_check_dialog_create(GtkWidget *parent,
     gnc_builder_add_from_file (builder, "dialog-print-check.glade", "liststore1");
     gnc_builder_add_from_file (builder, "dialog-print-check.glade", "liststore2");
     gnc_builder_add_from_file (builder, "dialog-print-check.glade", "liststore3");
-    gnc_builder_add_from_file (builder, "dialog-print-check.glade", "Print Check Dialog");
+    gnc_builder_add_from_file (builder, "dialog-print-check.glade", "print_check_dialog");
 
     gtk_builder_connect_signals_full (builder, gnc_builder_connect_full_func, pcd);
 
     pcd->builder = builder;
-    pcd->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Print Check Dialog"));
+    pcd->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "print_check_dialog"));
 
     /* now pick out the relevant child widgets */
     pcd->format_combobox = GTK_WIDGET(gtk_builder_get_object (builder, "check_format_combobox"));
@@ -1686,7 +1686,7 @@ gnc_ui_print_check_dialog_create(GtkWidget *parent,
     /* Create and attach the date-format chooser */
     table = GTK_WIDGET(gtk_builder_get_object (builder, "options_table"));
     pcd->date_format = gnc_date_format_new_without_label();
-    gtk_table_attach_defaults(GTK_TABLE(table), pcd->date_format, 1, 3, 4, 7);
+    gtk_grid_attach (GTK_GRID(table), pcd->date_format, 1, 4, 1, 1);
 
     /* Default font (set in preferences) */
     font = gnc_prefs_get_string(GNC_PREFS_GROUP, GNC_PREF_DEFAULT_FONT);
diff --git a/src/gnome/gtkbuilder/dialog-print-check.glade b/src/gnome/gtkbuilder/dialog-print-check.glade
index d2e2dcc..db603be 100644
--- a/src/gnome/gtkbuilder/dialog-print-check.glade
+++ b/src/gnome/gtkbuilder/dialog-print-check.glade
@@ -1,31 +1,152 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkDialog" id="Format Title Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkAdjustment" id="adjustment1">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment10">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment11">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment12">
+    <property name="lower">-180</property>
+    <property name="upper">180</property>
+    <property name="step_increment">0.0099999997764800008</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment13">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment14">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment15">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment16">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000000000001</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment17">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment18">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment19">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment2">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment20">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment21">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment22">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment23">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment24">
+    <property name="upper">100</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">1</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment3">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment4">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment5">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment6">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment7">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment8">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment9">
+    <property name="upper">100000</property>
+    <property name="step_increment">0.10000000149</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkDialog" id="format_title_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Save Custom Check Format</property>
     <property name="window_position">center-on-parent</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox7">
+      <object class="GtkBox" id="dialog-vbox7">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area7">
+          <object class="GtkButtonBox" id="dialog-action_area7">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancel_button">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -35,14 +156,13 @@
             </child>
             <child>
               <object class="GtkButton" id="ok_button">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -80,8 +200,6 @@
             <property name="activates_default">True</property>
             <property name="primary_icon_activatable">False</property>
             <property name="secondary_icon_activatable">False</property>
-            <property name="primary_icon_sensitive">True</property>
-            <property name="secondary_icon_sensitive">True</property>
             <signal name="changed" handler="gnc_check_format_title_changed" object="ok_button" swapped="no"/>
           </object>
           <packing>
@@ -97,31 +215,91 @@
       <action-widget response="-5">ok_button</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkDialog" id="Print Check Dialog">
+  <object class="GtkListStore" id="liststore1">
+    <columns>
+      <!-- column-name item -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Inches</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Centimeters</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Millimeters</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Points</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="liststore2">
+    <columns>
+      <!-- column-name item -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Top</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Middle</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Bottom</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Custom</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="liststore3">
+    <columns>
+      <!-- column-name item -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Quicken/QuickBooks (tm) US-Letter</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Deluxe(tm) Personal Checks US-Letter</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Quicken(tm) Wallet Checks w/ side stub</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Custom</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkDialog" id="print_check_dialog">
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Print Check</property>
     <property name="resizable">False</property>
     <property name="type_hint">dialog</property>
     <signal name="response" handler="gnc_ui_print_check_response_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox6">
+      <object class="GtkBox" id="dialog-vbox6">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">8</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area6">
+          <object class="GtkButtonBox" id="dialog-action_area6">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="helpbutton">
-                <property name="label">gtk-help</property>
+                <property name="label" translatable="yes">_Help</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -131,13 +309,12 @@
             </child>
             <child>
               <object class="GtkButton" id="cancelbutton">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -147,13 +324,12 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton">
-                <property name="label">gtk-print</property>
+                <property name="label" translatable="yes">_Print</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -174,61 +350,55 @@
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <child>
-              <object class="GtkTable" id="options_table">
+              <object class="GtkGrid" id="options_table">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">5</property>
-                <property name="n_rows">14</property>
-                <property name="n_columns">3</property>
-                <property name="column_spacing">12</property>
                 <property name="row_spacing">1</property>
+                <property name="column_spacing">12</property>
                 <child>
                   <object class="GtkLabel" id="label847677">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">Check _format:</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">check_format_combobox</property>
                   </object>
                   <packing>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label847678">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">Check po_sition:</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">check_position_combobox</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label847679">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="yalign">0.20000000298023224</property>
+                    <property name="halign">start</property>
+                    <property name="valign">start</property>
                     <property name="label" translatable="yes">_Date format:</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
@@ -246,8 +416,7 @@
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">3</property>
-                    <property name="y_options">GTK_FILL</property>
+                    <property name="top_attach">0</property>
                   </packing>
                 </child>
                 <child>
@@ -265,11 +434,7 @@
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
@@ -279,15 +444,10 @@
                     <property name="caps_lock_warning">False</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">9</property>
-                    <property name="bottom_attach">10</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
@@ -297,15 +457,10 @@
                     <property name="caps_lock_warning">False</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">10</property>
-                    <property name="bottom_attach">11</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
@@ -315,15 +470,10 @@
                     <property name="caps_lock_warning">False</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">11</property>
-                    <property name="bottom_attach">12</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
@@ -333,15 +483,10 @@
                     <property name="caps_lock_warning">False</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">12</property>
-                    <property name="bottom_attach">13</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
@@ -351,15 +496,10 @@
                     <property name="caps_lock_warning">False</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">13</property>
-                    <property name="bottom_attach">14</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
@@ -369,101 +509,51 @@
                     <property name="tooltip_text" translatable="yes">Check format must have an
 ADDRESS item defined in order
 to print an address on the check.</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">_Address</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">check_address_name</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">9</property>
-                    <property name="bottom_attach">10</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHSeparator" id="hseparator1">
+                  <object class="GtkSeparator" id="hseparator1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                   </object>
                   <packing>
-                    <property name="right_attach">3</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">8</property>
-                    <property name="bottom_attach">9</property>
-                    <property name="y_padding">5</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label8">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">10</property>
-                    <property name="bottom_attach">11</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label9">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">11</property>
-                    <property name="bottom_attach">12</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label10">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">12</property>
-                    <property name="bottom_attach">13</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label11">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">13</property>
-                    <property name="bottom_attach">14</property>
-                    <property name="y_options"></property>
+                    <property name="width">2</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="first_page_label">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">Checks on first _page:</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">first_page_count_entry</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkSpinButton" id="first_page_count_entry">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="invisible_char">&#x25CF;</property>
+                    <property name="invisible_char">●</property>
                     <property name="width_chars">3</property>
                     <property name="xalign">1</property>
                     <property name="caps_lock_warning">False</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment24</property>
                     <property name="snap_to_ticks">True</property>
                     <property name="numeric">True</property>
@@ -471,22 +561,18 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHSeparator" id="hseparator3">
+                  <object class="GtkSeparator" id="hseparator3">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                   </object>
                   <packing>
-                    <property name="right_attach">3</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
+                    <property name="width">2</property>
                   </packing>
                 </child>
                 <child>
@@ -522,16 +608,12 @@ to print an address on the check.</property>
                 <child>
                   <placeholder/>
                 </child>
-                <child>
-                  <placeholder/>
-                </child>
               </object>
             </child>
             <child type="tab">
               <object class="GtkLabel" id="label847675">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xpad">5</property>
                 <property name="label" translatable="yes">Options</property>
                 <property name="justify">center</property>
               </object>
@@ -540,12 +622,11 @@ to print an address on the check.</property>
               </packing>
             </child>
             <child>
-              <object class="GtkTable" id="custom_table">
+              <object class="GtkGrid" id="custom_table">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">5</property>
-                <property name="n_rows">19</property>
-                <property name="n_columns">3</property>
+                <property name="column_spacing">5</property>
                 <child>
                   <object class="GtkLabel" id="label703">
                     <property name="visible">True</property>
@@ -555,9 +636,7 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
+                    <property name="top_attach">0</property>
                   </packing>
                 </child>
                 <child>
@@ -569,94 +648,82 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
+                    <property name="top_attach">0</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label701">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">Pa_yee:</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">payee_x_entry</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label705">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">_Date:</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">date_x_entry</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label706">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">Amount (_words):</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">amount_words_x_entry</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label707">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">Amount (_numbers):</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">amount_numbers_x_entry</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label708">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">_Notes:</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">notes_x_entry</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">6</property>
-                    <property name="bottom_attach">7</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
@@ -665,8 +732,6 @@ to print an address on the check.</property>
                     <property name="can_focus">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment23</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -674,11 +739,7 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
@@ -687,8 +748,6 @@ to print an address on the check.</property>
                     <property name="can_focus">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment22</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -696,11 +755,7 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
@@ -709,8 +764,6 @@ to print an address on the check.</property>
                     <property name="can_focus">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment21</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -718,11 +771,7 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
@@ -731,8 +780,6 @@ to print an address on the check.</property>
                     <property name="can_focus">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment20</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -740,11 +787,7 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
@@ -753,8 +796,6 @@ to print an address on the check.</property>
                     <property name="can_focus">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment19</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -762,11 +803,7 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">6</property>
-                    <property name="bottom_attach">7</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
@@ -775,8 +812,6 @@ to print an address on the check.</property>
                     <property name="can_focus">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment18</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -784,11 +819,7 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
@@ -797,8 +828,6 @@ to print an address on the check.</property>
                     <property name="can_focus">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment17</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -806,11 +835,7 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
@@ -819,8 +844,6 @@ to print an address on the check.</property>
                     <property name="can_focus">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment16</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -828,11 +851,7 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
@@ -841,8 +860,6 @@ to print an address on the check.</property>
                     <property name="can_focus">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment15</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -850,11 +867,7 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
@@ -863,8 +876,6 @@ to print an address on the check.</property>
                     <property name="can_focus">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment14</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -872,11 +883,7 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">6</property>
-                    <property name="bottom_attach">7</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
@@ -894,28 +901,22 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">14</property>
-                    <property name="bottom_attach">15</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label709">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">_Units:</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">units_combobox</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">14</property>
-                    <property name="bottom_attach">15</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
@@ -924,8 +925,6 @@ to print an address on the check.</property>
                     <property name="can_focus">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment13</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -933,43 +932,36 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">12</property>
-                    <property name="bottom_attach">13</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="translation_label">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">_Translation:</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">translation_x_entry</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">12</property>
-                    <property name="bottom_attach">13</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label847680">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">_Rotation</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">check_rotation_entry</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">13</property>
-                    <property name="bottom_attach">14</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
@@ -978,8 +970,6 @@ to print an address on the check.</property>
                     <property name="can_focus">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment12</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -988,10 +978,7 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">13</property>
-                    <property name="bottom_attach">14</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
@@ -1000,8 +987,6 @@ to print an address on the check.</property>
                     <property name="can_focus">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment11</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -1009,145 +994,72 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">12</property>
-                    <property name="bottom_attach">13</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="upper_left">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">The origin point is the upper left-hand corner of the page.</property>
                   </object>
                   <packing>
-                    <property name="right_attach">3</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">15</property>
-                    <property name="bottom_attach">16</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                    <property name="y_padding">5</property>
+                    <property name="width">3</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="lower_left">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">The origin point is the lower left-hand corner of the page.</property>
                   </object>
                   <packing>
-                    <property name="right_attach">3</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">16</property>
-                    <property name="bottom_attach">17</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                    <property name="y_padding">5</property>
+                    <property name="width">3</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="rotation_units">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">Degrees</property>
                   </object>
                   <packing>
                     <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">13</property>
-                    <property name="bottom_attach">14</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                    <property name="x_padding">6</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label847681">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label"> </property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">17</property>
-                    <property name="bottom_attach">18</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkButton" id="save_button">
+                    <property name="label" translatable="yes">_Save Format</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
                     <signal name="clicked" handler="gnc_print_check_save_button_clicked" swapped="no"/>
-                    <child>
-                      <object class="GtkAlignment" id="alignment1">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xscale">0</property>
-                        <property name="yscale">0</property>
-                        <child>
-                          <object class="GtkHBox" id="hbox1">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="spacing">2</property>
-                            <child>
-                              <object class="GtkImage" id="image1">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="stock">gtk-save-as</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label847682">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">_Save format</property>
-                                <property name="use_underline">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                        </child>
-                      </object>
-                    </child>
                   </object>
                   <packing>
                     <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">18</property>
-                    <property name="bottom_attach">19</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">_Address:</property>
                     <property name="use_underline">True</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">5</property>
-                    <property name="bottom_attach">6</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
@@ -1156,8 +1068,6 @@ to print an address on the check.</property>
                     <property name="can_focus">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment10</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -1165,11 +1075,7 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">5</property>
-                    <property name="bottom_attach">6</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
@@ -1178,8 +1084,6 @@ to print an address on the check.</property>
                     <property name="can_focus">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment9</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -1187,28 +1091,22 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">5</property>
-                    <property name="bottom_attach">6</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">_Memo:</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">memo_x_entry</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">7</property>
-                    <property name="bottom_attach">8</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
@@ -1217,8 +1115,6 @@ to print an address on the check.</property>
                     <property name="can_focus">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment8</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -1226,11 +1122,7 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">7</property>
-                    <property name="bottom_attach">8</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
@@ -1239,8 +1131,6 @@ to print an address on the check.</property>
                     <property name="can_focus">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment7</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -1248,73 +1138,61 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">7</property>
-                    <property name="bottom_attach">8</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label3">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">Splits Memo</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">splits_memo_x_entry</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">9</property>
-                    <property name="bottom_attach">10</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label4">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">Splits Amount</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">splits_amount_x_entry</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">8</property>
-                    <property name="bottom_attach">9</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label5">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">Splits Account</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">splits_account_x_entry</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">10</property>
-                    <property name="bottom_attach">11</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkSpinButton" id="splits_amount_y_entry">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="invisible_char">&#x25CF;</property>
+                    <property name="invisible_char">●</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment6</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -1322,22 +1200,16 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">8</property>
-                    <property name="bottom_attach">9</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkSpinButton" id="splits_amount_x_entry">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="invisible_char">&#x25CF;</property>
+                    <property name="invisible_char">●</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment5</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -1345,22 +1217,16 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">8</property>
-                    <property name="bottom_attach">9</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkSpinButton" id="splits_memo_x_entry">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="invisible_char">&#x25CF;</property>
+                    <property name="invisible_char">●</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment4</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -1368,22 +1234,16 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">9</property>
-                    <property name="bottom_attach">10</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkSpinButton" id="splits_memo_y_entry">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="invisible_char">&#x25CF;</property>
+                    <property name="invisible_char">●</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment3</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -1391,22 +1251,16 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">9</property>
-                    <property name="bottom_attach">10</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkSpinButton" id="splits_account_y_entry">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="invisible_char">&#x25CF;</property>
+                    <property name="invisible_char">●</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment2</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -1414,22 +1268,16 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">10</property>
-                    <property name="bottom_attach">11</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkSpinButton" id="splits_account_x_entry">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="invisible_char">&#x25CF;</property>
+                    <property name="invisible_char">●</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">adjustment1</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">3</property>
@@ -1437,23 +1285,18 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">10</property>
-                    <property name="bottom_attach">11</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHSeparator" id="hseparator2">
+                  <object class="GtkSeparator" id="hseparator2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                   </object>
                   <packing>
-                    <property name="right_attach">3</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">11</property>
-                    <property name="bottom_attach">12</property>
-                    <property name="y_padding">3</property>
+                    <property name="width">3</property>
                   </packing>
                 </child>
                 <child>
@@ -1463,20 +1306,14 @@ to print an address on the check.</property>
                   </object>
                   <packing>
                     <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
                     <property name="top_attach">14</property>
-                    <property name="bottom_attach">15</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkLabel" id="label7">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                  </object>
-                  <packing>
-                    <property name="y_options"></property>
-                  </packing>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
                 </child>
                 <child>
                   <placeholder/>
@@ -1499,7 +1336,6 @@ to print an address on the check.</property>
               <object class="GtkLabel" id="label847676">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xpad">5</property>
                 <property name="label" translatable="yes">Custom format</property>
                 <property name="justify">center</property>
               </object>
@@ -1523,185 +1359,4 @@ to print an address on the check.</property>
       <action-widget response="-5">okbutton</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkAdjustment" id="adjustment1">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment10">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment11">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment12">
-    <property name="lower">-180</property>
-    <property name="upper">180</property>
-    <property name="step_increment">0.0099999997764800008</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment13">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment14">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment15">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment16">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment17">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment18">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment19">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment2">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment20">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment21">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment22">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment23">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment24">
-    <property name="upper">100</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">1</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment3">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment4">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment5">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment6">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment7">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment8">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment9">
-    <property name="upper">100000</property>
-    <property name="step_increment">0.10000000149</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkListStore" id="liststore1">
-    <columns>
-      <!-- column-name item -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Inches</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Centimeters</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Millimeters</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Points</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="liststore2">
-    <columns>
-      <!-- column-name item -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Top</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Middle</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Bottom</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Custom</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="liststore3">
-    <columns>
-      <!-- column-name item -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Quicken/QuickBooks (tm) US-Letter</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Deluxe(tm) Personal Checks US-Letter</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Quicken(tm) Wallet Checks w/ side stub</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Custom</col>
-      </row>
-    </data>
-  </object>
 </interface>

commit d12d17ff5350c617fe64dc33cdaddd5acceae37c
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 09:24:19 2017 +0100

    Files linked to dialog-price.glade

diff --git a/src/gnome/dialog-price-edit-db.c b/src/gnome/dialog-price-edit-db.c
index 5314cb8..5d0373f 100644
--- a/src/gnome/dialog-price-edit-db.c
+++ b/src/gnome/dialog-price-edit-db.c
@@ -227,9 +227,9 @@ gnc_prices_dialog_remove_old_clicked (GtkWidget *widget, gpointer data)
 
     ENTER(" ");
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-price.glade", "Deletion Date");
+    gnc_builder_add_from_file (builder, "dialog-price.glade", "deletion_date_dialog");
 
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Deletion Date"));
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "deletion_date_dialog"));
 
     box = GTK_WIDGET(gtk_builder_get_object (builder, "date_hbox"));
     date = gnc_date_edit_new (time (NULL), FALSE, FALSE);
@@ -425,9 +425,9 @@ gnc_prices_dialog_create (GtkWidget * parent, PricesDialog *pdb_dialog)
 
     ENTER(" ");
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-price.glade", "Prices Dialog");
+    gnc_builder_add_from_file (builder, "dialog-price.glade", "prices_dialog");
 
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Prices Dialog"));
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "prices_dialog"));
     pdb_dialog->dialog = dialog;
 
     pdb_dialog->session = gnc_get_current_session();
diff --git a/src/gnome/dialog-price-editor.c b/src/gnome/dialog-price-editor.c
index 339cf35..74eee80 100644
--- a/src/gnome/dialog-price-editor.c
+++ b/src/gnome/dialog-price-editor.c
@@ -397,13 +397,13 @@ gnc_price_pedit_dialog_create (GtkWidget *parent,
     gnc_builder_add_from_file (builder, "dialog-price.glade", "liststore1");
     gnc_builder_add_from_file (builder, "dialog-price.glade", "liststore2");
     gnc_builder_add_from_file (builder, "dialog-price.glade", "liststore3");
-    gnc_builder_add_from_file (builder, "dialog-price.glade", "Price Dialog");
+    gnc_builder_add_from_file (builder, "dialog-price.glade", "price_dialog");
 
     pedit_dialog->session = session;
     pedit_dialog->book = qof_session_get_book(pedit_dialog->session);
     pedit_dialog->price_db = gnc_pricedb_get_db(pedit_dialog->book);
 
-    dialog =  GTK_WIDGET(gtk_builder_get_object (builder, "Price Dialog"));
+    dialog =  GTK_WIDGET(gtk_builder_get_object (builder, "price_dialog"));
     pedit_dialog->dialog = dialog;
 
     /* parent */
diff --git a/src/gnome/gtkbuilder/dialog-price.glade b/src/gnome/gtkbuilder/dialog-price.glade
index 724eac0..375b17b 100644
--- a/src/gnome/gtkbuilder/dialog-price.glade
+++ b/src/gnome/gtkbuilder/dialog-price.glade
@@ -1,16 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <object class="GtkDialog" id="Deletion Date">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="deletion_date_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
-    <property name="resizable">False</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
       <object class="GtkBox" id="dialog-vbox19">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">6</property>
         <child internal-child="action_area">
           <object class="GtkButtonBox" id="dialog-action_area19">
@@ -19,14 +20,12 @@
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancel_button">
-                <property name="label">gtk-cancel</property>
-                <property name="use_action_appearance">False</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -36,14 +35,12 @@
             </child>
             <child>
               <object class="GtkButton" id="ok_button">
-                <property name="label">gtk-ok</property>
-                <property name="use_action_appearance">False</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -60,115 +57,108 @@
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="table2">
+          <object class="GtkGrid" id="table2">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="n_rows">5</property>
-            <property name="n_columns">2</property>
-            <property name="column_spacing">12</property>
+            <property name="halign">start</property>
+            <property name="valign">start</property>
             <property name="row_spacing">6</property>
+            <property name="column_spacing">12</property>
             <child>
               <object class="GtkLabel" id="label8477429">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="valign">start</property>
                 <property name="label" translatable="yes">Delete all stock prices before the date below based upon the following criteria:</property>
                 <property name="wrap">True</property>
+                <property name="width_chars">40</property>
+                <property name="max_width_chars">40</property>
               </object>
               <packing>
-                <property name="right_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"/>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">2</property>
               </packing>
             </child>
             <child>
               <object class="GtkCheckButton" id="delete_manual">
                 <property name="label" translatable="yes">Delete _manually entered prices</property>
-                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
                 <property name="tooltip_text" translatable="yes">If activated, delete manually entered stock prices dated earlier than the specified date. Otherwise only stock prices added by Finance::Quote will be deleted.</property>
-                <property name="use_action_appearance">False</property>
+                <property name="halign">start</property>
                 <property name="use_underline">True</property>
                 <property name="draw_indicator">True</property>
               </object>
               <packing>
-                <property name="right_attach">2</property>
+                <property name="left_attach">0</property>
                 <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"/>
+                <property name="width">2</property>
               </packing>
             </child>
             <child>
               <object class="GtkCheckButton" id="delete_last">
                 <property name="label" translatable="yes">Delete _last price for a stock</property>
-                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
                 <property name="tooltip_text" translatable="yes">If activated, delete all prices before the specified date. Otherwise the last stock price dated before the date will be kept and all earlier quotes deleted.</property>
-                <property name="use_action_appearance">False</property>
+                <property name="halign">start</property>
                 <property name="use_underline">True</property>
                 <property name="draw_indicator">True</property>
               </object>
               <packing>
-                <property name="right_attach">2</property>
+                <property name="left_attach">0</property>
                 <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"/>
+                <property name="width">2</property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label8477431">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
               </object>
               <packing>
-                <property name="right_attach">2</property>
+                <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"/>
+                <property name="width">2</property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="date_label">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">_Date:</property>
                 <property name="use_underline">True</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options"/>
-                <property name="y_options"/>
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="date_hbox">
+              <object class="GtkBox" id="date_hbox">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="valign">start</property>
+                <property name="hexpand">True</property>
                 <child>
                   <placeholder/>
                 </child>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
           </object>
           <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
             <property name="position">2</property>
           </packing>
         </child>
@@ -179,7 +169,52 @@
       <action-widget response="-5">ok_button</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkDialog" id="Price Dialog">
+  <object class="GtkListStore" id="liststore1">
+    <columns>
+      <!-- column-name item -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Bid</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Ask</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Last</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Net Asset Value</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Unknown</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="liststore2">
+    <columns>
+      <!-- column-name item -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Dummy commodity Line</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="liststore3">
+    <columns>
+      <!-- column-name item -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Dummy namespace Line</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkDialog" id="price_dialog">
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
     <property name="title" translatable="yes">Price Editor</property>
@@ -190,6 +225,7 @@
       <object class="GtkBox" id="dialog-vbox18">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">6</property>
         <child internal-child="action_area">
           <object class="GtkButtonBox" id="dialog-action_area18">
@@ -198,14 +234,12 @@
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="pd_cancel_button">
-                <property name="label">gtk-cancel</property>
-                <property name="use_action_appearance">False</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -215,13 +249,11 @@
             </child>
             <child>
               <object class="GtkButton" id="pd_apply_button">
-                <property name="label">gtk-apply</property>
-                <property name="use_action_appearance">False</property>
+                <property name="label" translatable="yes">_Apply</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -231,15 +263,13 @@
             </child>
             <child>
               <object class="GtkButton" id="pd_ok_button">
-                <property name="label">gtk-ok</property>
-                <property name="use_action_appearance">False</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -256,128 +286,114 @@
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="table1">
+          <object class="GtkGrid" id="table1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="n_rows">7</property>
-            <property name="n_columns">2</property>
-            <property name="column_spacing">12</property>
             <property name="row_spacing">6</property>
+            <property name="column_spacing">12</property>
             <child>
               <object class="GtkLabel" id="namespace_label">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">_Namespace:</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
                 <property name="mnemonic_widget">namespace_cbwe</property>
               </object>
               <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"/>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="commodity_label">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">_Security:</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
                 <property name="mnemonic_widget">commodity_cbwe</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"/>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="currency_label">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">Cu_rrency:</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"/>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="date__label">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">_Date:</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"/>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="source_label">
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">S_ource:</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
                 <property name="mnemonic_widget">source_entry</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"/>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="type_label">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">_Type:</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
                 <property name="mnemonic_widget">type_combobox</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"/>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="price_label">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">_Price:</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">6</property>
-                <property name="bottom_attach">7</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"/>
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="currency_box">
+              <object class="GtkBox" id="currency_box">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
@@ -386,15 +402,11 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="date_box">
+              <object class="GtkBox" id="date_box">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
@@ -403,11 +415,7 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -420,14 +428,11 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="y_options"/>
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="price_box">
+              <object class="GtkBox" id="price_box">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
@@ -436,11 +441,7 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">6</property>
-                <property name="bottom_attach">7</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -458,11 +459,7 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -483,7 +480,7 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
@@ -503,9 +500,7 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
               </packing>
             </child>
           </object>
@@ -523,15 +518,15 @@
       <action-widget response="-5">pd_ok_button</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkDialog" id="Prices Dialog">
+  <object class="GtkDialog" id="prices_dialog">
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
     <property name="title" translatable="yes">Price Database</property>
     <property name="default_width">400</property>
     <property name="default_height">400</property>
     <property name="type_hint">normal</property>
-    <signal name="destroy" handler="gnc_prices_dialog_window_destroy_cb" swapped="no"/>
     <signal name="close" handler="gnc_prices_dialog_close_cb" after="yes" swapped="no"/>
+    <signal name="destroy" handler="gnc_prices_dialog_window_destroy_cb" swapped="no"/>
     <signal name="response" handler="gnc_prices_dialog_response" swapped="no"/>
     <child internal-child="vbox">
       <object class="GtkBox" id="vbox121">
@@ -545,14 +540,12 @@
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="close_button">
-                <property name="label">gtk-close</property>
-                <property name="use_action_appearance">False</property>
+                <property name="label" translatable="yes">_Close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -569,13 +562,15 @@
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox118">
+          <object class="GtkBox" id="hbox118">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
               <object class="GtkScrolledWindow" id="price_list_window">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
+                <property name="vexpand">True</property>
                 <property name="border_width">3</property>
                 <property name="shadow_type">in</property>
                 <child>
@@ -589,22 +584,21 @@
               </packing>
             </child>
             <child>
-              <object class="GtkVButtonBox" id="vbuttonbox5">
+              <object class="GtkButtonBox" id="vbuttonbox5">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">5</property>
+                <property name="orientation">vertical</property>
                 <property name="layout_style">spread</property>
                 <child>
                   <object class="GtkButton" id="add_button">
-                    <property name="label">gtk-add</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="label" translatable="yes">_Add</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="can_default">True</property>
                     <property name="receives_default">False</property>
                     <property name="tooltip_text" translatable="yes">Add a new price.</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_stock">True</property>
+                    <property name="use_underline">True</property>
                     <signal name="clicked" handler="gnc_prices_dialog_add_clicked" swapped="no"/>
                   </object>
                   <packing>
@@ -615,16 +609,14 @@
                 </child>
                 <child>
                   <object class="GtkButton" id="remove_button">
-                    <property name="label">gtk-remove</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="label" translatable="yes">_Remove</property>
                     <property name="visible">True</property>
                     <property name="sensitive">False</property>
                     <property name="can_focus">True</property>
                     <property name="can_default">True</property>
                     <property name="receives_default">False</property>
                     <property name="tooltip_text" translatable="yes">Remove the current price.</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_stock">True</property>
+                    <property name="use_underline">True</property>
                     <signal name="clicked" handler="gnc_prices_dialog_remove_clicked" swapped="no"/>
                   </object>
                   <packing>
@@ -635,55 +627,15 @@
                 </child>
                 <child>
                   <object class="GtkButton" id="edit_button">
-                    <property name="use_action_appearance">False</property>
+                    <property name="label" translatable="yes">_Edit</property>
                     <property name="visible">True</property>
                     <property name="sensitive">False</property>
                     <property name="can_focus">True</property>
                     <property name="can_default">True</property>
                     <property name="receives_default">False</property>
                     <property name="tooltip_text" translatable="yes">Edit the current price.</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
                     <signal name="clicked" handler="gnc_prices_dialog_edit_clicked" swapped="no"/>
-                    <child>
-                      <object class="GtkAlignment" id="alignment5">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xscale">0</property>
-                        <property name="yscale">0</property>
-                        <child>
-                          <object class="GtkHBox" id="hbox115">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="spacing">2</property>
-                            <child>
-                              <object class="GtkImage" id="image5">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="stock">gtk-properties</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label8477426">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">_Edit</property>
-                                <property name="use_underline">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                        </child>
-                      </object>
-                    </child>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -693,54 +645,14 @@
                 </child>
                 <child>
                   <object class="GtkButton" id="remove_old_button">
-                    <property name="use_action_appearance">False</property>
+                    <property name="label" translatable="yes">Remove _Old</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="can_default">True</property>
                     <property name="receives_default">False</property>
                     <property name="tooltip_text" translatable="yes">Remove prices older than a user-entered date.</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
                     <signal name="clicked" handler="gnc_prices_dialog_remove_old_clicked" swapped="no"/>
-                    <child>
-                      <object class="GtkAlignment" id="alignment6">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xscale">0</property>
-                        <property name="yscale">0</property>
-                        <child>
-                          <object class="GtkHBox" id="hbox116">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="spacing">2</property>
-                            <child>
-                              <object class="GtkImage" id="image6">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="stock">gtk-remove</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label8477427">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">Remove _Old</property>
-                                <property name="use_underline">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                        </child>
-                      </object>
-                    </child>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -750,54 +662,14 @@
                 </child>
                 <child>
                   <object class="GtkButton" id="get_quotes_button">
-                    <property name="use_action_appearance">False</property>
+                    <property name="label" translatable="yes">_Get Quotes</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="can_default">True</property>
                     <property name="receives_default">False</property>
                     <property name="tooltip_text" translatable="yes">Get new online quotes for stock accounts.</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
                     <signal name="clicked" handler="gnc_prices_dialog_get_quotes_clicked" swapped="no"/>
-                    <child>
-                      <object class="GtkAlignment" id="alignment7">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xscale">0</property>
-                        <property name="yscale">0</property>
-                        <child>
-                          <object class="GtkHBox" id="hbox117">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="spacing">2</property>
-                            <child>
-                              <object class="GtkImage" id="image7">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="stock">gtk-execute</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label8477428">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">Get _Quotes</property>
-                                <property name="use_underline">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                        </child>
-                      </object>
-                    </child>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -825,49 +697,4 @@
       <action-widget response="-7">close_button</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkListStore" id="liststore1">
-    <columns>
-      <!-- column-name item -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Bid</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Ask</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Last</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Net Asset Value</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Unknown</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="liststore2">
-    <columns>
-      <!-- column-name item -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Dummy commodity Line</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="liststore3">
-    <columns>
-      <!-- column-name item -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Dummy namespace Line</col>
-      </row>
-    </data>
-  </object>
 </interface>

commit e1c5da4cbe7d58923563bf96bf2fc582868e8ea0
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 09:23:15 2017 +0100

    Files linked to gnc-plugin-page-budget.glade

diff --git a/src/gnome/gnc-plugin-page-budget.c b/src/gnome/gnc-plugin-page-budget.c
index c23bdda..788956c 100644
--- a/src/gnome/gnc-plugin-page-budget.c
+++ b/src/gnome/gnc-plugin-page-budget.c
@@ -764,9 +764,9 @@ gnc_plugin_page_budget_cmd_view_options (GtkAction *action,
     {
         builder = gtk_builder_new();
         gnc_builder_add_from_file (builder, "gnc-plugin-page-budget.glade", "NumPeriods_Adj");
-        gnc_builder_add_from_file (builder, "gnc-plugin-page-budget.glade", "OptionsContainer");
+        gnc_builder_add_from_file (builder, "gnc-plugin-page-budget.glade", "budget_options_container_dialog");
 
-        priv->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "OptionsContainer"));
+        priv->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "budget_options_container_dialog"));
 
         gtk_window_set_transient_for(
             GTK_WINDOW(priv->dialog),
@@ -918,9 +918,9 @@ gnc_plugin_page_budget_cmd_estimate_budget(GtkAction *action,
 
     builder = gtk_builder_new();
     gnc_builder_add_from_file (builder, "gnc-plugin-page-budget.glade", "DigitsToRound_Adj");
-    gnc_builder_add_from_file (builder, "gnc-plugin-page-budget.glade", "BudgetEstimate");
+    gnc_builder_add_from_file (builder, "gnc-plugin-page-budget.glade", "budget_estimate_dialog");
 
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "BudgetEstimate"));
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "budget_estimate_dialog"));
 
     gtk_window_set_transient_for(
         GTK_WINDOW(dialog),
diff --git a/src/gnome/gtkbuilder/gnc-plugin-page-budget.glade b/src/gnome/gtkbuilder/gnc-plugin-page-budget.glade
index df44640..6d7396c 100644
--- a/src/gnome/gtkbuilder/gnc-plugin-page-budget.glade
+++ b/src/gnome/gtkbuilder/gnc-plugin-page-budget.glade
@@ -1,152 +1,15 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkDialog" id="Budget List - Not Used">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="border_width">6</property>
-    <property name="title" translatable="yes">Budget List</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox1">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="spacing">6</property>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="close_button">
-                <property name="label">gtk-close</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="tooltip_text" translatable="yes">Close the Budget List</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkHBox" id="hbox1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <child>
-              <object class="GtkScrolledWindow" id="scrolledwindow1">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="border_width">5</property>
-                <property name="shadow_type">in</property>
-                <child>
-                  <object class="GtkTreeView" id="Budget List View">
-                    <property name="width_request">250</property>
-                    <property name="height_request">200</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="border_width">10</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkVButtonBox" id="vbuttonbox1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="border_width">5</property>
-                <property name="layout_style">spread</property>
-                <child>
-                  <object class="GtkButton" id="new_button">
-                    <property name="label">gtk-new</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="can_default">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="tooltip_text" translatable="yes">Create a New Budget</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_stock">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkButton" id="edit_button">
-                    <property name="label">gtk-open</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="can_default">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="tooltip_text" translatable="yes">Open the Selected Budget</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_stock">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkButton" id="button3">
-                    <property name="label">gtk-delete</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="can_default">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="tooltip_text" translatable="yes">Delete the Selected Budget</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_stock">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">2</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">2</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="-7">close_button</action-widget>
-    </action-widgets>
+  <requires lib="gtk+" version="3.16"/>
+  <object class="GtkAdjustment" id="DigitsToRound_Adj">
+    <property name="lower">1</property>
+    <property name="upper">12</property>
+    <property name="value">1</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">1</property>
   </object>
-  <object class="GtkDialog" id="BudgetEstimate">
+  <object class="GtkDialog" id="budget_estimate_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="border_width">5</property>
@@ -154,23 +17,23 @@
     <property name="modal">True</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox6">
+      <object class="GtkBox" id="dialog-vbox6">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area6">
+          <object class="GtkButtonBox" id="dialog-action_area6">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancelbutton1">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -180,13 +43,12 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton1">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -203,15 +65,20 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox3">
+          <object class="GtkBox" id="vbox3">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
               <object class="GtkLabel" id="label95">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="valign">start</property>
                 <property name="label" translatable="yes">GnuCash will estimate budget values for the selected accounts from past transactions.</property>
                 <property name="wrap">True</property>
+                <property name="width_chars">40</property>
+                <property name="max_width_chars">40</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -221,41 +88,37 @@
             </child>
           </object>
           <packing>
-            <property name="expand">True</property>
+            <property name="expand">False</property>
             <property name="fill">False</property>
             <property name="position">2</property>
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="table6">
+          <object class="GtkGrid" id="table6">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="n_rows">2</property>
-            <property name="n_columns">3</property>
             <child>
               <object class="GtkLabel" id="label96">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">Start Date:</property>
               </object>
               <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label97">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">Significant Digits:</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
@@ -263,42 +126,35 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="tooltip_text" translatable="yes">The number of leading digits to keep when rounding</property>
+                <property name="hexpand">True</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
                 <property name="adjustment">DigitsToRound_Adj</property>
                 <property name="climb_rate">1</property>
                 <property name="numeric">True</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="StartDate_hbox">
+              <object class="GtkBox" id="StartDate_hbox">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
                 <child>
                   <placeholder/>
                 </child>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">3</property>
-                <property name="y_options">GTK_FILL</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
-            <child>
-              <placeholder/>
-            </child>
           </object>
           <packing>
-            <property name="expand">True</property>
+            <property name="expand">False</property>
             <property name="fill">False</property>
             <property name="position">3</property>
           </packing>
@@ -310,13 +166,6 @@
       <action-widget response="-5">okbutton1</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkAdjustment" id="DigitsToRound_Adj">
-    <property name="lower">1</property>
-    <property name="upper">12</property>
-    <property name="value">1</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">1</property>
-  </object>
   <object class="GtkAdjustment" id="NumPeriods_Adj">
     <property name="lower">1</property>
     <property name="upper">60</property>
@@ -324,98 +173,136 @@
     <property name="step_increment">1</property>
     <property name="page_increment">12</property>
   </object>
-  <object class="GtkDialog" id="OptionsContainer">
+  <object class="GtkDialog" id="budget_options_container_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Budget Options</property>
     <property name="modal">True</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox5">
+      <object class="GtkBox" id="dialog-vbox5">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area5">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <object class="GtkButton" id="cancelbutton2">
+                <property name="label" translatable="yes">_Cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="okbutton2">
+                <property name="label" translatable="yes">_OK</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">3</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
         <child>
           <object class="GtkNotebook" id="BudgetOptions">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="border_width">5</property>
             <child>
-              <object class="GtkTable" id="table5">
+              <object class="GtkGrid" id="table5">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="n_rows">5</property>
-                <property name="n_columns">3</property>
-                <property name="column_spacing">3</property>
                 <property name="row_spacing">3</property>
+                <property name="column_spacing">3</property>
                 <child>
                   <object class="GtkLabel" id="label85">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="yalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">Budget Name:</property>
                   </object>
                   <packing>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                    <property name="x_padding">3</property>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkEntry" id="BudgetName">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
+                    <property name="hexpand">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="y_options"></property>
+                    <property name="top_attach">0</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label86">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
+                    <property name="valign">start</property>
                     <property name="label" translatable="yes">Notes:</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                    <property name="x_padding">3</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkScrolledWindow" id="scrolledwindow16">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">automatic</property>
-                    <property name="vscrollbar_policy">automatic</property>
+                    <property name="hexpand">True</property>
+                    <property name="vexpand">True</property>
                     <child>
                       <object class="GtkTextView" id="BudgetDescription">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="wrap_mode">GTK_WRAP_WORD</property>
+                        <property name="hexpand">True</property>
+                        <property name="vexpand">True</property>
+                        <property name="wrap_mode">word</property>
                       </object>
                     </child>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="BudgetPeriod">
+                  <object class="GtkBox" id="BudgetPeriod">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
@@ -424,103 +311,61 @@
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label87">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">Number of Periods:</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                    <property name="x_padding">3</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkSpinButton" id="BudgetNumPeriods">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
+                    <property name="hexpand">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                     <property name="adjustment">NumPeriods_Adj</property>
                     <property name="climb_rate">1</property>
                     <property name="numeric">True</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label94">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">Budget Period:</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                    <property name="x_padding">3</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHSeparator" id="hseparator1">
+                  <object class="GtkSeparator" id="hseparator1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="valign">start</property>
                   </object>
                   <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
+                    <property name="width">2</property>
                   </packing>
                 </child>
-                <child>
-                  <object class="GtkHSeparator" id="hseparator2">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
               </object>
             </child>
             <child type="tab">
@@ -540,66 +385,156 @@
             <property name="position">0</property>
           </packing>
         </child>
-        <child>
-          <placeholder/>
-        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-6">cancelbutton2</action-widget>
+      <action-widget response="-5">okbutton2</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkDialog" id="budget_list_dialog - Not Used">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">Budget List</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox1">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">6</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area5">
+          <object class="GtkButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <object class="GtkButton" id="cancelbutton2">
-                <property name="label">gtk-cancel</property>
+              <object class="GtkButton" id="close_button">
+                <property name="label" translatable="yes">_Close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="tooltip_text" translatable="yes">Close the Budget List</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="position">2</property>
+                <property name="position">0</property>
               </packing>
             </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkBox" id="hbox1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
             <child>
-              <object class="GtkButton" id="okbutton2">
-                <property name="label">gtk-ok</property>
+              <object class="GtkScrolledWindow" id="scrolledwindow1">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="border_width">5</property>
+                <property name="shadow_type">in</property>
+                <child>
+                  <object class="GtkTreeView" id="Budget List View">
+                    <property name="width_request">250</property>
+                    <property name="height_request">200</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="border_width">10</property>
+                    <child internal-child="selection">
+                      <object class="GtkTreeSelection" id="treeview-selection1"/>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButtonBox" id="vbuttonbox1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="border_width">5</property>
+                <property name="orientation">vertical</property>
+                <property name="layout_style">spread</property>
+                <child>
+                  <object class="GtkButton" id="new_button">
+                    <property name="label" translatable="yes">_New</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="tooltip_text" translatable="yes">Create a New Budget</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButton" id="edit_button">
+                    <property name="label" translatable="yes">_Open</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="tooltip_text" translatable="yes">Open the Selected Budget</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButton" id="button3">
+                    <property name="label" translatable="yes">_Delete</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="tooltip_text" translatable="yes">Delete the Selected Budget</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
               </object>
               <packing>
                 <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">3</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
               </packing>
             </child>
           </object>
           <packing>
-            <property name="expand">False</property>
+            <property name="expand">True</property>
             <property name="fill">True</property>
-            <property name="pack_type">end</property>
             <property name="position">2</property>
           </packing>
         </child>
-        <child>
-          <placeholder/>
-        </child>
       </object>
     </child>
     <action-widgets>
-      <action-widget response="-6">cancelbutton2</action-widget>
-      <action-widget response="-5">okbutton2</action-widget>
+      <action-widget response="-7">close_button</action-widget>
     </action-widgets>
   </object>
 </interface>

commit b5a0681e0198a9ff8c3f6f6ba375e8ab6b0cd8df
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 09:22:20 2017 +0100

    Files linked to dialog-progress.glade

diff --git a/src/gnome/dialog-progress.c b/src/gnome/dialog-progress.c
index 181fa12..528259a 100644
--- a/src/gnome/dialog-progress.c
+++ b/src/gnome/dialog-progress.c
@@ -201,10 +201,10 @@ gnc_progress_dialog_create(GtkWidget * parent, GNCProgressDialog *progress)
     g_return_if_fail(progress);
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-progress.glade", "Progress Dialog");
+    gnc_builder_add_from_file (builder, "dialog-progress.glade", "progress_dialog");
 
 
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Progress Dialog"));
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "progress_dialog"));
     progress->dialog = dialog;
 
     /* parent */
diff --git a/src/gnome/gtkbuilder/dialog-progress.glade b/src/gnome/gtkbuilder/dialog-progress.glade
index 2c6f25a..e83e1f8 100644
--- a/src/gnome/gtkbuilder/dialog-progress.glade
+++ b/src/gnome/gtkbuilder/dialog-progress.glade
@@ -1,8 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkWindow" id="Progress Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkTextBuffer" id="textbuffer1">
+    <property name="text" translatable="yes">1234567890123456789012345678901234567890</property>
+  </object>
+  <object class="GtkWindow" id="progress_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
@@ -11,16 +14,16 @@
     <property name="modal">True</property>
     <property name="type_hint">dialog</property>
     <child>
-      <object class="GtkVBox" id="vbox85">
+      <object class="GtkBox" id="vbox85">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">5</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">12</property>
         <child>
           <object class="GtkLabel" id="primary_label">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
             <property name="label"><span weight="bold" size="larger">Primary text</span></property>
             <property name="use_markup">True</property>
             <property name="wrap">True</property>
@@ -35,7 +38,6 @@
           <object class="GtkLabel" id="secondary_label">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
             <property name="label">Secondary text.</property>
             <property name="wrap">True</property>
           </object>
@@ -46,9 +48,10 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="progress_vbox1">
+          <object class="GtkBox" id="progress_vbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
               <object class="GtkProgressBar" id="progress_bar">
                 <property name="visible">True</property>
@@ -65,7 +68,6 @@
               <object class="GtkLabel" id="sub_label">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
                 <property name="label"><span style="italic">Sub-operation text</span></property>
                 <property name="use_markup">True</property>
                 <property name="wrap">True</property>
@@ -88,8 +90,6 @@
           <object class="GtkScrolledWindow" id="progress_log_window">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="hscrollbar_policy">automatic</property>
-            <property name="vscrollbar_policy">automatic</property>
             <property name="shadow_type">in</property>
             <child>
               <object class="GtkTextView" id="progress_log">
@@ -110,19 +110,18 @@
           </packing>
         </child>
         <child>
-          <object class="GtkHButtonBox" id="hbuttonbox1">
+          <object class="GtkButtonBox" id="hbuttonbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="spacing">6</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancel_button">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -132,14 +131,13 @@
             </child>
             <child>
               <object class="GtkButton" id="ok_button">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="sensitive">False</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -158,7 +156,4 @@
       </object>
     </child>
   </object>
-  <object class="GtkTextBuffer" id="textbuffer1">
-    <property name="text" translatable="yes">1234567890123456789012345678901234567890</property>
-  </object>
 </interface>

commit c92bcafe7b4b568027218c2dcc73c35a3f15c637
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 09:21:14 2017 +0100

    Files linked to dialog-new-user.glade

diff --git a/src/gnome/dialog-new-user.c b/src/gnome/dialog-new-user.c
index 448989c..aa839fd 100644
--- a/src/gnome/dialog-new-user.c
+++ b/src/gnome/dialog-new-user.c
@@ -82,9 +82,9 @@ gnc_ui_new_user_dialog (void)
 
     ENTER(" ");
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-new-user.glade", "New User Dialog");
+    gnc_builder_add_from_file (builder, "dialog-new-user.glade", "new_user_dialog");
 
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "New User Dialog"));
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "new_user_dialog"));
 
     new_accounts_button = GTK_WIDGET(gtk_builder_get_object (builder, "new_accounts_button"));
     import_qif_button = GTK_WIDGET(gtk_builder_get_object (builder, "import_qif_button"));
@@ -139,9 +139,9 @@ gnc_ui_new_user_cancel_dialog (void)
     gboolean keepshowing;
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-new-user.glade", "New User Cancel Dialog");
+    gnc_builder_add_from_file (builder, "dialog-new-user.glade", "new_user_cancel_dialog");
 
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "New User Cancel Dialog"));
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "new_user_cancel_dialog"));
 
     result = gtk_dialog_run (GTK_DIALOG (dialog));
     keepshowing = (result == GTK_RESPONSE_YES);
diff --git a/src/gnome/gtkbuilder/dialog-new-user.glade b/src/gnome/gtkbuilder/dialog-new-user.glade
index e5541e3..9193838 100644
--- a/src/gnome/gtkbuilder/dialog-new-user.glade
+++ b/src/gnome/gtkbuilder/dialog-new-user.glade
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkDialog" id="New User Cancel Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="new_user_cancel_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="border_width">5</property>
@@ -11,24 +11,24 @@
     <property name="window_position">center-on-parent</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="vbox">
+      <object class="GtkBox" id="vbox">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">14</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="hbbox">
+          <object class="GtkButtonBox" id="hbbox">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="no_but">
-                <property name="label">gtk-no</property>
+                <property name="label" translatable="yes">_No</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -38,15 +38,14 @@
             </child>
             <child>
               <object class="GtkButton" id="yes_but">
-                <property name="label">gtk-yes</property>
+                <property name="label" translatable="yes">_Yes</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="has_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -63,59 +62,56 @@
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="table">
+          <object class="GtkGrid" id="table">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="border_width">5</property>
-            <property name="n_rows">2</property>
-            <property name="n_columns">2</property>
-            <property name="column_spacing">12</property>
             <property name="row_spacing">12</property>
+            <property name="column_spacing">12</property>
             <child>
               <object class="GtkImage" id="image">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="yalign">0</property>
-                <property name="stock">gtk-dialog-question</property>
-                <property name="icon-size">6</property>
+                <property name="stock">gtk-home</property>
+                <property name="icon_size">6</property>
               </object>
               <packing>
-                <property name="bottom_attach">2</property>
-                <property name="y_options">GTK_FILL</property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
                 <property name="label" translatable="yes"><span weight="bold" size="larger">Display Welcome Dialog Again?</span></property>
                 <property name="use_markup">True</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="newAccountCancelDialog_ShouldRunAgainLable">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="valign">start</property>
                 <property name="label" translatable="yes">If you press the <i>Yes</i> button, the <i>Welcome to GnuCash</i> dialog will be displayed again next time you start GnuCash. If you press the <i>No</i> button, it will not be displayed again.</property>
                 <property name="use_markup">True</property>
                 <property name="wrap">True</property>
+                <property name="width_chars">40</property>
+                <property name="max_width_chars">40</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
+            <child>
+              <placeholder/>
+            </child>
           </object>
           <packing>
             <property name="expand">True</property>
@@ -130,33 +126,37 @@
       <action-widget response="-8">yes_but</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkDialog" id="New User Dialog">
+  <object class="GtkDialog" id="new_user_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
+    <property name="halign">start</property>
+    <property name="valign">start</property>
     <property name="border_width">5</property>
     <property name="resizable">False</property>
     <property name="modal">True</property>
     <property name="window_position">center</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="vbox">
+      <object class="GtkBox" id="vbox1">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="halign">start</property>
+        <property name="valign">start</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">14</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="hbbox">
+          <object class="GtkButtonBox" id="hbbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancel_but">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -166,14 +166,13 @@
             </child>
             <child>
               <object class="GtkButton" id="ok_but">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -190,55 +189,55 @@
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="table">
+          <object class="GtkGrid" id="table1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="halign">start</property>
+            <property name="valign">start</property>
             <property name="border_width">5</property>
-            <property name="n_rows">2</property>
-            <property name="n_columns">2</property>
-            <property name="column_spacing">12</property>
             <property name="row_spacing">12</property>
+            <property name="column_spacing">12</property>
             <child>
-              <object class="GtkImage" id="image">
+              <object class="GtkImage" id="image1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="yalign">0</property>
                 <property name="stock">gtk-home</property>
-                <property name="icon-size">6</property>
+                <property name="icon_size">6</property>
               </object>
               <packing>
-                <property name="bottom_attach">2</property>
-                <property name="y_options">GTK_FILL</property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
-              <object class="GtkLabel" id="label">
+              <object class="GtkLabel" id="label1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
                 <property name="label" translatable="yes"><span size="larger" weight="bold">Welcome to GnuCash!</span></property>
                 <property name="use_markup">True</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="vbox1">
+              <object class="GtkBox" id="vbox2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="valign">start</property>
+                <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
                 <child>
-                  <object class="GtkLabel" id="label1">
+                  <object class="GtkLabel" id="label2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                     <property name="label" translatable="yes">There are some predefined actions available that most new users prefer to get started with GnuCash. Select one of these actions from below and click the <i>OK</i> button or press the <i>Cancel</i> button if you don't want to perform any of them.</property>
                     <property name="use_markup">True</property>
                     <property name="wrap">True</property>
+                    <property name="width_chars">50</property>
+                    <property name="max_width_chars">50</property>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -253,7 +252,7 @@
                     <property name="can_focus">True</property>
                     <property name="has_focus">True</property>
                     <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="halign">start</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
@@ -269,7 +268,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="halign">start</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">new_accounts_button</property>
@@ -286,7 +285,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="halign">start</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">new_accounts_button</property>
@@ -300,13 +299,12 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
+            <child>
+              <placeholder/>
+            </child>
           </object>
           <packing>
             <property name="expand">False</property>

commit fb30642f9f0871c447f59245b2218eef03e25251
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 09:20:41 2017 +0100

    Files linked to dialog-lot-viewer.glade

diff --git a/src/gnome/dialog-lot-viewer.c b/src/gnome/dialog-lot-viewer.c
index 2d6e2b5..a4ebcbe 100644
--- a/src/gnome/dialog-lot-viewer.c
+++ b/src/gnome/dialog-lot-viewer.c
@@ -987,9 +987,9 @@ lv_create (GNCLotViewer *lv)
     GtkWidget *widget;
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-lot-viewer.glade", "Lot Viewer Window");
+    gnc_builder_add_from_file (builder, "dialog-lot-viewer.glade", "lot_viewer_dialog");
 
-    lv->window = GTK_WIDGET(gtk_builder_get_object (builder, "Lot Viewer Window"));
+    lv->window = GTK_WIDGET(gtk_builder_get_object (builder, "lot_viewer_dialog"));
 
     win_title = g_strdup_printf (_("Lots in Account %s"),
                                  xaccAccountGetName(lv->account));
@@ -997,34 +997,34 @@ lv_create (GNCLotViewer *lv)
     g_free (win_title);
 
 #ifdef LOTS_READY_FOR_SHOWTIME
-    lv->regview_button = GTK_BUTTON(glade_xml_get_widget (builder, "regview button"));
+    lv->regview_button = GTK_BUTTON(glade_xml_get_widget (builder, "regview_button"));
 #endif
-    lv->delete_button = GTK_BUTTON(gtk_builder_get_object (builder, "delete button"));
-    lv->scrub_lot_button = GTK_BUTTON(gtk_builder_get_object (builder, "scrub lot button"));
-    lv->new_lot_button = GTK_BUTTON(gtk_builder_get_object (builder, "new lot button"));
+    lv->delete_button = GTK_BUTTON(gtk_builder_get_object (builder, "delete_button"));
+    lv->scrub_lot_button = GTK_BUTTON(gtk_builder_get_object (builder, "scrub_lot_button"));
+    lv->new_lot_button = GTK_BUTTON(gtk_builder_get_object (builder, "new_lot_button"));
 
-    lv->lot_view = GTK_TREE_VIEW(gtk_builder_get_object (builder, "lot view"));
-    lv->only_show_open_lots_checkbutton = GTK_TOGGLE_BUTTON(gtk_builder_get_object (builder, "only show open lots checkbutton"));
+    lv->lot_view = GTK_TREE_VIEW(gtk_builder_get_object (builder, "lot_view"));
+    lv->only_show_open_lots_checkbutton = GTK_TOGGLE_BUTTON(gtk_builder_get_object (builder, "only_show_open_lots_checkbutton"));
     lv_init_lot_view(lv);
-    lv->lot_notes = GTK_TEXT_VIEW(gtk_builder_get_object (builder, "lot notes text"));
-    lv->title_entry = GTK_ENTRY (gtk_builder_get_object (builder, "lot title entry"));
+    lv->lot_notes = GTK_TEXT_VIEW(gtk_builder_get_object (builder, "lot_notes_text"));
+    lv->title_entry = GTK_ENTRY (gtk_builder_get_object (builder, "lot_title_entry"));
 
-    lv->split_in_lot_view = GTK_TREE_VIEW(gtk_builder_get_object (builder, "split in lot view"));
-    lv->split_free_view = GTK_TREE_VIEW(gtk_builder_get_object (builder, "split free view"));
+    lv->split_in_lot_view = GTK_TREE_VIEW(gtk_builder_get_object (builder, "split_in_lot_view"));
+    lv->split_free_view = GTK_TREE_VIEW(gtk_builder_get_object (builder, "split_free_view"));
     lv_init_split_views(lv);
 
-    lv->add_split_to_lot_button = GTK_BUTTON(gtk_builder_get_object (builder, "add split to lot button"));
-    lv->remove_split_from_lot_button = GTK_BUTTON(gtk_builder_get_object (builder, "remove split from lot button"));
+    lv->add_split_to_lot_button = GTK_BUTTON(gtk_builder_get_object (builder, "add_split_to_lot_button"));
+    lv->remove_split_from_lot_button = GTK_BUTTON(gtk_builder_get_object (builder, "remove_split_from_lot_button"));
     lv_init_split_buttons(lv);
 
 
     if (gnc_prefs_get_bool(GNC_PREFS_GROUP_GENERAL, GNC_PREF_SAVE_GEOMETRY))
     {
         GObject *object;
-        object = gtk_builder_get_object (builder, "lot vpaned");
+        object = gtk_builder_get_object (builder, "lot_vpaned");
         gnc_prefs_bind (GNC_PREFS_GROUP, GNC_PREF_VPOS, object, "position");
 
-        object = gtk_builder_get_object (builder, "lot hpaned");
+        object = gtk_builder_get_object (builder, "lot_hpaned");
         gnc_prefs_bind (GNC_PREFS_GROUP, GNC_PREF_HPOS, object, "position");
     }
 
diff --git a/src/gnome/gtkbuilder/dialog-lot-viewer.glade b/src/gnome/gtkbuilder/dialog-lot-viewer.glade
index bac27a6..e55b627 100644
--- a/src/gnome/gtkbuilder/dialog-lot-viewer.glade
+++ b/src/gnome/gtkbuilder/dialog-lot-viewer.glade
@@ -1,25 +1,121 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkDialog" id="Lot Viewer Window">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="lot_viewer_dialog">
     <property name="visible">True</property>
+    <property name="can_focus">False</property>
     <property name="title" translatable="yes">Lot Viewer</property>
     <property name="default_width">600</property>
     <property name="default_height">400</property>
     <property name="type_hint">dialog</property>
-    <signal name="destroy" handler="lv_window_destroy_cb"/>
-    <signal name="response" handler="lv_response_cb"/>
+    <signal name="destroy" handler="lv_window_destroy_cb" swapped="no"/>
+    <signal name="response" handler="lv_response_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox1">
+      <object class="GtkBox" id="dialog-vbox1">
         <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="new_lot_button">
+                <property name="label" translatable="yes">_New Lot</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="scrub_account_button">
+                <property name="label" translatable="yes">Scrub _Account</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="scrub_lot_button">
+                <property name="label" translatable="yes">_Scrub</property>
+                <property name="visible">True</property>
+                <property name="sensitive">False</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="tooltip_text" translatable="yes">Scrub the highlighted lot</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="delete_button">
+                <property name="label" translatable="yes">_Delete</property>
+                <property name="visible">True</property>
+                <property name="sensitive">False</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="tooltip_text" translatable="yes">Delete the highlighted lot</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">3</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="button5">
+                <property name="label" translatable="yes">_Close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">4</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
         <child>
-          <object class="GtkVPaned" id="lot vpaned">
+          <object class="GtkPaned" id="lot_vpaned">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
+            <property name="orientation">vertical</property>
             <property name="position">200</property>
             <child>
-              <object class="GtkHPaned" id="lot hpaned">
+              <object class="GtkPaned" id="lot_hpaned">
                 <property name="width_request">300</property>
                 <property name="height_request">100</property>
                 <property name="visible">True</property>
@@ -27,47 +123,49 @@
                 <property name="border_width">3</property>
                 <property name="position">200</property>
                 <child>
-                  <object class="GtkTable" id="table1">
+                  <object class="GtkGrid" id="table1">
                     <property name="visible">True</property>
-                    <property name="n_rows">5</property>
+                    <property name="can_focus">False</property>
                     <child>
-                      <object class="GtkEntry" id="lot title entry">
+                      <object class="GtkEntry" id="lot_title_entry">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="tooltip_text" translatable="yes">Enter a name for the highlighted lot.</property>
-                        <signal name="changed" handler="lv_title_entry_changed_cb"/>
+                        <property name="halign">start</property>
+                        <property name="margin_left">12</property>
+                        <signal name="changed" handler="lv_title_entry_changed_cb" swapped="no"/>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="y_options"></property>
-                        <property name="x_padding">12</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="label19">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
                         <property name="label" translatable="yes"><b>_Notes</b></property>
                         <property name="use_markup">True</property>
                         <property name="use_underline">True</property>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">3</property>
-                        <property name="bottom_attach">4</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkScrolledWindow" id="scrolledwindow2">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="margin_left">12</property>
+                        <property name="hexpand">True</property>
+                        <property name="vexpand">True</property>
                         <property name="hscrollbar_policy">never</property>
                         <property name="vscrollbar_policy">never</property>
                         <property name="shadow_type">in</property>
                         <child>
-                          <object class="GtkTextView" id="lot notes text">
+                          <object class="GtkTextView" id="lot_notes_text">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="tooltip_text" translatable="yes">Enter any notes you want to make about this lot.</property>
@@ -76,34 +174,33 @@
                         </child>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">4</property>
-                        <property name="bottom_attach">5</property>
-                        <property name="x_padding">12</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="label20">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
+                        <property name="can_focus">False</property>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="label8">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
                         <property name="label" translatable="yes"><b>_Title</b></property>
                         <property name="use_markup">True</property>
                         <property name="use_underline">True</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
-                        <property name="y_options"></property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                   </object>
@@ -113,56 +210,72 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkTable" id="table2">
+                  <object class="GtkGrid" id="table2">
                     <property name="visible">True</property>
-                    <property name="n_rows">3</property>
+                    <property name="can_focus">False</property>
                     <child>
                       <object class="GtkLabel" id="label9">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
                         <property name="label" translatable="yes"><b>_Lots in This Account</b></property>
                         <property name="use_markup">True</property>
                         <property name="use_underline">True</property>
                       </object>
                       <packing>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkScrolledWindow" id="scrolledwindow5">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
+                        <property name="margin_left">12</property>
+                        <property name="hexpand">True</property>
+                        <property name="vexpand">True</property>
+                        <property name="hscrollbar_policy">always</property>
+                        <property name="vscrollbar_policy">always</property>
                         <property name="shadow_type">in</property>
                         <child>
-                          <object class="GtkTreeView" id="lot view">
+                          <object class="GtkTreeView" id="lot_view">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="rules_hint">True</property>
                             <property name="enable_search">False</property>
+                            <child internal-child="selection">
+                              <object class="GtkTreeSelection" id="treeview-selection1"/>
+                            </child>
                           </object>
                         </child>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_padding">12</property>
+                        <property name="width">2</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkCheckButton" id="only show open lots checkbutton">
+                      <object class="GtkCheckButton" id="only_show_open_lots_checkbutton">
                         <property name="label" translatable="yes">Show only open lots</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">12</property>
                         <property name="draw_indicator">True</property>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
                   </object>
                   <packing>
                     <property name="resize">True</property>
@@ -176,48 +289,51 @@
               </packing>
             </child>
             <child>
-              <object class="GtkHPaned" id="split hpaned">
+              <object class="GtkPaned" id="split_hpaned">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <child>
-                  <object class="GtkTable" id="table3">
+                  <object class="GtkGrid" id="table3">
                     <property name="visible">True</property>
-                    <property name="n_rows">2</property>
+                    <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
                     <child>
                       <object class="GtkLabel" id="label10">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
                         <property name="label" translatable="yes"><b>Splits _free</b></property>
                         <property name="use_markup">True</property>
                         <property name="use_underline">True</property>
                       </object>
                       <packing>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkScrolledWindow" id="scrolledwindow4">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="hscrollbar_policy">automatic</property>
-                        <property name="vscrollbar_policy">automatic</property>
+                        <property name="margin_left">12</property>
+                        <property name="hexpand">True</property>
+                        <property name="vexpand">True</property>
                         <property name="shadow_type">in</property>
                         <child>
-                          <object class="GtkTreeView" id="split free view">
+                          <object class="GtkTreeView" id="split_free_view">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="rules_hint">True</property>
                             <property name="enable_search">False</property>
+                            <child internal-child="selection">
+                              <object class="GtkTreeSelection" id="treeview-selection2"/>
+                            </child>
                           </object>
                         </child>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
-                        <property name="y_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
-                        <property name="x_padding">12</property>
                       </packing>
                     </child>
                   </object>
@@ -227,24 +343,30 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="hbox1">
+                  <object class="GtkBox" id="hbox1">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <child>
-                      <object class="GtkVBox" id="vbox1">
+                      <object class="GtkBox" id="vbox1">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="orientation">vertical</property>
                         <child>
                           <object class="GtkAlignment" id="alignment4">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <child>
                               <placeholder/>
                             </child>
                           </object>
                           <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
                             <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkButton" id="add split to lot button">
+                          <object class="GtkButton" id="add_split_to_lot_button">
                             <property name="label" translatable="yes">>></property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
@@ -258,7 +380,7 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkButton" id="remove split from lot button">
+                          <object class="GtkButton" id="remove_split_from_lot_button">
                             <property name="label" translatable="yes"><<</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
@@ -273,61 +395,73 @@
                         <child>
                           <object class="GtkAlignment" id="alignment5">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <child>
                               <placeholder/>
                             </child>
                           </object>
                           <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
                             <property name="position">3</property>
                           </packing>
                         </child>
                       </object>
                       <packing>
                         <property name="expand">False</property>
+                        <property name="fill">True</property>
                         <property name="padding">5</property>
                         <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkTable" id="table4">
+                      <object class="GtkGrid" id="table4">
                         <property name="visible">True</property>
-                        <property name="n_rows">2</property>
+                        <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
                         <child>
                           <object class="GtkLabel" id="label1">
                             <property name="visible">True</property>
-                            <property name="xalign">0</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
                             <property name="label" translatable="yes"><b>Splits _in lot</b></property>
                             <property name="use_markup">True</property>
                             <property name="use_underline">True</property>
                           </object>
                           <packing>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">0</property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkScrolledWindow" id="scrolledwindow1">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="hscrollbar_policy">automatic</property>
-                            <property name="vscrollbar_policy">automatic</property>
+                            <property name="margin_left">12</property>
+                            <property name="hexpand">True</property>
+                            <property name="vexpand">True</property>
                             <property name="shadow_type">in</property>
                             <child>
-                              <object class="GtkTreeView" id="split in lot view">
+                              <object class="GtkTreeView" id="split_in_lot_view">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="rules_hint">True</property>
                                 <property name="enable_search">False</property>
+                                <child internal-child="selection">
+                                  <object class="GtkTreeSelection" id="treeview-selection3"/>
+                                </child>
                               </object>
                             </child>
                           </object>
                           <packing>
+                            <property name="left_attach">0</property>
                             <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
                           </packing>
                         </child>
                       </object>
                       <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
@@ -345,208 +479,18 @@
             </child>
           </object>
           <packing>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area1">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="new lot button">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <child>
-                  <object class="GtkAlignment" id="alignment3">
-                    <property name="visible">True</property>
-                    <property name="xscale">0</property>
-                    <property name="yscale">0</property>
-                    <child>
-                      <object class="GtkHBox" id="hbox4">
-                        <property name="visible">True</property>
-                        <property name="spacing">2</property>
-                        <child>
-                          <object class="GtkImage" id="image3">
-                            <property name="visible">True</property>
-                            <property name="stock">gtk-new</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label21">
-                            <property name="visible">True</property>
-                            <property name="label" translatable="yes">_New Lot</property>
-                            <property name="use_underline">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="scrub account button">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <child>
-                  <object class="GtkAlignment" id="alignment1">
-                    <property name="visible">True</property>
-                    <property name="xscale">0</property>
-                    <property name="yscale">0</property>
-                    <child>
-                      <object class="GtkHBox" id="hbox2">
-                        <property name="visible">True</property>
-                        <property name="spacing">2</property>
-                        <child>
-                          <object class="GtkImage" id="image1">
-                            <property name="visible">True</property>
-                            <property name="stock">gtk-clear</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label16">
-                            <property name="visible">True</property>
-                            <property name="label" translatable="yes">Scrub _Account</property>
-                            <property name="use_underline">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="scrub lot button">
-                <property name="visible">True</property>
-                <property name="sensitive">False</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="tooltip_text" translatable="yes">Scrub the highlighted lot</property>
-                <child>
-                  <object class="GtkAlignment" id="alignment2">
-                    <property name="visible">True</property>
-                    <property name="xscale">0</property>
-                    <property name="yscale">0</property>
-                    <child>
-                      <object class="GtkHBox" id="hbox3">
-                        <property name="visible">True</property>
-                        <property name="spacing">2</property>
-                        <child>
-                          <object class="GtkImage" id="image2">
-                            <property name="visible">True</property>
-                            <property name="stock">gtk-clear</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label17">
-                            <property name="visible">True</property>
-                            <property name="label" translatable="yes">_Scrub</property>
-                            <property name="use_underline">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">2</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="delete button">
-                <property name="label">gtk-delete</property>
-                <property name="visible">True</property>
-                <property name="sensitive">False</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="tooltip_text" translatable="yes">Delete the highlighted lot</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">3</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="button5">
-                <property name="label">gtk-close</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">4</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
             <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
           </packing>
         </child>
       </object>
     </child>
     <action-widgets>
-      <action-widget response="5">new lot button</action-widget>
-      <action-widget response="4">scrub account button</action-widget>
-      <action-widget response="3">scrub lot button</action-widget>
-      <action-widget response="2">delete button</action-widget>
+      <action-widget response="5">new_lot_button</action-widget>
+      <action-widget response="4">scrub_account_button</action-widget>
+      <action-widget response="3">scrub_lot_button</action-widget>
+      <action-widget response="2">delete_button</action-widget>
       <action-widget response="-7">button5</action-widget>
     </action-widgets>
   </object>

commit 6e4110165600ee4773cccb9bf7b2ac1a07f02308
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 09:19:55 2017 +0100

    Files linked to dialog-imap-editor.glade

diff --git a/src/gnome/dialog-imap-editor.c b/src/gnome/dialog-imap-editor.c
index 80136b9..0f8c93f 100644
--- a/src/gnome/dialog-imap-editor.c
+++ b/src/gnome/dialog-imap-editor.c
@@ -646,9 +646,9 @@ gnc_imap_dialog_create (GtkWidget *parent, ImapDialog *imap_dialog)
     builder = gtk_builder_new();
     gnc_builder_add_from_file (builder, "dialog-imap-editor.glade", "tree-store");
     gnc_builder_add_from_file (builder, "dialog-imap-editor.glade", "treemodelfilter");
-    gnc_builder_add_from_file (builder, "dialog-imap-editor.glade", "Import Map Dialog");
+    gnc_builder_add_from_file (builder, "dialog-imap-editor.glade", "import_map_dialog");
 
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Import Map Dialog"));
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "import_map_dialog"));
     imap_dialog->dialog = dialog;
 
     imap_dialog->session = gnc_get_current_session();
diff --git a/src/gnome/gtkbuilder/dialog-imap-editor.glade b/src/gnome/gtkbuilder/dialog-imap-editor.glade
index fab77a1..85159ea 100644
--- a/src/gnome/gtkbuilder/dialog-imap-editor.glade
+++ b/src/gnome/gtkbuilder/dialog-imap-editor.glade
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
+  <requires lib="gtk+" version="3.10"/>
   <object class="GtkTreeStore" id="tree-store">
     <columns>
       <!-- column-name source_account_name -->
@@ -27,7 +27,7 @@
   <object class="GtkTreeModelFilter" id="treemodelfilter">
     <property name="child_model">tree-store</property>
   </object>
-  <object class="GtkDialog" id="Import Map Dialog">
+  <object class="GtkDialog" id="import_map_dialog">
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
     <property name="title" translatable="yes">Import Map Editor</property>
@@ -38,19 +38,20 @@
     <signal name="destroy" handler="gnc_imap_dialog_window_destroy_cb" swapped="no"/>
     <signal name="response" handler="gnc_imap_dialog_response_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox2">
+      <object class="GtkBox" id="dialog-vbox2">
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area1">
+          <object class="GtkButtonBox" id="dialog-action_area1">
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="delete_button">
-                <property name="label">gtk-delete</property>
+                <property name="label" translatable="yes">_Delete</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -60,13 +61,13 @@
             </child>
             <child>
               <object class="GtkButton" id="close_button">
-                <property name="label">gtk-close</property>
+                <property name="label" translatable="yes">_Close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -86,7 +87,8 @@
           <object class="GtkLabel" id="label1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="label" translatable="yes">What type of information to display?</property>
+            <property name="label" translatable="yes"><b>What type of information to display?</b></property>
+            <property name="use_markup">True</property>
           </object>
           <packing>
             <property name="expand">False</property>
@@ -95,16 +97,18 @@
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox1">
+          <object class="GtkBox" id="hbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="border_width">5</property>
+            <property name="homogeneous">True</property>
             <child>
               <object class="GtkRadioButton" id="radio-bayes">
                 <property name="label" translatable="yes">Bayesian</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
+                <property name="halign">center</property>
                 <property name="active">True</property>
                 <property name="draw_indicator">True</property>
               </object>
@@ -120,6 +124,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
+                <property name="halign">center</property>
                 <property name="active">True</property>
                 <property name="draw_indicator">True</property>
                 <property name="group">radio-bayes</property>
@@ -136,6 +141,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
+                <property name="halign">center</property>
                 <property name="active">True</property>
                 <property name="draw_indicator">True</property>
                 <property name="group">radio-bayes</property>
@@ -157,13 +163,14 @@
           <object class="GtkScrolledWindow" id="scrolledwindow2">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">automatic</property>
-            <property name="vscrollbar_policy">automatic</property>
             <child>
               <object class="GtkTreeView" id="treeview">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="model">treemodelfilter</property>
+                <child internal-child="selection">
+                  <object class="GtkTreeSelection" id="treeview-selection1"/>
+                </child>
                 <child>
                   <object class="GtkTreeViewColumn" id="source_account_name">
                     <property name="resizable">True</property>
@@ -246,7 +253,8 @@
           <object class="GtkLabel" id="filter-label">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="ypad">5</property>
+            <property name="margin_top">5</property>
+            <property name="margin_bottom">5</property>
             <property name="label" translatable="yes">Case sensative filtering is available on 'Match String' and 'Mapped to Account Name'.</property>
           </object>
           <packing>
@@ -256,7 +264,7 @@
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox2">
+          <object class="GtkBox" id="hbox2">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
@@ -275,11 +283,8 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="invisible_char">●</property>
-                <property name="invisible_char_set">True</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
               </object>
               <packing>
                 <property name="expand">True</property>
@@ -351,7 +356,8 @@
           <object class="GtkLabel" id="label2">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="ypad">5</property>
+            <property name="margin_top">5</property>
+            <property name="margin_bottom">5</property>
             <property name="label" translatable="yes">Multiple rows can be selected and then deleted by pressing the delete button...</property>
           </object>
           <packing>

commit 390912ad74b6cb3e4ca6b1f277bd4b7264f00a65
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 09:19:10 2017 +0100

    Files linked to dialog-find-account.glade

diff --git a/src/gnome/dialog-find-account.c b/src/gnome/dialog-find-account.c
index 13a51fd..02e2055 100644
--- a/src/gnome/dialog-find-account.c
+++ b/src/gnome/dialog-find-account.c
@@ -265,9 +265,9 @@ gnc_find_account_dialog_create (GtkWidget *parent, FindAccountDialog *facc_dialo
     ENTER(" ");
     builder = gtk_builder_new();
     gnc_builder_add_from_file (builder, "dialog-find-account.glade", "list-store");
-    gnc_builder_add_from_file (builder, "dialog-find-account.glade", "Find Account Dialog");
+    gnc_builder_add_from_file (builder, "dialog-find-account.glade", "find_account_dialog");
 
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Find Account Dialog"));
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "find_account_dialog"));
     facc_dialog->dialog = dialog;
 
     facc_dialog->session = gnc_get_current_session();
diff --git a/src/gnome/gtkbuilder/dialog-find-account.glade b/src/gnome/gtkbuilder/dialog-find-account.glade
index 3f96d74..f311543 100644
--- a/src/gnome/gtkbuilder/dialog-find-account.glade
+++ b/src/gnome/gtkbuilder/dialog-find-account.glade
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
+  <requires lib="gtk+" version="3.10"/>
   <object class="GtkListStore" id="list-store">
     <columns>
       <!-- column-name account_full_name -->
@@ -18,7 +18,7 @@
       <column type="gchararray"/>
     </columns>
   </object>
-  <object class="GtkDialog" id="Find Account Dialog">
+  <object class="GtkDialog" id="find_account_dialog">
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
     <property name="title" translatable="yes">Find Account Dialog</property>
@@ -28,23 +28,11 @@
     <signal name="destroy" handler="gnc_find_account_dialog_window_destroy_cb" swapped="no"/>
     <signal name="response" handler="gnc_find_account_dialog_response_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox2">
+      <object class="GtkBox" id="dialog-vbox2">
         <property name="can_focus">False</property>
-        <child>
-          <object class="GtkLabel" id="label1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="ypad">10</property>
-            <property name="label" translatable="yes">Search the Account List</property>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
+        <property name="orientation">vertical</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area1">
+          <object class="GtkButtonBox" id="dialog-action_area1">
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
@@ -53,6 +41,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
+                <property name="halign">start</property>
                 <property name="active">True</property>
                 <property name="draw_indicator">True</property>
               </object>
@@ -64,11 +53,11 @@
             </child>
             <child>
               <object class="GtkButton" id="jumpto_button">
-                <property name="label">gtk-jump-to</property>
+                <property name="label" translatable="yes">_Jump To</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -78,13 +67,13 @@
             </child>
             <child>
               <object class="GtkButton" id="close_button">
-                <property name="label">gtk-close</property>
+                <property name="label" translatable="yes">_Close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -101,7 +90,21 @@
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox-radio">
+          <object class="GtkLabel" id="label1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="margin_bottom">6</property>
+            <property name="label" translatable="yes"><b>Search the Account List</b></property>
+            <property name="use_markup">True</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkBox" id="hbox-radio">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="border_width">5</property>
@@ -148,13 +151,14 @@
           <object class="GtkScrolledWindow" id="scrolledwindow2">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">automatic</property>
-            <property name="vscrollbar_policy">automatic</property>
             <child>
               <object class="GtkTreeView" id="treeview">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="model">list-store</property>
+                <child internal-child="selection">
+                  <object class="GtkTreeSelection" id="treeview-selection1"/>
+                </child>
                 <child>
                   <object class="GtkTreeViewColumn" id="account_full_name">
                     <property name="resizable">True</property>
@@ -180,7 +184,6 @@
           <object class="GtkLabel" id="filter-label">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="ypad">5</property>
             <property name="label" translatable="yes">Case insensative searching is available on 'Account Full Name'.</property>
             <property name="justify">center</property>
           </object>
@@ -191,7 +194,7 @@
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox2">
+          <object class="GtkBox" id="hbox2">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
@@ -210,11 +213,8 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="invisible_char">●</property>
-                <property name="invisible_char_set">True</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
               </object>
               <packing>
                 <property name="expand">True</property>
@@ -258,7 +258,6 @@
           <object class="GtkLabel" id="label2">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="ypad">5</property>
             <property name="label" translatable="yes">Select a row and then press 'jump to' to jump to account in the Account Tree,
 if account should not be shown, this will be temporarily overridden.</property>
             <property name="justify">center</property>

commit 16c4be0219e70c47d580bfd247c350acd8a34250
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 09:18:29 2017 +0100

    Files linked to dialog-fincalc.glade

diff --git a/src/gnome/dialog-fincalc.c b/src/gnome/dialog-fincalc.c
index 0dfa06a..2cbe10d 100644
--- a/src/gnome/dialog-fincalc.c
+++ b/src/gnome/dialog-fincalc.c
@@ -568,9 +568,9 @@ gnc_ui_fincalc_dialog_create(void)
     builder = gtk_builder_new();
     gnc_builder_add_from_file (builder, "dialog-fincalc.glade", "liststore1");
     gnc_builder_add_from_file (builder, "dialog-fincalc.glade", "liststore2");
-    gnc_builder_add_from_file (builder, "dialog-fincalc.glade", "Financial Calculator Dialog");
+    gnc_builder_add_from_file (builder, "dialog-fincalc.glade", "financial_calculator_dialog");
 
-    fcd->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Financial Calculator Dialog"));
+    fcd->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "financial_calculator_dialog"));
 
     gnc_register_gui_component (DIALOG_FINCALC_CM_CLASS,
                                 NULL, close_handler, fcd);
diff --git a/src/gnome/gtkbuilder/dialog-fincalc.glade b/src/gnome/gtkbuilder/dialog-fincalc.glade
index 8ea2e9a..696ea08 100644
--- a/src/gnome/gtkbuilder/dialog-fincalc.glade
+++ b/src/gnome/gtkbuilder/dialog-fincalc.glade
@@ -1,30 +1,173 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkDialog" id="Financial Calculator Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkListStore" id="liststore1">
+    <columns>
+      <!-- column-name item -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Annual</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Semi-annual</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Tri-annual</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Quarterly</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Bi-monthly</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Monthly</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Semi-monthly</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Bi-weekly</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Weekly</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Daily (360)</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Daily (365)</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="liststore2">
+    <columns>
+      <!-- column-name item -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Annual</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Semi-annual</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Tri-annual</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Quarterly</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Bi-monthly</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Monthly</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Semi-monthly</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Bi-weekly</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Weekly</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Daily (360)</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Daily (365)</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkDialog" id="financial_calculator_dialog">
+    <property name="can_focus">False</property>
     <property name="border_width">6</property>
     <property name="title" translatable="yes">Loan Repayment Calculator</property>
     <property name="resizable">False</property>
     <property name="type_hint">normal</property>
-    <signal name="response" handler="fincalc_response_cb"/>
+    <signal name="response" handler="fincalc_response_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox10">
+      <object class="GtkBox" id="dialog-vbox10">
         <property name="visible">True</property>
+        <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">12</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area10">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="close_button">
+                <property name="label" translatable="yes">_Close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="hidden_button">
+                <property name="label" translatable="yes">_Cancel</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="schedule_button">
+                <property name="label" translatable="yes">_Schedule</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
         <child>
-          <object class="GtkHBox" id="hbox79">
+          <object class="GtkBox" id="hbox79">
             <property name="visible">True</property>
+            <property name="can_focus">False</property>
             <child>
-              <object class="GtkVBox" id="vbox75">
+              <object class="GtkBox" id="vbox75">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
                 <child>
                   <object class="GtkLabel" id="label808">
                     <property name="visible">True</property>
-                    <property name="xalign">0</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Calculations</b></property>
                     <property name="use_markup">True</property>
                   </object>
@@ -37,21 +180,24 @@
                 <child>
                   <object class="GtkAlignment" id="alignment18">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="left_padding">12</property>
                     <child>
-                      <object class="GtkVBox" id="vbox77">
+                      <object class="GtkBox" id="vbox77">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="orientation">vertical</property>
                         <property name="spacing">6</property>
                         <child>
-                          <object class="GtkVBox" id="vbox78">
+                          <object class="GtkBox" id="vbox78">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="orientation">vertical</property>
                             <child>
                               <object class="GtkLabel" id="label790">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="yalign">0.75</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
                                 <property name="label" translatable="yes">Payment periods</property>
                                 <property name="use_underline">True</property>
                               </object>
@@ -62,21 +208,22 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="payment_periods_hbox">
+                              <object class="GtkBox" id="payment_periods_hbox">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <property name="spacing">6</property>
                                 <child>
                                   <placeholder/>
                                 </child>
                                 <child>
                                   <object class="GtkButton" id="payment_periods_clear_button">
-                                    <property name="label">gtk-clear</property>
+                                    <property name="label" translatable="yes">_Clear</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
                                     <property name="tooltip_text" translatable="yes">Clear the entry.</property>
-                                    <property name="use_stock">True</property>
-                                    <signal name="clicked" handler="fincalc_amount_clear_clicked_cb"/>
+                                    <property name="use_underline">True</property>
+                                    <signal name="clicked" handler="fincalc_amount_clear_clicked_cb" swapped="no"/>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -87,23 +234,28 @@
                                 </child>
                               </object>
                               <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
                           </object>
                           <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
                             <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkVBox" id="vbox79">
+                          <object class="GtkBox" id="vbox79">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="orientation">vertical</property>
                             <child>
                               <object class="GtkLabel" id="label799">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="yalign">0.75</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
                                 <property name="label" translatable="yes">Interest rate</property>
                               </object>
                               <packing>
@@ -113,21 +265,22 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="interest_rate_hbox">
+                              <object class="GtkBox" id="interest_rate_hbox">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <property name="spacing">6</property>
                                 <child>
                                   <placeholder/>
                                 </child>
                                 <child>
                                   <object class="GtkButton" id="interest_rate_clear_button">
-                                    <property name="label">gtk-clear</property>
+                                    <property name="label" translatable="yes">_Clear</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
                                     <property name="tooltip_text" translatable="yes">Clear the entry</property>
-                                    <property name="use_stock">True</property>
-                                    <signal name="clicked" handler="fincalc_amount_clear_clicked_cb"/>
+                                    <property name="use_underline">True</property>
+                                    <signal name="clicked" handler="fincalc_amount_clear_clicked_cb" swapped="no"/>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -138,23 +291,28 @@
                                 </child>
                               </object>
                               <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
                           </object>
                           <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkVBox" id="vbox80">
+                          <object class="GtkBox" id="vbox80">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="orientation">vertical</property>
                             <child>
                               <object class="GtkLabel" id="label800">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="yalign">0.75</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
                                 <property name="label" translatable="yes">Present value</property>
                               </object>
                               <packing>
@@ -164,21 +322,22 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="present_value_hbox">
+                              <object class="GtkBox" id="present_value_hbox">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <property name="spacing">6</property>
                                 <child>
                                   <placeholder/>
                                 </child>
                                 <child>
                                   <object class="GtkButton" id="present_value_clear_button">
-                                    <property name="label">gtk-clear</property>
+                                    <property name="label" translatable="yes">_Clear</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
                                     <property name="tooltip_text" translatable="yes">Clear the entry</property>
-                                    <property name="use_stock">True</property>
-                                    <signal name="clicked" handler="fincalc_amount_clear_clicked_cb"/>
+                                    <property name="use_underline">True</property>
+                                    <signal name="clicked" handler="fincalc_amount_clear_clicked_cb" swapped="no"/>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -189,23 +348,28 @@
                                 </child>
                               </object>
                               <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
                           </object>
                           <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
                             <property name="position">2</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkVBox" id="vbox81">
+                          <object class="GtkBox" id="vbox81">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="orientation">vertical</property>
                             <child>
                               <object class="GtkLabel" id="label817">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="yalign">0.75</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
                                 <property name="label" translatable="yes">Periodic payment</property>
                               </object>
                               <packing>
@@ -215,21 +379,22 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="periodic_payment_hbox">
+                              <object class="GtkBox" id="periodic_payment_hbox">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <property name="spacing">6</property>
                                 <child>
                                   <placeholder/>
                                 </child>
                                 <child>
                                   <object class="GtkButton" id="periodic_payment_clear_button">
-                                    <property name="label">gtk-clear</property>
+                                    <property name="label" translatable="yes">_Clear</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
                                     <property name="tooltip_text" translatable="yes">Clear the entry</property>
-                                    <property name="use_stock">True</property>
-                                    <signal name="clicked" handler="fincalc_amount_clear_clicked_cb"/>
+                                    <property name="use_underline">True</property>
+                                    <signal name="clicked" handler="fincalc_amount_clear_clicked_cb" swapped="no"/>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -240,23 +405,28 @@
                                 </child>
                               </object>
                               <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
                           </object>
                           <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
                             <property name="position">3</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkVBox" id="vbox82">
+                          <object class="GtkBox" id="vbox82">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="orientation">vertical</property>
                             <child>
                               <object class="GtkLabel" id="label802">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="yalign">0.75</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
                                 <property name="label" translatable="yes">Future value</property>
                               </object>
                               <packing>
@@ -266,21 +436,22 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="future_value_hbox">
+                              <object class="GtkBox" id="future_value_hbox">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <property name="spacing">6</property>
                                 <child>
                                   <placeholder/>
                                 </child>
                                 <child>
                                   <object class="GtkButton" id="future_value_clear_button">
-                                    <property name="label">gtk-clear</property>
+                                    <property name="label" translatable="yes">_Clear</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
                                     <property name="tooltip_text" translatable="yes">Clear the entry</property>
-                                    <property name="use_stock">True</property>
-                                    <signal name="clicked" handler="fincalc_amount_clear_clicked_cb"/>
+                                    <property name="use_underline">True</property>
+                                    <signal name="clicked" handler="fincalc_amount_clear_clicked_cb" swapped="no"/>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -291,66 +462,37 @@
                                 </child>
                               </object>
                               <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
                           </object>
                           <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
                             <property name="position">4</property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkAlignment" id="alignment31">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="top_padding">6</property>
                             <child>
-                              <object class="GtkHButtonBox" id="hbuttonbox1">
+                              <object class="GtkButtonBox" id="hbuttonbox1">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <child>
                                   <object class="GtkButton" id="calc_button">
+                                    <property name="label" translatable="yes">Calculate</property>
                                     <property name="visible">True</property>
                                     <property name="sensitive">False</property>
                                     <property name="can_focus">True</property>
                                     <property name="can_default">True</property>
                                     <property name="receives_default">False</property>
                                     <property name="tooltip_text" translatable="yes">Recalculate the (single) blank entry in the above fields.</property>
-                                    <signal name="clicked" handler="fincalc_calc_clicked_cb"/>
-                                    <child>
-                                      <object class="GtkAlignment" id="alignment30">
-                                        <property name="visible">True</property>
-                                        <property name="xscale">0</property>
-                                        <property name="yscale">0</property>
-                                        <child>
-                                          <object class="GtkHBox" id="hbox84">
-                                            <property name="visible">True</property>
-                                            <property name="spacing">2</property>
-                                            <child>
-                                              <object class="GtkImage" id="image7">
-                                                <property name="visible">True</property>
-                                                <property name="stock">gtk-execute</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">False</property>
-                                                <property name="position">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <object class="GtkLabel" id="label824">
-                                                <property name="visible">True</property>
-                                                <property name="label" translatable="yes">Calculate</property>
-                                                <property name="use_underline">True</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">False</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
-                                          </object>
-                                        </child>
-                                      </object>
-                                    </child>
+                                    <signal name="clicked" handler="fincalc_calc_clicked_cb" swapped="no"/>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -362,6 +504,8 @@
                             </child>
                           </object>
                           <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
                             <property name="position">5</property>
                           </packing>
                         </child>
@@ -369,33 +513,42 @@
                     </child>
                   </object>
                   <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
               </object>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
                 <property name="position">0</property>
               </packing>
             </child>
             <child>
-              <object class="GtkVSeparator" id="vseparator2">
+              <object class="GtkSeparator" id="vseparator2">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
               </object>
               <packing>
                 <property name="expand">False</property>
+                <property name="fill">True</property>
                 <property name="padding">6</property>
                 <property name="position">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="vbox76">
+              <object class="GtkBox" id="vbox76">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
                 <child>
                   <object class="GtkLabel" id="label809">
                     <property name="visible">True</property>
-                    <property name="xalign">0</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Payment Options</b></property>
                     <property name="use_markup">True</property>
                   </object>
@@ -408,64 +561,56 @@
                 <child>
                   <object class="GtkAlignment" id="alignment19">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="left_padding">12</property>
                     <child>
-                      <object class="GtkTable" id="table9">
+                      <object class="GtkGrid" id="table9">
                         <property name="visible">True</property>
-                        <property name="n_rows">9</property>
-                        <property name="n_columns">3</property>
+                        <property name="can_focus">False</property>
                         <property name="column_spacing">12</property>
                         <child>
                           <object class="GtkLabel" id="some_label">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
                             <property name="label" translatable="yes">Payment Total:</property>
                             <property name="justify">center</property>
                           </object>
                           <packing>
-                            <property name="top_attach">8</property>
-                            <property name="bottom_attach">9</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">12</property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkLabel" id="payment_total_label">
                             <property name="visible">True</property>
-                            <property name="xalign">0</property>
+                            <property name="can_focus">False</property>
                             <property name="label" translatable="yes">total</property>
                             <property name="justify">center</property>
                           </object>
                           <packing>
                             <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">8</property>
-                            <property name="bottom_attach">9</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
+                            <property name="top_attach">12</property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkLabel" id="label818">
                             <property name="visible">True</property>
-                            <property name="xalign">0</property>
+                            <property name="can_focus">False</property>
                           </object>
                           <packing>
+                            <property name="left_attach">0</property>
                             <property name="top_attach">3</property>
-                            <property name="bottom_attach">4</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkLabel" id="label819">
                             <property name="visible">True</property>
-                            <property name="xalign">0</property>
+                            <property name="can_focus">False</property>
                           </object>
                           <packing>
+                            <property name="left_attach">0</property>
                             <property name="top_attach">7</property>
-                            <property name="bottom_attach">8</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options">GTK_EXPAND</property>
                           </packing>
                         </child>
                         <child>
@@ -474,18 +619,15 @@
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">False</property>
+                            <property name="halign">start</property>
                             <property name="use_underline">True</property>
                             <property name="active">True</property>
                             <property name="draw_indicator">True</property>
-                            <signal name="toggled" handler="fincalc_compounding_radio_toggled"/>
+                            <signal name="toggled" handler="fincalc_compounding_radio_toggled" swapped="no"/>
                           </object>
                           <packing>
                             <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
                             <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
@@ -494,94 +636,92 @@
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">False</property>
+                            <property name="halign">start</property>
                             <property name="use_underline">True</property>
                             <property name="draw_indicator">True</property>
                             <property name="group">discrete_compounding_radio</property>
                           </object>
                           <packing>
                             <property name="left_attach">2</property>
-                            <property name="right_attach">3</property>
                             <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkAlignment" id="alignment23">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="left_padding">12</property>
                             <child>
                               <object class="GtkLabel" id="label816">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
                                 <property name="label" translatable="yes">Type:</property>
                               </object>
                             </child>
                           </object>
                           <packing>
+                            <property name="left_attach">0</property>
                             <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options">GTK_FILL</property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkAlignment" id="alignment22">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="left_padding">12</property>
                             <child>
                               <object class="GtkLabel" id="label815">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
                                 <property name="label" translatable="yes">Frequency:</property>
                                 <property name="use_underline">True</property>
                               </object>
                             </child>
                           </object>
                           <packing>
+                            <property name="left_attach">0</property>
                             <property name="top_attach">2</property>
-                            <property name="bottom_attach">3</property>
-                            <property name="y_options">GTK_FILL</property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkAlignment" id="alignment24">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="left_padding">12</property>
                             <child>
                               <object class="GtkLabel" id="label811">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
                                 <property name="label" translatable="yes">Frequency:</property>
                                 <property name="use_underline">True</property>
                               </object>
                             </child>
                           </object>
                           <packing>
+                            <property name="left_attach">0</property>
                             <property name="top_attach">6</property>
-                            <property name="bottom_attach">7</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options">GTK_FILL</property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkAlignment" id="alignment25">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="left_padding">12</property>
                             <child>
                               <object class="GtkLabel" id="label812">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
                                 <property name="label" translatable="yes">When paid:</property>
                               </object>
                             </child>
                           </object>
                           <packing>
+                            <property name="left_attach">0</property>
                             <property name="top_attach">5</property>
-                            <property name="bottom_attach">6</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options">GTK_FILL</property>
                           </packing>
                         </child>
                         <child>
@@ -590,16 +730,13 @@
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">False</property>
+                            <property name="halign">start</property>
                             <property name="use_underline">True</property>
                             <property name="draw_indicator">True</property>
                           </object>
                           <packing>
                             <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
                             <property name="top_attach">5</property>
-                            <property name="bottom_attach">6</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
@@ -608,53 +745,49 @@
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">False</property>
+                            <property name="halign">start</property>
                             <property name="use_underline">True</property>
                             <property name="active">True</property>
                             <property name="draw_indicator">True</property>
                             <property name="group">radiobutton4</property>
-                            <signal name="toggled" handler="fincalc_update_calc_button_cb"/>
+                            <signal name="toggled" handler="fincalc_update_calc_button_cb" swapped="no"/>
                           </object>
                           <packing>
                             <property name="left_attach">2</property>
-                            <property name="right_attach">3</property>
                             <property name="top_attach">5</property>
-                            <property name="bottom_attach">6</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkLabel" id="label797">
                             <property name="visible">True</property>
-                            <property name="xalign">0</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
                             <property name="label" translatable="yes"><b>Compounding:</b></property>
                             <property name="use_markup">True</property>
                             <property name="justify">right</property>
                           </object>
                           <packing>
-                            <property name="right_attach">3</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">0</property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkLabel" id="label813">
                             <property name="visible">True</property>
-                            <property name="xalign">0</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
                             <property name="label" translatable="yes"><b>Period:</b></property>
                             <property name="use_markup">True</property>
                           </object>
                           <packing>
-                            <property name="right_attach">3</property>
+                            <property name="left_attach">0</property>
                             <property name="top_attach">4</property>
-                            <property name="bottom_attach">5</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkComboBox" id="payment_combo">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="model">liststore2</property>
                             <child>
                               <object class="GtkCellRendererText" id="cellrenderertext2"/>
@@ -665,16 +798,14 @@
                           </object>
                           <packing>
                             <property name="left_attach">1</property>
-                            <property name="right_attach">3</property>
                             <property name="top_attach">6</property>
-                            <property name="bottom_attach">7</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options">GTK_FILL</property>
+                            <property name="width">2</property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkComboBox" id="compounding_combo">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="model">liststore1</property>
                             <child>
                               <object class="GtkCellRendererText" id="cellrenderertext1"/>
@@ -685,11 +816,48 @@
                           </object>
                           <packing>
                             <property name="left_attach">1</property>
-                            <property name="right_attach">3</property>
                             <property name="top_attach">2</property>
-                            <property name="bottom_attach">3</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options">GTK_FILL</property>
+                            <property name="width">2</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label1">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">8</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label2">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">9</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label3">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">10</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label4">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">11</property>
                           </packing>
                         </child>
                         <child>
@@ -707,109 +875,63 @@
                         <child>
                           <placeholder/>
                         </child>
-                      </object>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="position">2</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area10">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="close_button">
-                <property name="label">gtk-close</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="hidden_button">
-                <property name="label">gtk-cancel</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="schedule_button">
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <child>
-                  <object class="GtkAlignment" id="alignment32">
-                    <property name="visible">True</property>
-                    <property name="xscale">0</property>
-                    <property name="yscale">0</property>
-                    <child>
-                      <object class="GtkHBox" id="hbox90">
-                        <property name="visible">True</property>
-                        <property name="spacing">2</property>
                         <child>
-                          <object class="GtkImage" id="image8">
-                            <property name="visible">True</property>
-                            <property name="stock">gtk-ok</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
+                          <placeholder/>
                         </child>
                         <child>
-                          <object class="GtkLabel" id="label825">
-                            <property name="visible">True</property>
-                            <property name="label" translatable="yes">Schedule</property>
-                            <property name="use_underline">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
                         </child>
                       </object>
                     </child>
                   </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
                 </child>
               </object>
               <packing>
                 <property name="expand">False</property>
-                <property name="fill">False</property>
+                <property name="fill">True</property>
                 <property name="position">2</property>
               </packing>
             </child>
           </object>
           <packing>
             <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
           </packing>
         </child>
       </object>
@@ -820,86 +942,4 @@
       <action-widget response="-5">schedule_button</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkListStore" id="liststore1">
-    <columns>
-      <!-- column-name item -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Annual</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Semi-annual</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Tri-annual</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Quarterly</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Bi-monthly</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Monthly</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Semi-monthly</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Bi-weekly</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Weekly</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Daily (360)</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Daily (365)</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="liststore2">
-    <columns>
-      <!-- column-name item -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Annual</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Semi-annual</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Tri-annual</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Quarterly</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Bi-monthly</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Monthly</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Semi-monthly</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Bi-weekly</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Weekly</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Daily (360)</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Daily (365)</col>
-      </row>
-    </data>
-  </object>
 </interface>

commit 5cca866d18354118ee516d0d11aed3552cbe1a54
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Tue Jun 20 09:18:13 2017 +0100

    Files linked to dialog-commodities.glade

diff --git a/src/gnome/dialog-commodities.c b/src/gnome/dialog-commodities.c
index cf022aa..3d47193 100644
--- a/src/gnome/dialog-commodities.c
+++ b/src/gnome/dialog-commodities.c
@@ -316,9 +316,9 @@ gnc_commodities_dialog_create (GtkWidget * parent, CommoditiesDialog *cd)
     GtkTreeSelection *selection;
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-commodities.glade", "Securities Dialog");
+    gnc_builder_add_from_file (builder, "dialog-commodities.glade", "securities_dialog");
 
-    cd->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Securities Dialog"));
+    cd->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "securities_dialog"));
     cd->session = gnc_get_current_session();
     cd->book = qof_session_get_book(cd->session);
     cd->show_currencies = gnc_prefs_get_bool(GNC_PREFS_GROUP, GNC_PREF_INCL_ISO);
diff --git a/src/gnome/gtkbuilder/dialog-commodities.glade b/src/gnome/gtkbuilder/dialog-commodities.glade
index 2e148eb..457f2d0 100644
--- a/src/gnome/gtkbuilder/dialog-commodities.glade
+++ b/src/gnome/gtkbuilder/dialog-commodities.glade
@@ -1,68 +1,157 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkDialog" id="Securities Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="securities_dialog">
+    <property name="can_focus">False</property>
     <property name="title" translatable="yes">Securities</property>
     <property name="default_width">400</property>
     <property name="default_height">400</property>
     <property name="type_hint">normal</property>
-    <signal name="destroy" handler="gnc_commodities_window_destroy_cb"/>
-    <signal name="response" handler="gnc_commodities_dialog_response"/>
+    <signal name="destroy" handler="gnc_commodities_window_destroy_cb" swapped="no"/>
+    <signal name="response" handler="gnc_commodities_dialog_response" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="vbox127">
+      <object class="GtkBox" id="vbox127">
         <property name="visible">True</property>
+        <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="hbuttonbox6">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="add_button">
+                <property name="label" translatable="yes">_Add</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="tooltip_text" translatable="yes">Add a new commodity.</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="remove_button">
+                <property name="label" translatable="yes">_Remove</property>
+                <property name="visible">True</property>
+                <property name="sensitive">False</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="tooltip_text" translatable="yes">Remove the current commodity.</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="edit_button">
+                <property name="label" translatable="yes">_Edit</property>
+                <property name="visible">True</property>
+                <property name="sensitive">False</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="tooltip_text" translatable="yes">Edit the current commodity.</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="close_button">
+                <property name="label" translatable="yes">_Close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">3</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
         <child>
-          <object class="GtkVBox" id="commodities_vbox">
+          <object class="GtkBox" id="commodities_vbox">
             <property name="visible">True</property>
+            <property name="can_focus">False</property>
             <property name="border_width">12</property>
             <property name="orientation">vertical</property>
             <property name="spacing">6</property>
             <child>
               <object class="GtkLabel" id="label1">
                 <property name="visible">True</property>
-                <property name="xalign">0</property>
+                <property name="can_focus">False</property>
                 <property name="label" translatable="yes"><b>Securities</b></property>
                 <property name="use_markup">True</property>
                 <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
+                <property name="fill">True</property>
                 <property name="position">0</property>
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="hbox1">
+              <object class="GtkBox" id="hbox1">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="spacing">6</property>
                 <child>
                   <object class="GtkLabel" id="label2">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="label">    </property>
                   </object>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="fill">True</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkVBox" id="vbox128">
+                  <object class="GtkBox" id="vbox128">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="orientation">vertical</property>
                     <property name="spacing">6</property>
                     <child>
                       <object class="GtkScrolledWindow" id="commodity_list_window">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="hscrollbar_policy">automatic</property>
-                        <property name="vscrollbar_policy">automatic</property>
+                        <property name="hexpand">True</property>
+                        <property name="vexpand">True</property>
                         <property name="shadow_type">in</property>
                         <child>
                           <placeholder/>
                         </child>
                       </object>
                       <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
                         <property name="position">0</property>
                       </packing>
                     </child>
@@ -72,10 +161,11 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="halign">start</property>
                         <property name="border_width">3</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
-                        <signal name="toggled" handler="gnc_commodities_show_currencies_toggled"/>
+                        <signal name="toggled" handler="gnc_commodities_show_currencies_toggled" swapped="no"/>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -85,128 +175,23 @@
                     </child>
                   </object>
                   <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
               </object>
               <packing>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="hbuttonbox6">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="add_button">
-                <property name="label">gtk-add</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="tooltip_text" translatable="yes">Add a new commodity.</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="remove_button">
-                <property name="label">gtk-remove</property>
-                <property name="visible">True</property>
-                <property name="sensitive">False</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="tooltip_text" translatable="yes">Remove the current commodity.</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
                 <property name="expand">False</property>
-                <property name="fill">False</property>
+                <property name="fill">True</property>
                 <property name="position">1</property>
               </packing>
             </child>
-            <child>
-              <object class="GtkButton" id="edit_button">
-                <property name="visible">True</property>
-                <property name="sensitive">False</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="tooltip_text" translatable="yes">Edit the current commodity.</property>
-                <child>
-                  <object class="GtkAlignment" id="alignment1">
-                    <property name="visible">True</property>
-                    <property name="xscale">0</property>
-                    <property name="yscale">0</property>
-                    <child>
-                      <object class="GtkHBox" id="hbox2">
-                        <property name="visible">True</property>
-                        <property name="spacing">2</property>
-                        <child>
-                          <object class="GtkImage" id="image1">
-                            <property name="visible">True</property>
-                            <property name="stock">gtk-properties</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label3">
-                            <property name="visible">True</property>
-                            <property name="label" translatable="yes">Edit</property>
-                            <property name="use_underline">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">2</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="close_button">
-                <property name="label">gtk-close</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="has_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">3</property>
-              </packing>
-            </child>
           </object>
           <packing>
             <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
           </packing>
         </child>
       </object>

commit 4a421af57f3bffa9e3550dddaf76e16f0180cbad
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 18 16:13:27 2017 +0100

    Files linked to dialog-options.glade

diff --git a/src/gnome-utils/dialog-options.c b/src/gnome-utils/dialog-options.c
index cab5e48..0a955fb 100644
--- a/src/gnome-utils/dialog-options.c
+++ b/src/gnome-utils/dialog-options.c
@@ -1724,8 +1724,8 @@ gnc_options_dialog_new_modal(gboolean modal, gchar *title)
 
     retval = g_new0(GNCOptionWin, 1);
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-options.glade", "GnuCash Options");
-    retval->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "GnuCash Options"));
+    gnc_builder_add_from_file (builder, "dialog-options.glade", "gnucash_options_dialog");
+    retval->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "gnucash_options_dialog"));
     retval->page_list = GTK_WIDGET(gtk_builder_get_object (builder, "page_list_scroll"));
 
     /* Page List */
@@ -1773,7 +1773,7 @@ gnc_options_dialog_new_modal(gboolean modal, gchar *title)
     }
 
     /* glade doesn't support a notebook with zero pages */
-    hbox = GTK_WIDGET(gtk_builder_get_object (builder, "notebook placeholder"));
+    hbox = GTK_WIDGET(gtk_builder_get_object (builder, "notebook_placeholder"));
     retval->notebook = gtk_notebook_new();
     gtk_widget_show(retval->notebook);
     gtk_box_pack_start(GTK_BOX(hbox), retval->notebook, TRUE, TRUE, 5);
@@ -2301,7 +2301,7 @@ gnc_option_set_ui_widget_color (GNCOption *option, GtkBox *page_box,
 
     value = gtk_color_button_new();
     gtk_color_button_set_title(GTK_COLOR_BUTTON(value), name);
-    gtk_color_button_set_use_alpha(GTK_COLOR_BUTTON(value), use_alpha);
+    gtk_color_chooser_set_use_alpha(GTK_COLOR_CHOOSER(value), use_alpha);
 
     gnc_option_set_widget (option, value);
     gnc_option_set_ui_value(option, FALSE);
diff --git a/src/gnome-utils/gtkbuilder/dialog-options.glade b/src/gnome-utils/gtkbuilder/dialog-options.glade
index 03b7f07..6dce040 100644
--- a/src/gnome-utils/gtkbuilder/dialog-options.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-options.glade
@@ -1,8 +1,8 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkDialog" id="GnuCash Options">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="gnucash_options_dialog">
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">GnuCash Options</property>
     <property name="default_width">400</property>
@@ -10,23 +10,23 @@
     <property name="type_hint">dialog</property>
     <signal name="response" handler="gnc_options_dialog_response_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox1">
+      <object class="GtkBox" id="dialog-vbox1">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area1">
+          <object class="GtkButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="helpbutton1">
-                <property name="label">gtk-help</property>
+                <property name="label" translatable="yes">_Help</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -36,13 +36,12 @@
             </child>
             <child>
               <object class="GtkButton" id="cancelbutton1">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -52,13 +51,12 @@
             </child>
             <child>
               <object class="GtkButton" id="applybutton">
-                <property name="label">gtk-apply</property>
+                <property name="label" translatable="yes">_Apply</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -68,13 +66,12 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton1">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -91,7 +88,7 @@
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox1">
+          <object class="GtkBox" id="hbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
@@ -104,6 +101,9 @@
                   <object class="GtkTreeView" id="page_list_treeview">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
+                    <child internal-child="selection">
+                      <object class="GtkTreeSelection" id="treeview-selection1"/>
+                    </child>
                   </object>
                 </child>
               </object>
@@ -114,7 +114,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="notebook placeholder">
+              <object class="GtkBox" id="notebook_placeholder">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>

commit cb25078ef831c0f76931fca3064f8b7248ea94b9
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 18 16:11:33 2017 +0100

    Files linked to gnc-date-format.glade

diff --git a/src/gnome-utils/gnc-date-format.c b/src/gnome-utils/gnc-date-format.c
index 041712e..1943e04 100644
--- a/src/gnome-utils/gnc-date-format.c
+++ b/src/gnome-utils/gnc-date-format.c
@@ -163,7 +163,7 @@ gnc_date_format_init (GNCDateFormat *gdf)
     /* Open up the Glade and set the signals */
     builder = gtk_builder_new();
     gnc_builder_add_from_file (builder, "gnc-date-format.glade", "format-liststore");
-    gnc_builder_add_from_file (builder, "gnc-date-format.glade", "GNC Date Format");
+    gnc_builder_add_from_file (builder, "gnc-date-format.glade", "gnc_date_format_window");
 
     gtk_builder_connect_signals_full (builder, gnc_builder_connect_full_func, gdf);
 
@@ -189,7 +189,7 @@ gnc_date_format_init (GNCDateFormat *gdf)
     gnc_date_format_set_format(gdf, QOF_DATE_FORMAT_UNSET);
 
     /* pull in the dialog and table widgets and play the reconnect game */
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "GNC Date Format"));
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "gnc_date_format_window"));
 
     table = GTK_WIDGET(gtk_builder_get_object (builder, "date_format_table"));
     g_object_ref(G_OBJECT(table));
diff --git a/src/gnome-utils/gtkbuilder/gnc-date-format.glade b/src/gnome-utils/gtkbuilder/gnc-date-format.glade
index 6c2dbb4..b51369c 100644
--- a/src/gnome-utils/gtkbuilder/gnc-date-format.glade
+++ b/src/gnome-utils/gtkbuilder/gnc-date-format.glade
@@ -1,53 +1,73 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkWindow" id="GNC Date Format">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkListStore" id="format-liststore">
+    <columns>
+      <!-- column-name item -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">US (12/31/2001)</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">UK (31/12/2001)</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Europe (31.12.2001)</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">ISO (2001-12-31)</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Locale</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">UTC - Coordinated Universal Time</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Custom</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">No Fancy Date Format</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkWindow" id="gnc_date_format_window">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Date Format</property>
     <property name="resizable">False</property>
     <child>
-      <object class="GtkTable" id="date_format_table">
+      <object class="GtkGrid" id="date_format_table">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <property name="n_rows">6</property>
-        <property name="n_columns">3</property>
         <child>
           <object class="GtkLabel" id="sample_label">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
+            <property name="halign">start</property>
             <property name="label" translatable="yes">December 31, 2000</property>
           </object>
           <packing>
             <property name="left_attach">2</property>
-            <property name="right_attach">3</property>
             <property name="top_attach">5</property>
-            <property name="bottom_attach">6</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
           </packing>
         </child>
         <child>
           <object class="GtkEntry" id="format_entry">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="invisible_char">&#x25CF;</property>
+            <property name="invisible_char">●</property>
             <property name="text" translatable="yes">%Y-%m-%d</property>
-            <property name="invisible_char_set">True</property>
             <property name="primary_icon_activatable">False</property>
             <property name="secondary_icon_activatable">False</property>
-            <property name="primary_icon_sensitive">True</property>
-            <property name="secondary_icon_sensitive">True</property>
-            <signal name="changed" handler="gnc_ui_date_format_changed_cb"/>
+            <signal name="changed" handler="gnc_ui_date_format_changed_cb" swapped="no"/>
           </object>
           <packing>
             <property name="left_attach">2</property>
-            <property name="right_attach">3</property>
             <property name="top_attach">3</property>
-            <property name="bottom_attach">4</property>
-            <property name="y_options"></property>
           </packing>
         </child>
         <child>
@@ -56,23 +76,19 @@
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="receives_default">False</property>
-            <property name="use_action_appearance">False</property>
+            <property name="halign">start</property>
             <property name="use_underline">True</property>
             <property name="active">True</property>
             <property name="draw_indicator">True</property>
-            <signal name="toggled" handler="gnc_ui_date_format_changed_cb"/>
+            <signal name="toggled" handler="gnc_ui_date_format_changed_cb" swapped="no"/>
           </object>
           <packing>
             <property name="left_attach">2</property>
-            <property name="right_attach">3</property>
             <property name="top_attach">2</property>
-            <property name="bottom_attach">3</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="months_hbox">
+          <object class="GtkBox" id="months_hbox">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
@@ -81,11 +97,10 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
                 <property name="active">True</property>
                 <property name="draw_indicator">True</property>
-                <signal name="toggled" handler="gnc_ui_date_format_changed_cb"/>
+                <signal name="toggled" handler="gnc_ui_date_format_changed_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -99,11 +114,10 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
                 <property name="draw_indicator">True</property>
                 <property name="group">month_number_button</property>
-                <signal name="toggled" handler="gnc_ui_date_format_changed_cb"/>
+                <signal name="toggled" handler="gnc_ui_date_format_changed_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -117,11 +131,10 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
                 <property name="draw_indicator">True</property>
                 <property name="group">month_number_button</property>
-                <signal name="toggled" handler="gnc_ui_date_format_changed_cb"/>
+                <signal name="toggled" handler="gnc_ui_date_format_changed_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -132,11 +145,7 @@
           </object>
           <packing>
             <property name="left_attach">2</property>
-            <property name="right_attach">3</property>
             <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options">GTK_FILL</property>
           </packing>
         </child>
         <child>
@@ -146,88 +155,70 @@
             <property name="justify">center</property>
           </object>
           <packing>
-            <property name="left_attach">1</property>
-            <property name="right_attach">2</property>
+            <property name="left_attach">0</property>
             <property name="top_attach">4</property>
-            <property name="bottom_attach">5</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
           </packing>
         </child>
         <child>
           <object class="GtkLabel" id="months_label">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
+            <property name="halign">start</property>
             <property name="label" translatable="yes">Months:</property>
           </object>
           <packing>
             <property name="left_attach">1</property>
-            <property name="right_attach">2</property>
             <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
           </packing>
         </child>
         <child>
           <object class="GtkLabel" id="years_label">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
+            <property name="halign">start</property>
             <property name="label" translatable="yes">Years:</property>
           </object>
           <packing>
             <property name="left_attach">1</property>
-            <property name="right_attach">2</property>
             <property name="top_attach">2</property>
-            <property name="bottom_attach">3</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
           </packing>
         </child>
         <child>
           <object class="GtkLabel" id="format_label">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
+            <property name="halign">start</property>
             <property name="label" translatable="yes">Format:</property>
           </object>
           <packing>
             <property name="left_attach">1</property>
-            <property name="right_attach">2</property>
             <property name="top_attach">3</property>
-            <property name="bottom_attach">4</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
           </packing>
         </child>
         <child>
           <object class="GtkLabel" id="label2">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="xalign">0</property>
+            <property name="halign">start</property>
+            <property name="margin_right">5</property>
             <property name="label" translatable="yes">Sample:</property>
           </object>
           <packing>
             <property name="left_attach">1</property>
-            <property name="right_attach">2</property>
             <property name="top_attach">5</property>
-            <property name="bottom_attach">6</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="label_box">
+          <object class="GtkBox" id="label_box">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="margin_right">5</property>
             <property name="spacing">8</property>
             <child>
               <object class="GtkLabel" id="widget_label">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">Date format:</property>
               </object>
               <packing>
@@ -236,13 +227,10 @@
                 <property name="position">0</property>
               </packing>
             </child>
-            <child>
-              <placeholder/>
-            </child>
           </object>
           <packing>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
+            <property name="left_attach">0</property>
+            <property name="top_attach">0</property>
           </packing>
         </child>
         <child>
@@ -250,7 +238,7 @@
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="model">format-liststore</property>
-            <signal name="changed" handler="gnc_ui_date_format_changed_cb"/>
+            <signal name="changed" handler="gnc_ui_date_format_changed_cb" swapped="no"/>
             <child>
               <object class="GtkCellRendererText" id="cellrenderertext1"/>
               <attributes>
@@ -260,9 +248,8 @@
           </object>
           <packing>
             <property name="left_attach">1</property>
-            <property name="right_attach">3</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options">GTK_FILL</property>
+            <property name="top_attach">0</property>
+            <property name="width">2</property>
           </packing>
         </child>
         <child>
@@ -286,36 +273,4 @@
       </object>
     </child>
   </object>
-  <object class="GtkListStore" id="format-liststore">
-    <columns>
-      <!-- column-name item -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">US (12/31/2001)</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">UK (31/12/2001)</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Europe (31.12.2001)</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">ISO (2001-12-31)</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Locale</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">UTC - Coordinated Universal Time</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Custom</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">No Fancy Date Format</col>
-      </row>
-    </data>
-  </object>
 </interface>

commit e2919b8d5569e17e6ed37c4133b2b263c6b5d5a5
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 18 15:41:03 2017 +0100

    Files linked to gnc-tree-view-owner.glade

diff --git a/src/gnome-utils/gnc-tree-view-owner.c b/src/gnome-utils/gnc-tree-view-owner.c
index 36fc4cb..cda3eb9 100644
--- a/src/gnome-utils/gnc-tree-view-owner.c
+++ b/src/gnome-utils/gnc-tree-view-owner.c
@@ -1196,8 +1196,8 @@ owner_filter_dialog_create(OwnerFilterDialog *fd, GncPluginPage *page)
 
     /* Create the dialog */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "gnc-tree-view-owner.glade", "Filter By");
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Filter By"));
+    gnc_builder_add_from_file (builder, "gnc-tree-view-owner.glade", "filter_by_dialog");
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "filter_by_dialog"));
     fd->dialog = dialog;
     gtk_window_set_transient_for(GTK_WINDOW(dialog),
                                  GTK_WINDOW(GNC_PLUGIN_PAGE(page)->window));
diff --git a/src/gnome-utils/gtkbuilder/gnc-tree-view-owner.glade b/src/gnome-utils/gtkbuilder/gnc-tree-view-owner.glade
index 83a3424..91f9f2f 100644
--- a/src/gnome-utils/gtkbuilder/gnc-tree-view-owner.glade
+++ b/src/gnome-utils/gtkbuilder/gnc-tree-view-owner.glade
@@ -1,62 +1,33 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkDialog" id="Filter By">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="filter_by_dialog">
     <property name="visible">True</property>
+    <property name="can_focus">False</property>
     <property name="border_width">6</property>
     <property name="title" translatable="yes">Filter By...</property>
     <property name="type_hint">dialog</property>
-    <signal name="response" handler="gppot_filter_response_cb"/>
+    <signal name="response" handler="gppot_filter_response_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox13">
+      <object class="GtkBox" id="dialog-vbox13">
         <property name="visible">True</property>
+        <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">6</property>
-        <child>
-          <object class="GtkCheckButton" id="show_inactive">
-            <property name="label" translatable="yes">Only show _active owners</property>
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">False</property>
-            <property name="use_underline">True</property>
-            <property name="draw_indicator">True</property>
-            <signal name="toggled" handler="gppot_filter_show_inactive_toggled_cb"/>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkCheckButton" id="show_zero">
-            <property name="label" translatable="yes">Show _zero balance owners</property>
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">False</property>
-            <property name="use_underline">True</property>
-            <property name="draw_indicator">True</property>
-            <signal name="toggled" handler="gppot_filter_show_zero_toggled_cb"/>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">2</property>
-          </packing>
-        </child>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area13">
+          <object class="GtkButtonBox" id="dialog-action_area13">
             <property name="visible">True</property>
+            <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancelbutton1">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -66,12 +37,12 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton1">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -82,10 +53,45 @@
           </object>
           <packing>
             <property name="expand">False</property>
+            <property name="fill">True</property>
             <property name="pack_type">end</property>
             <property name="position">0</property>
           </packing>
         </child>
+        <child>
+          <object class="GtkCheckButton" id="show_inactive">
+            <property name="label" translatable="yes">Only show _active owners</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="halign">start</property>
+            <property name="use_underline">True</property>
+            <property name="draw_indicator">True</property>
+            <signal name="toggled" handler="gppot_filter_show_inactive_toggled_cb" swapped="no"/>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkCheckButton" id="show_zero">
+            <property name="label" translatable="yes">Show _zero balance owners</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="halign">start</property>
+            <property name="use_underline">True</property>
+            <property name="draw_indicator">True</property>
+            <signal name="toggled" handler="gppot_filter_show_zero_toggled_cb" swapped="no"/>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
       </object>
     </child>
     <action-widgets>

commit 3a78c9d99912337b8dd4971392f6ab077b2526b5
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 18 15:35:11 2017 +0100

    Fix up for incorrect glade file option

diff --git a/src/gnome-utils/gnc-tree-view-account.c b/src/gnome-utils/gnc-tree-view-account.c
index ccfa794..0eeb893 100644
--- a/src/gnome-utils/gnc-tree-view-account.c
+++ b/src/gnome-utils/gnc-tree-view-account.c
@@ -2180,8 +2180,8 @@ account_filter_dialog_create(AccountFilterDialog *fd, GncPluginPage *page)
 
     /* Create the dialog */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-account.glade", "account_filter_by");
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "account_filter_by"));
+    gnc_builder_add_from_file (builder, "dialog-account.glade", "account_filter_by_dialog");
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "account_filter_by_dialog"));
     fd->dialog = dialog;
     gtk_window_set_transient_for(GTK_WINDOW(dialog),
                                  GTK_WINDOW(GNC_PLUGIN_PAGE(page)->window));

commit d33e3040c707a5c27a82baf67f81990fa88c9371
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 18 15:34:33 2017 +0100

    Change files linked to gnc-frequency.glade

diff --git a/src/gnome-utils/gnc-frequency.c b/src/gnome-utils/gnc-frequency.c
index 22ef9ac..144c549 100644
--- a/src/gnome-utils/gnc-frequency.c
+++ b/src/gnome-utils/gnc-frequency.c
@@ -227,9 +227,12 @@ gnc_frequency_init(GncFrequency *gf)
     {
         gint dont_expand_or_fill = 0;
         GtkWidget *table = GTK_WIDGET(gtk_builder_get_object (builder, "gncfreq_table"));
-        gtk_table_attach(GTK_TABLE(table), GTK_WIDGET(gf->startDate),
-                         4, 5, 0, 1, dont_expand_or_fill, 0,
-                         0, 0);
+        gtk_grid_attach(GTK_GRID(table), GTK_WIDGET(gf->startDate), 4, 0, 1, 1);
+        gtk_widget_set_vexpand (GTK_WIDGET(gf->startDate), FALSE);
+        gtk_widget_set_hexpand (GTK_WIDGET(gf->startDate), FALSE);
+        gtk_widget_set_valign (GTK_WIDGET(gf->startDate), GTK_ALIGN_CENTER);
+        gtk_widget_set_halign (GTK_WIDGET(gf->startDate), GTK_ALIGN_CENTER);
+        g_object_set (GTK_WIDGET(gf->startDate), "margin", 0, NULL);
     }
     vb = GTK_BOX(gtk_builder_get_object (builder, "gncfreq_vbox"));
     gf->vb = vb;
diff --git a/src/gnome-utils/gtkbuilder/gnc-frequency.glade b/src/gnome-utils/gtkbuilder/gnc-frequency.glade
index f3869c5..74c2b7b 100644
--- a/src/gnome-utils/gtkbuilder/gnc-frequency.glade
+++ b/src/gnome-utils/gtkbuilder/gnc-frequency.glade
@@ -1,901 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkWindow" id="GNCFrequency widget">
-    <property name="can_focus">False</property>
-    <property name="title">This window should never be realized.</property>
-    <child>
-      <object class="GtkEventBox" id="eventbox">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <child>
-          <object class="GtkVBox" id="gncfreq_vbox">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <child>
-              <object class="GtkTable" id="gncfreq_table">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="n_columns">5</property>
-                <child>
-                  <object class="GtkLabel" id="freq_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">1</property>
-                    <property name="xpad">5</property>
-                    <property name="label" translatable="yes">Frequency:</property>
-                    <property name="justify">right</property>
-                  </object>
-                  <packing>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="startdate_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">1</property>
-                    <property name="xpad">5</property>
-                    <property name="label" translatable="yes">Start Date:</property>
-                    <property name="justify">center</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">3</property>
-                    <property name="right_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkComboBox" id="freq_combobox">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="model">liststore2</property>
-                    <child>
-                      <object class="GtkCellRendererText" id="cellrenderertext2"/>
-                      <attributes>
-                        <attribute name="text">0</attribute>
-                      </attributes>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkAlignment" id="alignment1">
-                    <property name="width_request">25</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="right_padding">20</property>
-                    <child>
-                      <placeholder/>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="padding">6</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkNotebook" id="gncfreq_nb">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="border_width">5</property>
-                <property name="show_tabs">False</property>
-                <property name="scrollable">True</property>
-                <child>
-                  <object class="GtkLabel" id="label847767">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Not scheduled</property>
-                    <property name="justify">center</property>
-                  </object>
-                </child>
-                <child type="tab">
-                  <object class="GtkLabel" id="label847753">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">None</property>
-                    <property name="justify">center</property>
-                  </object>
-                  <packing>
-                    <property name="tab_fill">False</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHBox" id="hbox114">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="homogeneous">True</property>
-                    <child>
-                      <object class="GtkLabel" id="label847776">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Select occurrence date above.</property>
-                        <property name="justify">center</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="position">1</property>
-                    <property name="tab_fill">False</property>
-                  </packing>
-                </child>
-                <child type="tab">
-                  <object class="GtkLabel" id="label847735">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Once</property>
-                    <property name="justify">center</property>
-                  </object>
-                  <packing>
-                    <property name="position">1</property>
-                    <property name="tab_fill">False</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHBox" id="hbox115">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="border_width">5</property>
-                    <child>
-                      <object class="GtkLabel" id="label847746">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
-                        <property name="label" translatable="yes" context="Daily">Every</property>
-                        <property name="justify">right</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkSpinButton" id="daily_spin">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="primary_icon_activatable">False</property>
-                        <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
-                        <property name="adjustment">adjustment4</property>
-                        <property name="climb_rate">1</property>
-                        <property name="snap_to_ticks">True</property>
-                        <property name="numeric">True</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="padding">5</property>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label847747">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes" context="Daily">days.</property>
-                        <property name="justify">center</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">2</property>
-                      </packing>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="position">2</property>
-                    <property name="tab_fill">False</property>
-                  </packing>
-                </child>
-                <child type="tab">
-                  <object class="GtkLabel" id="label847736">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Daily</property>
-                    <property name="justify">center</property>
-                  </object>
-                  <packing>
-                    <property name="position">2</property>
-                    <property name="tab_fill">False</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHBox" id="hbox113">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <child>
-                      <object class="GtkVBox" id="vbox1">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <child>
-                          <object class="GtkHBox" id="hbox110">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="border_width">5</property>
-                            <child>
-                              <object class="GtkLabel" id="label847748">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
-                                <property name="label" translatable="yes" context="Weekly">Every</property>
-                                <property name="justify">right</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkSpinButton" id="weekly_spin">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="invisible_char">●</property>
-                                <property name="primary_icon_activatable">False</property>
-                                <property name="secondary_icon_activatable">False</property>
-                                <property name="primary_icon_sensitive">True</property>
-                                <property name="secondary_icon_sensitive">True</property>
-                                <property name="adjustment">adjustment3</property>
-                                <property name="climb_rate">1</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="padding">5</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label847749">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes" context="Weekly">weeks.</property>
-                                <property name="justify">fill</property>
-                              </object>
-                              <packing>
-                                <property name="expand">True</property>
-                                <property name="fill">True</property>
-                                <property name="position">2</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkFrame" id="frame1">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="border_width">5</property>
-                            <property name="label_xalign">0.5</property>
-                            <property name="shadow_type">in</property>
-                            <child>
-                              <object class="GtkAlignment" id="alignment2">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="left_padding">12</property>
-                                <child>
-                                  <object class="GtkTable" id="table2">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="border_width">2</property>
-                                    <property name="n_rows">3</property>
-                                    <property name="n_columns">3</property>
-                                    <child>
-                                      <object class="GtkCheckButton" id="wd_check_sat">
-                                        <property name="label" translatable="yes">Saturday</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">False</property>
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="draw_indicator">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">2</property>
-                                        <property name="right_attach">3</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkCheckButton" id="wd_check_fri">
-                                        <property name="label" translatable="yes">Friday</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">False</property>
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="draw_indicator">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">1</property>
-                                        <property name="right_attach">2</property>
-                                        <property name="top_attach">2</property>
-                                        <property name="bottom_attach">3</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkCheckButton" id="wd_check_wed">
-                                        <property name="label" translatable="yes">Wednesday</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">False</property>
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="draw_indicator">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">1</property>
-                                        <property name="right_attach">2</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkCheckButton" id="wd_check_thu">
-                                        <property name="label" translatable="yes">Thursday</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">False</property>
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="draw_indicator">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">1</property>
-                                        <property name="right_attach">2</property>
-                                        <property name="top_attach">1</property>
-                                        <property name="bottom_attach">2</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkCheckButton" id="wd_check_sun">
-                                        <property name="label" translatable="yes">Sunday</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">False</property>
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="draw_indicator">True</property>
-                                      </object>
-                                    </child>
-                                    <child>
-                                      <object class="GtkCheckButton" id="wd_check_mon">
-                                        <property name="label" translatable="yes">Monday</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">False</property>
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="draw_indicator">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="top_attach">1</property>
-                                        <property name="bottom_attach">2</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkCheckButton" id="wd_check_tue">
-                                        <property name="label" translatable="yes">Tuesday</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">False</property>
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="draw_indicator">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="top_attach">2</property>
-                                        <property name="bottom_attach">3</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <placeholder/>
-                                    </child>
-                                    <child>
-                                      <placeholder/>
-                                    </child>
-                                  </object>
-                                </child>
-                              </object>
-                            </child>
-                            <child type="label">
-                              <object class="GtkLabel" id="label1">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="yalign">0</property>
-                                <property name="label" translatable="yes">Days</property>
-                              </object>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="position">3</property>
-                    <property name="tab_fill">False</property>
-                  </packing>
-                </child>
-                <child type="tab">
-                  <object class="GtkLabel" id="label847738">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Weekly</property>
-                    <property name="justify">center</property>
-                  </object>
-                  <packing>
-                    <property name="position">3</property>
-                    <property name="tab_fill">False</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHBox" id="hbox112">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <child>
-                      <object class="GtkVBox" id="vbox119">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="border_width">5</property>
-                        <property name="spacing">6</property>
-                        <child>
-                          <object class="GtkHBox" id="hbox126">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <child>
-                              <object class="GtkLabel" id="label847757">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
-                                <property name="label" translatable="yes" context="Semimonthly">Every</property>
-                                <property name="justify">right</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkSpinButton" id="semimonthly_spin">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="primary_icon_activatable">False</property>
-                                <property name="secondary_icon_activatable">False</property>
-                                <property name="primary_icon_sensitive">True</property>
-                                <property name="secondary_icon_sensitive">True</property>
-                                <property name="adjustment">adjustment2</property>
-                                <property name="climb_rate">1</property>
-                                <property name="snap_to_ticks">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="padding">5</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label847758">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes" context="Semimonthly">months.</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">2</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkHBox" id="hbox127">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <child>
-                              <object class="GtkLabel" id="label847759">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
-                                <property name="label" translatable="yes">First on the:</property>
-                                <property name="justify">right</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkComboBox" id="semimonthly_first">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="model">liststore1</property>
-                                <child>
-                                  <object class="GtkCellRendererText" id="cellrenderertext1"/>
-                                  <attributes>
-                                    <attribute name="text">0</attribute>
-                                  </attributes>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label847751">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
-                                <property name="label" translatable="yes">except on weekends:</property>
-                                <property name="justify">right</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">2</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkComboBox" id="semimonthly_first_weekend">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="model">liststore7</property>
-                                <child>
-                                  <object class="GtkCellRendererText" id="cellrenderertext7"/>
-                                  <attributes>
-                                    <attribute name="text">0</attribute>
-                                  </attributes>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">3</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkHBox" id="hbox128">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <child>
-                              <object class="GtkLabel" id="label847760">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
-                                <property name="label" translatable="yes">then on the:</property>
-                                <property name="justify">right</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkComboBox" id="semimonthly_second">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="model">liststore6</property>
-                                <child>
-                                  <object class="GtkCellRendererText" id="cellrenderertext6"/>
-                                  <attributes>
-                                    <attribute name="text">0</attribute>
-                                  </attributes>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label847752">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
-                                <property name="label" translatable="yes">except on weekends:</property>
-                                <property name="justify">right</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">2</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkComboBox" id="semimonthly_second_weekend">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="model">liststore5</property>
-                                <child>
-                                  <object class="GtkCellRendererText" id="cellrenderertext5"/>
-                                  <attributes>
-                                    <attribute name="text">0</attribute>
-                                  </attributes>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">3</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">2</property>
-                          </packing>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="position">4</property>
-                    <property name="tab_fill">False</property>
-                  </packing>
-                </child>
-                <child type="tab">
-                  <object class="GtkLabel" id="label847740">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Semi-Monthly</property>
-                    <property name="justify">center</property>
-                  </object>
-                  <packing>
-                    <property name="position">4</property>
-                    <property name="tab_fill">False</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHBox" id="hbox1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <child>
-                      <object class="GtkVBox" id="vbox118">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="border_width">5</property>
-                        <property name="spacing">6</property>
-                        <child>
-                          <object class="GtkHBox" id="hbox124">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <child>
-                              <object class="GtkLabel" id="label847754">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
-                                <property name="label" translatable="yes" context="Monthly">Every</property>
-                                <property name="justify">center</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkSpinButton" id="monthly_spin">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="primary_icon_activatable">False</property>
-                                <property name="secondary_icon_activatable">False</property>
-                                <property name="primary_icon_sensitive">True</property>
-                                <property name="secondary_icon_sensitive">True</property>
-                                <property name="adjustment">adjustment1</property>
-                                <property name="climb_rate">1</property>
-                                <property name="snap_to_ticks">True</property>
-                                <property name="numeric">True</property>
-                                <property name="wrap">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="padding">5</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label847755">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes" context="Monthly">months.</property>
-                                <property name="justify">center</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">2</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkHBox" id="hbox125">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <child>
-                              <object class="GtkLabel" id="label847756">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
-                                <property name="label" translatable="yes">On the</property>
-                                <property name="justify">right</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkComboBox" id="monthly_day">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="model">liststore4</property>
-                                <child>
-                                  <object class="GtkCellRendererText" id="cellrenderertext4"/>
-                                  <attributes>
-                                    <attribute name="text">0</attribute>
-                                  </attributes>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="padding">5</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label847750">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">1</property>
-                                <property name="label" translatable="yes">except on weekends:</property>
-                                <property name="justify">right</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">2</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkComboBox" id="monthly_weekend">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="model">liststore3</property>
-                                <child>
-                                  <object class="GtkCellRendererText" id="cellrenderertext3"/>
-                                  <attributes>
-                                    <attribute name="text">0</attribute>
-                                  </attributes>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">3</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="position">5</property>
-                    <property name="tab_fill">False</property>
-                  </packing>
-                </child>
-                <child type="tab">
-                  <object class="GtkLabel" id="label847741">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Monthly</property>
-                    <property name="justify">center</property>
-                  </object>
-                  <packing>
-                    <property name="position">5</property>
-                    <property name="tab_fill">False</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-        </child>
-      </object>
-    </child>
-  </object>
+  <requires lib="gtk+" version="3.10"/>
   <object class="GtkAdjustment" id="adjustment1">
     <property name="lower">1</property>
     <property name="upper">100</property>
@@ -1460,4 +566,890 @@
       </row>
     </data>
   </object>
+  <object class="GtkWindow" id="gnc_frequency_window">
+    <property name="can_focus">False</property>
+    <property name="title">This window should never be realized.</property>
+    <child>
+      <object class="GtkEventBox" id="eventbox">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <child>
+          <object class="GtkBox" id="gncfreq_vbox">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
+            <child>
+              <object class="GtkGrid" id="gncfreq_table">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <child>
+                  <object class="GtkLabel" id="freq_label">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="margin_right">12</property>
+                    <property name="label" translatable="yes">Frequency:</property>
+                    <property name="justify">right</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="startdate_label">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="margin_right">12</property>
+                    <property name="label" translatable="yes">Start Date:</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">3</property>
+                    <property name="top_attach">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBox" id="freq_combobox">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="model">liststore2</property>
+                    <child>
+                      <object class="GtkCellRendererText" id="cellrenderertext2"/>
+                      <attributes>
+                        <attribute name="text">0</attribute>
+                      </attributes>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkAlignment" id="alignment1">
+                    <property name="width_request">25</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="right_padding">20</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">0</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="padding">6</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkNotebook" id="gncfreq_nb">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="border_width">5</property>
+                <property name="show_tabs">False</property>
+                <property name="scrollable">True</property>
+                <child>
+                  <object class="GtkLabel" id="label847767">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">Not scheduled</property>
+                    <property name="justify">center</property>
+                  </object>
+                </child>
+                <child type="tab">
+                  <object class="GtkLabel" id="label847753">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">None</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkBox" id="hbox114">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="homogeneous">True</property>
+                    <child>
+                      <object class="GtkLabel" id="label847776">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Select occurrence date above.</property>
+                        <property name="justify">center</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="position">1</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+                <child type="tab">
+                  <object class="GtkLabel" id="label847735">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">Once</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="position">1</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkBox" id="hbox115">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="valign">start</property>
+                    <property name="border_width">5</property>
+                    <child>
+                      <object class="GtkLabel" id="label847746">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes" context="Daily">Every</property>
+                        <property name="justify">right</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="daily_spin">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="primary_icon_activatable">False</property>
+                        <property name="secondary_icon_activatable">False</property>
+                        <property name="adjustment">adjustment4</property>
+                        <property name="climb_rate">1</property>
+                        <property name="snap_to_ticks">True</property>
+                        <property name="numeric">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="padding">5</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label847747">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes" context="Daily">days.</property>
+                        <property name="justify">center</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="position">2</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+                <child type="tab">
+                  <object class="GtkLabel" id="label847736">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">Daily</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="position">2</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkBox" id="hbox113">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="valign">start</property>
+                    <child>
+                      <object class="GtkBox" id="vbox1">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="orientation">vertical</property>
+                        <child>
+                          <object class="GtkBox" id="hbox110">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="border_width">5</property>
+                            <child>
+                              <object class="GtkLabel" id="label847748">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="label" translatable="yes" context="Weekly">Every</property>
+                                <property name="justify">right</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkSpinButton" id="weekly_spin">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="invisible_char">●</property>
+                                <property name="primary_icon_activatable">False</property>
+                                <property name="secondary_icon_activatable">False</property>
+                                <property name="adjustment">adjustment3</property>
+                                <property name="climb_rate">1</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="padding">5</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="label847749">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
+                                <property name="label" translatable="yes" context="Weekly">weeks.</property>
+                                <property name="justify">fill</property>
+                              </object>
+                              <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkFrame" id="frame1">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="border_width">5</property>
+                            <property name="label_xalign">0.5</property>
+                            <property name="shadow_type">in</property>
+                            <child>
+                              <object class="GtkAlignment" id="alignment2">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="left_padding">12</property>
+                                <child>
+                                  <object class="GtkGrid" id="table2">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="halign">start</property>
+                                    <property name="margin_right">12</property>
+                                    <property name="border_width">2</property>
+                                    <child>
+                                      <object class="GtkCheckButton" id="wd_check_sat">
+                                        <property name="label" translatable="yes">Saturday</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="draw_indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">2</property>
+                                        <property name="top_attach">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="wd_check_fri">
+                                        <property name="label" translatable="yes">Friday</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="draw_indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="top_attach">2</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="wd_check_wed">
+                                        <property name="label" translatable="yes">Wednesday</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="draw_indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="top_attach">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="wd_check_thu">
+                                        <property name="label" translatable="yes">Thursday</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="draw_indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="top_attach">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="wd_check_sun">
+                                        <property name="label" translatable="yes">Sunday</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="draw_indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="wd_check_mon">
+                                        <property name="label" translatable="yes">Monday</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="draw_indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="wd_check_tue">
+                                        <property name="label" translatable="yes">Tuesday</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="draw_indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">2</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <placeholder/>
+                                    </child>
+                                    <child>
+                                      <placeholder/>
+                                    </child>
+                                  </object>
+                                </child>
+                              </object>
+                            </child>
+                            <child type="label">
+                              <object class="GtkLabel" id="label1">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="label" translatable="yes">Days</property>
+                              </object>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="position">3</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+                <child type="tab">
+                  <object class="GtkLabel" id="label847738">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">Weekly</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="position">3</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkBox" id="hbox112">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="valign">start</property>
+                    <child>
+                      <object class="GtkBox" id="vbox119">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="border_width">5</property>
+                        <property name="orientation">vertical</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <object class="GtkBox" id="hbox126">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <child>
+                              <object class="GtkLabel" id="label847757">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="label" translatable="yes" context="Semimonthly">Every</property>
+                                <property name="justify">right</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkSpinButton" id="semimonthly_spin">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="primary_icon_activatable">False</property>
+                                <property name="secondary_icon_activatable">False</property>
+                                <property name="adjustment">adjustment2</property>
+                                <property name="climb_rate">1</property>
+                                <property name="snap_to_ticks">True</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="padding">5</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="label847758">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="label" translatable="yes" context="Semimonthly">months.</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkBox" id="hbox127">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <child>
+                              <object class="GtkLabel" id="label847759">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
+                                <property name="margin_right">12</property>
+                                <property name="label" translatable="yes">First on the:</property>
+                                <property name="justify">right</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkComboBox" id="semimonthly_first">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
+                                <property name="margin_right">12</property>
+                                <property name="model">liststore1</property>
+                                <child>
+                                  <object class="GtkCellRendererText" id="cellrenderertext1"/>
+                                  <attributes>
+                                    <attribute name="text">0</attribute>
+                                  </attributes>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="label847751">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
+                                <property name="margin_right">12</property>
+                                <property name="label" translatable="yes">except on weekends:</property>
+                                <property name="justify">right</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkComboBox" id="semimonthly_first_weekend">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="model">liststore7</property>
+                                <child>
+                                  <object class="GtkCellRendererText" id="cellrenderertext7"/>
+                                  <attributes>
+                                    <attribute name="text">0</attribute>
+                                  </attributes>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">3</property>
+                              </packing>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkBox" id="hbox128">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <child>
+                              <object class="GtkLabel" id="label847760">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
+                                <property name="margin_right">12</property>
+                                <property name="label" translatable="yes">then on the:</property>
+                                <property name="justify">right</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkComboBox" id="semimonthly_second">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
+                                <property name="margin_right">12</property>
+                                <property name="model">liststore6</property>
+                                <child>
+                                  <object class="GtkCellRendererText" id="cellrenderertext6"/>
+                                  <attributes>
+                                    <attribute name="text">0</attribute>
+                                  </attributes>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="label847752">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
+                                <property name="margin_right">12</property>
+                                <property name="label" translatable="yes">except on weekends:</property>
+                                <property name="justify">right</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkComboBox" id="semimonthly_second_weekend">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="model">liststore5</property>
+                                <child>
+                                  <object class="GtkCellRendererText" id="cellrenderertext5"/>
+                                  <attributes>
+                                    <attribute name="text">0</attribute>
+                                  </attributes>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">3</property>
+                              </packing>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="position">4</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+                <child type="tab">
+                  <object class="GtkLabel" id="label847740">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">Semi-Monthly</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="position">4</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkBox" id="hbox1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="valign">start</property>
+                    <child>
+                      <object class="GtkBox" id="vbox118">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="border_width">5</property>
+                        <property name="orientation">vertical</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <object class="GtkBox" id="hbox124">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <child>
+                              <object class="GtkLabel" id="label847754">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="label" translatable="yes" context="Monthly">Every</property>
+                                <property name="justify">center</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkSpinButton" id="monthly_spin">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="primary_icon_activatable">False</property>
+                                <property name="secondary_icon_activatable">False</property>
+                                <property name="adjustment">adjustment1</property>
+                                <property name="climb_rate">1</property>
+                                <property name="snap_to_ticks">True</property>
+                                <property name="numeric">True</property>
+                                <property name="wrap">True</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="padding">5</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="label847755">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="label" translatable="yes" context="Monthly">months.</property>
+                                <property name="justify">center</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkBox" id="hbox125">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <child>
+                              <object class="GtkLabel" id="label847756">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
+                                <property name="margin_right">12</property>
+                                <property name="label" translatable="yes">On the</property>
+                                <property name="justify">right</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkComboBox" id="monthly_day">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
+                                <property name="margin_right">12</property>
+                                <property name="model">liststore4</property>
+                                <child>
+                                  <object class="GtkCellRendererText" id="cellrenderertext4"/>
+                                  <attributes>
+                                    <attribute name="text">0</attribute>
+                                  </attributes>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="padding">5</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="label847750">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
+                                <property name="margin_right">12</property>
+                                <property name="label" translatable="yes">except on weekends:</property>
+                                <property name="justify">right</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkComboBox" id="monthly_weekend">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
+                                <property name="model">liststore3</property>
+                                <child>
+                                  <object class="GtkCellRendererText" id="cellrenderertext3"/>
+                                  <attributes>
+                                    <attribute name="text">0</attribute>
+                                  </attributes>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">3</property>
+                              </packing>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="position">5</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+                <child type="tab">
+                  <object class="GtkLabel" id="label847741">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">Monthly</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="position">5</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+        </child>
+      </object>
+    </child>
+  </object>
 </interface>

commit da17df3219eb575e6d793c0ee3201626dbc3d192
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 18 15:33:56 2017 +0100

    Change recurrence.glade

diff --git a/src/gnome-utils/gtkbuilder/gnc-recurrence.glade b/src/gnome-utils/gtkbuilder/gnc-recurrence.glade
index 6f16186..37ae658 100644
--- a/src/gnome-utils/gtkbuilder/gnc-recurrence.glade
+++ b/src/gnome-utils/gtkbuilder/gnc-recurrence.glade
@@ -1,7 +1,7 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
+  <requires lib="gtk+" version="3.10"/>
   <object class="GtkListStore" id="GCB_PeriodType_liststore">
     <columns>
       <!-- column-name item -->
@@ -29,15 +29,17 @@
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
   </object>
-  <object class="GtkWindow" id="GncRecurrenceEntry">
+  <object class="GtkWindow" id="gnc_recurrence_entry_window">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <child>
-      <object class="GtkVBox" id="RecurrenceEntryVBox">
+      <object class="GtkBox" id="RecurrenceEntryVBox">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="hexpand">True</property>
+        <property name="orientation">vertical</property>
         <child>
-          <object class="GtkHBox" id="hbox218">
+          <object class="GtkBox" id="hbox218">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
@@ -59,8 +61,6 @@
                 <property name="tooltip_text" translatable="yes">Number of calendar units in the recurrence:  E.g. Biweekly = every 2 weeks; Quarterly = every 3 months</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
                 <property name="adjustment">GSB_Mult_Adj</property>
                 <property name="climb_rate">1</property>
                 <property name="numeric">True</property>
@@ -91,20 +91,19 @@
             </child>
           </object>
           <packing>
-            <property name="expand">True</property>
+            <property name="expand">False</property>
             <property name="fill">True</property>
             <property name="position">0</property>
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox219">
+          <object class="GtkBox" id="hbox219">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
               <object class="GtkLabel" id="label89">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
                 <property name="label" translatable="yes">beginning on: </property>
               </object>
               <packing>
@@ -114,7 +113,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="Startdate_hbox">
+              <object class="GtkBox" id="Startdate_hbox">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
@@ -129,13 +128,13 @@
             </child>
           </object>
           <packing>
-            <property name="expand">True</property>
+            <property name="expand">False</property>
             <property name="fill">True</property>
             <property name="position">1</property>
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox220">
+          <object class="GtkBox" id="hbox220">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
@@ -145,7 +144,6 @@
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
                 <property name="tooltip_text" translatable="yes">Always use the last day (or day of week) in the month?</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
                 <property name="draw_indicator">True</property>
               </object>
@@ -162,7 +160,6 @@
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
                 <property name="tooltip_text" translatable="yes">Match the "day of week" and "week of month"? (for example, the "second Tuesday" of every month)</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
                 <property name="draw_indicator">True</property>
               </object>
@@ -174,7 +171,7 @@
             </child>
           </object>
           <packing>
-            <property name="expand">True</property>
+            <property name="expand">False</property>
             <property name="fill">True</property>
             <property name="position">2</property>
           </packing>

commit 8d95b3f81532f595b9a2fcd9982279b81d5d6c54
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 18 15:15:49 2017 +0100

    Files linked to dialog-userpass.glade

diff --git a/src/gnome-utils/dialog-userpass.c b/src/gnome-utils/dialog-userpass.c
index f273f88..5f9e1d0 100644
--- a/src/gnome-utils/dialog-userpass.c
+++ b/src/gnome-utils/dialog-userpass.c
@@ -47,9 +47,9 @@ gnc_get_username_password (GtkWidget *parent,
     g_return_val_if_fail (password != NULL, FALSE);
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-userpass.glade", "Username Password Dialog");
+    gnc_builder_add_from_file (builder, "dialog-userpass.glade", "username_password_dialog");
 
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Username Password Dialog"));
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "username_password_dialog"));
 
     if (parent)
         gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent));
diff --git a/src/gnome-utils/gtkbuilder/dialog-userpass.glade b/src/gnome-utils/gtkbuilder/dialog-userpass.glade
index f2ada22..994250a 100644
--- a/src/gnome-utils/gtkbuilder/dialog-userpass.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-userpass.glade
@@ -1,31 +1,31 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkDialog" id="Username Password Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="username_password_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Username and Password</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox16">
+      <object class="GtkBox" id="dialog-vbox16">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">8</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area1">
+          <object class="GtkButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancel_button">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -35,14 +35,13 @@
             </child>
             <child>
               <object class="GtkButton" id="ok_button">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -72,14 +71,12 @@
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="table1">
+          <object class="GtkGrid" id="table1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="border_width">6</property>
-            <property name="n_rows">2</property>
-            <property name="n_columns">2</property>
-            <property name="column_spacing">12</property>
             <property name="row_spacing">6</property>
+            <property name="column_spacing">12</property>
             <child>
               <object class="GtkLabel" id="label847713">
                 <property name="visible">True</property>
@@ -90,8 +87,8 @@
                 <property name="mnemonic_widget">username_entry</property>
               </object>
               <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
@@ -104,10 +101,8 @@
                 <property name="mnemonic_widget">password_entry</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
@@ -118,13 +113,10 @@
                 <property name="activates_default">True</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="y_options"></property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
@@ -135,15 +127,10 @@
                 <property name="activates_default">True</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="y_options"></property>
               </packing>
             </child>
           </object>

commit acd7475ba471923eabb5b52244df52822a4beca4
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 18 15:15:03 2017 +0100

    Files linked to dialog-transfer.glade

diff --git a/src/gnome-utils/dialog-transfer.c b/src/gnome-utils/dialog-transfer.c
index 317be4e..0c4cf7f 100644
--- a/src/gnome-utils/dialog-transfer.c
+++ b/src/gnome-utils/dialog-transfer.c
@@ -1862,9 +1862,9 @@ gnc_xfer_dialog_create(GtkWidget *parent, XferDialog *xferData)
 
     ENTER(" ");
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-transfer.glade", "Transfer Dialog");
+    gnc_builder_add_from_file (builder, "dialog-transfer.glade", "transfer_dialog");
 
-    xferData->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Transfer Dialog"));
+    xferData->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "transfer_dialog"));
     g_object_set_data_full (G_OBJECT (xferData->dialog), "builder", builder, g_object_unref);
 
     /* parent */
diff --git a/src/gnome-utils/gtkbuilder/dialog-transfer.glade b/src/gnome-utils/gtkbuilder/dialog-transfer.glade
index a84521f..254e7c0 100644
--- a/src/gnome-utils/gtkbuilder/dialog-transfer.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-transfer.glade
@@ -1,102 +1,153 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkDialog" id="Transfer Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="transfer_dialog">
+    <property name="can_focus">False</property>
     <property name="border_width">5</property>
     <property name="title" translatable="yes">Transfer Funds</property>
     <property name="type_hint">dialog</property>
-    <signal name="response" handler="gnc_xfer_dialog_response_cb"/>
+    <signal name="response" handler="gnc_xfer_dialog_response_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="vbox">
+      <object class="GtkBox" id="vbox">
         <property name="visible">True</property>
+        <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">2</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="hbbox">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="button">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="button1">
+                <property name="label">gtk-ok</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
         <child>
-          <object class="GtkVBox" id="transfermain-vbox">
+          <object class="GtkBox" id="transfermain-vbox">
             <property name="visible">True</property>
+            <property name="can_focus">False</property>
             <property name="border_width">5</property>
             <property name="orientation">vertical</property>
             <property name="spacing">18</property>
             <child>
-              <object class="GtkTable" id="table">
+              <object class="GtkGrid" id="table">
                 <property name="visible">True</property>
-                <property name="n_rows">2</property>
-                <property name="n_columns">2</property>
+                <property name="can_focus">False</property>
                 <property name="row_spacing">6</property>
                 <child>
                   <object class="GtkLabel" id="transferinfo-label">
                     <property name="visible">True</property>
-                    <property name="xalign">0</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Basic Information</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">2</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label">
                     <property name="visible">True</property>
-                    <property name="xalign">0</property>
+                    <property name="can_focus">False</property>
                     <property name="label">    </property>
                   </object>
                   <packing>
+                    <property name="left_attach">1</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkTable" id="table1">
+                  <object class="GtkGrid" id="table1">
                     <property name="visible">True</property>
-                    <property name="n_rows">5</property>
-                    <property name="n_columns">2</property>
-                    <property name="column_spacing">12</property>
+                    <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
+                    <property name="resize_mode">immediate</property>
                     <property name="row_spacing">6</property>
+                    <property name="column_spacing">12</property>
                     <child>
                       <object class="GtkLabel" id="label1">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">12</property>
                         <property name="label" translatable="yes">Amount:</property>
                       </object>
                       <packing>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="amount_hbox">
+                      <object class="GtkBox" id="amount_hbox">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
                         <child>
                           <placeholder/>
                         </child>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="label2">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">12</property>
                         <property name="label" translatable="yes">Date:</property>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="date_hbox">
+                      <object class="GtkBox" id="date_hbox">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
                         <property name="spacing">3</property>
                         <child>
                           <placeholder/>
@@ -104,177 +155,154 @@
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="label3">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">12</property>
                         <property name="label" translatable="yes">Num:</property>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkEntry" id="num_entry">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
+                        <property name="hexpand">True</property>
                         <property name="activates_default">True</property>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="label4">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">12</property>
                         <property name="label" translatable="yes">Description:</property>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">3</property>
-                        <property name="bottom_attach">4</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkEntry" id="description_entry">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
+                        <property name="hexpand">True</property>
                         <property name="activates_default">True</property>
-                        <signal name="key_press_event" handler="gnc_xfer_description_key_press_cb"/>
-                        <signal name="insert_text" handler="gnc_xfer_description_insert_cb"/>
+                        <signal name="insert-text" handler="gnc_xfer_description_insert_cb" swapped="no"/>
+                        <signal name="key-press-event" handler="gnc_xfer_description_key_press_cb" swapped="no"/>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">3</property>
-                        <property name="bottom_attach">4</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="label5">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">12</property>
                         <property name="label" translatable="yes">Memo:</property>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">4</property>
-                        <property name="bottom_attach">5</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkEntry" id="memo_entry">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
+                        <property name="hexpand">True</property>
                         <property name="activates_default">True</property>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">4</property>
-                        <property name="bottom_attach">5</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                   </object>
                   <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="y_options">GTK_FILL</property>
+                    <property name="width">2</property>
                   </packing>
                 </child>
               </object>
               <packing>
                 <property name="expand">False</property>
+                <property name="fill">True</property>
                 <property name="position">0</property>
               </packing>
             </child>
             <child>
-              <object class="GtkTable" id="table2">
+              <object class="GtkGrid" id="table2">
                 <property name="visible">True</property>
-                <property name="n_rows">4</property>
-                <property name="n_columns">5</property>
+                <property name="can_focus">False</property>
                 <property name="row_spacing">6</property>
                 <child>
-                  <object class="GtkLabel" id="label6">
-                    <property name="visible">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label">    </property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
                   <object class="GtkLabel" id="left_trans_label">
                     <property name="visible">True</property>
-                    <property name="xalign">0</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Transfer From</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">2</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="hbox">
+                  <object class="GtkBox" id="hbox">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="spacing">12</property>
                     <child>
                       <object class="GtkLabel" id="label7">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
                         <property name="label" translatable="yes">Currency:</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
+                        <property name="fill">True</property>
                         <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="left_currency_label">
                         <property name="visible">True</property>
-                        <property name="xalign">1</property>
+                        <property name="can_focus">False</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
@@ -283,95 +311,86 @@
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
+                    <property name="halign">start</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label8">
                     <property name="visible">True</property>
-                    <property name="xalign">0</property>
+                    <property name="can_focus">False</property>
                     <property name="label">    </property>
                   </object>
                   <packing>
                     <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
+                    <property name="top_attach">0</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="right_trans_label">
                     <property name="visible">True</property>
-                    <property name="xalign">0</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Transfer To</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="left_attach">3</property>
-                    <property name="right_attach">5</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">2</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label9">
                     <property name="visible">True</property>
-                    <property name="xalign">0</property>
+                    <property name="can_focus">False</property>
                     <property name="label">    </property>
                   </object>
                   <packing>
-                    <property name="left_attach">3</property>
-                    <property name="right_attach">4</property>
+                    <property name="left_attach">2</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="hbox1">
+                  <object class="GtkBox" id="hbox1">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="spacing">12</property>
                     <child>
                       <object class="GtkLabel" id="label10">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
                         <property name="label" translatable="yes">Currency:</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
+                        <property name="fill">True</property>
                         <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="right_currency_label">
                         <property name="visible">True</property>
-                        <property name="xalign">1</property>
+                        <property name="can_focus">False</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
-                    <property name="left_attach">4</property>
-                    <property name="right_attach">5</property>
+                    <property name="left_attach">3</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
@@ -380,42 +399,37 @@
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
+                    <property name="halign">start</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="left_attach">4</property>
-                    <property name="right_attach">5</property>
+                    <property name="left_attach">3</property>
                     <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkScrolledWindow" id="right_trans_window">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">automatic</property>
-                    <property name="vscrollbar_policy">automatic</property>
+                    <property name="hexpand">True</property>
+                    <property name="vexpand">True</property>
                     <property name="shadow_type">in</property>
                     <child>
                       <placeholder/>
                     </child>
                   </object>
                   <packing>
-                    <property name="left_attach">4</property>
-                    <property name="right_attach">5</property>
+                    <property name="left_attach">3</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkScrolledWindow" id="left_trans_window">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">automatic</property>
-                    <property name="vscrollbar_policy">automatic</property>
+                    <property name="hexpand">True</property>
+                    <property name="vexpand">True</property>
                     <property name="shadow_type">in</property>
                     <child>
                       <placeholder/>
@@ -423,94 +437,114 @@
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
                   </packing>
                 </child>
+                <child>
+                  <object class="GtkLabel" id="label6">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label">    </property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
               </object>
               <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
                 <property name="position">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkTable" id="curr_transfer_table">
+              <object class="GtkGrid" id="curr_transfer_table">
                 <property name="visible">True</property>
-                <property name="n_rows">2</property>
-                <property name="n_columns">2</property>
+                <property name="can_focus">False</property>
                 <property name="row_spacing">6</property>
                 <child>
                   <object class="GtkLabel" id="label11">
                     <property name="visible">True</property>
-                    <property name="xalign">0</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Currency Transfer</b></property>
                     <property name="use_markup">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">2</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label12">
                     <property name="visible">True</property>
-                    <property name="xalign">0</property>
+                    <property name="can_focus">False</property>
                     <property name="label">    </property>
                   </object>
                   <packing>
+                    <property name="left_attach">1</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkTable" id="table3">
+                  <object class="GtkGrid" id="table3">
                     <property name="visible">True</property>
-                    <property name="n_rows">2</property>
-                    <property name="n_columns">4</property>
-                    <property name="column_spacing">12</property>
+                    <property name="can_focus">False</property>
+                    <property name="margin_left">12</property>
                     <property name="row_spacing">6</property>
+                    <property name="column_spacing">12</property>
                     <child>
                       <object class="GtkRadioButton" id="price_radio">
                         <property name="label" translatable="yes">Exchange Rate:</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="active">True</property>
                         <property name="draw_indicator">True</property>
                       </object>
                       <packing>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="price_hbox">
+                      <object class="GtkBox" id="price_hbox">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <child>
                           <placeholder/>
                         </child>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="conv_forward">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
+                        <property name="can_focus">False</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
                         <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
@@ -519,98 +553,54 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="halign">start</property>
                         <property name="use_underline">True</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">price_radio</property>
-                        <signal name="toggled" handler="price_amount_radio_toggled_cb"/>
+                        <signal name="toggled" handler="price_amount_radio_toggled_cb" swapped="no"/>
                       </object>
                       <packing>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="right_amount_hbox">
+                      <object class="GtkBox" id="right_amount_hbox">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <child>
                           <placeholder/>
                         </child>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="conv_reverse">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
+                        <property name="can_focus">False</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
                         <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkButton" id="fetch">
+                        <property name="label" translatable="yes">_Fetch Rate</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="can_default">True</property>
                         <property name="receives_default">False</property>
-                        <signal name="clicked" handler="gnc_xfer_dialog_fetch"/>
-                        <child>
-                          <object class="GtkAlignment" id="alignment1">
-                            <property name="visible">True</property>
-                            <property name="xscale">0</property>
-                            <property name="yscale">0</property>
-                            <child>
-                              <object class="GtkHBox" id="hbox2">
-                                <property name="visible">True</property>
-                                <property name="spacing">2</property>
-                                <child>
-                                  <object class="GtkImage" id="image1">
-                                    <property name="visible">True</property>
-                                    <property name="stock">gtk-connect</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkLabel" id="label13">
-                                    <property name="visible">True</property>
-                                    <property name="label" translatable="yes">_Fetch Rate</property>
-                                    <property name="use_underline">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                              </object>
-                            </child>
-                          </object>
-                        </child>
+                        <property name="use_underline">True</property>
+                        <signal name="clicked" handler="gnc_xfer_dialog_fetch" swapped="no"/>
                       </object>
                       <packing>
                         <property name="left_attach">3</property>
-                        <property name="right_attach">4</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
+                        <property name="top_attach">0</property>
                       </packing>
                     </child>
                     <child>
@@ -618,64 +608,22 @@
                     </child>
                   </object>
                   <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
               </object>
               <packing>
                 <property name="expand">False</property>
+                <property name="fill">True</property>
                 <property name="position">2</property>
               </packing>
             </child>
           </object>
           <packing>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="hbbox">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="button">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="button1">
-                <property name="label">gtk-ok</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="has_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
             <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
           </packing>
         </child>
       </object>

commit 84e3b303f4291b956a79879407e11401e9f4c1e0
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 18 15:12:11 2017 +0100

    Fix ups for dialog-commodity

diff --git a/src/gnome-utils/dialog-commodity.c b/src/gnome-utils/dialog-commodity.c
index 4fd30bf..5d9a400 100644
--- a/src/gnome-utils/dialog-commodity.c
+++ b/src/gnome-utils/dialog-commodity.c
@@ -992,10 +992,12 @@ gnc_ui_build_commodity_dialog(const char * selected_namespace,
     retval->table = GTK_WIDGET(gtk_builder_get_object (builder, "edit_table"));
     sec_label = GTK_WIDGET(gtk_builder_get_object (builder, "security_label"));
     gtk_container_child_get(GTK_CONTAINER(retval->table), sec_label,
-                            "bottom-attach", &retval->comm_section_top, NULL);
+                            "top-attach", &retval->comm_section_top, NULL);
+
     widget = GTK_WIDGET(gtk_builder_get_object (builder, "quote_label"));
     gtk_container_child_get(GTK_CONTAINER(retval->table), widget,
                             "top-attach", &retval->comm_section_bottom, NULL);
+
     gtk_container_child_get(GTK_CONTAINER(retval->table),
                             retval->user_symbol_entry, "top-attach",
                             &retval->comm_symbol_line, NULL);
@@ -1029,12 +1031,11 @@ gnc_ui_build_commodity_dialog(const char * selected_namespace,
     }
     else
     {
-        guint row;
+        gtk_grid_set_row_spacing(GTK_GRID(retval->table), 0);
 
         widget = GTK_WIDGET(gtk_builder_get_object (builder, "unknown_source_alignment"));
-        gtk_container_child_get(GTK_CONTAINER(retval->table), widget,
-                                "top-attach", &row, NULL);
         gtk_widget_destroy(widget);
+
         widget = GTK_WIDGET(gtk_builder_get_object (builder, "unknown_source_box"));
         gtk_widget_destroy(widget);
     }
@@ -1072,10 +1073,12 @@ gnc_ui_build_commodity_dialog(const char * selected_namespace,
         /* Determine the price quote of the dialog */
         widget = GTK_WIDGET(gtk_builder_get_object (builder, "fq_warning_alignment"));
         gtk_container_child_get(GTK_CONTAINER(retval->table), widget,
-                                "bottom-attach", &retval->fq_section_top, NULL);
-        widget = GTK_WIDGET(gtk_builder_get_object (builder, "quote_tz_alignment"));
+                                "top-attach", &retval->fq_section_top, NULL);
+
+        widget = GTK_WIDGET(gtk_builder_get_object (builder, "bottom_alignment"));
         gtk_container_child_get(GTK_CONTAINER(retval->table), widget,
-                                "bottom-attach", &retval->fq_section_bottom, NULL);
+                                "top-attach", &retval->fq_section_bottom, NULL);
+
         gnc_ui_update_fq_info (retval);
     }
 
diff --git a/src/gnome-utils/gtkbuilder/dialog-commodity.glade b/src/gnome-utils/gtkbuilder/dialog-commodity.glade
index 9cd4939..f5c12f8 100644
--- a/src/gnome-utils/gtkbuilder/dialog-commodity.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-commodity.glade
@@ -659,6 +659,22 @@
               </packing>
             </child>
             <child>
+              <object class="GtkAlignment" id="bottom_alignment">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">16</property>
+              </packing>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
               <placeholder/>
             </child>
             <child>

commit 4a81e94b6668021f22c81d281504bba4cfded2d4
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 18 13:14:18 2017 +0100

    Files linked to dialog-tax-table.glade

diff --git a/src/gnome-utils/dialog-tax-table.c b/src/gnome-utils/dialog-tax-table.c
index eac19e7..15de019 100644
--- a/src/gnome-utils/dialog-tax-table.c
+++ b/src/gnome-utils/dialog-tax-table.c
@@ -230,9 +230,9 @@ new_tax_table_dialog (TaxTableWindow *ttw, gboolean new_table,
     /* Open and read the Glade File */
     builder = gtk_builder_new();
     gnc_builder_add_from_file (builder, "dialog-tax-table.glade", "type_liststore");
-    gnc_builder_add_from_file (builder, "dialog-tax-table.glade", "New Tax Table Dialog");
+    gnc_builder_add_from_file (builder, "dialog-tax-table.glade", "new_tax_table_dialog");
 
-    ntt->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "New Tax Table Dialog"));
+    ntt->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "new_tax_table_dialog"));
     ntt->name_entry = GTK_WIDGET(gtk_builder_get_object (builder, "name_entry"));
     if (name)
         gtk_entry_set_text (GTK_ENTRY (ntt->name_entry), name);
@@ -291,9 +291,6 @@ new_tax_table_dialog (TaxTableWindow *ttw, gboolean new_table,
         gtk_widget_hide (ntt->name_entry);
         /* Tables are great for layout, but a pain when you hide widgets */
         widget = GTK_WIDGET(gtk_builder_get_object (builder, "ttd_table"));
-        gtk_table_set_row_spacing (GTK_TABLE(widget), 0, 0);
-        gtk_table_set_row_spacing (GTK_TABLE(widget), 1, 0);
-        gtk_table_set_row_spacing (GTK_TABLE(widget), 2, 0);
         gtk_widget_grab_focus (gnc_amount_edit_gtk_entry
                                (GNC_AMOUNT_EDIT (ntt->amount_entry)));
     }
@@ -710,8 +707,8 @@ gnc_ui_tax_table_window_new (QofBook *book)
 
     /* Open and read the Glade File */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-tax-table.glade", "Tax Table Window");
-    ttw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Tax Table Window"));
+    gnc_builder_add_from_file (builder, "dialog-tax-table.glade", "tax_table_window_dialog");
+    ttw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "tax_table_window_dialog"));
     ttw->names_view = GTK_WIDGET(gtk_builder_get_object (builder, "tax_tables_view"));
     ttw->entries_view = GTK_WIDGET(gtk_builder_get_object (builder, "tax_table_entries"));
 
diff --git a/src/gnome-utils/gtkbuilder/dialog-tax-table.glade b/src/gnome-utils/gtkbuilder/dialog-tax-table.glade
index 6677ac2..077ea18 100644
--- a/src/gnome-utils/gtkbuilder/dialog-tax-table.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-tax-table.glade
@@ -1,325 +1,32 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkDialog" id="New Tax Table Dialog">
-    <property name="can_focus">False</property>
-    <property name="border_width">6</property>
-    <property name="modal">True</property>
-    <property name="default_height">370</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox6">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="spacing">8</property>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area6">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="cancel_button">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="ok_button">
-                <property name="label">gtk-ok</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="has_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkTable" id="ttd_table">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="n_rows">7</property>
-            <property name="n_columns">2</property>
-            <property name="column_spacing">12</property>
-            <property name="row_spacing">6</property>
-            <child>
-              <object class="GtkEntry" id="name_entry">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="invisible_char">&#x25CF;</property>
-                <property name="activates_default">True</property>
-                <property name="invisible_char_set">True</property>
-                <property name="primary_icon_activatable">False</property>
-                <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="spacer">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-              </object>
-              <packing>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label11">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes"><b>Tax Table Entry</b></property>
-                <property name="use_markup">True</property>
-              </object>
-              <packing>
-                <property name="right_attach">2</property>
-                <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="table_title">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes"><b>Tax Table</b></property>
-                <property name="use_markup">True</property>
-              </object>
-              <packing>
-                <property name="right_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkAlignment" id="alignment4">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="left_padding">12</property>
-                <child>
-                  <object class="GtkLabel" id="account_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="yalign">0</property>
-                    <property name="label" translatable="yes">_Account:</property>
-                    <property name="use_underline">True</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="top_attach">6</property>
-                <property name="bottom_attach">7</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkAlignment" id="alignment3">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="left_padding">12</property>
-                <child>
-                  <object class="GtkLabel" id="value_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">_Value: </property>
-                    <property name="use_underline">True</property>
-                    <property name="justify">right</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkAlignment" id="alignment2">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="left_padding">12</property>
-                <child>
-                  <object class="GtkLabel" id="label6">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">_Type: </property>
-                    <property name="use_underline">True</property>
-                    <property name="justify">right</property>
-                    <property name="mnemonic_widget">type_combobox</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkScrolledWindow" id="acct_window">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="hscrollbar_policy">never</property>
-                <property name="vscrollbar_policy">automatic</property>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">6</property>
-                <property name="bottom_attach">7</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkHBox" id="amount_box">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="y_options">GTK_FILL</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkAlignment" id="alignment1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="left_padding">12</property>
-                <child>
-                  <object class="GtkLabel" id="table_name">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">_Name: </property>
-                    <property name="use_underline">True</property>
-                    <property name="justify">right</property>
-                    <property name="mnemonic_widget">name_entry</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkComboBox" id="type_combobox">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="model">type_liststore</property>
-                <child>
-                  <object class="GtkCellRendererText" id="cellrenderertext1"/>
-                  <attributes>
-                    <attribute name="text">0</attribute>
-                  </attributes>
-                </child>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
-              </packing>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">2</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="-6">cancel_button</action-widget>
-      <action-widget response="-5">ok_button</action-widget>
-    </action-widgets>
-  </object>
-  <object class="GtkDialog" id="Tax Table Window">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="tax_table_window_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Tax Tables</property>
     <property name="type_hint">normal</property>
     <signal name="destroy" handler="tax_table_window_destroy_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox4">
+      <object class="GtkBox" id="dialog-vbox4">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">8</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area4">
+          <object class="GtkButtonBox" id="dialog-action_area4">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="close_button">
-                <property name="label">gtk-close</property>
+                <property name="label" translatable="yes">_Close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="tax_table_window_close" swapped="no"/>
               </object>
               <packing>
@@ -337,21 +44,22 @@
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox4">
+          <object class="GtkBox" id="hbox4">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="spacing">12</property>
             <child>
-              <object class="GtkVBox" id="vbox1">
+              <object class="GtkBox" id="vbox1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">6</property>
+                <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
                 <child>
                   <object class="GtkLabel" id="label1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Tax Tables</b></property>
                     <property name="use_markup">True</property>
                   </object>
@@ -370,8 +78,6 @@
                       <object class="GtkScrolledWindow" id="scrolledwindow1">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="hscrollbar_policy">automatic</property>
-                        <property name="vscrollbar_policy">automatic</property>
                         <property name="shadow_type">in</property>
                         <child>
                           <object class="GtkTreeView" id="tax_tables_view">
@@ -379,6 +85,9 @@
                             <property name="can_focus">True</property>
                             <property name="headers_visible">False</property>
                             <property name="rules_hint">True</property>
+                            <child internal-child="selection">
+                              <object class="GtkTreeSelection" id="treeview-selection1"/>
+                            </child>
                           </object>
                         </child>
                       </object>
@@ -396,19 +105,18 @@
                     <property name="can_focus">False</property>
                     <property name="left_padding">12</property>
                     <child>
-                      <object class="GtkHButtonBox" id="hbox2">
+                      <object class="GtkButtonBox" id="hbox2">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="spacing">6</property>
                         <property name="layout_style">spread</property>
                         <child>
                           <object class="GtkButton" id="delete_table_button">
-                            <property name="label">gtk-delete</property>
+                            <property name="label" translatable="yes">_Delete</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_stock">True</property>
+                            <property name="use_underline">True</property>
                             <signal name="clicked" handler="tax_table_delete_table_cb" swapped="no"/>
                           </object>
                           <packing>
@@ -419,12 +127,11 @@
                         </child>
                         <child>
                           <object class="GtkButton" id="new_table_button">
-                            <property name="label">gtk-new</property>
+                            <property name="label" translatable="yes">_New</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_stock">True</property>
+                            <property name="use_underline">True</property>
                             <signal name="clicked" handler="tax_table_new_table_cb" swapped="no"/>
                           </object>
                           <packing>
@@ -450,16 +157,17 @@
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="vbox2">
+              <object class="GtkBox" id="vbox2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">6</property>
+                <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
                 <child>
                   <object class="GtkLabel" id="label2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Tax Table Entries</b></property>
                     <property name="use_markup">True</property>
                   </object>
@@ -478,8 +186,6 @@
                       <object class="GtkScrolledWindow" id="scrolledwindow2">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="hscrollbar_policy">automatic</property>
-                        <property name="vscrollbar_policy">automatic</property>
                         <property name="shadow_type">in</property>
                         <child>
                           <object class="GtkTreeView" id="tax_table_entries">
@@ -487,6 +193,9 @@
                             <property name="can_focus">True</property>
                             <property name="headers_visible">False</property>
                             <property name="rules_hint">True</property>
+                            <child internal-child="selection">
+                              <object class="GtkTreeSelection" id="treeview-selection2"/>
+                            </child>
                           </object>
                         </child>
                       </object>
@@ -504,19 +213,18 @@
                     <property name="can_focus">False</property>
                     <property name="left_padding">12</property>
                     <child>
-                      <object class="GtkHButtonBox" id="hbox3">
+                      <object class="GtkButtonBox" id="hbox3">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="spacing">6</property>
                         <property name="layout_style">spread</property>
                         <child>
                           <object class="GtkButton" id="edit_entry_button">
-                            <property name="label">_Edit</property>
+                            <property name="label" translatable="yes">_Edit</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_stock">True</property>
+                            <property name="use_underline">True</property>
                             <signal name="clicked" handler="tax_table_edit_entry_cb" swapped="no"/>
                           </object>
                           <packing>
@@ -527,12 +235,11 @@
                         </child>
                         <child>
                           <object class="GtkButton" id="delete_entry_button">
-                            <property name="label">gtk-delete</property>
+                            <property name="label" translatable="yes">De_lete</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_stock">True</property>
+                            <property name="use_underline">True</property>
                             <signal name="clicked" handler="tax_table_delete_entry_cb" swapped="no"/>
                           </object>
                           <packing>
@@ -543,12 +250,11 @@
                         </child>
                         <child>
                           <object class="GtkButton" id="new_entry_button">
-                            <property name="label">gtk-new</property>
+                            <property name="label" translatable="yes">Ne_w</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_stock">True</property>
+                            <property name="use_underline">True</property>
                             <signal name="clicked" handler="tax_table_new_entry_cb" swapped="no"/>
                           </object>
                           <packing>
@@ -600,4 +306,267 @@
       </row>
     </data>
   </object>
+  <object class="GtkDialog" id="new_tax_table_dialog">
+    <property name="can_focus">False</property>
+    <property name="border_width">6</property>
+    <property name="modal">True</property>
+    <property name="default_height">370</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox6">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">8</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area6">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="cancel_button">
+                <property name="label" translatable="yes">_Cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="ok_button">
+                <property name="label" translatable="yes">_OK</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkGrid" id="ttd_table">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="row_spacing">6</property>
+            <property name="column_spacing">12</property>
+            <child>
+              <object class="GtkEntry" id="name_entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="invisible_char">●</property>
+                <property name="activates_default">True</property>
+                <property name="primary_icon_activatable">False</property>
+                <property name="secondary_icon_activatable">False</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="spacer">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label11">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="label" translatable="yes"><b>Tax Table Entry</b></property>
+                <property name="use_markup">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">3</property>
+                <property name="width">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="table_title">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="label" translatable="yes"><b>Tax Table</b></property>
+                <property name="use_markup">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="alignment4">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkLabel" id="account_label">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
+                    <property name="valign">start</property>
+                    <property name="label" translatable="yes">_Account:</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">6</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="alignment3">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkLabel" id="value_label">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
+                    <property name="label" translatable="yes">_Value: </property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">right</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">5</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="alignment2">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkLabel" id="label6">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
+                    <property name="label" translatable="yes">_Type: </property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">right</property>
+                    <property name="mnemonic_widget">type_combobox</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">4</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkScrolledWindow" id="acct_window">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="hexpand">True</property>
+                <property name="vexpand">True</property>
+                <property name="hscrollbar_policy">never</property>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">6</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkBox" id="amount_box">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">5</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="alignment1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkLabel" id="table_name">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
+                    <property name="label" translatable="yes">_Name: </property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">right</property>
+                    <property name="mnemonic_widget">name_entry</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkComboBox" id="type_combobox">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="model">type_liststore</property>
+                <child>
+                  <object class="GtkCellRendererText" id="cellrenderertext1"/>
+                  <attributes>
+                    <attribute name="text">0</attribute>
+                  </attributes>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">4</property>
+              </packing>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-6">cancel_button</action-widget>
+      <action-widget response="-5">ok_button</action-widget>
+    </action-widgets>
+  </object>
 </interface>

commit 85ceb3b98938d29a49c46983ec0451c736b6bd27
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 18 12:34:12 2017 +0100

    Files linked to dialog-query-view.glade

diff --git a/src/gnome-utils/dialog-query-view.c b/src/gnome-utils/dialog-query-view.c
index 5a345f7..85e0e9e 100644
--- a/src/gnome-utils/dialog-query-view.c
+++ b/src/gnome-utils/dialog-query-view.c
@@ -186,10 +186,10 @@ gnc_dialog_query_view_new (GList *param_list, Query *q)
 
     dqv = g_new0 (DialogQueryView, 1);
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-query-view.glade", "Query View Dialog");
+    gnc_builder_add_from_file (builder, "dialog-query-view.glade", "query_view_dialog");
 
     /* Grab the dialog, save the dialog info */
-    dqv->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Query View Dialog"));
+    dqv->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "query_view_dialog"));
     g_object_set_data (G_OBJECT (dqv->dialog), "dialog-info", dqv);
 
     /* grab the widgets */
diff --git a/src/gnome-utils/gtkbuilder/dialog-query-view.glade b/src/gnome-utils/gtkbuilder/dialog-query-view.glade
index 75acb57..92b812f 100644
--- a/src/gnome-utils/gtkbuilder/dialog-query-view.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-query-view.glade
@@ -1,7 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <object class="GtkDialog" id="Query View Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="query_view_dialog">
     <property name="can_focus">False</property>
     <property name="default_width">500</property>
     <property name="default_height">300</property>
@@ -18,14 +19,12 @@
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="close_button">
-                <property name="label">gtk-close</property>
-                <property name="use_action_appearance">False</property>
+                <property name="label" translatable="yes">_Close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -42,9 +41,10 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox1">
+          <object class="GtkBox" id="vbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
               <object class="GtkLabel" id="dialog_label">
                 <property name="visible">True</property>
@@ -60,15 +60,12 @@
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="result_hbox">
+              <object class="GtkBox" id="result_hbox">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
                   <placeholder/>
                 </child>
-                <child>
-                  <placeholder/>
-                </child>
               </object>
               <packing>
                 <property name="expand">True</property>

commit 36a65d3375e2b72b75c02d4a3209b7735a258079
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 18 12:30:04 2017 +0100

    Files linked to dialog-reset-warnings.glade

diff --git a/src/gnome-utils/dialog-reset-warnings.c b/src/gnome-utils/dialog-reset-warnings.c
index eb45d28..b9a9e14 100644
--- a/src/gnome-utils/dialog-reset-warnings.c
+++ b/src/gnome-utils/dialog-reset-warnings.c
@@ -378,8 +378,8 @@ gnc_reset_warnings_dialog (GtkWindow *parent)
 
     DEBUG("Opening dialog-reset-warnings.glade:");
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-reset-warnings.glade", "Reset Warnings");
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Reset Warnings"));
+    gnc_builder_add_from_file (builder, "dialog-reset-warnings.glade", "reset_warnings_dialog");
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "reset_warnings_dialog"));
 
     gtk_window_set_transient_for(GTK_WINDOW (dialog), parent);
 
diff --git a/src/gnome-utils/gtkbuilder/dialog-reset-warnings.glade b/src/gnome-utils/gtkbuilder/dialog-reset-warnings.glade
index 842a82c..e565d08 100644
--- a/src/gnome-utils/gtkbuilder/dialog-reset-warnings.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-reset-warnings.glade
@@ -1,8 +1,8 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkDialog" id="Reset Warnings">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="reset_warnings_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
@@ -10,24 +10,24 @@
     <property name="type_hint">normal</property>
     <signal name="response" handler="gnc_reset_warnings_response_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox1">
+      <object class="GtkBox" id="dialog-vbox1">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">12</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area1">
+          <object class="GtkButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancelbutton">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -37,13 +37,12 @@
             </child>
             <child>
               <object class="GtkButton" id="applybutton">
-                <property name="label">gtk-apply</property>
+                <property name="label" translatable="yes">_Apply</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -53,13 +52,12 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -76,9 +74,10 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox1">
+          <object class="GtkBox" id="vbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <property name="spacing">12</property>
             <child>
               <object class="GtkLabel" id="label65">
@@ -94,9 +93,11 @@
               </packing>
             </child>
             <child>
-              <object class="GtkHButtonBox" id="hbuttonbox">
+              <object class="GtkButtonBox" id="hbuttonbox">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="halign">center</property>
+                <property name="spacing">12</property>
                 <property name="layout_style">spread</property>
                 <child>
                   <object class="GtkButton" id="button3">
@@ -105,7 +106,6 @@
                     <property name="can_focus">True</property>
                     <property name="can_default">True</property>
                     <property name="receives_default">True</property>
-                    <property name="use_action_appearance">False</property>
                     <property name="use_underline">True</property>
                     <signal name="clicked" handler="gnc_reset_warnings_select_all_cb" swapped="no"/>
                   </object>
@@ -122,7 +122,6 @@
                     <property name="can_focus">True</property>
                     <property name="can_default">True</property>
                     <property name="receives_default">True</property>
-                    <property name="use_action_appearance">False</property>
                     <property name="use_underline">True</property>
                     <signal name="clicked" handler="gnc_reset_warnings_unselect_all_cb" swapped="no"/>
                   </object>
@@ -153,14 +152,15 @@
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="perm_vbox_and_label">
+              <object class="GtkBox" id="perm_vbox_and_label">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <object class="GtkLabel" id="label64">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">Permanent Warnings</property>
                     <property name="use_markup">True</property>
                   </object>
@@ -171,9 +171,10 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkVBox" id="perm_vbox">
+                  <object class="GtkBox" id="perm_vbox">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <child>
                       <placeholder/>
                     </child>
@@ -192,14 +193,15 @@
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="temp_vbox_and_label">
+              <object class="GtkBox" id="temp_vbox_and_label">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <object class="GtkLabel" id="label63">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">Temporary Warnings</property>
                     <property name="use_markup">True</property>
                   </object>
@@ -210,9 +212,10 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkVBox" id="temp_vbox">
+                  <object class="GtkBox" id="temp_vbox">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <child>
                       <placeholder/>
                     </child>

commit eb860343bdc2ac17c2a7bf5e9f9e887a72d6085c
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 18 12:29:30 2017 +0100

    Change file dialog-totd.glade

diff --git a/src/gnome-utils/gtkbuilder/dialog-totd.glade b/src/gnome-utils/gtkbuilder/dialog-totd.glade
index a5711ff..09aa5b6 100644
--- a/src/gnome-utils/gtkbuilder/dialog-totd.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-totd.glade
@@ -1,7 +1,7 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
+  <requires lib="gtk+" version="3.10"/>
   <object class="GtkDialog" id="totd_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
@@ -12,24 +12,24 @@
     <property name="type_hint">dialog</property>
     <signal name="response" handler="gnc_totd_dialog_response_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox3">
+      <object class="GtkBox" id="dialog-vbox3">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">6</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area3">
+          <object class="GtkButtonBox" id="dialog-action_area3">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="back-button">
-                <property name="label">gtk-go-back</property>
+                <property name="label" translatable="yes">_Back</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -39,13 +39,12 @@
             </child>
             <child>
               <object class="GtkButton" id="forward-button">
-                <property name="label">gtk-go-forward</property>
+                <property name="label" translatable="yes">_Forward</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -55,12 +54,11 @@
             </child>
             <child>
               <object class="GtkButton" id="cancel-button">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -70,13 +68,12 @@
             </child>
             <child>
               <object class="GtkButton" id="close-button">
-                <property name="label">gtk-close</property>
+                <property name="label" translatable="yes">_Close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -93,21 +90,23 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="totd_vbox">
+          <object class="GtkBox" id="totd_vbox">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="border_width">12</property>
+            <property name="orientation">vertical</property>
             <property name="spacing">18</property>
             <child>
-              <object class="GtkVBox" id="vbox2">
+              <object class="GtkBox" id="vbox2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
                 <child>
                   <object class="GtkLabel" id="label3">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes"><b>Tip of the Day:</b></property>
                     <property name="use_markup">True</property>
                     <property name="use_underline">True</property>
@@ -119,7 +118,7 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="hbox3">
+                  <object class="GtkBox" id="hbox3">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
@@ -171,7 +170,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
+                <property name="halign">start</property>
                 <property name="use_underline">True</property>
                 <property name="draw_indicator">True</property>
                 <signal name="toggled" handler="gnc_totd_dialog_startup_toggled_cb" swapped="no"/>

commit cb9d24bd010bf96d5ae1d87c16ca61239c19a881
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 18 11:58:56 2017 +0100

    Files linked to dialog-object-references.glade

diff --git a/src/gnome-utils/dialog-object-references.c b/src/gnome-utils/dialog-object-references.c
index edbfc3d..853384a 100644
--- a/src/gnome-utils/dialog-object-references.c
+++ b/src/gnome-utils/dialog-object-references.c
@@ -51,8 +51,8 @@ gnc_ui_object_references_show( const gchar* explanation_text, GList* objlist )
 
     /* Open the dialog */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-object-references.glade", "Object references" );
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Object references" ));
+    gnc_builder_add_from_file (builder, "dialog-object-references.glade", "object_references_dialog" );
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "object_references_dialog" ));
 
     explanation = GTK_LABEL(gtk_builder_get_object (builder, "lbl_explanation" ));
     gtk_label_set_text( explanation, explanation_text );
diff --git a/src/gnome-utils/gtkbuilder/dialog-object-references.glade b/src/gnome-utils/gtkbuilder/dialog-object-references.glade
index 5f6d9f4..e2879f9 100644
--- a/src/gnome-utils/gtkbuilder/dialog-object-references.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-object-references.glade
@@ -1,30 +1,30 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkDialog" id="Object references">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="object_references_dialog">
     <property name="can_focus">False</property>
     <property name="border_width">5</property>
     <property name="title" translatable="yes">Object references</property>
     <property name="type_hint">normal</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox1">
+      <object class="GtkBox" id="dialog-vbox1">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">2</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area1">
+          <object class="GtkButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="okbutton">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -41,9 +41,10 @@
           </packing>
         </child>
         <child>
-          <object class="GtkVBox" id="vbox1">
+          <object class="GtkBox" id="vbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
             <child>
               <object class="GtkLabel" id="lbl_explanation">
                 <property name="visible">True</property>
@@ -57,7 +58,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="hbox_list">
+              <object class="GtkBox" id="hbox_list">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>

commit fb2c5073ee29bf68acc424ca231ee76bf6c4dd00
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 18 11:58:31 2017 +0100

    Files linked to dialog-file-access.glade

diff --git a/src/gnome-utils/dialog-file-access.c b/src/gnome-utils/dialog-file-access.c
index f79fd28..f5d891c 100644
--- a/src/gnome-utils/dialog-file-access.c
+++ b/src/gnome-utils/dialog-file-access.c
@@ -273,10 +273,9 @@ gnc_ui_file_access( int type )
 
     /* Open the dialog */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-file-access.glade", "File Access" );
-    faw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "File Access" ));
-    g_object_set_data_full( G_OBJECT(faw->dialog), "FileAccessWindow", faw,
-                            g_free );
+    gnc_builder_add_from_file (builder, "dialog-file-access.glade", "file_access_dialog" );
+    faw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "file_access_dialog" ));
+    g_object_set_data_full( G_OBJECT(faw->dialog), "FileAccessWindow", faw, g_free );
 
     faw->frame_file = GTK_WIDGET(gtk_builder_get_object (builder, "frame_file" ));
     faw->frame_database = GTK_WIDGET(gtk_builder_get_object (builder, "frame_database" ));
@@ -293,14 +292,14 @@ gnc_ui_file_access( int type )
     {
     case FILE_ACCESS_OPEN:
         gtk_window_set_title(GTK_WINDOW(faw->dialog), _("Open..."));
-        button_label = "gtk-open";
+        button_label = _("_Open");
         fileChooserAction = GTK_FILE_CHOOSER_ACTION_OPEN;
         settings_section = GNC_PREFS_GROUP_OPEN_SAVE;
         break;
 
     case FILE_ACCESS_SAVE_AS:
         gtk_window_set_title(GTK_WINDOW(faw->dialog), _("Save As..."));
-        button_label = "gtk-save-as";
+        button_label = _("_Save As");
         fileChooserAction = GTK_FILE_CHOOSER_ACTION_SAVE;
         settings_section = GNC_PREFS_GROUP_OPEN_SAVE;
         gtk_widget_destroy(faw->readonly_checkbutton);
@@ -309,7 +308,7 @@ gnc_ui_file_access( int type )
 
     case FILE_ACCESS_EXPORT:
         gtk_window_set_title(GTK_WINDOW(faw->dialog), _("Export"));
-        button_label = "gtk-save-as";
+        button_label = _("_Save As");
         fileChooserAction = GTK_FILE_CHOOSER_ACTION_SAVE;
         settings_section = GNC_PREFS_GROUP_EXPORT;
         gtk_widget_destroy(faw->readonly_checkbutton);
diff --git a/src/gnome-utils/gtkbuilder/dialog-file-access.glade b/src/gnome-utils/gtkbuilder/dialog-file-access.glade
index 6f1e573..07afc87 100644
--- a/src/gnome-utils/gtkbuilder/dialog-file-access.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-file-access.glade
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkDialog" id="File Access">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="file_access_dialog">
     <property name="can_focus">False</property>
     <property name="border_width">5</property>
     <property name="window_position">center-on-parent</property>
@@ -11,23 +11,23 @@
     <property name="type_hint">dialog</property>
     <signal name="response" handler="gnc_ui_file_access_response_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox1">
+      <object class="GtkBox" id="dialog-vbox1">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">5</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area1">
+          <object class="GtkButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancel_button">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -37,14 +37,13 @@
             </child>
             <child>
               <object class="GtkButton" id="pb_op">
-                <property name="label">gtk-save-as</property>
+                <property name="label" translatable="yes">_Save As</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -61,7 +60,7 @@
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox1">
+          <object class="GtkBox" id="hbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="spacing">3</property>
@@ -69,7 +68,6 @@
               <object class="GtkLabel" id="uri_type_label">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
                 <property name="label" translatable="yes"><b>Data Format:</b></property>
                 <property name="use_markup">True</property>
               </object>
@@ -80,9 +78,10 @@
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="vb_uri_type_container">
+              <object class="GtkBox" id="vb_uri_type_container">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <placeholder/>
                 </child>
@@ -99,9 +98,8 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
+                <property name="halign">start</property>
                 <property name="use_underline">True</property>
-                <property name="xalign">0</property>
                 <property name="draw_indicator">True</property>
               </object>
               <packing>
@@ -124,10 +122,11 @@
             <property name="label_xalign">0</property>
             <property name="shadow_type">in</property>
             <child>
-              <object class="GtkVBox" id="file_chooser">
+              <object class="GtkBox" id="file_chooser">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">6</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <placeholder/>
                 </child>
@@ -155,20 +154,20 @@
             <property name="label_xalign">0</property>
             <property name="shadow_type">in</property>
             <child>
-              <object class="GtkHBox" id="hbox2">
+              <object class="GtkBox" id="hbox2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">6</property>
                 <property name="spacing">3</property>
                 <child>
-                  <object class="GtkVBox" id="vbox3">
+                  <object class="GtkBox" id="vbox3">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkLabel" id="label2">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
                         <property name="label" translatable="yes">Host</property>
                         <property name="justify">right</property>
                       </object>
@@ -182,7 +181,6 @@
                       <object class="GtkLabel" id="label3">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
                         <property name="label" translatable="yes">Database</property>
                         <property name="justify">right</property>
                       </object>
@@ -196,7 +194,6 @@
                       <object class="GtkLabel" id="label4">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
                         <property name="label" translatable="yes">Username</property>
                         <property name="justify">right</property>
                       </object>
@@ -210,7 +207,6 @@
                       <object class="GtkLabel" id="label6">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">1</property>
                         <property name="label" translatable="yes">Password</property>
                         <property name="justify">right</property>
                       </object>
@@ -228,20 +224,18 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkVBox" id="vbox4">
+                  <object class="GtkBox" id="vbox4">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkEntry" id="tf_host">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="invisible_char">&#x25CF;</property>
+                        <property name="invisible_char">●</property>
                         <property name="activates_default">True</property>
-                        <property name="invisible_char_set">True</property>
                         <property name="primary_icon_activatable">False</property>
                         <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
                       </object>
                       <packing>
                         <property name="expand">True</property>
@@ -253,13 +247,10 @@
                       <object class="GtkEntry" id="tf_database">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="invisible_char">&#x25CF;</property>
+                        <property name="invisible_char">●</property>
                         <property name="activates_default">True</property>
-                        <property name="invisible_char_set">True</property>
                         <property name="primary_icon_activatable">False</property>
                         <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
                       </object>
                       <packing>
                         <property name="expand">True</property>
@@ -271,13 +262,10 @@
                       <object class="GtkEntry" id="tf_username">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="invisible_char">&#x25CF;</property>
+                        <property name="invisible_char">●</property>
                         <property name="activates_default">True</property>
-                        <property name="invisible_char_set">True</property>
                         <property name="primary_icon_activatable">False</property>
                         <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
                       </object>
                       <packing>
                         <property name="expand">True</property>
@@ -290,13 +278,10 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="visibility">False</property>
-                        <property name="invisible_char">&#x25CF;</property>
+                        <property name="invisible_char">●</property>
                         <property name="activates_default">True</property>
-                        <property name="invisible_char_set">True</property>
                         <property name="primary_icon_activatable">False</property>
                         <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
                       </object>
                       <packing>
                         <property name="expand">True</property>

commit 6d68ae0a764750583ed9588bebd4b6c1cf8699cb
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 18 11:58:06 2017 +0100

    Files linked to dialog-commodity.glade

diff --git a/src/gnome-utils/dialog-commodity.c b/src/gnome-utils/dialog-commodity.c
index cc67f7c..4fd30bf 100644
--- a/src/gnome-utils/dialog-commodity.c
+++ b/src/gnome-utils/dialog-commodity.c
@@ -255,11 +255,11 @@ gnc_ui_select_commodity_create(const gnc_commodity * orig_sel,
     builder = gtk_builder_new();
     gnc_builder_add_from_file (builder, "dialog-commodity.glade", "liststore1");
     gnc_builder_add_from_file (builder, "dialog-commodity.glade", "liststore2");
-    gnc_builder_add_from_file (builder, "dialog-commodity.glade", "Security Selector Dialog");
+    gnc_builder_add_from_file (builder, "dialog-commodity.glade", "security_selector_dialog");
 
     gtk_builder_connect_signals_full (builder, gnc_builder_connect_full_func, retval);
 
-    retval->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Security Selector Dialog"));
+    retval->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "security_selector_dialog"));
     retval->namespace_combo = GTK_WIDGET(gtk_builder_get_object (builder, "ss_namespace_cbwe"));
     retval->commodity_combo = GTK_WIDGET(gtk_builder_get_object (builder, "ss_commodity_cbwe"));
     retval->select_user_prompt = GTK_WIDGET(gtk_builder_get_object (builder, "select_user_prompt"));
@@ -961,11 +961,11 @@ gnc_ui_build_commodity_dialog(const char * selected_namespace,
     builder = gtk_builder_new();
     gnc_builder_add_from_file (builder, "dialog-commodity.glade", "liststore2");
     gnc_builder_add_from_file (builder, "dialog-commodity.glade", "adjustment1");
-    gnc_builder_add_from_file (builder, "dialog-commodity.glade", "Security Dialog");
+    gnc_builder_add_from_file (builder, "dialog-commodity.glade", "security_dialog");
 
     gtk_builder_connect_signals_full (builder, gnc_builder_connect_full_func, retval);
 
-    retval->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Security Dialog"));
+    retval->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "security_dialog"));
     if (parent != NULL)
         gtk_window_set_transient_for (GTK_WINDOW (retval->dialog), GTK_WINDOW (parent));
     retval->edit_commodity = NULL;
@@ -1034,7 +1034,6 @@ gnc_ui_build_commodity_dialog(const char * selected_namespace,
         widget = GTK_WIDGET(gtk_builder_get_object (builder, "unknown_source_alignment"));
         gtk_container_child_get(GTK_CONTAINER(retval->table), widget,
                                 "top-attach", &row, NULL);
-        gtk_table_set_row_spacing(GTK_TABLE(retval->table), row, 0);
         gtk_widget_destroy(widget);
         widget = GTK_WIDGET(gtk_builder_get_object (builder, "unknown_source_box"));
         gtk_widget_destroy(widget);
diff --git a/src/gnome-utils/gtkbuilder/dialog-commodity.glade b/src/gnome-utils/gtkbuilder/dialog-commodity.glade
index e72bc06..9cd4939 100644
--- a/src/gnome-utils/gtkbuilder/dialog-commodity.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-commodity.glade
@@ -1,211 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <object class="GtkDialog" id="Security Selector Dialog">
-    <property name="can_focus">False</property>
-    <property name="border_width">6</property>
-    <property name="title" translatable="yes">Select security/currency </property>
-    <property name="resizable">False</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox4">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="spacing">12</property>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area4">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="ss_new_button">
-                <property name="label">gtk-new</property>
-                <property name="use_action_appearance">False</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="ss_cancel_button">
-                <property name="label">gtk-cancel</property>
-                <property name="use_action_appearance">False</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="has_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="ss_ok_button">
-                <property name="label">gtk-ok</property>
-                <property name="use_action_appearance">False</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">2</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkTable" id="select_table">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="n_rows">3</property>
-            <property name="n_columns">3</property>
-            <property name="column_spacing">12</property>
-            <property name="row_spacing">6</property>
-            <child>
-              <object class="GtkLabel" id="select_user_prompt">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Select user information here...</property>
-                <property name="justify">center</property>
-              </object>
-              <packing>
-                <property name="right_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"/>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkAlignment" id="alignment1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="left_padding">12</property>
-                <child>
-                  <object class="GtkLabel" id="label807">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">_Type:</property>
-                    <property name="use_underline">True</property>
-                    <property name="justify">center</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkAlignment" id="alignment2">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="left_padding">12</property>
-                <child>
-                  <object class="GtkLabel" id="item_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label">_Security/currency:</property>
-                    <property name="use_underline">True</property>
-                    <property name="justify">center</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkComboBox" id="ss_namespace_cbwe">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="model">liststore2</property>
-                <property name="has_entry">True</property>
-                <property name="entry_text_column">0</property>
-                <signal name="changed" handler="gnc_ui_select_commodity_namespace_changed_cb" swapped="no"/>
-                <child internal-child="entry">
-                  <object class="GtkEntry" id="combobox-entry">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">3</property>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="y_options">GTK_FILL</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkComboBox" id="ss_commodity_cbwe">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="model">liststore1</property>
-                <property name="has_entry">True</property>
-                <property name="entry_text_column">0</property>
-                <signal name="changed" handler="gnc_ui_select_commodity_changed_cb" swapped="no"/>
-                <child internal-child="entry">
-                  <object class="GtkEntry" id="combobox-entry1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">3</property>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="y_options">GTK_FILL</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="1">ss_new_button</action-widget>
-      <action-widget response="-6">ss_cancel_button</action-widget>
-      <action-widget response="-5">ss_ok_button</action-widget>
-    </action-widgets>
-  </object>
+  <requires lib="gtk+" version="3.10"/>
   <object class="GtkAdjustment" id="adjustment1">
     <property name="lower">1</property>
     <property name="upper">100000000</property>
@@ -213,33 +9,54 @@
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
   </object>
-  <object class="GtkDialog" id="Security Dialog">
+  <object class="GtkListStore" id="liststore1">
+    <columns>
+      <!-- column-name item -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Dummy commodity Line</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="liststore2">
+    <columns>
+      <!-- column-name item -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Dummy namespace Line</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkDialog" id="security_dialog">
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
     <property name="title">New Security</property>
     <property name="modal">True</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox6">
+      <object class="GtkBox" id="dialog-vbox6">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">12</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area6">
+          <object class="GtkButtonBox" id="dialog-action_area6">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancel_button">
-                <property name="label">gtk-cancel</property>
-                <property name="use_action_appearance">False</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -249,15 +66,13 @@
             </child>
             <child>
               <object class="GtkButton" id="ok_button">
-                <property name="label">gtk-ok</property>
-                <property name="use_action_appearance">False</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -267,14 +82,12 @@
             </child>
             <child>
               <object class="GtkButton" id="help_button">
-                <property name="label">gtk-help</property>
-                <property name="use_action_appearance">False</property>
+                <property name="label" translatable="yes">_Help</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -291,75 +104,19 @@
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="edit_table">
+          <object class="GtkGrid" id="edit_table">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="n_rows">16</property>
-            <property name="n_columns">3</property>
-            <property name="column_spacing">12</property>
             <property name="row_spacing">6</property>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
+            <property name="column_spacing">12</property>
             <child>
               <object class="GtkLabel" id="label828">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">7</property>
-                <property name="bottom_attach">8</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"/>
               </packing>
             </child>
             <child>
@@ -371,17 +128,13 @@
                 <property name="tooltip_text" translatable="yes">Enter the full name of the commodity. Example: Cisco Systems Inc., or Apple Computer, Inc.</property>
                 <property name="invisible_char">●</property>
                 <property name="activates_default">True</property>
-                <property name="invisible_char_set">True</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
                 <signal name="changed" handler="gnc_ui_commodity_changed_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="y_options"/>
               </packing>
             </child>
             <child>
@@ -393,17 +146,13 @@
                 <property name="tooltip_text" translatable="yes">Enter the ticker symbol for the commodity (e.g. CSCO or AAPL). If you are retrieving quotes online, this field must exactly match the ticker symbol used by the quote source (including case). </property>
                 <property name="invisible_char">●</property>
                 <property name="activates_default">True</property>
-                <property name="invisible_char_set">True</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
                 <signal name="changed" handler="gnc_ui_commodity_changed_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="y_options"/>
               </packing>
             </child>
             <child>
@@ -415,20 +164,16 @@
                 <property name="tooltip_text" translatable="yes">Enter a unique code used to identify the commodity. Or, you may safely leave this field blank.</property>
                 <property name="invisible_char">●</property>
                 <property name="activates_default">True</property>
-                <property name="invisible_char_set">True</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="y_options"/>
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="hbox64">
+              <object class="GtkBox" id="hbox64">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
@@ -453,7 +198,6 @@
                     <property name="tooltip_markup">Enter the smallest fraction of the commodity which can be traded. For stocks which can only be traded in whole numbers, enter 1.</property>
                     <property name="tooltip_text" translatable="yes">Enter the smallest fraction of the commodity which can be traded. For stocks which can only be traded in whole numbers, enter 1.</property>
                     <property name="invisible_char">●</property>
-                    <property name="invisible_char_set">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
                     <property name="adjustment">adjustment1</property>
@@ -468,45 +212,37 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">6</property>
-                <property name="bottom_attach">7</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="quote_label">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes"><b>Quote Source Information</b></property>
                 <property name="use_markup">True</property>
               </object>
               <packing>
-                <property name="right_attach">2</property>
+                <property name="left_attach">0</property>
                 <property name="top_attach">8</property>
-                <property name="bottom_attach">9</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"/>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="security_label">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label"><b>Security Information</b></property>
                 <property name="use_markup">True</property>
               </object>
               <packing>
-                <property name="right_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"/>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="single_source_box">
+              <object class="GtkBox" id="single_source_box">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
@@ -515,15 +251,11 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">12</property>
-                <property name="bottom_attach">13</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="multi_source_box">
+              <object class="GtkBox" id="multi_source_box">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
@@ -532,15 +264,11 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">13</property>
-                <property name="bottom_attach">14</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="unknown_source_box">
+              <object class="GtkBox" id="unknown_source_box">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
@@ -549,15 +277,11 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">14</property>
-                <property name="bottom_attach">15</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="quote_tz_box">
+              <object class="GtkBox" id="quote_tz_box">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
@@ -566,11 +290,7 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">15</property>
-                <property name="bottom_attach">16</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -582,18 +302,15 @@
                   <object class="GtkLabel" id="source_label">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">Type of quote source:</property>
                     <property name="justify">right</property>
                   </object>
                 </child>
               </object>
               <packing>
-                <property name="right_attach">2</property>
+                <property name="left_attach">0</property>
                 <property name="top_attach">11</property>
-                <property name="bottom_attach">12</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -605,7 +322,7 @@
                   <object class="GtkLabel" id="label809">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">_Full name:</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
@@ -614,10 +331,8 @@
                 </child>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -629,7 +344,7 @@
                   <object class="GtkLabel" id="label810">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">_Symbol/abbreviation:</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
@@ -638,10 +353,8 @@
                 </child>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -653,7 +366,7 @@
                   <object class="GtkLabel" id="label812">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">_Type:</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
@@ -661,10 +374,8 @@
                 </child>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -676,7 +387,7 @@
                   <object class="GtkLabel" id="label811">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">ISIN, CUSI_P or other code:</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
@@ -685,10 +396,8 @@
                 </child>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -700,7 +409,7 @@
                   <object class="GtkLabel" id="label813">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">F_raction traded:</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
@@ -708,10 +417,8 @@
                 </child>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">6</property>
-                <property name="bottom_attach">7</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -720,7 +427,7 @@
                 <property name="can_focus">False</property>
                 <property name="left_padding">12</property>
                 <child>
-                  <object class="GtkHBox" id="finance_quote_warning">
+                  <object class="GtkBox" id="finance_quote_warning">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
@@ -738,6 +445,7 @@
                       <object class="GtkLabel" id="label824">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="halign">start</property>
                         <property name="label" translatable="yes">Warning: Finance::Quote not installed properly.</property>
                         <property name="justify">center</property>
                       </object>
@@ -763,11 +471,9 @@
                 </child>
               </object>
               <packing>
-                <property name="right_attach">2</property>
+                <property name="left_attach">0</property>
                 <property name="top_attach">9</property>
-                <property name="bottom_attach">10</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
+                <property name="width">2</property>
               </packing>
             </child>
             <child>
@@ -778,11 +484,10 @@
                 <child>
                   <object class="GtkCheckButton" id="get_quote_check">
                     <property name="label" translatable="yes">_Get Online Quotes</property>
-                    <property name="use_action_appearance">False</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="halign">start</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                     <signal name="toggled" handler="gnc_ui_commodity_quote_info_cb" swapped="no"/>
@@ -790,11 +495,8 @@
                 </child>
               </object>
               <packing>
-                <property name="right_attach">2</property>
+                <property name="left_attach">0</property>
                 <property name="top_attach">10</property>
-                <property name="bottom_attach">11</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -805,14 +507,13 @@
                 <child>
                   <object class="GtkRadioButton" id="single_source_button">
                     <property name="label" translatable="yes">Si_ngle:</property>
-                    <property name="use_action_appearance">False</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">These are F::Q quote sources that retrieve information from a single site on the internet. If that site is unavailable, you will not be able to retrieve quotes.</property>
                     <property name="tooltip_text" translatable="yes">These are F::Q quote sources that retrieve information from a single site on the internet. If that site is unavailable, you will not be able to retrieve quotes.</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="halign">start</property>
                     <property name="use_underline">True</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
@@ -821,10 +522,8 @@
                 </child>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">12</property>
-                <property name="bottom_attach">13</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -835,14 +534,13 @@
                 <child>
                   <object class="GtkRadioButton" id="multi_source_button">
                     <property name="label" translatable="yes">_Multiple:</property>
-                    <property name="use_action_appearance">False</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">These are F::Q quote sources that retrieve information from multiple sites on the internet. If one of the sites is unavailable, F::Q will attempt to retrieve the information from another site.</property>
                     <property name="tooltip_text" translatable="yes">These are F::Q quote sources that retrieve information from multiple sites on the internet. If one of the sites is unavailable, F::Q will attempt to retrieve the information from another site.</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="halign">start</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">single_source_button</property>
@@ -851,10 +549,8 @@
                 </child>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">13</property>
-                <property name="bottom_attach">14</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -865,14 +561,13 @@
                 <child>
                   <object class="GtkRadioButton" id="unknown_source_button">
                     <property name="label" translatable="yes">_Unknown:</property>
-                    <property name="use_action_appearance">False</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
                     <property name="has_tooltip">True</property>
                     <property name="tooltip_markup">These are quote sources that were recently added to F::Q. GnuCash does not know if these sources retrieve information from a single site or from multiple sites on the internet.</property>
                     <property name="tooltip_text" translatable="yes">These are quote sources that were recently added to F::Q. GnuCash does not know if these sources retrieve information from a single site or from multiple sites on the internet.</property>
-                    <property name="use_action_appearance">False</property>
+                    <property name="halign">start</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">single_source_button</property>
@@ -881,10 +576,8 @@
                 </child>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">14</property>
-                <property name="bottom_attach">15</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -896,7 +589,7 @@
                   <object class="GtkLabel" id="quote_tz_label">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">Time_zone:</property>
                     <property name="use_underline">True</property>
                     <property name="justify">right</property>
@@ -904,10 +597,8 @@
                 </child>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">15</property>
-                <property name="bottom_attach">16</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -927,35 +618,27 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
               <object class="GtkEntry" id="user_symbol_entry">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="invisible_char">●</property>
-                <property name="invisible_char_set">True</property>
-                <property name="primary_icon_activatable">False</property>
-                <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
                 <property name="has_tooltip">True</property>
                 <property name="tooltip_markup">Enter a display symbol. This can safely be left blank, in which case the ticker symbol or the currency ISO code will be used.</property>
                 <property name="tooltip_text" translatable="yes">Enter a display symbol. This can safely be left blank, in which case the ticker symbol or the currency ISO code will be used.</property>
+                <property name="invisible_char">●</property>
+                <property name="primary_icon_activatable">False</property>
+                <property name="secondary_icon_activatable">False</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
               </packing>
             </child>
             <child>
-              <object class="GtkAlignment" id="alignment2">
+              <object class="GtkAlignment" id="alignment8">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="left_padding">12</property>
@@ -963,7 +646,7 @@
                   <object class="GtkLabel" id="user_symbol_label">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="halign">start</property>
                     <property name="label" translatable="yes">_Display symbol</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
@@ -971,10 +654,25 @@
                 </child>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
               </packing>
             </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
           </object>
           <packing>
             <property name="expand">True</property>
@@ -990,26 +688,191 @@
       <action-widget response="-11">help_button</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkListStore" id="liststore1">
-    <columns>
-      <!-- column-name item -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Dummy commodity Line</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="liststore2">
-    <columns>
-      <!-- column-name item -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Dummy namespace Line</col>
-      </row>
-    </data>
+  <object class="GtkDialog" id="security_selector_dialog">
+    <property name="can_focus">False</property>
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">Select security/currency </property>
+    <property name="resizable">False</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox4">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">12</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area4">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="ss_new_button">
+                <property name="label" translatable="yes">_New</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="ss_cancel_button">
+                <property name="label" translatable="yes">_Cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="ss_ok_button">
+                <property name="label" translatable="yes">_OK</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkGrid" id="select_table">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="row_spacing">6</property>
+            <property name="column_spacing">12</property>
+            <child>
+              <object class="GtkLabel" id="select_user_prompt">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Select user information here...</property>
+                <property name="justify">center</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="alignment1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkLabel" id="label807">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
+                    <property name="label" translatable="yes">_Type:</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">center</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="alignment2">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkLabel" id="item_label">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
+                    <property name="label">_Security/currency:</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">center</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkComboBox" id="ss_namespace_cbwe">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="model">liststore2</property>
+                <property name="has_entry">True</property>
+                <property name="entry_text_column">0</property>
+                <signal name="changed" handler="gnc_ui_select_commodity_namespace_changed_cb" swapped="no"/>
+                <child internal-child="entry">
+                  <object class="GtkEntry" id="combobox-entry">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkComboBox" id="ss_commodity_cbwe">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="model">liststore1</property>
+                <property name="has_entry">True</property>
+                <property name="entry_text_column">0</property>
+                <signal name="changed" handler="gnc_ui_select_commodity_changed_cb" swapped="no"/>
+                <child internal-child="entry">
+                  <object class="GtkEntry" id="combobox-entry1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="1">ss_new_button</action-widget>
+      <action-widget response="-6">ss_cancel_button</action-widget>
+      <action-widget response="-5">ss_ok_button</action-widget>
+    </action-widgets>
   </object>
 </interface>

commit e66430f4dafbde35597c7e1f2fa75ab05aeeaea9
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 18 11:30:44 2017 +0100

    Files linked to dialog-book-close.glade

diff --git a/src/gnome-utils/dialog-book-close.c b/src/gnome-utils/dialog-book-close.c
index 4b90bc8..bd7ec21 100644
--- a/src/gnome-utils/dialog-book-close.c
+++ b/src/gnome-utils/dialog-book-close.c
@@ -337,8 +337,8 @@ void gnc_ui_close_book (QofBook* book)
 
     /* Open the dialog */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-book-close.glade", "Close Book");
-    cbw->dialog = GTK_WIDGET(gtk_builder_get_object (builder,  "Close Book"));
+    gnc_builder_add_from_file (builder, "dialog-book-close.glade", "close_book_dialog");
+    cbw->dialog = GTK_WIDGET(gtk_builder_get_object (builder,  "close_book_dialog"));
 
     PINFO("Closed Book Window is %p, Dialog is %p", cbw, cbw->dialog);
 
diff --git a/src/gnome-utils/gtkbuilder/dialog-book-close.glade b/src/gnome-utils/gtkbuilder/dialog-book-close.glade
index 4b58f13..b0adbbb 100644
--- a/src/gnome-utils/gtkbuilder/dialog-book-close.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-book-close.glade
@@ -1,31 +1,31 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkDialog" id="Close Book">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="close_book_dialog">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Close Book</property>
     <property name="type_hint">dialog</property>
     <signal name="response" handler="gnc_book_close_response_cb" swapped="no"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox1">
+      <object class="GtkBox" id="dialog-vbox1">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area1">
+          <object class="GtkButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="helpbutton">
-                <property name="label">gtk-help</property>
+                <property name="label" translatable="yes">_Help</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -35,13 +35,12 @@
             </child>
             <child>
               <object class="GtkButton" id="cancelbutton">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -51,13 +50,12 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -74,53 +72,47 @@
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="table1">
+          <object class="GtkGrid" id="table1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="n_rows">4</property>
-            <property name="n_columns">2</property>
             <child>
               <object class="GtkLabel" id="label1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">Closing Date:</property>
               </object>
               <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">Income Total:</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label3">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">Expense Total:</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="date_box">
+              <object class="GtkBox" id="date_box">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
@@ -129,12 +121,11 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="y_options">GTK_FILL</property>
+                <property name="top_attach">0</property>
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="income_acct_box">
+              <object class="GtkBox" id="income_acct_box">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
@@ -143,15 +134,11 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
-              <object class="GtkHBox" id="expense_acct_box">
+              <object class="GtkBox" id="expense_acct_box">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
@@ -160,44 +147,32 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label4">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">Description:</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkEntry" id="desc_entry">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="invisible_char">&#x25CF;</property>
-                <property name="invisible_char_set">True</property>
+                <property name="invisible_char">●</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="y_options"></property>
               </packing>
             </child>
           </object>

commit 70e9b88719a8aadf2d7acd9b6ce215b12381a45d
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 18 11:30:19 2017 +0100

    Files linked to assistant-xml-encoding.glade

diff --git a/src/gnome-utils/assistant-xml-encoding.c b/src/gnome-utils/assistant-xml-encoding.c
index 0b3238b..04150c3 100644
--- a/src/gnome-utils/assistant-xml-encoding.c
+++ b/src/gnome-utils/assistant-xml-encoding.c
@@ -1184,8 +1184,8 @@ gxi_edit_encodings_clicked_cb (GtkButton *button, GncXmlImportData *data)
     gint i, j;
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "assistant-xml-encoding.glade", "Encodings Dialog");
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Encodings Dialog"));
+    gnc_builder_add_from_file (builder, "assistant-xml-encoding.glade", "encodings_dialog");
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "encodings_dialog"));
     data->encodings_dialog = dialog;
 
     gtk_builder_connect_signals_full (builder, gnc_builder_connect_full_func, data);
diff --git a/src/gnome-utils/gtkbuilder/assistant-xml-encoding.glade b/src/gnome-utils/gtkbuilder/assistant-xml-encoding.glade
index e3bc6d2..5a5da8a 100644
--- a/src/gnome-utils/gtkbuilder/assistant-xml-encoding.glade
+++ b/src/gnome-utils/gtkbuilder/assistant-xml-encoding.glade
@@ -1,8 +1,181 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkDialog" id="Encodings Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkAssistant" id="assistant_xml_encoding">
+    <property name="can_focus">False</property>
+    <property name="border_width">12</property>
+    <signal name="cancel" handler="gxi_cancel_cb" swapped="no"/>
+    <signal name="close" handler="gxi_finish_cb" swapped="no"/>
+    <signal name="prepare" handler="gxi_prepare_cb" swapped="no"/>
+    <child>
+      <object class="GtkLabel" id="start_page">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">Introduction placeholder</property>
+        <property name="wrap">True</property>
+      </object>
+      <packing>
+        <property name="page_type">intro</property>
+        <property name="title" translatable="yes">Title placeholder</property>
+        <property name="complete">True</property>
+        <property name="has_padding">False</property>
+      </packing>
+    </child>
+    <child>
+      <placeholder/>
+    </child>
+    <child>
+      <object class="GtkBox" id="conversion_page">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="border_width">16</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">6</property>
+        <child>
+          <object class="GtkBox" id="vbox10">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
+            <property name="spacing">12</property>
+            <child>
+              <object class="GtkBox" id="hbox10">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <child>
+                  <object class="GtkButton" id="edit_encs_button">
+                    <property name="label" translatable="yes">_Edit list of encodings</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
+                    <property name="use_underline">True</property>
+                    <signal name="clicked" handler="gxi_edit_encodings_clicked_cb" swapped="no"/>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="pack_type">end</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkBox" id="default_enc_box">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="spacing">12</property>
+                    <child>
+                      <object class="GtkLabel" id="label12">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Default encoding:</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="impossible_label">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label">placeholder: #unassigned, #impossible</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="alignment13">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="xscale">0.75</property>
+                <child>
+                  <object class="GtkScrolledWindow" id="scrolledwindow4">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <child>
+                      <object class="GtkViewport" id="viewport1">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <child>
+                          <object class="GtkAlignment" id="string_box_container">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="border_width">6</property>
+                            <property name="right_padding">12</property>
+                            <child>
+                              <placeholder/>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </object>
+      <packing>
+        <property name="title" translatable="yes">Convert the file</property>
+        <property name="complete">True</property>
+        <property name="has_padding">False</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkLabel" id="end_page">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">finish placeholder</property>
+        <property name="wrap">True</property>
+      </object>
+      <packing>
+        <property name="page_type">confirm</property>
+        <property name="title" translatable="yes">Finish GnuCash Datafile Import</property>
+        <property name="has_padding">False</property>
+      </packing>
+    </child>
+    <child internal-child="action_area">
+      <object class="GtkBox" id="assistant-action_area2">
+        <property name="can_focus">False</property>
+      </object>
+      <packing>
+        <property name="has_padding">False</property>
+      </packing>
+    </child>
+  </object>
+  <object class="GtkDialog" id="encodings_dialog">
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
     <property name="title" translatable="yes">Edit the list of encodings</property>
@@ -11,24 +184,24 @@
     <property name="default_height">300</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox4">
+      <object class="GtkBox" id="dialog-vbox4">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">6</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area4">
+          <object class="GtkButtonBox" id="dialog-action_area4">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancelbutton1">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -38,13 +211,12 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton1">
-                <property name="label">gtk-ok</property>
+                <property name="label" translatable="yes">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -61,25 +233,26 @@
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox6">
+          <object class="GtkBox" id="hbox6">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="spacing">18</property>
             <child>
-              <object class="GtkVBox" id="vbox4">
+              <object class="GtkBox" id="vbox4">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
                 <property name="spacing">12</property>
                 <child>
-                  <object class="GtkVBox" id="vbox5">
+                  <object class="GtkBox" id="vbox5">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <property name="spacing">6</property>
                     <child>
                       <object class="GtkLabel" id="label6">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes"><b>S_ystem input encodings</b></property>
                         <property name="use_markup">True</property>
                         <property name="use_underline">True</property>
@@ -97,7 +270,7 @@
                         <property name="can_focus">False</property>
                         <property name="left_padding">12</property>
                         <child>
-                          <object class="GtkHBox" id="hbox8">
+                          <object class="GtkBox" id="hbox8">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="spacing">6</property>
@@ -106,13 +279,15 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="hscrollbar_policy">never</property>
-                                <property name="vscrollbar_policy">automatic</property>
                                 <property name="shadow_type">in</property>
                                 <child>
                                   <object class="GtkTreeView" id="available_encs_view">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="headers_visible">False</property>
+                                    <child internal-child="selection">
+                                      <object class="GtkTreeSelection" id="treeview-selection1"/>
+                                    </child>
                                   </object>
                                 </child>
                               </object>
@@ -132,7 +307,6 @@
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">True</property>
-                                    <property name="use_action_appearance">False</property>
                                     <signal name="clicked" handler="gxi_add_enc_clicked_cb" swapped="no"/>
                                     <child>
                                       <object class="GtkImage" id="image11">
@@ -167,15 +341,15 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkVBox" id="vbox6">
+                  <object class="GtkBox" id="vbox6">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <property name="spacing">6</property>
                     <child>
                       <object class="GtkLabel" id="label10">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes"><b>_Custom encoding</b></property>
                         <property name="use_markup">True</property>
                         <property name="use_underline">True</property>
@@ -193,7 +367,7 @@
                         <property name="can_focus">False</property>
                         <property name="left_padding">12</property>
                         <child>
-                          <object class="GtkHBox" id="hbox7">
+                          <object class="GtkBox" id="hbox7">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="spacing">6</property>
@@ -201,12 +375,9 @@
                               <object class="GtkEntry" id="custom_enc_entry">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="invisible_char">&#x25CF;</property>
-                                <property name="invisible_char_set">True</property>
+                                <property name="invisible_char">●</property>
                                 <property name="primary_icon_activatable">False</property>
                                 <property name="secondary_icon_activatable">False</property>
-                                <property name="primary_icon_sensitive">True</property>
-                                <property name="secondary_icon_sensitive">True</property>
                               </object>
                               <packing>
                                 <property name="expand">True</property>
@@ -219,7 +390,6 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">True</property>
-                                <property name="use_action_appearance">False</property>
                                 <signal name="clicked" handler="gxi_add_custom_enc_clicked_cb" swapped="no"/>
                                 <child>
                                   <object class="GtkImage" id="image10">
@@ -259,15 +429,15 @@
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="vbox7">
+              <object class="GtkBox" id="vbox7">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
                 <child>
                   <object class="GtkLabel" id="label11">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                     <property name="label" translatable="yes"><b>_Selected encodings</b></property>
                     <property name="use_markup">True</property>
                     <property name="use_underline">True</property>
@@ -285,7 +455,7 @@
                     <property name="can_focus">False</property>
                     <property name="left_padding">12</property>
                     <child>
-                      <object class="GtkHBox" id="hbox9">
+                      <object class="GtkBox" id="hbox9">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="spacing">6</property>
@@ -299,7 +469,6 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">True</property>
-                                <property name="use_action_appearance">False</property>
                                 <signal name="clicked" handler="gxi_remove_enc_clicked_cb" swapped="no"/>
                                 <child>
                                   <object class="GtkImage" id="image12">
@@ -322,13 +491,15 @@
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="hscrollbar_policy">never</property>
-                            <property name="vscrollbar_policy">automatic</property>
                             <property name="shadow_type">in</property>
                             <child>
                               <object class="GtkTreeView" id="selected_encs_view">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="headers_visible">False</property>
+                                <child internal-child="selection">
+                                  <object class="GtkTreeSelection" id="treeview-selection2"/>
+                                </child>
                               </object>
                             </child>
                           </object>
@@ -368,205 +539,4 @@
       <action-widget response="-5">okbutton1</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkAssistant" id="assistant_xml_encoding">
-    <property name="can_focus">False</property>
-    <property name="border_width">12</property>
-    <signal name="close" handler="gxi_finish_cb" swapped="no"/>
-    <signal name="cancel" handler="gxi_cancel_cb" swapped="no"/>
-    <signal name="prepare" handler="gxi_prepare_cb" swapped="no"/>
-    <child>
-      <object class="GtkLabel" id="start_page">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label" translatable="yes">Introduction placeholder</property>
-        <property name="wrap">True</property>
-      </object>
-      <packing>
-        <property name="page_type">intro</property>
-        <property name="title" translatable="yes">Title placeholder</property>
-        <property name="complete">True</property>
-      </packing>
-    </child>
-    <child>
-      <placeholder/>
-    </child>
-    <child>
-      <object class="GtkVBox" id="conversion_page">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="border_width">16</property>
-        <property name="spacing">6</property>
-        <child>
-          <object class="GtkVBox" id="vbox10">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="spacing">12</property>
-            <child>
-              <object class="GtkHBox" id="hbox10">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <child>
-                  <object class="GtkButton" id="edit_encs_button">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">True</property>
-                    <property name="use_action_appearance">False</property>
-                    <signal name="clicked" handler="gxi_edit_encodings_clicked_cb" swapped="no"/>
-                    <child>
-                      <object class="GtkAlignment" id="alignment12">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xscale">0</property>
-                        <property name="yscale">0</property>
-                        <child>
-                          <object class="GtkHBox" id="hbox12">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="spacing">2</property>
-                            <child>
-                              <object class="GtkImage" id="image15">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="stock">gtk-select-font</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label13">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">_Edit list of encodings</property>
-                                <property name="use_underline">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="pack_type">end</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHBox" id="default_enc_box">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="spacing">12</property>
-                    <child>
-                      <object class="GtkLabel" id="label12">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Default encoding:</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="impossible_label">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label">placeholder: #unassigned, #impossible</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkAlignment" id="alignment13">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xscale">0.75</property>
-                <child>
-                  <object class="GtkScrolledWindow" id="scrolledwindow4">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">automatic</property>
-                    <property name="vscrollbar_policy">automatic</property>
-                    <child>
-                      <object class="GtkViewport" id="viewport1">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <child>
-                          <object class="GtkAlignment" id="string_box_container">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="border_width">6</property>
-                            <property name="right_padding">12</property>
-                            <child>
-                              <placeholder/>
-                            </child>
-                          </object>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-                <property name="position">2</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-      </object>
-      <packing>
-        <property name="title" translatable="yes">Convert the file</property>
-        <property name="complete">True</property>
-      </packing>
-    </child>
-    <child>
-      <object class="GtkLabel" id="end_page">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label" translatable="yes">finish placeholder</property>
-        <property name="wrap">True</property>
-      </object>
-      <packing>
-        <property name="page_type">confirm</property>
-        <property name="title" translatable="yes">Finish GnuCash Datafile Import</property>
-      </packing>
-    </child>
-  </object>
 </interface>

commit d8831e8725437babe926a7fcb46e5d769cd45c2b
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 18 11:03:14 2017 +0100

    Change dialog-account.glade

diff --git a/src/gnome-utils/gtkbuilder/dialog-account.glade b/src/gnome-utils/gtkbuilder/dialog-account.glade
index aadb7c2..8bb2753 100644
--- a/src/gnome-utils/gtkbuilder/dialog-account.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-account.glade
@@ -628,17 +628,17 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkCheckButton" id="show_unused">
-                    <property name="label" translatable="yes">Show _unused accounts</property>
+                  <object class="GtkCheckButton" id="show_zero">
+                    <property name="label" translatable="yes">Show _zero total accounts</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
-                    <property name="tooltip_text" translatable="yes">Show accounts which do not have any transactions.</property>
+                    <property name="tooltip_text" translatable="yes">Show accounts which have a zero total value.</property>
                     <property name="halign">start</property>
                     <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
-                    <signal name="toggled" handler="gppat_filter_show_unused_toggled_cb" swapped="no"/>
+                    <signal name="toggled" handler="gppat_filter_show_zero_toggled_cb" swapped="no"/>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -647,17 +647,17 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkCheckButton" id="show_zero">
-                    <property name="label" translatable="yes">Show _zero total accounts</property>
+                  <object class="GtkCheckButton" id="show_unused">
+                    <property name="label" translatable="yes">Show _unused accounts</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
-                    <property name="tooltip_text" translatable="yes">Show accounts which have a zero total value.</property>
+                    <property name="tooltip_text" translatable="yes">Show accounts which do not have any transactions.</property>
                     <property name="halign">start</property>
                     <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
-                    <signal name="toggled" handler="gppat_filter_show_zero_toggled_cb" swapped="no"/>
+                    <signal name="toggled" handler="gppat_filter_show_unused_toggled_cb" swapped="no"/>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -1147,7 +1147,6 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="row_spacing">6</property>
-                    <property name="column_homogeneous">True</property>
                     <child>
                       <object class="GtkLabel" id="type_label">
                         <property name="visible">True</property>
@@ -1218,6 +1217,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="margin_left">12</property>
+                        <property name="hexpand">True</property>
                         <property name="vexpand">True</property>
                         <property name="shadow_type">in</property>
                         <child>

commit 30f082d19929d4ea38fde80a08fc1ef13f972fa3
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jun 18 11:02:05 2017 +0100

    Files linked to dialog-account.glade

diff --git a/src/gnome-utils/dialog-account.c b/src/gnome-utils/dialog-account.c
index a373433..2468b03 100644
--- a/src/gnome-utils/dialog-account.c
+++ b/src/gnome-utils/dialog-account.c
@@ -667,12 +667,16 @@ verify_children_compatible (AccountWindow *aw)
     {
         gint size;
         PangoFontDescription *font_desc;
+        GtkStyleContext *style;
 
-        size = pango_font_description_get_size (gtk_widget_get_style (label)->font_desc);
+        style = gtk_widget_get_style_context(label);
+        gtk_style_context_get (style, GTK_STATE_FLAG_NORMAL, GTK_STYLE_PROPERTY_FONT, &font_desc, NULL);
+
+        size = pango_font_description_get_size (font_desc);
         font_desc = pango_font_description_new ();
         pango_font_description_set_weight (font_desc, PANGO_WEIGHT_BOLD);
         pango_font_description_set_size (font_desc, size * PANGO_SCALE_LARGE);
-        gtk_widget_modify_font (label, font_desc);
+        gtk_widget_override_font(label, font_desc);
         pango_font_description_free (font_desc);
     }
     gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
@@ -704,9 +708,6 @@ verify_children_compatible (AccountWindow *aw)
     gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
     gtk_container_set_border_width (GTK_CONTAINER (hbox), 5);
     gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), 14);
-    gtk_container_set_border_width (
-        GTK_CONTAINER (gtk_dialog_get_action_area (GTK_DIALOG (dialog))), 5);
-    gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_action_area (GTK_DIALOG (dialog))), 6);
 
     gtk_widget_show_all (hbox);
 
@@ -1314,9 +1315,9 @@ gnc_account_window_create(AccountWindow *aw)
     ENTER("aw %p, modal %d", aw, aw->modal);
     builder = gtk_builder_new();
     gnc_builder_add_from_file (builder, "dialog-account.glade", "fraction_liststore");
-    gnc_builder_add_from_file (builder, "dialog-account.glade", "Account Dialog");
+    gnc_builder_add_from_file (builder, "dialog-account.glade", "account_dialog");
 
-    aw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Account Dialog"));
+    aw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "account_dialog"));
     awo = G_OBJECT (aw->dialog);
 
     g_object_set_data (awo, "dialog_info", aw);
@@ -2012,12 +2013,9 @@ gnc_account_renumber_create_dialog (GtkWidget *window, Account *account)
     data->num_children = gnc_account_n_children(account);
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-account.glade",
-			       "interval_adjustment");
-    gnc_builder_add_from_file (builder, "dialog-account.glade",
-			       "Renumber Accounts");
-    data->dialog = GTK_WIDGET(gtk_builder_get_object (builder,
-						      "Renumber Accounts"));
+    gnc_builder_add_from_file (builder, "dialog-account.glade", "interval_adjustment");
+    gnc_builder_add_from_file (builder, "dialog-account.glade", "account_renumber_dialog");
+    data->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "account_renumber_dialog"));
     gtk_window_set_transient_for(GTK_WINDOW(data->dialog), GTK_WINDOW(window));
     g_object_set_data_full(G_OBJECT(data->dialog), "builder", builder,
 			   g_object_unref);
diff --git a/src/gnome-utils/gnc-tree-view-account.c b/src/gnome-utils/gnc-tree-view-account.c
index 5f41d2c..ccfa794 100644
--- a/src/gnome-utils/gnc-tree-view-account.c
+++ b/src/gnome-utils/gnc-tree-view-account.c
@@ -2180,8 +2180,8 @@ account_filter_dialog_create(AccountFilterDialog *fd, GncPluginPage *page)
 
     /* Create the dialog */
     builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "dialog-account.glade", "Filter By");
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Filter By"));
+    gnc_builder_add_from_file (builder, "dialog-account.glade", "account_filter_by");
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "account_filter_by"));
     fd->dialog = dialog;
     gtk_window_set_transient_for(GTK_WINDOW(dialog),
                                  GTK_WINDOW(GNC_PLUGIN_PAGE(page)->window));
diff --git a/src/gnome-utils/gtkbuilder/dialog-account.glade b/src/gnome-utils/gtkbuilder/dialog-account.glade
index d4091f1..aadb7c2 100644
--- a/src/gnome-utils/gtkbuilder/dialog-account.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-account.glade
@@ -1,775 +1,680 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkListStore" id="fraction_liststore">
-    <columns>
-      <!-- column-name Fractions -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Use Commodity Value</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">1</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">1/10</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">1/100</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">1/1000</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">1/10000</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">1/100000</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">1/1000000</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkDialog" id="Account Dialog">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkDialog" id="account_delete_dialog">
+    <property name="can_focus">False</property>
     <property name="border_width">6</property>
-    <property name="title" translatable="yes">New Account</property>
-    <property name="window_position">center</property>
+    <property name="title" translatable="yes">Delete Account</property>
+    <property name="modal">True</property>
+    <property name="destroy_with_parent">True</property>
     <property name="type_hint">dialog</property>
-    <signal name="destroy" handler="gnc_account_window_destroy_cb"/>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox12">
+      <object class="GtkBox" id="vbox100">
         <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="hexpand">True</property>
         <property name="orientation">vertical</property>
         <property name="spacing">6</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area100">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="cancelbutton">
+                <property name="label" translatable="yes">_Cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="deletebutton">
+                <property name="label" translatable="yes">_Delete</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
         <child>
-          <object class="GtkNotebook" id="account_notebook">
+          <object class="GtkBox" id="vbox101">
             <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="border_width">5</property>
+            <property name="can_focus">False</property>
+            <property name="hexpand">True</property>
+            <property name="orientation">vertical</property>
+            <property name="spacing">12</property>
             <child>
-              <object class="GtkVBox" id="vbox75">
+              <object class="GtkLabel" id="header">
                 <property name="visible">True</property>
-                <property name="border_width">6</property>
+                <property name="can_focus">False</property>
+                <property name="label">Deleting account xxx</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkBox" id="transactions">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
                 <property name="orientation">vertical</property>
-                <property name="spacing">18</property>
                 <child>
-                  <object class="GtkTable" id="table">
+                  <object class="GtkLabel" id="label100">
                     <property name="visible">True</property>
-                    <property name="n_rows">2</property>
-                    <property name="n_columns">2</property>
-                    <property name="row_spacing">6</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
+                    <property name="label" translatable="yes"><b>Transactions</b></property>
+                    <property name="use_markup">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkGrid" id="grid100">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
+                    <property name="column_spacing">12</property>
                     <child>
-                      <object class="GtkLabel" id="label">
+                      <object class="GtkRadioButton" id="trans_mrb">
+                        <property name="label" translatable="yes">M_ove to:</property>
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes"><b>Identification</b></property>
-                        <property name="use_markup">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">15</property>
+                        <property name="use_underline">True</property>
+                        <property name="active">True</property>
+                        <property name="draw_indicator">True</property>
                       </object>
                       <packing>
-                        <property name="right_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">3</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkLabel" id="label1">
+                      <object class="GtkRadioButton" id="trans_drb">
+                        <property name="label" translatable="yes">Delete all _transactions</property>
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
-                        <property name="label">    </property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">15</property>
+                        <property name="use_underline">True</property>
+                        <property name="draw_indicator">True</property>
+                        <property name="group">trans_mrb</property>
+                        <signal name="toggled" handler="gppat_set_insensitive_iff_rb_active" object="trans_mas_hbox" swapped="yes"/>
                       </object>
                       <packing>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">2</property>
+                        <property name="width">2</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkTable" id="table3">
+                      <object class="GtkLabel" id="trans_rw">
                         <property name="visible">True</property>
-                        <property name="n_rows">9</property>
-                        <property name="n_columns">2</property>
-                        <property name="column_spacing">12</property>
-                        <property name="row_spacing">6</property>
-                        <child>
-                          <object class="GtkLabel" id="label2">
-                            <property name="visible">True</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">Account _name:</property>
-                            <property name="use_underline">True</property>
-                            <property name="mnemonic_widget">name_entry</property>
-                          </object>
-                          <packing>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label3">
-                            <property name="visible">True</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">_Account code:</property>
-                            <property name="use_underline">True</property>
-                            <property name="mnemonic_widget">code_entry</property>
-                          </object>
-                          <packing>
-                            <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label4">
-                            <property name="visible">True</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">_Description:</property>
-                            <property name="use_underline">True</property>
-                            <property name="mnemonic_widget">description_entry</property>
-                          </object>
-                          <packing>
-                            <property name="top_attach">2</property>
-                            <property name="bottom_attach">3</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="security_label">
-                            <property name="visible">True</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">_Security/currency:</property>
-                            <property name="use_underline">True</property>
-                          </object>
-                          <packing>
-                            <property name="top_attach">3</property>
-                            <property name="bottom_attach">4</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkHBox" id="commodity_hbox">
-                            <property name="visible">True</property>
-                            <child>
-                              <placeholder/>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">3</property>
-                            <property name="bottom_attach">4</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options">GTK_FILL</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label5">
-                            <property name="visible">True</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">Smallest _fraction:</property>
-                            <property name="use_underline">True</property>
-                            <property name="mnemonic_widget">account_scu</property>
-                          </object>
-                          <packing>
-                            <property name="top_attach">4</property>
-                            <property name="bottom_attach">5</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label6">
-                            <property name="visible">True</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">Account _Color:</property>
-                            <property name="use_underline">True</property>
-                            <property name="mnemonic_widget">color_entry_button</property>
-                          </object>
-                          <packing>
-                            <property name="top_attach">5</property>
-                            <property name="bottom_attach">6</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkHBox" id="color_hbox">
-                            <property name="visible">True</property>
-                            <property name="spacing">3</property>
-                            <child>
-                              <object class="GtkColorButton" id="color_entry_button">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">True</property>
-                                <property name="color">#ededececebeb</property>
-                              </object>
-                              <packing>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkButton" id="color_default_button">
-                                <property name="label" translatable="yes">Default</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">True</property>
-                                <signal name="clicked" handler="gnc_account_color_default_cb"/>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">5</property>
-                            <property name="bottom_attach">6</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options">GTK_FILL</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label7">
-                            <property name="visible">True</property>
-                            <property name="xalign">0</property>
-                            <property name="yalign">0</property>
-                            <property name="label" translatable="yes">No_tes:</property>
-                            <property name="use_underline">True</property>
-                            <property name="mnemonic_widget">notes_text</property>
-                          </object>
-                          <packing>
-                            <property name="top_attach">6</property>
-                            <property name="bottom_attach">7</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options">GTK_FILL</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkCheckButton" id="tax_related_button">
-                            <property name="label" translatable="yes">Ta_x related</property>
-                            <property name="visible">True</property>
-                            <property name="sensitive">False</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="tooltip_text" translatable="yes">Use Edit->Tax Report Options to set the tax-related flag and assign a tax code to this account.</property>
-                            <property name="use_underline">True</property>
-                            <property name="draw_indicator">True</property>
-                          </object>
-                          <packing>
-                            <property name="top_attach">7</property>
-                            <property name="bottom_attach">8</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkCheckButton" id="placeholder_button">
-                            <property name="label" translatable="yes">Placeholde_r</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="tooltip_text" translatable="yes">This account is present solely as a placeholder in the hierarchy. Transactions may not be posted to this account, only to sub-accounts of this account.</property>
-                            <property name="use_underline">True</property>
-                            <property name="draw_indicator">True</property>
-                          </object>
-                          <packing>
-                            <property name="top_attach">8</property>
-                            <property name="bottom_attach">9</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkCheckButton" id="hidden_button">
-                            <property name="label" translatable="yes">H_idden</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="tooltip_text" translatable="yes">This account (and any sub-accounts) will be hidden in the account tree and will not appear in the popup account list in the register. To reset this option, you will first need to open the "Filter By..." dialog for the account tree and check the "show hidden accounts" option. Doing so will allow you to select the account and reopen this dialog.</property>
-                            <property name="use_underline">True</property>
-                            <property name="draw_indicator">True</property>
-                          </object>
-                          <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">7</property>
-                            <property name="bottom_attach">8</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkEntry" id="name_entry">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="has_focus">True</property>
-                            <property name="activates_default">True</property>
-                            <signal name="changed" handler="gnc_account_name_changed_cb"/>
-                            <signal name="insert_text" handler="gnc_account_name_insert_text_cb"/>
-                          </object>
-                          <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkEntry" id="code_entry">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="activates_default">True</property>
-                          </object>
-                          <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkEntry" id="description_entry">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="activates_default">True</property>
-                          </object>
-                          <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">2</property>
-                            <property name="bottom_attach">3</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkScrolledWindow" id="scrolledwindow9">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="hscrollbar_policy">automatic</property>
-                            <property name="vscrollbar_policy">automatic</property>
-                            <property name="shadow_type">in</property>
-                            <child>
-                              <object class="GtkTextView" id="notes_text">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="wrap_mode">word</property>
-                              </object>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">6</property>
-                            <property name="bottom_attach">7</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options">GTK_FILL</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkEventBox" id="eventbox1">
-                            <property name="visible">True</property>
-                            <property name="tooltip_text" translatable="yes">Smallest fraction of this commodity that can be referenced.</property>
-                            <child>
-                              <object class="GtkComboBox" id="account_scu">
-                                <property name="visible">True</property>
-                                <property name="model">fraction_liststore</property>
-                                <child>
-                                  <object class="GtkCellRendererText" id="acct_scu_renderer"/>
-                                  <attributes>
-                                    <attribute name="text">0</attribute>
-                                  </attributes>
-                                </child>
-                              </object>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">4</property>
-                            <property name="bottom_attach">5</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options">GTK_FILL</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">15</property>
+                        <property name="label" translatable="yes">This account contains transactions. What would you like to do with these transactions?</property>
+                        <property name="wrap">True</property>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="width">2</property>
                       </packing>
                     </child>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkTable" id="table4">
-                    <property name="visible">True</property>
-                    <property name="n_rows">2</property>
-                    <property name="n_columns">5</property>
-                    <property name="row_spacing">6</property>
                     <child>
-                      <object class="GtkLabel" id="type_label">
+                      <object class="GtkLabel" id="trans_ro">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes"><b>Acco_unt Type</b></property>
-                        <property name="use_markup">True</property>
-                        <property name="use_underline">True</property>
-                        <property name="mnemonic_widget">type_view</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">15</property>
+                        <property name="label" translatable="yes">This account contains read-only transactions which may not be deleted.</property>
+                        <property name="wrap">True</property>
                       </object>
                       <packing>
-                        <property name="right_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">2</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkLabel" id="label8">
+                      <object class="GtkBox" id="trans_mas_hbox">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
-                        <property name="label">    </property>
+                        <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
+                        <child>
+                          <placeholder/>
+                        </child>
                       </object>
                       <packing>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">3</property>
                       </packing>
                     </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkBox" id="subaccounts">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
+                <property name="orientation">vertical</property>
+                <child>
+                  <object class="GtkLabel" id="label101">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
+                    <property name="label" translatable="yes"><b>Sub-accounts</b></property>
+                    <property name="use_markup">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkGrid" id="grid101">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
+                    <property name="column_spacing">12</property>
                     <child>
-                      <object class="GtkLabel" id="label9">
+                      <object class="GtkLabel" id="label8477420">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
-                        <property name="label">    </property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">15</property>
+                        <property name="label" translatable="yes">This account contains sub-accounts. What would you like to do with these sub-accounts?</property>
+                        <property name="wrap">True</property>
                       </object>
                       <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">2</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkLabel" id="parent_label">
+                      <object class="GtkRadioButton" id="sa_mrb">
+                        <property name="label" translatable="yes">_Move to:</property>
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes"><b>_Parent Account</b></property>
-                        <property name="use_markup">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">15</property>
                         <property name="use_underline">True</property>
+                        <property name="active">True</property>
+                        <property name="draw_indicator">True</property>
+                        <signal name="toggled" handler="gppat_populate_trans_mas_list" swapped="no"/>
+                        <signal name="toggled" handler="gppat_set_insensitive_iff_rb_active" object="subaccount_trans" swapped="yes"/>
                       </object>
                       <packing>
-                        <property name="left_attach">3</property>
-                        <property name="right_attach">5</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label10">
-                        <property name="visible">True</property>
-                        <property name="xalign">0</property>
-                        <property name="label">    </property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">3</property>
-                        <property name="right_attach">4</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">2</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkScrolledWindow" id="scrolledwindow32">
+                      <object class="GtkRadioButton" id="sa_drb">
+                        <property name="label" translatable="yes">Delete all _subaccounts</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="hscrollbar_policy">never</property>
-                        <property name="vscrollbar_policy">automatic</property>
-                        <property name="shadow_type">in</property>
-                        <child>
-                          <object class="GtkTreeView" id="type_view">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="headers_visible">False</property>
-                          </object>
-                        </child>
+                        <property name="receives_default">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">15</property>
+                        <property name="use_underline">True</property>
+                        <property name="draw_indicator">True</property>
+                        <property name="group">sa_mrb</property>
+                        <signal name="toggled" handler="gppat_set_insensitive_iff_rb_active" object="sa_mas_hbox" swapped="yes"/>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
+                        <property name="width">2</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkScrolledWindow" id="parent_scroll">
+                      <object class="GtkBox" id="sa_mas_hbox">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="hscrollbar_policy">automatic</property>
-                        <property name="vscrollbar_policy">automatic</property>
-                        <property name="shadow_type">in</property>
+                        <property name="hexpand">True</property>
                         <child>
                           <placeholder/>
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">4</property>
-                        <property name="right_attach">5</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">2</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
               </object>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="label11">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">General</property>
-                <property name="justify">center</property>
-              </object>
               <packing>
-                <property name="tab_fill">False</property>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="vbox118">
+              <object class="GtkBox" id="subaccount_trans">
                 <property name="visible">True</property>
-                <property name="border_width">6</property>
+                <property name="sensitive">False</property>
+                <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
                 <property name="orientation">vertical</property>
                 <child>
-                  <object class="GtkTable" id="table11">
+                  <object class="GtkLabel" id="label102">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
+                    <property name="label" translatable="yes"><b>Sub-account Transactions</b></property>
+                    <property name="use_markup">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkGrid" id="grid102">
                     <property name="visible">True</property>
-                    <property name="n_rows">8</property>
-                    <property name="n_columns">2</property>
+                    <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
                     <property name="column_spacing">12</property>
-                    <property name="row_spacing">6</property>
-                    <child>
-                      <object class="GtkLabel" id="label8477432">
-                        <property name="visible">True</property>
-                        <property name="xalign">0</property>
-                      </object>
-                      <packing>
-                        <property name="top_attach">3</property>
-                        <property name="bottom_attach">4</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
                     <child>
-                      <object class="GtkLabel" id="label8477394">
+                      <object class="GtkRadioButton" id="sa_trans_mrb">
+                        <property name="label" translatable="yes">M_ove to:</property>
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes"><b>Balance Information</b></property>
-                        <property name="use_markup">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">15</property>
+                        <property name="use_underline">True</property>
+                        <property name="active">True</property>
+                        <property name="draw_indicator">True</property>
                       </object>
                       <packing>
-                        <property name="right_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">3</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkLabel" id="label8477433">
+                      <object class="GtkRadioButton" id="sa_trans_drb">
+                        <property name="label" translatable="yes">Delete all _transactions</property>
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes"><b>Initial Balance Transfer</b></property>
-                        <property name="use_markup">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">15</property>
+                        <property name="use_underline">True</property>
+                        <property name="draw_indicator">True</property>
+                        <property name="group">sa_trans_mrb</property>
+                        <signal name="toggled" handler="gppat_set_insensitive_iff_rb_active" object="sa_trans_mas_hbox" swapped="yes"/>
                       </object>
                       <packing>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">4</property>
-                        <property name="bottom_attach">5</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">2</property>
+                        <property name="width">2</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="opening_balance_box">
+                      <object class="GtkLabel" id="sa_trans_rw">
                         <property name="visible">True</property>
-                        <child>
-                          <placeholder/>
-                        </child>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">15</property>
+                        <property name="label" translatable="yes">One or more sub-accounts contain transactions. What would you like to do with these transactions?</property>
+                        <property name="wrap">True</property>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="width">2</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkAlignment" id="alignment18">
+                      <object class="GtkLabel" id="sa_trans_ro">
                         <property name="visible">True</property>
-                        <property name="left_padding">24</property>
-                        <child>
-                          <object class="GtkScrolledWindow" id="transfer_account_scroll">
-                            <property name="visible">True</property>
-                            <property name="sensitive">False</property>
-                            <property name="can_focus">False</property>
-                            <property name="border_width">3</property>
-                            <property name="hscrollbar_policy">automatic</property>
-                            <property name="vscrollbar_policy">automatic</property>
-                            <child>
-                              <placeholder/>
-                            </child>
-                          </object>
-                        </child>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">15</property>
+                        <property name="label" translatable="yes">One or more sub-accounts contain read-only transactions which may not be deleted.</property>
+                        <property name="wrap">True</property>
                       </object>
                       <packing>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">7</property>
-                        <property name="bottom_attach">8</property>
-                        <property name="x_options">GTK_FILL</property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">2</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="opening_balance_date_box">
+                      <object class="GtkBox" id="sa_trans_mas_hbox">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
                         <child>
                           <placeholder/>
                         </child>
                       </object>
                       <packing>
                         <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="top_attach">3</property>
                       </packing>
                     </child>
-                    <child>
-                      <object class="GtkAlignment" id="alignment14">
-                        <property name="visible">True</property>
-                        <property name="left_padding">12</property>
-                        <child>
-                          <object class="GtkLabel" id="balance_label">
-                            <property name="visible">True</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">_Balance:</property>
-                            <property name="use_underline">True</property>
-                            <property name="justify">right</property>
-                          </object>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
-                      </packing>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">3</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-6">cancelbutton</action-widget>
+      <action-widget response="-3">deletebutton</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkDialog" id="account_filter_by_dialog">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">Filter By...</property>
+    <property name="type_hint">dialog</property>
+    <signal name="response" handler="gppat_filter_response_cb" swapped="no"/>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="vbox200">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">6</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area200">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="cancelbutton1">
+                <property name="label" translatable="yes">_Cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="okbutton1">
+                <property name="label">_OK</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkNotebook" id="notebook200">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="border_width">6</property>
+            <child>
+              <object class="GtkGrid" id="grid200">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="border_width">6</property>
+                <property name="row_spacing">6</property>
+                <property name="column_spacing">6</property>
+                <child>
+                  <object class="GtkTreeView" id="types_tree_view">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="hexpand">True</property>
+                    <property name="headers_visible">False</property>
+                    <property name="rules_hint">True</property>
+                    <child internal-child="selection">
+                      <object class="GtkTreeSelection" id="treeview-selection2"/>
                     </child>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="height">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButtonBox" id="vbuttonbox1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
+                    <property name="layout_style">spread</property>
                     <child>
-                      <object class="GtkAlignment" id="alignment15">
+                      <object class="GtkButton" id="select_all">
+                        <property name="label" translatable="yes">_Select All</property>
                         <property name="visible">True</property>
-                        <property name="left_padding">12</property>
-                        <child>
-                          <object class="GtkLabel" id="label847738">
-                            <property name="visible">True</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">_Date:</property>
-                            <property name="use_underline">True</property>
-                            <property name="justify">right</property>
-                          </object>
-                        </child>
+                        <property name="can_focus">True</property>
+                        <property name="can_default">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <signal name="clicked" handler="gppat_filter_select_all_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkAlignment" id="alignment16">
+                      <object class="GtkButton" id="clear_all">
+                        <property name="label" translatable="yes">C_lear All</property>
                         <property name="visible">True</property>
-                        <property name="left_padding">12</property>
-                        <child>
-                          <object class="GtkRadioButton" id="opening_equity_radio">
-                            <property name="label" translatable="yes">_Use equity 'Opening Balances' account</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="use_underline">True</property>
-                            <property name="draw_indicator">True</property>
-                            <signal name="toggled" handler="opening_equity_cb"/>
-                          </object>
-                        </child>
+                        <property name="can_focus">True</property>
+                        <property name="can_default">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <signal name="clicked" handler="gppat_filter_clear_all_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">5</property>
-                        <property name="bottom_attach">6</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkAlignment" id="alignment17">
+                      <object class="GtkButton" id="default_types">
+                        <property name="label" translatable="yes">_Default</property>
                         <property name="visible">True</property>
-                        <property name="left_padding">12</property>
-                        <child>
-                          <object class="GtkRadioButton" id="radiobutton8">
-                            <property name="label" translatable="yes">_Select transfer account</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="use_underline">True</property>
-                            <property name="draw_indicator">True</property>
-                            <property name="group">opening_equity_radio</property>
-                          </object>
-                        </child>
+                        <property name="can_focus">True</property>
+                        <property name="can_default">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <signal name="clicked" handler="gppat_filter_select_default_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">6</property>
-                        <property name="bottom_attach">7</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">2</property>
                       </packing>
                     </child>
-                    <child>
-                      <placeholder/>
-                    </child>
                   </object>
                   <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="label200">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Account Type</property>
+              </object>
+              <packing>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkBox" id="vbox201">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
+                <child>
+                  <object class="GtkCheckButton" id="show_hidden">
+                    <property name="label" translatable="yes">Show _hidden accounts</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="tooltip_text" translatable="yes">Show accounts which have the option "Hidden" checked.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                    <signal name="toggled" handler="gppat_filter_show_hidden_toggled_cb" swapped="no"/>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
+                <child>
+                  <object class="GtkCheckButton" id="show_unused">
+                    <property name="label" translatable="yes">Show _unused accounts</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="tooltip_text" translatable="yes">Show accounts which do not have any transactions.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                    <signal name="toggled" handler="gppat_filter_show_unused_toggled_cb" swapped="no"/>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="show_zero">
+                    <property name="label" translatable="yes">Show _zero total accounts</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="tooltip_text" translatable="yes">Show accounts which have a zero total value.</property>
+                    <property name="halign">start</property>
+                    <property name="margin_left">12</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                    <signal name="toggled" handler="gppat_filter_show_zero_toggled_cb" swapped="no"/>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
               </object>
               <packing>
                 <property name="position">1</property>
               </packing>
             </child>
             <child type="tab">
-              <object class="GtkLabel" id="label847739">
+              <object class="GtkLabel" id="Balance">
                 <property name="visible">True</property>
-                <property name="label" translatable="yes">Opening Balance</property>
-                <property name="justify">center</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Other</property>
               </object>
               <packing>
                 <property name="position">1</property>
@@ -778,21 +683,76 @@
             </child>
           </object>
           <packing>
-            <property name="position">1</property>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
           </packing>
         </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-6">cancelbutton1</action-widget>
+      <action-widget response="-5">okbutton1</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkListStore" id="fraction_liststore">
+    <columns>
+      <!-- column-name Fractions -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Use Commodity Value</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">1</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">1/10</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">1/100</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">1/1000</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">1/10000</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">1/100000</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">1/1000000</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkDialog" id="account_dialog">
+    <property name="can_focus">False</property>
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">New Account</property>
+    <property name="window_position">center</property>
+    <property name="type_hint">dialog</property>
+    <signal name="destroy" handler="gnc_account_window_destroy_cb" swapped="no"/>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="vbox300">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">6</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area12">
+          <object class="GtkButtonBox" id="dialog-action_area300">
             <property name="visible">True</property>
+            <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="cancel_button">
-                <property name="label">gtk-cancel</property>
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -802,13 +762,13 @@
             </child>
             <child>
               <object class="GtkButton" id="ok_button">
-                <property name="label">gtk-ok</property>
+                <property name="label">_OK</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -817,13 +777,13 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="button72">
-                <property name="label">gtk-help</property>
+              <object class="GtkButton" id="help_button">
+                <property name="label" translatable="yes">_Help</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -834,626 +794,636 @@
           </object>
           <packing>
             <property name="expand">False</property>
+            <property name="fill">True</property>
             <property name="pack_type">end</property>
             <property name="position">0</property>
           </packing>
         </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="-6">cancel_button</action-widget>
-      <action-widget response="-5">ok_button</action-widget>
-      <action-widget response="-11">button72</action-widget>
-    </action-widgets>
-  </object>
-  <object class="GtkDialog" id="Delete Account">
-    <property name="border_width">6</property>
-    <property name="title" translatable="yes">Delete Account</property>
-    <property name="modal">True</property>
-    <property name="destroy_with_parent">True</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
-      <object class="GtkVBox" id="vbox126">
-        <property name="visible">True</property>
-        <property name="orientation">vertical</property>
-        <property name="spacing">6</property>
         <child>
-          <object class="GtkVBox" id="vbox127">
+          <object class="GtkNotebook" id="account_notebook">
             <property name="visible">True</property>
-            <property name="orientation">vertical</property>
-            <property name="spacing">12</property>
-            <child>
-              <object class="GtkLabel" id="header">
-                <property name="visible">True</property>
-                <property name="label">Deleting account xxx</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
+            <property name="can_focus">True</property>
+            <property name="border_width">5</property>
             <child>
-              <object class="GtkVBox" id="transactions">
+              <object class="GtkBox" id="vbox301">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
+                <property name="vexpand">True</property>
+                <property name="border_width">6</property>
                 <property name="orientation">vertical</property>
+                <property name="spacing">18</property>
                 <child>
-                  <object class="GtkLabel" id="label8477423">
-                    <property name="visible">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes"><b>Transactions</b></property>
-                    <property name="use_markup">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkAlignment" id="alignment8">
+                  <object class="GtkGrid" id="grid300">
                     <property name="visible">True</property>
-                    <property name="left_padding">12</property>
+                    <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
+                    <property name="row_spacing">6</property>
                     <child>
-                      <object class="GtkTable" id="table8">
+                      <object class="GtkLabel" id="label300">
                         <property name="visible">True</property>
-                        <property name="n_rows">4</property>
-                        <property name="n_columns">2</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="label" translatable="yes"><b>Identification</b></property>
+                        <property name="use_markup">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkGrid" id="grid301">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
+                        <property name="row_spacing">6</property>
                         <property name="column_spacing">12</property>
                         <child>
-                          <object class="GtkRadioButton" id="trans_mrb">
-                            <property name="label" translatable="yes">M_ove to:</property>
+                          <object class="GtkLabel" id="label301">
                             <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
+                            <property name="margin_left">12</property>
+                            <property name="label" translatable="yes">Account _name:</property>
                             <property name="use_underline">True</property>
-                            <property name="active">True</property>
-                            <property name="draw_indicator">True</property>
+                            <property name="mnemonic_widget">name_entry</property>
+                            <property name="ellipsize">middle</property>
                           </object>
                           <packing>
-                            <property name="top_attach">3</property>
-                            <property name="bottom_attach">4</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">0</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkRadioButton" id="trans_drb">
-                            <property name="label" translatable="yes">Delete all _transactions</property>
+                          <object class="GtkLabel" id="label302">
                             <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
+                            <property name="margin_left">12</property>
+                            <property name="label" translatable="yes">_Account code:</property>
                             <property name="use_underline">True</property>
-                            <property name="draw_indicator">True</property>
-                            <property name="group">trans_mrb</property>
-                            <signal name="toggled" handler="gppat_set_insensitive_iff_rb_active" object="trans_mas_hbox"/>
+                            <property name="mnemonic_widget">code_entry</property>
                           </object>
                           <packing>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">2</property>
-                            <property name="bottom_attach">3</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">1</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkLabel" id="trans_rw">
+                          <object class="GtkLabel" id="label304">
                             <property name="visible">True</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">This account contains transactions. What would you like to do with these transactions?</property>
-                            <property name="wrap">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
+                            <property name="margin_left">12</property>
+                            <property name="label" translatable="yes">_Description:</property>
+                            <property name="use_underline">True</property>
+                            <property name="mnemonic_widget">description_entry</property>
                           </object>
                           <packing>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">2</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkLabel" id="trans_ro">
+                          <object class="GtkLabel" id="security_label">
                             <property name="visible">True</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">This account contains read-only transactions which may not be deleted.</property>
-                            <property name="wrap">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
+                            <property name="margin_left">12</property>
+                            <property name="label" translatable="yes">_Security/currency:</property>
+                            <property name="use_underline">True</property>
                           </object>
                           <packing>
-                            <property name="right_attach">2</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">3</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkHBox" id="trans_mas_hbox">
+                          <object class="GtkBox" id="commodity_hbox">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <child>
                               <placeholder/>
                             </child>
                           </object>
                           <packing>
                             <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
                             <property name="top_attach">3</property>
-                            <property name="bottom_attach">4</property>
                           </packing>
                         </child>
-                      </object>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkVBox" id="subaccounts">
-                <property name="visible">True</property>
-                <property name="orientation">vertical</property>
-                <child>
-                  <object class="GtkLabel" id="label8477419">
-                    <property name="visible">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes"><b>Sub-accounts</b></property>
-                    <property name="use_markup">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkAlignment" id="alignment7">
-                    <property name="visible">True</property>
-                    <property name="left_padding">12</property>
-                    <child>
-                      <object class="GtkTable" id="table7">
-                        <property name="visible">True</property>
-                        <property name="n_rows">3</property>
-                        <property name="n_columns">2</property>
-                        <property name="column_spacing">12</property>
                         <child>
-                          <object class="GtkLabel" id="label8477420">
+                          <object class="GtkLabel" id="label305">
                             <property name="visible">True</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">This account contains sub-accounts. What would you like to do with these sub-accounts?</property>
-                            <property name="wrap">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
+                            <property name="margin_left">12</property>
+                            <property name="label" translatable="yes">Smallest _fraction:</property>
+                            <property name="use_underline">True</property>
+                            <property name="mnemonic_widget">account_scu</property>
                           </object>
                           <packing>
-                            <property name="right_attach">2</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">4</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkRadioButton" id="sa_mrb">
-                            <property name="label" translatable="yes">_Move to:</property>
+                          <object class="GtkLabel" id="label306">
                             <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
+                            <property name="margin_left">12</property>
+                            <property name="label" translatable="yes">Account _Color:</property>
                             <property name="use_underline">True</property>
-                            <property name="active">True</property>
-                            <property name="draw_indicator">True</property>
-                            <signal name="toggled" handler="gppat_set_insensitive_iff_rb_active" object="subaccount_trans"/>
-                            <signal name="toggled" handler="gppat_populate_trans_mas_list"/>
                           </object>
                           <packing>
-                            <property name="top_attach">2</property>
-                            <property name="bottom_attach">3</property>
-                            <property name="x_options"></property>
-                            <property name="y_options"></property>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">5</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkRadioButton" id="sa_drb">
-                            <property name="label" translatable="yes">Delete all _subaccounts</property>
+                          <object class="GtkBox" id="color_hbox">
                             <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="use_underline">True</property>
-                            <property name="draw_indicator">True</property>
-                            <property name="group">sa_mrb</property>
-                            <signal name="toggled" handler="gppat_set_insensitive_iff_rb_active" object="sa_mas_hbox"/>
+                            <property name="can_focus">False</property>
+                            <property name="spacing">2</property>
+                            <property name="homogeneous">True</property>
+                            <child>
+                              <object class="GtkColorButton" id="color_entry_button">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">True</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkButton" id="color_default_button">
+                                <property name="label" translatable="yes">Default</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">True</property>
+                                <signal name="clicked" handler="gnc_account_color_default_cb" swapped="no"/>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
                           </object>
                           <packing>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">5</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkHBox" id="sa_mas_hbox">
+                          <object class="GtkLabel" id="label307">
                             <property name="visible">True</property>
-                            <child>
-                              <placeholder/>
-                            </child>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
+                            <property name="valign">start</property>
+                            <property name="margin_left">12</property>
+                            <property name="label" translatable="yes">No_tes:</property>
+                            <property name="use_underline">True</property>
+                            <property name="mnemonic_widget">notes_text</property>
                           </object>
                           <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">2</property>
-                            <property name="bottom_attach">3</property>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">6</property>
                           </packing>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">2</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkVBox" id="subaccount_trans">
-                <property name="visible">True</property>
-                <property name="sensitive">False</property>
-                <property name="orientation">vertical</property>
-                <child>
-                  <object class="GtkLabel" id="label8477429">
-                    <property name="visible">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes"><b>Sub-account Transactions</b></property>
-                    <property name="use_markup">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkAlignment" id="alignment9">
-                    <property name="visible">True</property>
-                    <property name="left_padding">12</property>
-                    <child>
-                      <object class="GtkTable" id="table9">
-                        <property name="visible">True</property>
-                        <property name="n_rows">4</property>
-                        <property name="n_columns">2</property>
-                        <property name="column_spacing">12</property>
+                        </child>
                         <child>
-                          <object class="GtkRadioButton" id="sa_trans_mrb">
-                            <property name="label" translatable="yes">M_ove to:</property>
+                          <object class="GtkCheckButton" id="tax_related_button">
+                            <property name="label" translatable="yes">Ta_x related</property>
                             <property name="visible">True</property>
+                            <property name="sensitive">False</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">False</property>
+                            <property name="tooltip_text" translatable="yes">Use Edit->Tax Report Options to set the tax-related flag and assign a tax code to this account.</property>
+                            <property name="halign">start</property>
+                            <property name="margin_left">12</property>
                             <property name="use_underline">True</property>
-                            <property name="active">True</property>
                             <property name="draw_indicator">True</property>
                           </object>
                           <packing>
-                            <property name="top_attach">3</property>
-                            <property name="bottom_attach">4</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">7</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkRadioButton" id="sa_trans_drb">
-                            <property name="label" translatable="yes">Delete all _transactions</property>
+                          <object class="GtkCheckButton" id="placeholder_button">
+                            <property name="label" translatable="yes">Placeholde_r</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">False</property>
+                            <property name="tooltip_text" translatable="yes">This account is present solely as a placeholder in the hierarchy. Transactions may not be posted to this account, only to sub-accounts of this account.</property>
+                            <property name="halign">start</property>
+                            <property name="margin_left">12</property>
                             <property name="use_underline">True</property>
                             <property name="draw_indicator">True</property>
-                            <property name="group">sa_trans_mrb</property>
-                            <signal name="toggled" handler="gppat_set_insensitive_iff_rb_active" object="sa_trans_mas_hbox"/>
                           </object>
                           <packing>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">2</property>
-                            <property name="bottom_attach">3</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">8</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkCheckButton" id="hidden_button">
+                            <property name="label" translatable="yes">H_idden</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="tooltip_text" translatable="yes">This account (and any sub-accounts) will be hidden in the account tree and will not appear in the popup account list in the register. To reset this option, you will first need to open the "Filter By..." dialog for the account tree and check the "show hidden accounts" option. Doing so will allow you to select the account and reopen this dialog.</property>
+                            <property name="halign">start</property>
+                            <property name="use_underline">True</property>
+                            <property name="draw_indicator">True</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">7</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkEntry" id="name_entry">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="has_focus">True</property>
+                            <property name="hexpand">True</property>
+                            <property name="activates_default">True</property>
+                            <signal name="changed" handler="gnc_account_name_changed_cb" swapped="no"/>
+                            <signal name="insert-text" handler="gnc_account_name_insert_text_cb" swapped="no"/>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">0</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkLabel" id="sa_trans_rw">
+                          <object class="GtkEntry" id="code_entry">
                             <property name="visible">True</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">One or more sub-accounts contain transactions. What would you like to do with these transactions?</property>
-                            <property name="wrap">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="activates_default">True</property>
                           </object>
                           <packing>
-                            <property name="right_attach">2</property>
+                            <property name="left_attach">1</property>
                             <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkLabel" id="sa_trans_ro">
+                          <object class="GtkEntry" id="description_entry">
                             <property name="visible">True</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">One or more sub-accounts contain read-only transactions which may not be deleted.</property>
-                            <property name="wrap">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="activates_default">True</property>
                           </object>
                           <packing>
-                            <property name="right_attach">2</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">2</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkHBox" id="sa_trans_mas_hbox">
+                          <object class="GtkScrolledWindow" id="scrolledwindow300">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="shadow_type">in</property>
+                            <property name="min_content_height">60</property>
                             <child>
-                              <placeholder/>
+                              <object class="GtkTextView" id="notes_text">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="wrap_mode">word</property>
+                              </object>
                             </child>
                           </object>
                           <packing>
                             <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">3</property>
-                            <property name="bottom_attach">4</property>
+                            <property name="top_attach">6</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkEventBox" id="eventbox300">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="tooltip_text" translatable="yes">Smallest fraction of this commodity that can be referenced.</property>
+                            <child>
+                              <object class="GtkComboBox" id="account_scu">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="model">fraction_liststore</property>
+                                <child>
+                                  <object class="GtkCellRendererText" id="acct_scu_renderer"/>
+                                  <attributes>
+                                    <attribute name="text">0</attribute>
+                                  </attributes>
+                                </child>
+                              </object>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">4</property>
                           </packing>
                         </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkGrid" id="grid302">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="row_spacing">6</property>
+                    <property name="column_homogeneous">True</property>
+                    <child>
+                      <object class="GtkLabel" id="type_label">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="label" translatable="yes"><b>Acco_unt Type</b></property>
+                        <property name="use_markup">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">type_view</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label8">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label">    </property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="parent_label">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="label" translatable="yes"><b>_Parent Account</b></property>
+                        <property name="use_markup">True</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkScrolledWindow" id="scrolledwindow32">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="margin_left">12</property>
+                        <property name="hscrollbar_policy">never</property>
+                        <property name="shadow_type">in</property>
+                        <child>
+                          <object class="GtkTreeView" id="type_view">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="halign">start</property>
+                            <property name="vexpand">True</property>
+                            <property name="headers_visible">False</property>
+                            <child internal-child="selection">
+                              <object class="GtkTreeSelection" id="treeview-selection1"/>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkScrolledWindow" id="parent_scroll">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="margin_left">12</property>
+                        <property name="vexpand">True</property>
+                        <property name="shadow_type">in</property>
+                        <child>
+                          <placeholder/>
+                        </child>
                       </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">1</property>
+                      </packing>
                     </child>
                   </object>
                   <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
               </object>
               <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">3</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="hbuttonbox2">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="cancelbutton">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
+                <property name="tab_expand">True</property>
               </packing>
             </child>
-            <child>
-              <object class="GtkButton" id="deletebutton">
-                <property name="label">gtk-delete</property>
+            <child type="tab">
+              <object class="GtkLabel" id="label308">
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">General</property>
+                <property name="justify">center</property>
               </object>
               <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
+                <property name="tab_fill">False</property>
               </packing>
             </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="-6">cancelbutton</action-widget>
-      <action-widget response="-3">deletebutton</action-widget>
-    </action-widgets>
-  </object>
-  <object class="GtkDialog" id="Filter By">
-    <property name="visible">True</property>
-    <property name="border_width">6</property>
-    <property name="title" translatable="yes">Filter By...</property>
-    <property name="type_hint">dialog</property>
-    <signal name="response" handler="gppat_filter_response_cb"/>
-    <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox13">
-        <property name="visible">True</property>
-        <property name="orientation">vertical</property>
-        <property name="spacing">6</property>
-        <child>
-          <object class="GtkNotebook" id="notebook1">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="border_width">6</property>
             <child>
-              <object class="GtkTable" id="table10">
+              <object class="GtkBox" id="vbox302">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="border_width">6</property>
-                <property name="n_rows">3</property>
-                <property name="n_columns">2</property>
-                <property name="column_spacing">6</property>
-                <property name="row_spacing">6</property>
-                <child>
-                  <object class="GtkTreeView" id="types_tree_view">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="headers_visible">False</property>
-                    <property name="rules_hint">True</property>
-                  </object>
-                  <packing>
-                    <property name="bottom_attach">3</property>
-                  </packing>
-                </child>
+                <property name="orientation">vertical</property>
                 <child>
-                  <object class="GtkVButtonBox" id="vbuttonbox1">
+                  <object class="GtkGrid" id="table11">
                     <property name="visible">True</property>
-                    <property name="orientation">vertical</property>
-                    <property name="layout_style">spread</property>
+                    <property name="can_focus">False</property>
+                    <property name="row_spacing">6</property>
+                    <property name="column_spacing">12</property>
+                    <child>
+                      <object class="GtkLabel" id="label8477394">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="valign">start</property>
+                        <property name="label" translatable="yes"><b>Balance Information</b></property>
+                        <property name="use_markup">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label8477433">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="label" translatable="yes"><b>Initial Balance Transfer</b></property>
+                        <property name="use_markup">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">3</property>
+                        <property name="width">2</property>
+                      </packing>
+                    </child>
                     <child>
-                      <object class="GtkButton" id="select_all">
-                        <property name="label" translatable="yes">_Select All</property>
+                      <object class="GtkBox" id="opening_balance_box">
                         <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="can_default">True</property>
-                        <property name="receives_default">False</property>
+                        <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkBox" id="opening_balance_date_box">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="balance_label">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">12</property>
+                        <property name="label" translatable="yes">_Balance:</property>
                         <property name="use_underline">True</property>
-                        <signal name="clicked" handler="gppat_filter_select_all_cb"/>
+                        <property name="justify">right</property>
                       </object>
                       <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">0</property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">1</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkButton" id="clear_all">
-                        <property name="label" translatable="yes">C_lear All</property>
+                      <object class="GtkLabel" id="date_label">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">12</property>
+                        <property name="label" translatable="yes">_Date:</property>
+                        <property name="use_underline">True</property>
+                        <property name="justify">right</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkRadioButton" id="opening_equity_radio">
+                        <property name="label" translatable="yes">_Use equity 'Opening Balances' account</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="can_default">True</property>
                         <property name="receives_default">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">12</property>
                         <property name="use_underline">True</property>
-                        <signal name="clicked" handler="gppat_filter_clear_all_cb"/>
+                        <property name="draw_indicator">True</property>
+                        <signal name="toggled" handler="opening_equity_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">1</property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">4</property>
+                        <property name="width">2</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkButton" id="default_types">
-                        <property name="label" translatable="yes">_Default</property>
+                      <object class="GtkRadioButton" id="radiobutton8">
+                        <property name="label" translatable="yes">_Select transfer account</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="can_default">True</property>
                         <property name="receives_default">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">12</property>
                         <property name="use_underline">True</property>
-                        <signal name="clicked" handler="gppat_filter_select_default_cb"/>
+                        <property name="draw_indicator">True</property>
+                        <property name="group">opening_equity_radio</property>
                       </object>
                       <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">2</property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">5</property>
+                        <property name="width">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkScrolledWindow" id="transfer_account_scroll">
+                        <property name="visible">True</property>
+                        <property name="sensitive">False</property>
+                        <property name="can_focus">False</property>
+                        <property name="margin_left">12</property>
+                        <property name="hexpand">True</property>
+                        <property name="vexpand">True</property>
+                        <property name="border_width">3</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">6</property>
+                        <property name="width">2</property>
                       </packing>
                     </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="label8477430">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">Account Type</property>
-              </object>
-              <packing>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkVBox" id="vbox129">
-                <property name="visible">True</property>
-                <property name="orientation">vertical</property>
-                <child>
-                  <object class="GtkCheckButton" id="show_hidden">
-                    <property name="label" translatable="yes">Show _hidden accounts</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="tooltip_text" translatable="yes">Show accounts which have the option "Hidden" checked.</property>
-                    <property name="use_underline">True</property>
-                    <property name="draw_indicator">True</property>
-                    <signal name="toggled" handler="gppat_filter_show_hidden_toggled_cb"/>
                   </object>
                   <packing>
                     <property name="expand">False</property>
-                    <property name="fill">False</property>
+                    <property name="fill">True</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
-                <child>
-                  <object class="GtkCheckButton" id="show_zero">
-                    <property name="label" translatable="yes">Show _zero total accounts</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="tooltip_text" translatable="yes">Show accounts which have a zero total value.</property>
-                    <property name="use_underline">True</property>
-                    <property name="draw_indicator">True</property>
-                    <signal name="toggled" handler="gppat_filter_show_zero_toggled_cb"/>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkCheckButton" id="show_unused">
-                    <property name="label" translatable="yes">Show _unused accounts</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="tooltip_text" translatable="yes">Show accounts which do not have any transactions.</property>
-                    <property name="use_underline">True</property>
-                    <property name="draw_indicator">True</property>
-                    <signal name="toggled" handler="gppat_filter_show_unused_toggled_cb"/>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
               </object>
               <packing>
                 <property name="position">1</property>
               </packing>
             </child>
             <child type="tab">
-              <object class="GtkLabel" id="Balance">
+              <object class="GtkLabel" id="label309">
                 <property name="visible">True</property>
-                <property name="label" translatable="yes">Other</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Opening Balance</property>
+                <property name="justify">center</property>
               </object>
               <packing>
                 <property name="position">1</property>
@@ -1462,21 +1432,53 @@
             </child>
           </object>
           <packing>
-            <property name="position">2</property>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
           </packing>
         </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-6">cancel_button</action-widget>
+      <action-widget response="-5">ok_button</action-widget>
+      <action-widget response="-11">help_button</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkAdjustment" id="interval_adjustment">
+    <property name="lower">1</property>
+    <property name="upper">10000</property>
+    <property name="value">10</property>
+    <property name="step_increment">5</property>
+    <property name="page_increment">100</property>
+  </object>
+  <object class="GtkDialog" id="account_renumber_dialog">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">Renumber sub-accounts</property>
+    <property name="modal">True</property>
+    <property name="type_hint">dialog</property>
+    <signal name="response" handler="gnc_account_renumber_response_cb" swapped="no"/>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="vbox400">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">6</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area13">
+          <object class="GtkButtonBox" id="dialog-action_area400">
             <property name="visible">True</property>
+            <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
-              <object class="GtkButton" id="cancelbutton1">
-                <property name="label">gtk-cancel</property>
+              <object class="GtkButton" id="cancelbutton2">
+                <property name="label" translatable="yes">_Cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -1485,13 +1487,13 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="okbutton1">
-                <property name="label">gtk-ok</property>
+              <object class="GtkButton" id="okbutton2">
+                <property name="label" translatable="yes">_Renumber</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -1502,114 +1504,86 @@
           </object>
           <packing>
             <property name="expand">False</property>
+            <property name="fill">True</property>
             <property name="pack_type">end</property>
             <property name="position">0</property>
           </packing>
         </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="-6">cancelbutton1</action-widget>
-      <action-widget response="-5">okbutton1</action-widget>
-    </action-widgets>
-  </object>
-  <object class="GtkDialog" id="Renumber Accounts">
-    <property name="visible">True</property>
-    <property name="border_width">6</property>
-    <property name="title" translatable="yes">Renumber sub-accounts</property>
-    <property name="modal">True</property>
-    <property name="type_hint">dialog</property>
-    <signal name="response" handler="gnc_account_renumber_response_cb"/>
-    <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox14">
-        <property name="visible">True</property>
-        <property name="orientation">vertical</property>
-        <property name="spacing">6</property>
         <child>
-          <object class="GtkTable" id="table12">
+          <object class="GtkGrid" id="grid400">
             <property name="visible">True</property>
-            <property name="n_rows">5</property>
-            <property name="n_columns">2</property>
-            <property name="column_spacing">12</property>
+            <property name="can_focus">False</property>
             <property name="row_spacing">6</property>
+            <property name="column_spacing">12</property>
             <child>
-              <object class="GtkLabel" id="label8477435">
+              <object class="GtkLabel" id="label402">
                 <property name="visible">True</property>
-                <property name="xalign">0</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">Prefix:</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="header_label">
                 <property name="visible">True</property>
-                <property name="xalign">0</property>
+                <property name="can_focus">False</property>
                 <property name="label">Renumber the immediate sub-accounts of xxx.</property>
                 <property name="wrap">True</property>
               </object>
               <packing>
-                <property name="right_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">2</property>
               </packing>
             </child>
             <child>
               <object class="GtkEntry" id="prefix_entry">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <signal name="changed" handler="gnc_account_renumber_prefix_changed_cb"/>
+                <signal name="changed" handler="gnc_account_renumber_prefix_changed_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
-              <object class="GtkLabel" id="label8477436">
+              <object class="GtkLabel" id="label403">
                 <property name="visible">True</property>
-                <property name="xalign">0</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">Examples:</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="example1_label">
                 <property name="visible">True</property>
-                <property name="xalign">0</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
-              <object class="GtkLabel" id="label8477438">
+              <object class="GtkLabel" id="label404">
                 <property name="visible">True</property>
-                <property name="xalign">0</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">Interval:</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
@@ -1617,30 +1591,24 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="adjustment">interval_adjustment</property>
-		<property name="value">10</property>
                 <property name="climb_rate">1</property>
-                <signal name="value_changed" handler="gnc_account_renumber_interval_changed_cb"/>
+                <property name="value">10</property>
+                <signal name="value-changed" handler="gnc_account_renumber_interval_changed_cb" swapped="no"/>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="example2_label">
                 <property name="visible">True</property>
-                <property name="xalign">0</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
               </packing>
             </child>
             <child>
@@ -1648,82 +1616,9 @@
             </child>
           </object>
           <packing>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area14">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="cancelbutton2">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="okbutton2">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <child>
-                  <object class="GtkAlignment" id="alignment19">
-                    <property name="visible">True</property>
-                    <property name="xscale">0</property>
-                    <property name="yscale">0</property>
-                    <child>
-                      <object class="GtkHBox" id="hbox1">
-                        <property name="visible">True</property>
-                        <property name="spacing">2</property>
-                        <child>
-                          <object class="GtkImage" id="image1">
-                            <property name="visible">True</property>
-                            <property name="stock">gtk-execute</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label8477439">
-                            <property name="visible">True</property>
-                            <property name="label" translatable="yes">_Renumber</property>
-                            <property name="use_underline">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
             <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
           </packing>
         </child>
       </object>
@@ -1733,11 +1628,4 @@
       <action-widget response="-5">okbutton2</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkAdjustment" id="interval_adjustment">
-    <property name="value">10</property>
-    <property name="lower">1</property>
-    <property name="upper">10000</property>
-    <property name="step-increment">5</property>
-    <property name="page-increment">100</property>
-  </object>
 </interface>
diff --git a/src/gnome/gnc-plugin-page-account-tree.c b/src/gnome/gnc-plugin-page-account-tree.c
index 3df50f1..4e07a0a 100644
--- a/src/gnome/gnc-plugin-page-account-tree.c
+++ b/src/gnome/gnc-plugin-page-account-tree.c
@@ -1297,9 +1297,9 @@ gnc_plugin_page_account_tree_cmd_delete_account (GtkAction *action, GncPluginPag
         gchar *title = NULL;
 
         builder = gtk_builder_new();
-        gnc_builder_add_from_file (builder, "dialog-account.glade", "Delete Account");
+        gnc_builder_add_from_file (builder, "dialog-account.glade", "account_delete_dialog");
 
-        dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Delete Account"));
+        dialog = GTK_WIDGET(gtk_builder_get_object (builder, "account_delete_dialog"));
         gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(window));
 
         widget = GTK_WIDGET(gtk_builder_get_object (builder, "header"));

commit 04cf3d93e2f962417509bbd9ea50dd9b26038b3d
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sat Jun 17 16:34:56 2017 +0100

    Couple of corrections to previous commit.

diff --git a/src/gnome-utils/dialog-utils.c b/src/gnome-utils/dialog-utils.c
index 0edb150..1f7ce9a 100644
--- a/src/gnome-utils/dialog-utils.c
+++ b/src/gnome-utils/dialog-utils.c
@@ -227,7 +227,7 @@ gnc_window_adjust_for_screen(GtkWindow * window)
 void
 gnc_label_set_alignment (GtkWidget *widget, gfloat xalign, gfloat yalign)
 {
-#if GTK_CHECK_VERSION(3,16,0) == 0
+#if GTK_CHECK_VERSION(3,16,0)
     gtk_label_set_xalign (GTK_LABEL (widget), xalign);
     gtk_label_set_yalign (GTK_LABEL (widget), yalign);
 #else
diff --git a/src/import-export/qif-imp/assistant-qif-import.c b/src/import-export/qif-imp/assistant-qif-import.c
index b9c6679..b776e04 100644
--- a/src/import-export/qif-imp/assistant-qif-import.c
+++ b/src/import-export/qif-imp/assistant-qif-import.c
@@ -930,7 +930,7 @@ new_security_page(SCM security_hash_key, gnc_commodity *comm, QIFImportWindow *w
     label = gtk_label_new_with_mnemonic(
                 _("_Exchange or abbreviation type:"));
     gtk_label_set_mnemonic_widget(GTK_LABEL(label), retval->namespace_combo);
-    ggnc_label_set_alignment(label, 0, 0.5);
+    gnc_label_set_alignment(label, 0, 0.5);
 
     gtk_widget_set_tooltip_text(label, namespace_tooltip);
     gtk_widget_set_tooltip_text(retval->namespace_combo, namespace_tooltip);

commit 05eb41fe8b9655772c806fcfa693c85ee14a67a9
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sat Jun 17 13:55:05 2017 +0100

    Replace gtk_misc_set_alignment with own label alignment function
    
    Replace gtk_misc_set_alignment after Gtk3+3.16 with gtk_label_set_xalign
     and yalign

diff --git a/src/business/business-gnome/business-options-gnome.c b/src/business/business-gnome/business-options-gnome.c
index 265f595..280e58e 100644
--- a/src/business/business-gnome/business-options-gnome.c
+++ b/src/business/business-gnome/business-options-gnome.c
@@ -84,7 +84,7 @@ make_name_label (char *name)
 
     colon_name = g_strconcat (name, ":", (char *)NULL);
     label = gtk_label_new (colon_name);
-    gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5);
+    gnc_label_set_alignment (label, 1.0, 0.5);
     g_free (colon_name);
 
     return label;
diff --git a/src/business/business-gnome/dialog-invoice.c b/src/business/business-gnome/dialog-invoice.c
index 9661a15..665cf10 100644
--- a/src/business/business-gnome/dialog-invoice.c
+++ b/src/business/business-gnome/dialog-invoice.c
@@ -1209,11 +1209,11 @@ add_summary_label (GtkWidget *summarybar, const char *label_str)
     gtk_box_pack_start (GTK_BOX(summarybar), hbox, FALSE, FALSE, 5);
 
     label = gtk_label_new (label_str);
-    gtk_misc_set_alignment (GTK_MISC(label), 1.0, 0.5);
+    gnc_label_set_alignment (label, 1.0, 0.5);
     gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
 
     label = gtk_label_new ("");
-    gtk_misc_set_alignment (GTK_MISC(label), 1.0, 0.5);
+    gnc_label_set_alignment (label, 1.0, 0.5);
     gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
 
     return label;
diff --git a/src/gnome-search/search-account.c b/src/gnome-search/search-account.c
index dd6a7c9..eb9532d 100644
--- a/src/gnome-search/search-account.c
+++ b/src/gnome-search/search-account.c
@@ -32,6 +32,7 @@
 #include "qof.h"
 #include "gnc-tree-view-account.h"
 #include "gnc-gui-query.h"
+#include "dialog-utils.h"
 
 #include "search-account.h"
 #include "search-core-utils.h"
@@ -306,7 +307,7 @@ gncs_get_widget (GNCSearchCoreType *fe)
     /* Build and connect the account entry window */
     desc = describe_button (fi);
     label = gtk_label_new (desc);
-    gtk_misc_set_alignment (GTK_MISC (label), 0.5, 0.5);
+    gnc_label_set_alignment (label, 0.5, 0.5);
 
     button = gtk_button_new ();
     gtk_container_add (GTK_CONTAINER (button), label);
diff --git a/src/gnome-utils/dialog-account.c b/src/gnome-utils/dialog-account.c
index a92f52b..a373433 100644
--- a/src/gnome-utils/dialog-account.c
+++ b/src/gnome-utils/dialog-account.c
@@ -663,7 +663,7 @@ verify_children_compatible (AccountWindow *aw)
     label = gtk_label_new (_("Give the children the same type?"));
     gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
     gtk_label_set_selectable (GTK_LABEL (label), TRUE);
-    gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
+    gnc_label_set_alignment (label, 0.0, 0.0);
     {
         gint size;
         PangoFontDescription *font_desc;
@@ -685,7 +685,7 @@ verify_children_compatible (AccountWindow *aw)
     g_free (str);
     gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
     gtk_label_set_selectable (GTK_LABEL (label), TRUE);
-    gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
+    gnc_label_set_alignment (label, 0.0, 0.0);
     gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
 
     /* children */
diff --git a/src/gnome-utils/dialog-options.c b/src/gnome-utils/dialog-options.c
index c42442b..cab5e48 100644
--- a/src/gnome-utils/dialog-options.c
+++ b/src/gnome-utils/dialog-options.c
@@ -1923,7 +1923,7 @@ gnc_option_set_ui_widget_string (GNCOption *option, GtkBox *page_box,
 
     colon_name = g_strconcat(name, ":", NULL);
     label = gtk_label_new(colon_name);
-    gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
+    gnc_label_set_alignment(label, 1.0, 0.5);
     g_free(colon_name);
 
     *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
@@ -1994,7 +1994,7 @@ gnc_option_set_ui_widget_currency (GNCOption *option, GtkBox *page_box,
 
     colon_name = g_strconcat(name, ":", NULL);
     label = gtk_label_new(colon_name);
-    gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
+    gnc_label_set_alignment(label, 1.0, 0.5);
     g_free(colon_name);
 
     *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
@@ -2025,7 +2025,7 @@ gnc_option_set_ui_widget_commodity (GNCOption *option, GtkBox *page_box,
 
     colon_name = g_strconcat(name, ":", NULL);
     label = gtk_label_new(colon_name);
-    gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
+    gnc_label_set_alignment(label, 1.0, 0.5);
     g_free(colon_name);
 
     *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
@@ -2063,7 +2063,7 @@ gnc_option_set_ui_widget_multichoice (GNCOption *option, GtkBox *page_box,
 
     colon_name = g_strconcat(name, ":", NULL);
     label = gtk_label_new(colon_name);
-    gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
+    gnc_label_set_alignment(label, 1.0, 0.5);
     g_free(colon_name);
 
     *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
@@ -2092,7 +2092,7 @@ gnc_option_set_ui_widget_date (GNCOption *option, GtkBox *page_box,
 
     colon_name = g_strconcat(name, ":", NULL);
     label = gtk_label_new(colon_name);
-    gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
+    gnc_label_set_alignment(label, 1.0, 0.5);
     g_free(colon_name);
 
     *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
@@ -2163,7 +2163,7 @@ gnc_option_set_ui_widget_account_sel (GNCOption *option, GtkBox *page_box,
 
     colon_name = g_strconcat(name, ":", NULL);
     label = gtk_label_new(colon_name);
-    gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
+    gnc_label_set_alignment(label, 1.0, 0.5);
     g_free(colon_name);
 
     acct_type_list = gnc_option_get_account_type_list(option);
@@ -2229,7 +2229,7 @@ gnc_option_set_ui_widget_number_range (GNCOption *option, GtkBox *page_box,
 
     colon_name = g_strconcat(name, ":", NULL);
     label = gtk_label_new(colon_name);
-    gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
+    gnc_label_set_alignment(label, 1.0, 0.5);
     g_free(colon_name);
 
     *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
@@ -2291,7 +2291,7 @@ gnc_option_set_ui_widget_color (GNCOption *option, GtkBox *page_box,
 
     colon_name = g_strconcat(name, ":", NULL);
     label = gtk_label_new(colon_name);
-    gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
+    gnc_label_set_alignment(label, 1.0, 0.5);
     g_free(colon_name);
 
     *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
@@ -2327,7 +2327,7 @@ gnc_option_set_ui_widget_font (GNCOption *option, GtkBox *page_box,
 
     colon_name = g_strconcat(name, ":", NULL);
     label = gtk_label_new(colon_name);
-    gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
+    gnc_label_set_alignment(label, 1.0, 0.5);
     g_free(colon_name);
 
     *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
@@ -2366,7 +2366,7 @@ gnc_option_set_ui_widget_pixmap (GNCOption *option, GtkBox *page_box,
     ENTER("option %p(%s), name %s", option, gnc_option_name(option), name);
     colon_name = g_strconcat(name, ":", NULL);
     label = gtk_label_new(colon_name);
-    gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
+    gnc_label_set_alignment(label, 1.0, 0.5);
     g_free(colon_name);
 
     *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
@@ -2507,7 +2507,7 @@ gnc_option_set_ui_widget_plot_size (GNCOption *option, GtkBox *page_box,
 
     colon_name = g_strconcat(name, ":", NULL);
     label = gtk_label_new(colon_name);
-    gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
+    gnc_label_set_alignment(label, 1.0, 0.5);
     g_free(colon_name);
 
     hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
@@ -2598,7 +2598,7 @@ gnc_option_set_ui_widget_budget (GNCOption *option, GtkBox *page_box,
 
     colon_name = g_strconcat(name, ":", NULL);
     label = gtk_label_new(colon_name);
-    gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
+    gnc_label_set_alignment(label, 1.0, 0.5);
     g_free(colon_name);
 
     *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
diff --git a/src/gnome-utils/dialog-preferences.c b/src/gnome-utils/dialog-preferences.c
index 8f29593..aff8740 100644
--- a/src/gnome-utils/dialog-preferences.c
+++ b/src/gnome-utils/dialog-preferences.c
@@ -545,7 +545,7 @@ gnc_preferences_build_page (gpointer data,
     if (add_in->full_page)
     {
         label = gtk_label_new(add_in->tabname);
-        gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
+        gnc_label_set_alignment(label, 0.0, 0.5);
         gtk_notebook_append_page(notebook, new_content, label);
         g_object_unref(G_OBJECT(builder));
         LEAVE("appended page");
@@ -583,7 +583,7 @@ gnc_preferences_build_page (gpointer data,
         existing_content = gtk_table_new(0, 4, FALSE);
         gtk_container_set_border_width(GTK_CONTAINER(existing_content), 6);
         label = gtk_label_new(add_in->tabname);
-        gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
+        gnc_label_set_alignment(label, 0.0, 0.5);
         gtk_notebook_append_page(notebook, existing_content, label);
         gtk_widget_show_all(existing_content);
         DEBUG("created new page %s, appended it", add_in->tabname);
diff --git a/src/gnome-utils/dialog-utils.c b/src/gnome-utils/dialog-utils.c
index f2215db..0edb150 100644
--- a/src/gnome-utils/dialog-utils.c
+++ b/src/gnome-utils/dialog-utils.c
@@ -224,6 +224,17 @@ gnc_window_adjust_for_screen(GtkWindow * window)
     gtk_widget_queue_resize(GTK_WIDGET(window));
 }
 
+void
+gnc_label_set_alignment (GtkWidget *widget, gfloat xalign, gfloat yalign)
+{
+#if GTK_CHECK_VERSION(3,16,0) == 0
+    gtk_label_set_xalign (GTK_LABEL (widget), xalign);
+    gtk_label_set_yalign (GTK_LABEL (widget), yalign);
+#else
+    gtk_misc_set_alignment (GTK_MISC (widget), xalign, yalign);
+#endif
+}
+
 gboolean
 gnc_handle_date_accelerator (GdkEventKey *event,
                              struct tm *tm,
diff --git a/src/gnome-utils/dialog-utils.h b/src/gnome-utils/dialog-utils.h
index 06e896a..4e9f77e 100644
--- a/src/gnome-utils/dialog-utils.h
+++ b/src/gnome-utils/dialog-utils.h
@@ -61,6 +61,9 @@ void gnc_save_window_size (const char *section, GtkWindow *window);
 \********************************************************************/
 void gnc_window_adjust_for_screen (GtkWindow * window);
 
+
+void gnc_label_set_alignment (GtkWidget *widget, gfloat xalign, gfloat yalign);
+
 gboolean gnc_handle_date_accelerator (GdkEventKey *event,
                                       struct tm *tm,
                                       const char *date_str);
diff --git a/src/gnome-utils/gnc-combott.c b/src/gnome-utils/gnc-combott.c
index f613eaa..d8fdb75 100644
--- a/src/gnome-utils/gnc-combott.c
+++ b/src/gnome-utils/gnc-combott.c
@@ -27,10 +27,12 @@
  * 51 Franklin Street, Fifth Floor    Fax:    +1-617-542-2652       *
  * Boston, MA  02110-1301,  USA       gnu at gnu.org                   *
 \********************************************************************/
+#include "config.h"
 #include <gtk/gtk.h>
 #include "gnc-combott.h"
 #include <strings.h>
 #include <string.h>
+#include "dialog-utils.h"
 
 enum
 {
@@ -410,7 +412,7 @@ gctt_rebuild_menu (GncCombott *combott, GtkTreeModel *model)
         /* Add the tooltip to the child label */
         label = gtk_bin_get_child(GTK_BIN(menu_items));
         gtk_widget_set_tooltip_text (label, tip_data);
-        gtk_misc_set_alignment (GTK_MISC(label), 0, 0.5);
+        gnc_label_set_alignment (label, 0, 0.5);
 
         /* ...and add it to the menu. */
         gtk_menu_shell_append (GTK_MENU_SHELL (priv->menu), menu_items);
@@ -603,7 +605,7 @@ menuitem_response_cb (GtkMenuItem *item, gpointer *user_data )
 
     /* Set the button Label */
     gtk_label_set_text(GTK_LABEL(priv->label), label_text);
-    gtk_misc_set_alignment (GTK_MISC(priv->label), 0, 0.5);
+    gnc_label_set_alignment (priv->label, 0, 0.5);
 
     /* Get the corresponding entry in the list store */
     valid = gtk_tree_model_get_iter_first (priv->model, &iter);
@@ -712,7 +714,7 @@ gnc_combott_set_active (GncCombott *combott, gint index)
                         priv->active = index + 1;
                         priv->active_iter = iter;
                         gtk_label_set_text(GTK_LABEL(priv->label), str_data);
-                        gtk_misc_set_alignment (GTK_MISC(priv->label), 0, 0.5);
+                        gnc_label_set_alignment (priv->label, 0, 0.5);
                         g_signal_emit (combott, combott_signals[CHANGED], 0);
                     }
 
diff --git a/src/gnome-utils/gnc-date-edit.c b/src/gnome-utils/gnc-date-edit.c
index ab62aeb..80c92ea 100644
--- a/src/gnome-utils/gnc-date-edit.c
+++ b/src/gnome-utils/gnc-date-edit.c
@@ -865,7 +865,7 @@ create_children (GNCDateEdit *gde)
 
     /* Calendar label, only shown if the date editor has a time field */
     gde->cal_label = gtk_label_new (_("Calendar"));
-    gtk_misc_set_alignment (GTK_MISC (gde->cal_label), 0.0, 0.5);
+    gnc_label_set_alignment (gde->cal_label, 0.0, 0.5);
     gtk_box_pack_start (GTK_BOX (hbox), gde->cal_label, TRUE, TRUE, 0);
     if (gde->flags & GNC_DATE_EDIT_SHOW_TIME)
         gtk_widget_show (GTK_WIDGET(gde->cal_label));
diff --git a/src/gnome/dialog-tax-info.c b/src/gnome/dialog-tax-info.c
index b22bd16..97a06b1 100644
--- a/src/gnome/dialog-tax-info.c
+++ b/src/gnome/dialog-tax-info.c
@@ -1151,7 +1151,7 @@ identity_edit_clicked_cb (GtkButton *button,
     if (!(g_strcmp0 (ti_dialog->tax_name, NULL) == 0))
         gtk_entry_set_text (GTK_ENTRY (name_entry), ti_dialog->tax_name);
     label = gtk_label_new (_("Name"));
-    gtk_misc_set_alignment (GTK_MISC (label), 1.00, 0.50);
+    gnc_label_set_alignment (label, 1.00, 0.50);
     alignment = gtk_alignment_new(1.00, 0.50, 1.00, 0.00);
     gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 12, 0);
     gtk_container_add (GTK_CONTAINER (alignment), label);
@@ -1190,7 +1190,7 @@ identity_edit_clicked_cb (GtkButton *button,
         gtk_combo_box_set_active (GTK_COMBO_BOX (type_combo), -1);
     }
     label = gtk_label_new (_("Type"));
-    gtk_misc_set_alignment (GTK_MISC (label), 1.00, 0.50);
+    gnc_label_set_alignment (label, 1.00, 0.50);
     alignment = gtk_alignment_new(1.00, 0.50, 1.00, 0.00);
     gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 12, 0);
     gtk_container_add (GTK_CONTAINER (alignment), label);
@@ -1201,7 +1201,7 @@ identity_edit_clicked_cb (GtkButton *button,
     gtk_table_attach_defaults (GTK_TABLE (table), alignment, 1, 2, 1, 2);
     label = gtk_label_new (_("CAUTION: If you set TXF categories, and later change 'Type', you will need to manually reset those categories one at a time"));
     gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
-    gtk_misc_set_alignment (GTK_MISC (label), 0.50, 0.50);
+    gnc_label_set_alignment (label, 0.50, 0.50);
     alignment = gtk_alignment_new(0.50, 0.50, 1.00, 0.00);
     gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 6, 6, 4, 4);
     gtk_container_add (GTK_CONTAINER (alignment), label);
diff --git a/src/gnome/gnc-plugin-page-sx-list.c b/src/gnome/gnc-plugin-page-sx-list.c
index 3219821..234a24a 100644
--- a/src/gnome/gnc-plugin-page-sx-list.c
+++ b/src/gnome/gnc-plugin-page-sx-list.c
@@ -382,7 +382,7 @@ gnc_plugin_page_sx_list_create_widget (GncPluginPage *plugin_page)
     gtk_label_set_markup (GTK_LABEL (label), markup);
     g_free (markup);
     g_free (text);
-    gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0);
+    gnc_label_set_alignment (label, 0.0, 0);
     gtk_widget_show (label);
     gtk_box_pack_start ( GTK_BOX(vbox), label, FALSE, FALSE, 0);
     gtk_widget_show (vbox);
@@ -445,7 +445,7 @@ gnc_plugin_page_sx_list_create_widget (GncPluginPage *plugin_page)
     gtk_label_set_markup (GTK_LABEL (label), markup);
     g_free (markup);
     g_free (text);
-    gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0);
+    gnc_label_set_alignment (label, 0.0, 0);
     gtk_widget_show (label);
 
     gtk_box_pack_start ( GTK_BOX(vbox), label, FALSE, FALSE, 0);
diff --git a/src/gnome/gnc-split-reg.c b/src/gnome/gnc-split-reg.c
index 411692f..e94c902 100644
--- a/src/gnome/gnc-split-reg.c
+++ b/src/gnome/gnc-split-reg.c
@@ -1004,7 +1004,7 @@ gsr_default_associate_handler_location (GNCSplitReg *gsr, Transaction *trans, gb
         label = gtk_label_new (_("Enter URL:"));
 
     // pack label and entry to content area
-    gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+    gnc_label_set_alignment (label, 0.0, 0.5);
     gtk_container_add (GTK_CONTAINER (content_area), label);
     gtk_container_add (GTK_CONTAINER (content_area), entry);
 
@@ -1991,11 +1991,11 @@ add_summary_label (GtkWidget *summarybar, const char *label_str)
     gtk_box_pack_start( GTK_BOX(summarybar), hbox, FALSE, FALSE, 5 );
 
     label = gtk_label_new( label_str );
-    gtk_misc_set_alignment( GTK_MISC(label), 1.0, 0.5 );
+    gnc_label_set_alignment(label, 1.0, 0.5 );
     gtk_box_pack_start( GTK_BOX(hbox), label, FALSE, FALSE, 0 );
 
     label = gtk_label_new( "" );
-    gtk_misc_set_alignment( GTK_MISC(label), 1.0, 0.5 );
+    gnc_label_set_alignment(label, 1.0, 0.5 );
     gtk_box_pack_start( GTK_BOX(hbox), label, FALSE, FALSE, 0 );
 
     return label;
diff --git a/src/gnome/gnc-split-reg2.c b/src/gnome/gnc-split-reg2.c
index 2c33694..f217979 100644
--- a/src/gnome/gnc-split-reg2.c
+++ b/src/gnome/gnc-split-reg2.c
@@ -775,11 +775,11 @@ add_summary_label (GtkWidget *summarybar, const char *label_str)
     gtk_box_pack_start (GTK_BOX (summarybar), hbox, FALSE, FALSE, 5);
 
     label = gtk_label_new (label_str);
-    gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5);
+    gnc_label_set_alignment (label, 1.0, 0.5);
     gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
 
     label = gtk_label_new ("");
-    gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5);
+    gnc_label_set_alignment (label, 1.0, 0.5);
     gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
 
     return label;
diff --git a/src/gnome/window-reconcile.c b/src/gnome/window-reconcile.c
index 9afb3e7..d376e36 100644
--- a/src/gnome/window-reconcile.c
+++ b/src/gnome/window-reconcile.c
@@ -1180,7 +1180,7 @@ gnc_reconcile_window_create_view_box(Account *account,
     gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
 
     label = gtk_label_new(_("Total:"));
-    gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
+    gnc_label_set_alignment(label, 1.0, 0.5);
     gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0);
 
     label = gtk_label_new("");
@@ -1847,52 +1847,52 @@ recnWindowWithBalance (GtkWidget *parent, Account *account,
 
             /* statement date title/value */
             title = gtk_label_new(_("Statement Date:"));
-            gtk_misc_set_alignment(GTK_MISC(title), 1.0, 0.5);
+            gnc_label_set_alignment(title, 1.0, 0.5);
             gtk_box_pack_start(GTK_BOX(title_vbox), title, FALSE, FALSE, 0);
 
             value = gtk_label_new("");
             recnData->recn_date = value;
-            gtk_misc_set_alignment(GTK_MISC(value), 1.0, 0.5);
+            gnc_label_set_alignment(value, 1.0, 0.5);
             gtk_box_pack_start(GTK_BOX(value_vbox), value, FALSE, FALSE, 0);
 
             /* starting balance title/value */
             title = gtk_label_new(_("Starting Balance:"));
-            gtk_misc_set_alignment(GTK_MISC(title), 1.0, 0.5);
+            gnc_label_set_alignment(title, 1.0, 0.5);
             gtk_box_pack_start(GTK_BOX(title_vbox), title, FALSE, FALSE, 3);
 
             value = gtk_label_new("");
             recnData->starting = value;
-            gtk_misc_set_alignment(GTK_MISC(value), 1.0, 0.5);
+            gnc_label_set_alignment(value, 1.0, 0.5);
             gtk_box_pack_start(GTK_BOX(value_vbox), value, FALSE, FALSE, 3);
 
             /* ending balance title/value */
             title = gtk_label_new(_("Ending Balance:"));
-            gtk_misc_set_alignment(GTK_MISC(title), 1.0, 0.5);
+            gnc_label_set_alignment(title, 1.0, 0.5);
             gtk_box_pack_start(GTK_BOX(title_vbox), title, FALSE, FALSE, 0);
 
             value = gtk_label_new("");
             recnData->ending = value;
-            gtk_misc_set_alignment(GTK_MISC(value), 1.0, 0.5);
+            gnc_label_set_alignment(value, 1.0, 0.5);
             gtk_box_pack_start(GTK_BOX(value_vbox), value, FALSE, FALSE, 0);
 
             /* reconciled balance title/value */
             title = gtk_label_new(_("Reconciled Balance:"));
-            gtk_misc_set_alignment(GTK_MISC(title), 1.0, 0.5);
+            gnc_label_set_alignment(title, 1.0, 0.5);
             gtk_box_pack_start(GTK_BOX(title_vbox), title, FALSE, FALSE, 0);
 
             value = gtk_label_new("");
             recnData->reconciled = value;
-            gtk_misc_set_alignment(GTK_MISC(value), 1.0, 0.5);
+            gnc_label_set_alignment(value, 1.0, 0.5);
             gtk_box_pack_start(GTK_BOX(value_vbox), value, FALSE, FALSE, 0);
 
             /* difference title/value */
             title = gtk_label_new(_("Difference:"));
-            gtk_misc_set_alignment(GTK_MISC(title), 1.0, 0.5);
+            gnc_label_set_alignment(title, 1.0, 0.5);
             gtk_box_pack_start(GTK_BOX(title_vbox), title, FALSE, FALSE, 0);
 
             value = gtk_label_new("");
             recnData->difference = value;
-            gtk_misc_set_alignment(GTK_MISC(value), 1.0, 0.5);
+            gnc_label_set_alignment(value, 1.0, 0.5);
             gtk_box_pack_start(GTK_BOX(value_vbox), value, FALSE, FALSE, 0);
         }
 
diff --git a/src/gnome/window-reconcile2.c b/src/gnome/window-reconcile2.c
index 7b42f5b..f713a84 100644
--- a/src/gnome/window-reconcile2.c
+++ b/src/gnome/window-reconcile2.c
@@ -1143,7 +1143,7 @@ gnc_reconcile_window_create_view_box (Account *account,
     gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
 
     label = gtk_label_new (_("Total:"));
-    gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5);
+    gnc_label_set_alignment (label, 1.0, 0.5);
     gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
 
     label = gtk_label_new("");
@@ -1807,52 +1807,52 @@ recnWindow2WithBalance (GtkWidget *parent, Account *account,
 
             /* statement date title/value */
             title = gtk_label_new (_("Statement Date:"));
-            gtk_misc_set_alignment (GTK_MISC (title), 1.0, 0.5);
+            gnc_label_set_alignment (title, 1.0, 0.5);
             gtk_box_pack_start (GTK_BOX (title_vbox), title, FALSE, FALSE, 0);
 
             value = gtk_label_new ("");
             recnData->recn_date = value;
-            gtk_misc_set_alignment (GTK_MISC (value), 1.0, 0.5);
+            gnc_label_set_alignment (value, 1.0, 0.5);
             gtk_box_pack_start (GTK_BOX (value_vbox), value, FALSE, FALSE, 0);
 
             /* starting balance title/value */
             title = gtk_label_new(_("Starting Balance:"));
-            gtk_misc_set_alignment (GTK_MISC (title), 1.0, 0.5);
+            gnc_label_set_alignment (title, 1.0, 0.5);
             gtk_box_pack_start (GTK_BOX (title_vbox), title, FALSE, FALSE, 3);
 
             value = gtk_label_new ("");
             recnData->starting = value;
-            gtk_misc_set_alignment (GTK_MISC (value), 1.0, 0.5);
+            gnc_label_set_alignment (value, 1.0, 0.5);
             gtk_box_pack_start (GTK_BOX (value_vbox), value, FALSE, FALSE, 3);
 
             /* ending balance title/value */
             title = gtk_label_new (_("Ending Balance:"));
-            gtk_misc_set_alignment (GTK_MISC (title), 1.0, 0.5);
+            gnc_label_set_alignment (title, 1.0, 0.5);
             gtk_box_pack_start (GTK_BOX (title_vbox), title, FALSE, FALSE, 0);
 
             value = gtk_label_new ("");
             recnData->ending = value;
-            gtk_misc_set_alignment (GTK_MISC (value), 1.0, 0.5);
+            gnc_label_set_alignment (value, 1.0, 0.5);
             gtk_box_pack_start (GTK_BOX (value_vbox), value, FALSE, FALSE, 0);
 
             /* reconciled balance title/value */
             title = gtk_label_new (_("Reconciled Balance:"));
-            gtk_misc_set_alignment (GTK_MISC (title), 1.0, 0.5);
+            gnc_label_set_alignment (title, 1.0, 0.5);
             gtk_box_pack_start (GTK_BOX (title_vbox), title, FALSE, FALSE, 0);
 
             value = gtk_label_new ("");
             recnData->reconciled = value;
-            gtk_misc_set_alignment (GTK_MISC (value), 1.0, 0.5);
+            gnc_label_set_alignment (value, 1.0, 0.5);
             gtk_box_pack_start (GTK_BOX (value_vbox), value, FALSE, FALSE, 0);
 
             /* difference title/value */
             title = gtk_label_new (_("Difference:"));
-            gtk_misc_set_alignment(GTK_MISC (title), 1.0, 0.5);
+            gnc_label_set_alignment (title, 1.0, 0.5);
             gtk_box_pack_start (GTK_BOX (title_vbox), title, FALSE, FALSE, 0);
 
             value = gtk_label_new ("");
             recnData->difference = value;
-            gtk_misc_set_alignment (GTK_MISC (value), 1.0, 0.5);
+            gnc_label_set_alignment (value, 1.0, 0.5);
             gtk_box_pack_start (GTK_BOX (value_vbox), value, FALSE, FALSE, 0);
         }
 
diff --git a/src/import-export/qif-imp/assistant-qif-import.c b/src/import-export/qif-imp/assistant-qif-import.c
index 9cb57bf..b9c6679 100644
--- a/src/import-export/qif-imp/assistant-qif-import.c
+++ b/src/import-export/qif-imp/assistant-qif-import.c
@@ -885,7 +885,7 @@ new_security_page(SCM security_hash_key, gnc_commodity *comm, QIFImportWindow *w
                        gnc_commodity_get_fullname(comm));
     label = gtk_label_new_with_mnemonic(_("_Name or description:"));
     gtk_label_set_mnemonic_widget(GTK_LABEL(label), retval->name_entry);
-    gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
+    gnc_label_set_alignment(label, 0, 0.5);
 
     gtk_widget_set_tooltip_text(label, name_tooltip);
     gtk_widget_set_tooltip_text(retval->name_entry, name_tooltip);
@@ -905,7 +905,7 @@ new_security_page(SCM security_hash_key, gnc_commodity *comm, QIFImportWindow *w
     label = gtk_label_new_with_mnemonic(
                 _("_Ticker symbol or other abbreviation:"));
     gtk_label_set_mnemonic_widget(GTK_LABEL(label), retval->mnemonic_entry);
-    gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
+    gnc_label_set_alignment(label, 0, 0.5);
 
     gtk_widget_set_tooltip_text(label, mnemonic_tooltip);
     gtk_widget_set_tooltip_text(retval->mnemonic_entry, mnemonic_tooltip);
@@ -930,7 +930,7 @@ new_security_page(SCM security_hash_key, gnc_commodity *comm, QIFImportWindow *w
     label = gtk_label_new_with_mnemonic(
                 _("_Exchange or abbreviation type:"));
     gtk_label_set_mnemonic_widget(GTK_LABEL(label), retval->namespace_combo);
-    gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
+    ggnc_label_set_alignment(label, 0, 0.5);
 
     gtk_widget_set_tooltip_text(label, namespace_tooltip);
     gtk_widget_set_tooltip_text(retval->namespace_combo, namespace_tooltip);

commit d724128a3d526bec6660880191947fd12568041f
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sat Jun 17 12:50:45 2017 +0100

    Replace gtk_scrolled_window_add_with_viewport
    
    Replace gtk_scrolled_window_add_with_viewport with gtk_container_add

diff --git a/src/gnome-utils/dialog-options.c b/src/gnome-utils/dialog-options.c
index e60d1bd..c42442b 100644
--- a/src/gnome-utils/dialog-options.c
+++ b/src/gnome-utils/dialog-options.c
@@ -1398,7 +1398,7 @@ gnc_options_dialog_append_page(GNCOptionWin * propertybox,
     gtk_box_set_homogeneous (GTK_BOX (options_box), FALSE);
 
     gtk_container_set_border_width(GTK_CONTAINER(options_box), 0);
-    gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(options_scrolled_win), options_box);
+    gtk_container_add (GTK_CONTAINER(options_scrolled_win), GTK_WIDGET(options_box));
     gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(options_scrolled_win), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
 
     /* Create all the options */
diff --git a/src/gnome-utils/gnc-recurrence.c b/src/gnome-utils/gnc-recurrence.c
index 64662cb..3d89f4c 100644
--- a/src/gnome-utils/gnc-recurrence.c
+++ b/src/gnome-utils/gnc-recurrence.c
@@ -562,8 +562,8 @@ gnc_recurrence_comp_init(GncRecurrenceComp *grc)
     gtk_box_pack_start(GTK_BOX(vb), GTK_WIDGET(grc->vbox),
                        FALSE, FALSE, 3);
 
-    gtk_scrolled_window_add_with_viewport(
-        GTK_SCROLLED_WINDOW(grc), GTK_WIDGET(vb));
+    gtk_container_add (GTK_CONTAINER(grc), GTK_WIDGET(vb));
+
     gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(grc),
                                    GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
 
diff --git a/src/gnome/dialog-sx-editor.c b/src/gnome/dialog-sx-editor.c
index 53719b1..5c125d2 100644
--- a/src/gnome/dialog-sx-editor.c
+++ b/src/gnome/dialog-sx-editor.c
@@ -1302,9 +1302,9 @@ schedXact_editor_create_freq_sel( GncSxEditorDialog *sxed )
     g_assert(sxed->example_cal);
     gnc_dense_cal_set_num_months( sxed->example_cal, EX_CAL_NUM_MONTHS );
     gnc_dense_cal_set_months_per_col( sxed->example_cal, EX_CAL_MO_PER_COL );
+    gtk_container_add (GTK_CONTAINER(example_cal_scrolled_win), GTK_WIDGET(sxed->example_cal));
+
 
-    gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(example_cal_scrolled_win),
-                                          GTK_WIDGET(sxed->example_cal));
     gtk_widget_show_all( example_cal_scrolled_win );
 }
 
diff --git a/src/gnome/gnc-budget-view.c b/src/gnome/gnc-budget-view.c
index 152c71b..01548f1 100644
--- a/src/gnome/gnc-budget-view.c
+++ b/src/gnome/gnc-budget-view.c
@@ -341,7 +341,7 @@ gbv_create_widget(GncBudgetView *view)
 
     inner_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
     gtk_box_set_homogeneous (GTK_BOX (inner_vbox), FALSE);
-    gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolled_window), GTK_WIDGET(inner_vbox));
+    gtk_container_add (GTK_CONTAINER(scrolled_window), GTK_WIDGET(inner_vbox));
     gtk_widget_show(GTK_WIDGET(inner_vbox));
 
     inner_scrolled_window = gtk_scrolled_window_new(NULL, NULL);
diff --git a/src/gnome/gnc-plugin-page-sx-list.c b/src/gnome/gnc-plugin-page-sx-list.c
index 69a5d0a..3219821 100644
--- a/src/gnome/gnc-plugin-page-sx-list.c
+++ b/src/gnome/gnc-plugin-page-sx-list.c
@@ -467,7 +467,7 @@ gnc_plugin_page_sx_list_create_widget (GncPluginPage *plugin_page)
         gnc_dense_cal_set_months_per_col(priv->gdcal, 4);
         gnc_dense_cal_set_num_months(priv->gdcal, 12);
 
-        gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(swin), GTK_WIDGET(priv->gdcal));
+        gtk_container_add (GTK_CONTAINER(swin), GTK_WIDGET(priv->gdcal));
     }
 
     priv->gnc_component_id = gnc_register_gui_component("plugin-page-sx-list",

commit 08660a29ff88d89581b85a9eef767cad7305d890
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sat Jun 17 12:16:54 2017 +0100

    Change dialog buttons from using GKT_STOCK_ labels
    
    Remove GTK_STOCK_... from dialog buttons as it is depreciated and
    replace with text labels.

diff --git a/src/business/business-gnome/gnc-plugin-page-owner-tree.c b/src/business/business-gnome/gnc-plugin-page-owner-tree.c
index 73757e0..1d54611 100644
--- a/src/business/business-gnome/gnc-plugin-page-owner-tree.c
+++ b/src/business/business-gnome/gnc-plugin-page-owner-tree.c
@@ -1076,8 +1076,8 @@ gnc_plugin_page_owner_tree_cmd_delete_owner (GtkAction *action, GncPluginPageOwn
                                          "%s", message);
         g_free(message);
         gtk_dialog_add_buttons(GTK_DIALOG(dialog),
-                               GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                               GTK_STOCK_DELETE, GTK_RESPONSE_ACCEPT,
+                               _("Cancel"), GTK_RESPONSE_CANCEL,
+                               _("Delete"), GTK_RESPONSE_ACCEPT,
                                (gchar *)NULL);
         gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_CANCEL);
         response = gtk_dialog_run(GTK_DIALOG(dialog));
diff --git a/src/business/business-ledger/gncEntryLedger.c b/src/business/business-ledger/gncEntryLedger.c
index f2f28b2..1c6243e 100644
--- a/src/business/business-ledger/gncEntryLedger.c
+++ b/src/business/business-ledger/gncEntryLedger.c
@@ -915,7 +915,7 @@ gnc_entry_ledger_duplicate_current_entry (GncEntryLedger *ledger)
         gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),
                 "%s", message);
         gtk_dialog_add_buttons(GTK_DIALOG(dialog),
-                               GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                               _("Cancel"), GTK_RESPONSE_CANCEL,
                                _("_Record"), GTK_RESPONSE_ACCEPT,
                                NULL);
         response = gnc_dialog_run(GTK_DIALOG(dialog), GNC_PREF_WARN_INV_ENTRY_DUP);
diff --git a/src/business/business-ledger/gncEntryLedgerControl.c b/src/business/business-ledger/gncEntryLedgerControl.c
index 7233fed..a948de5 100644
--- a/src/business/business-ledger/gncEntryLedgerControl.c
+++ b/src/business/business-ledger/gncEntryLedgerControl.c
@@ -896,7 +896,7 @@ static gboolean gnc_entry_ledger_traverse (VirtualLocation *p_new_virt_loc,
                         "%s", message);
                 gtk_dialog_add_buttons(GTK_DIALOG(dialog),
                                        _("_Don't Record"), GTK_RESPONSE_REJECT,
-                                       GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                                       _("Cancel"), GTK_RESPONSE_CANCEL,
                                        _("_Record"), GTK_RESPONSE_ACCEPT,
                                        NULL);
                 response = gnc_dialog_run(GTK_DIALOG(dialog), GNC_PREF_WARN_INV_ENTRY_MOD);
diff --git a/src/gnome-search/dialog-search.c b/src/gnome-search/dialog-search.c
index e0e59c5..2bab990 100644
--- a/src/gnome-search/dialog-search.c
+++ b/src/gnome-search/dialog-search.c
@@ -723,7 +723,7 @@ attach_element (GtkWidget *element, GNCSearchWindow *sw, int row)
                       GTK_EXPAND | GTK_FILL, 0, 0, 0);
 
 
-    remove = gtk_button_new_from_stock (GTK_STOCK_REMOVE);
+    remove = gtk_button_new_with_label (_("Remove"));
     g_object_set_data (G_OBJECT (remove), "element", element);
     g_signal_connect (G_OBJECT (remove), "clicked", G_CALLBACK (remove_element), sw);
     gtk_table_attach (GTK_TABLE (sw->criteria_table), remove, 1, 2, row, row + 1,
@@ -1135,7 +1135,7 @@ gnc_search_dialog_init_widgets (GNCSearchWindow *sw, const gchar *title)
     gtk_label_set_text (GTK_LABEL (label), type_label);
 
     /* Set the 'add criterion' button */
-    add = gtk_button_new_from_stock (GTK_STOCK_ADD);
+    add = gtk_button_new_with_label (_("Add"));
 
     g_signal_connect (G_OBJECT (add), "clicked", G_CALLBACK (add_criterion), sw);
     box = GTK_WIDGET(gtk_builder_get_object (builder, "add_button_box"));
diff --git a/src/gnome-search/search-account.c b/src/gnome-search/search-account.c
index 9ec6579..dd6a7c9 100644
--- a/src/gnome-search/search-account.c
+++ b/src/gnome-search/search-account.c
@@ -258,8 +258,8 @@ button_clicked (GtkButton *button, GNCSearchAccount *fi)
         GTK_DIALOG(gtk_dialog_new_with_buttons(_("Select the Accounts to Compare"),
                    NULL,
                    0,
-                   GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                   GTK_STOCK_OK, GTK_RESPONSE_OK,
+                   _("Cancel"), GTK_RESPONSE_CANCEL,
+                   _("OK"), GTK_RESPONSE_OK,
                    NULL));
 
     /* Put the dialog together */
diff --git a/src/gnome-utils/dialog-account.c b/src/gnome-utils/dialog-account.c
index f821474..a92f52b 100644
--- a/src/gnome-utils/dialog-account.c
+++ b/src/gnome-utils/dialog-account.c
@@ -643,8 +643,8 @@ verify_children_compatible (AccountWindow *aw)
                                           GTK_WINDOW(aw->dialog),
                                           GTK_DIALOG_DESTROY_WITH_PARENT |
                                           GTK_DIALOG_MODAL,
-                                          GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                          GTK_STOCK_OK, GTK_RESPONSE_OK,
+                                          _("Cancel"), GTK_RESPONSE_CANCEL,
+                                          _("OK"), GTK_RESPONSE_OK,
                                           NULL);
 
     gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dialog), TRUE);
diff --git a/src/gnome-utils/gnc-file.c b/src/gnome-utils/gnc-file.c
index 881fe11..fc6b5b6 100644
--- a/src/gnome-utils/gnc-file.c
+++ b/src/gnome-utils/gnc-file.c
@@ -84,7 +84,7 @@ gnc_file_dialog (const char * title,
     GtkWidget *file_box;
     const char *internal_name;
     char *file_name = NULL;
-    gchar * okbutton = GTK_STOCK_OPEN;
+    gchar * okbutton = _("Open");
     const gchar *ok_icon = NULL;
     GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_OPEN;
     gint response;
@@ -95,7 +95,7 @@ gnc_file_dialog (const char * title,
     {
     case GNC_FILE_DIALOG_OPEN:
         action = GTK_FILE_CHOOSER_ACTION_OPEN;
-        okbutton = GTK_STOCK_OPEN;
+        okbutton = _("Open");
         if (title == NULL)
             title = _("Open");
         break;
@@ -107,7 +107,7 @@ gnc_file_dialog (const char * title,
         break;
     case GNC_FILE_DIALOG_SAVE:
         action = GTK_FILE_CHOOSER_ACTION_SAVE;
-        okbutton = GTK_STOCK_SAVE;
+        okbutton = _("Save");
         if (title == NULL)
             title = _("Save");
         break;
@@ -125,7 +125,7 @@ gnc_file_dialog (const char * title,
                    title,
                    NULL,
                    action,
-                   GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                   _("Cancel"), GTK_RESPONSE_CANCEL,
                    NULL);
     if (ok_icon)
         gnc_gtk_dialog_add_button(file_box, okbutton, ok_icon, GTK_RESPONSE_ACCEPT);
@@ -270,7 +270,7 @@ show_session_error (QofBackendError io_error,
         {
         case GNC_FILE_DIALOG_OPEN:
         default:
-            label = GTK_STOCK_OPEN;
+            label = _("Open");
             fmt = _("GnuCash could not obtain the lock for %s. "
                     "That database may be in use by another user, "
                     "in which case you should not open the database. "
@@ -286,7 +286,7 @@ show_session_error (QofBackendError io_error,
             break;
 
         case GNC_FILE_DIALOG_SAVE:
-            label = GTK_STOCK_SAVE;
+            label = _("Save");
             fmt = _("GnuCash could not obtain the lock for %s. "
                     "That database may be in use by another user, "
                     "in which case you should not save the database. "
@@ -309,7 +309,7 @@ show_session_error (QofBackendError io_error,
                                         fmt,
                                         displayname);
         gtk_dialog_add_buttons(GTK_DIALOG(dialog),
-                               GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                               _("Cancel"), GTK_RESPONSE_CANCEL,
                                label, GTK_RESPONSE_YES,
                                NULL);
         if (parent == NULL)
@@ -607,9 +607,9 @@ gnc_file_query_save (gboolean can_cancel)
 
         if (can_cancel)
             gtk_dialog_add_button(GTK_DIALOG(dialog),
-                                  GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
+                                  _("Cancel"), GTK_RESPONSE_CANCEL);
         gtk_dialog_add_button(GTK_DIALOG(dialog),
-                              GTK_STOCK_SAVE, GTK_RESPONSE_YES);
+                              _("Save"), GTK_RESPONSE_YES);
 
         gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_YES);
 
@@ -791,14 +791,14 @@ RESTART:
         gtk_window_set_skip_taskbar_hint(GTK_WINDOW(dialog), FALSE);
 
         gnc_gtk_dialog_add_button(dialog, _("_Open Read-Only"),
-                                  GTK_STOCK_REVERT_TO_SAVED, RESPONSE_READONLY);
+                                  _("Revert"), RESPONSE_READONLY);
         gnc_gtk_dialog_add_button(dialog, _("_Create New File"),
-                                  GTK_STOCK_NEW, RESPONSE_NEW);
+                                  _("New"), RESPONSE_NEW);
         gnc_gtk_dialog_add_button(dialog, _("Open _Anyway"),
-                                  GTK_STOCK_OPEN, RESPONSE_OPEN);
+                                  _("Open"), RESPONSE_OPEN);
         if (shutdown_cb)
             gtk_dialog_add_button(GTK_DIALOG(dialog),
-                                  GTK_STOCK_QUIT, RESPONSE_QUIT);
+                                  _("Quit"), RESPONSE_QUIT);
         rc = gtk_dialog_run(GTK_DIALOG(dialog));
         gtk_widget_destroy(dialog);
         g_free (displayname);
diff --git a/src/gnome-utils/gnc-gui-query.c b/src/gnome-utils/gnc-gui-query.c
index 6f7aa69..5d67a35 100644
--- a/src/gnome-utils/gnc-gui-query.c
+++ b/src/gnome-utils/gnc-gui-query.c
@@ -342,10 +342,10 @@ gnc_choose_radio_option_dialog(GtkWidget *parent,
     }
 
     if (!button_name)
-        button_name = GTK_STOCK_OK;
+        button_name = _("OK");
     dialog = gtk_dialog_new_with_buttons (title, GTK_WINDOW(parent),
                                           GTK_DIALOG_DESTROY_WITH_PARENT,
-                                          GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                                          _("Cancel"), GTK_RESPONSE_CANCEL,
                                           button_name, GTK_RESPONSE_OK,
                                           NULL);
 
diff --git a/src/gnome-utils/gnc-main-window.c b/src/gnome-utils/gnc-main-window.c
index 7c4ce69..d924646 100644
--- a/src/gnome-utils/gnc-main-window.c
+++ b/src/gnome-utils/gnc-main-window.c
@@ -1256,8 +1256,8 @@ gnc_main_window_prompt_for_save (GtkWidget *window)
     }
     gtk_dialog_add_buttons(GTK_DIALOG(dialog),
                            _("Close _Without Saving"), GTK_RESPONSE_CLOSE,
-                           GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                           GTK_STOCK_SAVE, GTK_RESPONSE_APPLY,
+                           _("Cancel"), GTK_RESPONSE_CANCEL,
+                           _("Save"), GTK_RESPONSE_APPLY,
                            NULL);
     gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_APPLY);
 
diff --git a/src/gnome-utils/gnc-recurrence.c b/src/gnome-utils/gnc-recurrence.c
index 08546d9..64662cb 100644
--- a/src/gnome-utils/gnc-recurrence.c
+++ b/src/gnome-utils/gnc-recurrence.c
@@ -23,9 +23,11 @@
  * 51 Franklin Street, Fifth Floor    Fax:    +1-617-542-2652       *
  * Boston, MA  02110-1301,  USA       gnu at gnu.org                   *
  *******************************************************************/
+#include "config.h"
 
 #include <gtk/gtk.h>
-#include "config.h"
+#include <glib/gi18n.h>
+
 #include "dialog-utils.h"
 #include "gnc-recurrence.h"
 #include "gnc-date-edit.h"
@@ -541,10 +543,10 @@ gnc_recurrence_comp_init(GncRecurrenceComp *grc)
     gtk_box_set_homogeneous (GTK_BOX (grc->vbox), FALSE);
     grc->rlist = NULL;
 
-    grc->buttAdd = GTK_BUTTON(gtk_button_new_from_stock(GTK_STOCK_ADD));
+    grc->buttAdd = GTK_BUTTON(gtk_button_new_with_label(_("Add")));
     g_signal_connect(G_OBJECT(grc->buttAdd), "clicked",
                      G_CALLBACK(addClicked), grc);
-    grc->buttRemove = GTK_BUTTON(gtk_button_new_from_stock(GTK_STOCK_REMOVE));
+    grc->buttRemove = GTK_BUTTON(gtk_button_new_with_label(_("Remove")));
     g_signal_connect(G_OBJECT(grc->buttRemove), "clicked",
                      G_CALLBACK(removeClicked), grc);
 
diff --git a/src/gnome-utils/gnc-tree-control-split-reg.c b/src/gnome-utils/gnc-tree-control-split-reg.c
index fa9b74c..25eda87 100644
--- a/src/gnome-utils/gnc-tree-control-split-reg.c
+++ b/src/gnome-utils/gnc-tree-control-split-reg.c
@@ -884,9 +884,9 @@ gnc_tree_control_split_reg_reinit (GncTreeViewSplitReg *view, gpointer data)
     }
 
     gtk_dialog_add_button (GTK_DIALOG (dialog),
-                          GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
+                          _("Cancel"), GTK_RESPONSE_CANCEL);
     gnc_gtk_dialog_add_button(dialog, _("_Remove Splits"),
-                              GTK_STOCK_DELETE, GTK_RESPONSE_ACCEPT);
+                              _("Delete"), GTK_RESPONSE_ACCEPT);
     response = gnc_dialog_run (GTK_DIALOG(dialog), warning);
     gtk_widget_destroy (dialog);
     if (response != GTK_RESPONSE_ACCEPT)
@@ -1021,9 +1021,9 @@ gnc_tree_control_split_reg_delete (GncTreeViewSplitReg *view, gpointer data)
         }
 
         gtk_dialog_add_button (GTK_DIALOG (dialog),
-                              GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
+                              _("Cancel"), GTK_RESPONSE_CANCEL);
         gnc_gtk_dialog_add_button (dialog, _("_Delete Split"),
-                                  GTK_STOCK_DELETE, GTK_RESPONSE_ACCEPT);
+                                  _("Delete"), GTK_RESPONSE_ACCEPT);
         response = gnc_dialog_run (GTK_DIALOG (dialog), warning);
         gtk_widget_destroy (dialog);
         if (response != GTK_RESPONSE_ACCEPT)
@@ -1061,9 +1061,9 @@ gnc_tree_control_split_reg_delete (GncTreeViewSplitReg *view, gpointer data)
             warning = GNC_PREF_WARN_REG_TRANS_DEL;
         }
         gtk_dialog_add_button (GTK_DIALOG (dialog),
-                              GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
+                              _("Cancel"), GTK_RESPONSE_CANCEL);
         gnc_gtk_dialog_add_button (dialog, _("_Delete Transaction"),
-                                  GTK_STOCK_DELETE, GTK_RESPONSE_ACCEPT);
+                                  _("Delete"), GTK_RESPONSE_ACCEPT);
         response =  gnc_dialog_run (GTK_DIALOG (dialog), warning);
         gtk_widget_destroy (dialog);
         if (response != GTK_RESPONSE_ACCEPT)
diff --git a/src/gnome-utils/gnc-tree-view-split-reg.c b/src/gnome-utils/gnc-tree-view-split-reg.c
index 9892247..b833372 100644
--- a/src/gnome-utils/gnc-tree-view-split-reg.c
+++ b/src/gnome-utils/gnc-tree-view-split-reg.c
@@ -2451,7 +2451,7 @@ gtv_sr_transaction_changed_confirm (GncTreeViewSplitReg *view,
                                              "%s", message);
 
     gtk_dialog_add_buttons (GTK_DIALOG(dialog),_("_Discard Changes"), GTK_RESPONSE_REJECT,
-                            GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                            _("Cancel"), GTK_RESPONSE_CANCEL,
                             _("_Record Changes"), GTK_RESPONSE_ACCEPT, NULL);
 
     response = gnc_dialog_run (GTK_DIALOG (dialog), GNC_PREF_WARN_REG_TRANS_MOD);
diff --git a/src/gnome/dialog-commodities.c b/src/gnome/dialog-commodities.c
index 1a0e385..cf022aa 100644
--- a/src/gnome/dialog-commodities.c
+++ b/src/gnome/dialog-commodities.c
@@ -187,8 +187,8 @@ remove_clicked (CommoditiesDialog *cd)
     gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),
             "%s", message);
     gtk_dialog_add_buttons(GTK_DIALOG(dialog),
-                           GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                           GTK_STOCK_DELETE, GTK_RESPONSE_OK,
+                           _("Cancel"), GTK_RESPONSE_CANCEL,
+                           _("Delete"), GTK_RESPONSE_OK,
                            (gchar *)NULL);
     response = gnc_dialog_run(GTK_DIALOG(dialog), warning);
     gtk_widget_destroy(dialog);
diff --git a/src/gnome/dialog-price-edit-db.c b/src/gnome/dialog-price-edit-db.c
index c79504b..5314cb8 100644
--- a/src/gnome/dialog-price-edit-db.c
+++ b/src/gnome/dialog-price-edit-db.c
@@ -195,8 +195,8 @@ gnc_prices_dialog_remove_clicked (GtkWidget *widget, gpointer data)
                 "%s", message);
         g_free(message);
         gtk_dialog_add_buttons(GTK_DIALOG(dialog),
-                               GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                               GTK_STOCK_DELETE, GTK_RESPONSE_YES,
+                               _("Cancel"), GTK_RESPONSE_CANCEL,
+                               _("Delete"), GTK_RESPONSE_YES,
                                (gchar *)NULL);
         gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_YES);
         response = gnc_dialog_run(GTK_DIALOG(dialog), GNC_PREF_WARN_PRICE_QUOTES_DEL);
diff --git a/src/gnome/dialog-tax-info.c b/src/gnome/dialog-tax-info.c
index e3bc4d5..b22bd16 100644
--- a/src/gnome/dialog-tax-info.c
+++ b/src/gnome/dialog-tax-info.c
@@ -1139,9 +1139,9 @@ identity_edit_clicked_cb (GtkButton *button,
                                           (GtkWindow *)ti_dialog->dialog,
                                           GTK_DIALOG_MODAL |
                                           GTK_DIALOG_DESTROY_WITH_PARENT,
-                                          GTK_STOCK_CANCEL,
+                                          _("Cancel"),
                                           GTK_RESPONSE_CANCEL,
-                                          GTK_STOCK_APPLY,
+                                          _("Apply"),
                                           GTK_RESPONSE_APPLY,
                                           NULL);
 
diff --git a/src/gnome/gnc-plugin-budget.c b/src/gnome/gnc-plugin-budget.c
index 049ee4a..9441e57 100644
--- a/src/gnome/gnc-plugin-budget.c
+++ b/src/gnome/gnc-plugin-budget.c
@@ -285,8 +285,8 @@ gnc_budget_gui_select_budget(QofBook *book)
 
     dlg = GTK_DIALOG(gtk_dialog_new_with_buttons(
                          _("Select a Budget"), NULL, GTK_DIALOG_MODAL,
-                         GTK_STOCK_OK, GTK_RESPONSE_OK,
-                         GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL));
+                         _("OK"), GTK_RESPONSE_OK,
+                         _("Cancel"), GTK_RESPONSE_CANCEL, NULL));
 
     tv = GTK_TREE_VIEW(gtk_tree_view_new());
     sel = gtk_tree_view_get_selection(tv);
diff --git a/src/gnome/gnc-plugin-page-account-tree.c b/src/gnome/gnc-plugin-page-account-tree.c
index 35bf0c5..3df50f1 100644
--- a/src/gnome/gnc-plugin-page-account-tree.c
+++ b/src/gnome/gnc-plugin-page-account-tree.c
@@ -1493,8 +1493,8 @@ gnc_plugin_page_account_tree_cmd_delete_account (GtkAction *action, GncPluginPag
                                          "%s", message);
         g_free(message);
         gtk_dialog_add_buttons(GTK_DIALOG(dialog),
-                               GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                               GTK_STOCK_DELETE, GTK_RESPONSE_ACCEPT,
+                               _("Cancel"), GTK_RESPONSE_CANCEL,
+                               _("Delete"), GTK_RESPONSE_ACCEPT,
                                (gchar *)NULL);
         gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_CANCEL);
         response = gtk_dialog_run(GTK_DIALOG(dialog));
diff --git a/src/gnome/gnc-plugin-page-register.c b/src/gnome/gnc-plugin-page-register.c
index fb84fb9..dcb069a 100644
--- a/src/gnome/gnc-plugin-page-register.c
+++ b/src/gnome/gnc-plugin-page-register.c
@@ -1569,11 +1569,11 @@ gnc_plugin_page_register_finish_pending (GncPluginPage *page)
        "Would you like to save the changes to this transaction, "
        "discard the transaction, or cancel the operation?"));
     gnc_gtk_dialog_add_button(dialog, _("_Discard Transaction"),
-                              GTK_STOCK_DELETE, GTK_RESPONSE_REJECT);
+                              _("Delete"), GTK_RESPONSE_REJECT);
     gtk_dialog_add_button(GTK_DIALOG(dialog),
-                          GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
+                          _("Cancel"), GTK_RESPONSE_CANCEL);
     gnc_gtk_dialog_add_button(dialog, _("_Save Transaction"),
-                              GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT);
+                              _("Save"), GTK_RESPONSE_ACCEPT);
 
     response = gtk_dialog_run(GTK_DIALOG(dialog));
     gtk_widget_destroy(dialog);
diff --git a/src/gnome/gnc-plugin-page-register2.c b/src/gnome/gnc-plugin-page-register2.c
index 8e0de48..e948981 100644
--- a/src/gnome/gnc-plugin-page-register2.c
+++ b/src/gnome/gnc-plugin-page-register2.c
@@ -1626,11 +1626,11 @@ gnc_plugin_page_register2_finish_pending (GncPluginPage *page) //this works
        "Would you like to save the changes to this transaction, "
        "discard the transaction, or cancel the operation?"));
     gnc_gtk_dialog_add_button (dialog, _("_Discard Transaction"),
-                              GTK_STOCK_DELETE, GTK_RESPONSE_REJECT);
+                              _("Delete"), GTK_RESPONSE_REJECT);
     gtk_dialog_add_button (GTK_DIALOG (dialog),
-                          GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
+                          _("Cancel"), GTK_RESPONSE_CANCEL);
     gnc_gtk_dialog_add_button (dialog, _("_Save Transaction"),
-                              GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT);
+                              _("Save"), GTK_RESPONSE_ACCEPT);
 
     response = gtk_dialog_run (GTK_DIALOG (dialog));
     gtk_widget_destroy (dialog);
diff --git a/src/gnome/gnc-split-reg.c b/src/gnome/gnc-split-reg.c
index 43104f5..411692f 100644
--- a/src/gnome/gnc-split-reg.c
+++ b/src/gnome/gnc-split-reg.c
@@ -870,9 +870,9 @@ gsr_default_reinit_handler( GNCSplitReg *gsr, gpointer data )
     }
 
     gtk_dialog_add_button(GTK_DIALOG(dialog),
-                          GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
+                          _("Cancel"), GTK_RESPONSE_CANCEL);
     gnc_gtk_dialog_add_button(dialog, _("_Remove Splits"),
-                              GTK_STOCK_DELETE, GTK_RESPONSE_ACCEPT);
+                              _("Delete"), GTK_RESPONSE_ACCEPT);
     response = gnc_dialog_run(GTK_DIALOG(dialog), warning);
     gtk_widget_destroy (dialog);
     if (response != GTK_RESPONSE_ACCEPT)
@@ -911,9 +911,9 @@ gsr_default_associate_handler_file (GNCSplitReg *gsr, Transaction *trans, gboole
     dialog = gtk_file_chooser_dialog_new (_("Associate File with Transaction"),
                                      GTK_WINDOW(gsr->window),
                                      GTK_FILE_CHOOSER_ACTION_OPEN,
-                                     GTK_STOCK_REMOVE, GTK_RESPONSE_REJECT,
-                                     GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                     GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
+                                     _("Remove"), GTK_RESPONSE_REJECT,
+                                     _("Cancel"), GTK_RESPONSE_CANCEL,
+                                     _("OK"), GTK_RESPONSE_ACCEPT,
                                      NULL);
 
     gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER(dialog), FALSE);
@@ -982,9 +982,9 @@ gsr_default_associate_handler_location (GNCSplitReg *gsr, Transaction *trans, gb
     dialog = gtk_dialog_new_with_buttons (_("Associate Location with Transaction"),
                                      GTK_WINDOW(gsr->window),
                                      GTK_DIALOG_MODAL,
-                                     GTK_STOCK_REMOVE, GTK_RESPONSE_REJECT,
-                                     GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                     GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
+                                     _("Remove"), GTK_RESPONSE_REJECT,
+                                     _("Cancel"), GTK_RESPONSE_CANCEL,
+                                     _("OK"), GTK_RESPONSE_ACCEPT,
                                      NULL);
 
     content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
@@ -1251,9 +1251,9 @@ gsr_default_delete_handler( GNCSplitReg *gsr, gpointer data )
         }
 
         gtk_dialog_add_button(GTK_DIALOG(dialog),
-                              GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
+                              _("Cancel"), GTK_RESPONSE_CANCEL);
         gnc_gtk_dialog_add_button(dialog, _("_Delete Split"),
-                                  GTK_STOCK_DELETE, GTK_RESPONSE_ACCEPT);
+                                  _("Delete"), GTK_RESPONSE_ACCEPT);
         response = gnc_dialog_run(GTK_DIALOG(dialog), warning);
         gtk_widget_destroy (dialog);
         if (response != GTK_RESPONSE_ACCEPT)
@@ -1291,9 +1291,9 @@ gsr_default_delete_handler( GNCSplitReg *gsr, gpointer data )
             warning = GNC_PREF_WARN_REG_TRANS_DEL;
         }
         gtk_dialog_add_button(GTK_DIALOG(dialog),
-                              GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
+                              _("Cancel"), GTK_RESPONSE_CANCEL);
         gnc_gtk_dialog_add_button(dialog, _("_Delete Transaction"),
-                                  GTK_STOCK_DELETE, GTK_RESPONSE_ACCEPT);
+                                  _("Delete"), GTK_RESPONSE_ACCEPT);
         response =  gnc_dialog_run(GTK_DIALOG(dialog), warning);
         gtk_widget_destroy (dialog);
         if (response != GTK_RESPONSE_ACCEPT)
diff --git a/src/import-export/csv-exp/assistant-csv-export.c b/src/import-export/csv-exp/assistant-csv-export.c
index 89f07a6..58a56d7 100644
--- a/src/import-export/csv-exp/assistant-csv-export.c
+++ b/src/import-export/csv-exp/assistant-csv-export.c
@@ -918,7 +918,7 @@ csv_export_assistant_create (CsvExportInfo *info)
     /* File chooser Page */
     info->file_page = GTK_WIDGET(gtk_builder_get_object(builder, "file_page"));
     info->file_chooser = gtk_file_chooser_widget_new (GTK_FILE_CHOOSER_ACTION_SAVE);
-    button = gtk_button_new_from_stock (GTK_STOCK_OK);
+    button = gtk_button_new_with_label (_("OK"));
     gtk_widget_set_size_request (button, 100, -1);
     gtk_widget_show (button);
     h_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
diff --git a/src/import-export/csv-imp/assistant-csv-account-import.c b/src/import-export/csv-imp/assistant-csv-account-import.c
index 0a0ee46..28f745f 100644
--- a/src/import-export/csv-imp/assistant-csv-account-import.c
+++ b/src/import-export/csv-imp/assistant-csv-account-import.c
@@ -327,8 +327,8 @@ gnc_input_dialog (GtkWidget *parent, const gchar *title, const gchar *msg, const
     /* Create the widgets */
     dialog = gtk_dialog_new_with_buttons (title, GTK_WINDOW(parent),
                                           GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
-                                          GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
-                                          GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT,
+                                          _("OK"), GTK_RESPONSE_ACCEPT,
+                                          _("Cancel"), GTK_RESPONSE_REJECT,
                                           NULL);
 
     content_area = gtk_dialog_get_content_area (GTK_DIALOG(dialog));
@@ -607,7 +607,7 @@ csv_import_assistant_create (CsvImportInfo *info)
     info->file_chooser = gtk_file_chooser_widget_new (GTK_FILE_CHOOSER_ACTION_OPEN);
     g_signal_connect (G_OBJECT(info->file_chooser), "file-activated",
                       G_CALLBACK(csv_import_file_chooser_confirm_cb), info);
-    button = gtk_button_new_from_stock (GTK_STOCK_OK);
+    button = gtk_button_new_with_label (_("OK"));
     gtk_widget_set_size_request (button, 100, -1);
     gtk_widget_show (button);
     h_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
diff --git a/src/plugins/bi_import/dialog-bi-import-gui.c b/src/plugins/bi_import/dialog-bi-import-gui.c
index d7fca75..07e2140 100644
--- a/src/plugins/bi_import/dialog-bi-import-gui.c
+++ b/src/plugins/bi_import/dialog-bi-import-gui.c
@@ -401,8 +401,8 @@ gnc_input_dialog (GtkWidget *parent, const gchar *title, const gchar *msg, const
     /* Create the widgets */
     dialog = gtk_dialog_new_with_buttons (title, GTK_WINDOW (parent),
                                           GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
-                                          GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
-                                          GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT,
+                                          _("OK"), GTK_RESPONSE_ACCEPT,
+                                          _("Cancel"), GTK_RESPONSE_REJECT,
                                           NULL);
     content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
 
@@ -459,7 +459,7 @@ gnc_info2_dialog (GtkWidget *parent, const gchar *title, const gchar *msg)
     /* Create the widgets */
     dialog = gtk_dialog_new_with_buttons (title, GTK_WINDOW (parent),
                                           GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
-                                          GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
+                                          _("OK"), GTK_RESPONSE_ACCEPT,
                                           NULL);
     content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
 
diff --git a/src/plugins/customer_import/dialog-customer-import-gui.c b/src/plugins/customer_import/dialog-customer-import-gui.c
index 15d9ef3..d2e0fb7 100644
--- a/src/plugins/customer_import/dialog-customer-import-gui.c
+++ b/src/plugins/customer_import/dialog-customer-import-gui.c
@@ -376,8 +376,8 @@ gnc_input_dialog (GtkWidget *parent, const gchar *title, const gchar *msg, const
     /* Create the widgets */
     dialog = gtk_dialog_new_with_buttons (title, GTK_WINDOW (parent),
                                           GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
-                                          GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
-                                          GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT,
+                                          _("OK"), GTK_RESPONSE_ACCEPT,
+                                          _("Cancel"), GTK_RESPONSE_REJECT,
                                           NULL);
     content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
 
@@ -433,7 +433,7 @@ gnc_info2_dialog (GtkWidget *parent, const gchar *title, const gchar *msg)
     /* Create the widgets */
     dialog = gtk_dialog_new_with_buttons (title, GTK_WINDOW (parent),
                                           GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
-                                          GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
+                                          _("OK"), GTK_RESPONSE_ACCEPT,
                                           NULL);
     content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
 
diff --git a/src/register/ledger-core/split-register-control.c b/src/register/ledger-core/split-register-control.c
index 493a67a..a9efcdd 100644
--- a/src/register/ledger-core/split-register-control.c
+++ b/src/register/ledger-core/split-register-control.c
@@ -1551,7 +1551,7 @@ transaction_changed_confirm(VirtualLocation *p_new_virt_loc,
             "%s", message);
     gtk_dialog_add_buttons(GTK_DIALOG(dialog),
                            _("_Discard Changes"), GTK_RESPONSE_REJECT,
-                           GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                           _("Cancel"), GTK_RESPONSE_CANCEL,
                            _("_Record Changes"), GTK_RESPONSE_ACCEPT,
                            NULL);
     response = gnc_dialog_run(GTK_DIALOG(dialog), GNC_PREF_WARN_REG_TRANS_MOD);

commit ade9f71b9d9d7db336073e21b1d71754ed7c77c8
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sat Jun 17 11:55:08 2017 +0100

    Remove depreciated gtk_button_set_use_stock

diff --git a/src/gnome-utils/dialog-file-access.c b/src/gnome-utils/dialog-file-access.c
index c4f3639..f79fd28 100644
--- a/src/gnome-utils/dialog-file-access.c
+++ b/src/gnome-utils/dialog-file-access.c
@@ -319,10 +319,7 @@ gnc_ui_file_access( int type )
 
     op = GTK_BUTTON(gtk_builder_get_object (builder, "pb_op" ));
     if ( op != NULL )
-    {
         gtk_button_set_label( op, button_label );
-        gtk_button_set_use_stock( op, TRUE );
-    }
 
     file_chooser = GTK_WIDGET(gtk_builder_get_object (builder, "file_chooser" ));
     fileChooser = GTK_FILE_CHOOSER_WIDGET(gtk_file_chooser_widget_new( fileChooserAction ));
diff --git a/src/import-export/import-account-matcher.c b/src/import-export/import-account-matcher.c
index 75458bd..a9461a8 100644
--- a/src/import-export/import-account-matcher.c
+++ b/src/import-export/import-account-matcher.c
@@ -310,7 +310,6 @@ Account * gnc_import_select_account(GtkWidget *parent,
         picker->account_tree_sw = GTK_WIDGET(gtk_builder_get_object (builder, "account_tree_sw"));
         online_id_label = GTK_WIDGET(gtk_builder_get_object (builder, "online_id_label"));
         button = GTK_WIDGET(gtk_builder_get_object (builder, "newbutton"));
-        gtk_button_set_use_stock (GTK_BUTTON(button), TRUE);
 
         //printf("gnc_import_select_account(): Fin get widget\n");
 
@@ -449,7 +448,6 @@ AccountPickerDialog* gnc_import_account_assist_setup(GtkWidget *parent)
 
     gtk_box_pack_start(GTK_BOX(h_box), picker->new_button, FALSE, FALSE, 0);
     gtk_box_pack_start( GTK_BOX(box), h_box, FALSE, FALSE, 6);
-    gtk_button_set_use_stock (GTK_BUTTON(picker->new_button), TRUE);
     gtk_widget_show (picker->new_button);
     g_signal_connect(picker->new_button, "clicked",
                      G_CALLBACK(gnc_import_add_account), picker);
diff --git a/src/import-export/qif-imp/assistant-qif-import.c b/src/import-export/qif-imp/assistant-qif-import.c
index 3f9724c..9cb57bf 100644
--- a/src/import-export/qif-imp/assistant-qif-import.c
+++ b/src/import-export/qif-imp/assistant-qif-import.c
@@ -1669,13 +1669,11 @@ gnc_ui_qif_import_load_progress_pause_cb(GtkButton * button,
     /* Swap the button label between pause and resume. */
     if (strcmp(gtk_button_get_label(button), _("_Resume")))
     {
-        gtk_button_set_use_stock(button, FALSE);
         gtk_button_set_use_underline(button, TRUE);
         gtk_button_set_label(button, _("_Resume"));
     }
     else
     {
-        gtk_button_set_use_stock(button, TRUE);
         gtk_button_set_use_underline(button, FALSE);
         gtk_button_set_label(button, "gtk-media-pause");
     }
@@ -2789,13 +2787,11 @@ gnc_ui_qif_import_convert_progress_pause_cb(GtkButton * button,
     /* Swap the button label between pause and resume. */
     if (strcmp(gtk_button_get_label(button), _("_Resume")))
     {
-        gtk_button_set_use_stock(button, FALSE);
         gtk_button_set_use_underline(button, TRUE);
         gtk_button_set_label(button, _("_Resume"));
     }
     else
     {
-        gtk_button_set_use_stock(button, TRUE);
         gtk_button_set_use_underline(button, FALSE);
         gtk_button_set_label(button, "gtk-media-pause");
     }
diff --git a/src/import-export/qif-imp/dialog-account-picker.c b/src/import-export/qif-imp/dialog-account-picker.c
index 162c983..fcef090 100644
--- a/src/import-export/qif-imp/dialog-account-picker.c
+++ b/src/import-export/qif-imp/dialog-account-picker.c
@@ -396,7 +396,6 @@ qif_account_picker_dialog(QIFImportWindow * qif_wind, SCM map_entry)
                            wind);
 
     button =  GTK_WIDGET(gtk_builder_get_object (builder, "newbutton"));
-    gtk_button_set_use_stock(GTK_BUTTON(button), TRUE);
 
     /* this is to get the checkmarks set up right.. it will get called
      * again after the window is mapped. */

commit 090968f1f2b8d719fc5688902b4503cd558c2fcb
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Jun 16 16:51:37 2017 +0100

    Replace deprecated widgets in goffice

diff --git a/lib/goffice/go-charmap-sel.c b/lib/goffice/go-charmap-sel.c
index 28c1a97..8395206 100644
--- a/lib/goffice/go-charmap-sel.c
+++ b/lib/goffice/go-charmap-sel.c
@@ -255,7 +255,7 @@ static GHashTable *encoding_hash;
 
 struct _GOCharmapSel
 {
-    GtkHBox box;
+    GtkBox box;
     GOOptionMenu *encodings;
     GtkMenu *encodings_menu;
     GOCharmapSelTestDirection test;
@@ -263,7 +263,7 @@ struct _GOCharmapSel
 
 typedef struct
 {
-    GtkHBoxClass parent_class;
+    GtkBoxClass parent_class;
 
     gboolean (*charmap_changed)(GOCharmapSel *cs, char const *new_charmap);
 } GOCharmapSelClass;
@@ -361,6 +361,8 @@ static void cs_emphasize_label(GtkLabel *label)
 
 static void cs_init(GOCharmapSel *cs)
 {
+    gtk_orientable_set_orientation (GTK_ORIENTABLE(cs), GTK_ORIENTATION_HORIZONTAL);
+
     cs->test = GO_CHARMAP_SEL_TO_UTF8;
 
     cs->encodings = GO_OPTION_MENU(go_option_menu_new());
@@ -604,7 +606,7 @@ go_charmap_sel_get_type (void)
             (GInstanceInitFunc) cs_init
         };
 
-        go_charmap_sel_type = g_type_register_static (GTK_TYPE_HBOX,
+        go_charmap_sel_type = g_type_register_static (GTK_TYPE_BOX,
                            "GOCharmapSel",
                            &go_charmap_sel_info, 0);
     }
diff --git a/lib/goffice/go-optionmenu.c b/lib/goffice/go-optionmenu.c
index 4ed0b7e..86bdc56 100644
--- a/lib/goffice/go-optionmenu.c
+++ b/lib/goffice/go-optionmenu.c
@@ -121,7 +121,7 @@ static void go_option_menu_position(GtkMenu *menu, gint *x, gint *y,
 
     widget = GTK_WIDGET(option_menu);
 
-    gtk_widget_get_child_requisition(GTK_WIDGET(menu), &requisition);
+    gtk_widget_get_preferred_size(GTK_WIDGET(menu), &requisition, NULL);
     menu_width = requisition.width;
 
     gdk_window_get_origin(gtk_widget_get_window(widget), &menu_xpos,
@@ -139,14 +139,14 @@ static void go_option_menu_position(GtkMenu *menu, gint *x, gint *y,
         if (GTK_IS_CHECK_MENU_ITEM(child)
                 && gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(child)))
         {
-            gtk_widget_get_child_requisition(child, &requisition);
+            gtk_widget_get_preferred_size(child, &requisition, NULL);
             menu_ypos -= requisition.height / 2;
             break;
         }
 
         if (gtk_widget_get_visible(child))
         {
-            gtk_widget_get_child_requisition(child, &requisition);
+            gtk_widget_get_preferred_size(child, &requisition, NULL);
             menu_ypos -= requisition.height;
         }
 
@@ -402,20 +402,20 @@ static void go_option_menu_init(GOOptionMenu *option_menu)
     gtk_widget_set_can_default(GTK_WIDGET(option_menu), FALSE);
     gtk_widget_set_receives_default(GTK_WIDGET(option_menu), FALSE);
 
-    box = GTK_BOX(gtk_hbox_new(FALSE, FALSE));
+    box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (box), FALSE);
 
     option_menu->menu = NULL;
     option_menu->selected = NULL;
 
     option_menu->button_label = GTK_LABEL(gtk_label_new(""));
-    gtk_box_pack_start(box, GTK_WIDGET(option_menu->button_label), FALSE, TRUE,
-            0);
+    gtk_box_pack_start(box, GTK_WIDGET(option_menu->button_label), FALSE, TRUE, 0);
 
     arrow = gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_NONE);
     g_object_set(arrow, "xalign", 0.75, NULL);
     gtk_box_pack_end(box, arrow, FALSE, FALSE, 0);
 
-    sep = gtk_vseparator_new();
+    sep = gtk_separator_new (GTK_ORIENTATION_VERTICAL);
     gtk_box_pack_end(box, sep, FALSE, FALSE, 0);
 
     gtk_container_add(GTK_CONTAINER(option_menu), GTK_WIDGET(box));

commit d29bb5b8cd16a822d59a1e30390f017abd2dd14a
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Jun 16 16:50:45 2017 +0100

    Correct corrupted line in gnc-account-sel.h

diff --git a/src/gnome-utils/gnc-account-sel.h b/src/gnome-utils/gnc-account-sel.h
index 8fea7e9..49d837f 100644
--- a/src/gnome-utils/gnc-account-sel.h
+++ b/src/gnome-utils/gnc-account-sel.h
@@ -106,4 +106,4 @@ void gnc_account_sel_set_new_account_modal( GNCAccountSel *gas,
 gint gnc_account_sel_get_num_account( GNCAccountSel *gas );
 void gnc_account_sel_purge_account( GNCAccountSel *gas, Account *acc, gboolean recursive);
 
-#endif /* !ndef GNC_ACCOUNT_SEL_H */
+#endif /* GNC_ACCOUNT_SEL_H */

commit 976a13706906d5d750a0be4af5c033cc52b62b25
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Jun 16 12:40:35 2017 +0100

    Change register Gtk horizontal and vertical widgets
    
    Change Gtk horizontal and vertical widgets to there equivalent with
    orientation

diff --git a/src/register/register-gnome/gnucash-register.c b/src/register/register-gnome/gnucash-register.c
index 1973e70..d367c94 100644
--- a/src/register/register-gnome/gnucash-register.c
+++ b/src/register/register-gnome/gnucash-register.c
@@ -500,7 +500,7 @@ gnucash_register_create_widget (Table *table)
                       0, 0);
     gtk_widget_show(sheet);
 
-    scrollbar = gtk_vscrollbar_new(GNUCASH_SHEET(sheet)->vadj);
+    scrollbar = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL, GNUCASH_SHEET(sheet)->vadj);
     gtk_table_attach (GTK_TABLE(widget), GTK_WIDGET(scrollbar),
                       1, 2, 0, 3,
                       GTK_FILL,
@@ -508,7 +508,7 @@ gnucash_register_create_widget (Table *table)
                       0, 0);
     gtk_widget_show(scrollbar);
 
-    scrollbar = gtk_hscrollbar_new(GNUCASH_SHEET(sheet)->hadj);
+    scrollbar = gtk_scrollbar_new(GTK_ORIENTATION_HORIZONTAL, GNUCASH_SHEET(sheet)->hadj);
     gtk_table_attach (GTK_TABLE(widget), GTK_WIDGET(scrollbar),
                       0, 1, 2, 3,
                       GTK_EXPAND | GTK_SHRINK | GTK_FILL,

commit b3c5b1cb5d14246ff0773600a3d86da12c97f47e
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Jun 16 12:40:17 2017 +0100

    Change all Gtk horizontal and vertical widgets
    
    Change Gtk horizontal and vertical widgets to there equivalent with
    orientation

diff --git a/src/gnome-utils/dialog-options.c b/src/gnome-utils/dialog-options.c
index f9485a0..e60d1bd 100644
--- a/src/gnome-utils/dialog-options.c
+++ b/src/gnome-utils/dialog-options.c
@@ -1088,7 +1088,7 @@ gnc_option_create_account_widget(GNCOption *option, char *name)
     gtk_container_set_border_width(GTK_CONTAINER(scroll_win), 5);
     gtk_container_add(GTK_CONTAINER(scroll_win), tree);
 
-    bbox = gtk_hbutton_box_new();
+    bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
     gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_SPREAD);
     gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 10);
 
@@ -1127,7 +1127,7 @@ gnc_option_create_account_widget(GNCOption *option, char *name)
     {
         /* Put the "Show hidden" checkbox on a separate line since the 4 buttons make
            the dialog too wide. */
-        bbox = gtk_hbutton_box_new();
+        bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
         gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_START);
         gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0);
     }
@@ -1233,7 +1233,7 @@ gnc_option_create_list_widget(GNCOption *option, char *name)
     g_signal_connect(selection, "changed",
                      G_CALLBACK(gnc_option_list_changed_cb), option);
 
-    bbox = gtk_vbutton_box_new();
+    bbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL);
     gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_SPREAD);
     gtk_box_pack_start(GTK_BOX(hbox), bbox, FALSE, FALSE, 10);
 
@@ -1410,7 +1410,7 @@ gnc_options_dialog_append_page(GNCOptionWin * propertybox,
     }
 
     /* Add a button box at the bottom of the page */
-    buttonbox = gtk_hbutton_box_new();
+    buttonbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
     gtk_button_box_set_layout (GTK_BUTTON_BOX (buttonbox),
                                GTK_BUTTONBOX_EDGE);
     gtk_container_set_border_width(GTK_CONTAINER (buttonbox), 5);
diff --git a/src/gnome-utils/gnc-cell-renderer-date.c b/src/gnome-utils/gnc-cell-renderer-date.c
index 5810b77..04d27f5 100644
--- a/src/gnome-utils/gnc-cell-renderer-date.c
+++ b/src/gnome-utils/gnc-cell-renderer-date.c
@@ -153,7 +153,7 @@ gcrd_init (GncCellRendererDate *date)
 	popup->focus_window = date->calendar;
 	gtk_box_pack_start (GTK_BOX (vbox), date->calendar, TRUE, TRUE, 0);
 
-        date->button_box = gtk_hbutton_box_new ();
+        date->button_box = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
 	gtk_box_set_spacing (GTK_BOX (date->button_box), 6);
 	gtk_box_pack_start (GTK_BOX (vbox), date->button_box, FALSE, FALSE, 0);
 
diff --git a/src/gnome-utils/gnc-combott.c b/src/gnome-utils/gnc-combott.c
index e6b60c8..f613eaa 100644
--- a/src/gnome-utils/gnc-combott.c
+++ b/src/gnome-utils/gnc-combott.c
@@ -223,7 +223,7 @@ gctt_init (GncCombott *combott)
     arrow = gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_OUT);
     gtk_box_pack_end (GTK_BOX (hbox), arrow, FALSE, FALSE, 0);
 
-    sep = gtk_vseparator_new();
+    sep = gtk_separator_new (GTK_ORIENTATION_VERTICAL);
     gtk_box_pack_end (GTK_BOX (hbox), sep, FALSE, FALSE, 0);
 
     label = gtk_label_new(NULL);
diff --git a/src/gnome-utils/gnc-recurrence.c b/src/gnome-utils/gnc-recurrence.c
index 66eb22e..08546d9 100644
--- a/src/gnome-utils/gnc-recurrence.c
+++ b/src/gnome-utils/gnc-recurrence.c
@@ -406,7 +406,7 @@ struct _GncRecurrenceComp
 
     GtkWidget  *vbox;
     GtkWidget  *hbox;
-    GtkHButtonBox *hbb;
+    GtkWidget  *hbb;
     gint num_rec;
     GtkButton *buttRemove;
     GtkButton *buttAdd;
@@ -536,7 +536,7 @@ gnc_recurrence_comp_init(GncRecurrenceComp *grc)
 
     gtk_orientable_set_orientation (GTK_ORIENTABLE(grc), GTK_ORIENTATION_VERTICAL);
 
-    grc->hbb = GTK_HBUTTON_BOX(gtk_hbutton_box_new());
+    grc->hbb = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
     grc->vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 1);
     gtk_box_set_homogeneous (GTK_BOX (grc->vbox), FALSE);
     grc->rlist = NULL;
diff --git a/src/gnome-utils/gnc-splash.c b/src/gnome-utils/gnc-splash.c
index d46e1a7..a25d67f 100644
--- a/src/gnome-utils/gnc-splash.c
+++ b/src/gnome-utils/gnc-splash.c
@@ -112,7 +112,7 @@ gnc_show_splash_screen (void)
     gtk_label_set_markup(GTK_LABEL(version), markup);
     g_free(markup);
     g_free(ver_string);
-    separator = gtk_hseparator_new();
+    separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
 
     progress = gtk_label_new(NULL);
     /* the set_max_width avoids "bumping" of the splash screen
diff --git a/src/gnome/gnc-budget-view.c b/src/gnome/gnc-budget-view.c
index 772cd33..152c71b 100644
--- a/src/gnome/gnc-budget-view.c
+++ b/src/gnome/gnc-budget-view.c
@@ -412,7 +412,7 @@ gbv_create_widget(GncBudgetView *view)
 
     gtk_box_pack_end(GTK_BOX(inner_vbox), GTK_WIDGET(totals_tree_view), /*expand*/FALSE, /*fill*/TRUE, 0);
 
-    h_separator = gtk_hseparator_new();
+    h_separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
     gtk_widget_show(h_separator);
     gtk_box_pack_end(GTK_BOX(inner_vbox), h_separator, /*expand*/FALSE, /*fill*/TRUE, 0);
 
diff --git a/src/gnome/gnc-plugin-page-sx-list.c b/src/gnome/gnc-plugin-page-sx-list.c
index a299596..69a5d0a 100644
--- a/src/gnome/gnc-plugin-page-sx-list.c
+++ b/src/gnome/gnc-plugin-page-sx-list.c
@@ -367,7 +367,7 @@ gnc_plugin_page_sx_list_create_widget (GncPluginPage *plugin_page)
         return priv->widget;
 
     /* Create Vpaned widget for top level */
-    widget = gtk_vpaned_new();
+    widget = gtk_paned_new (GTK_ORIENTATION_VERTICAL);
     priv->widget = widget;
     gtk_widget_show (priv->widget);
 
diff --git a/src/gnome/gnc-split-reg2.c b/src/gnome/gnc-split-reg2.c
index 04264f3..2c33694 100644
--- a/src/gnome/gnc-split-reg2.c
+++ b/src/gnome/gnc-split-reg2.c
@@ -296,7 +296,7 @@ gsr2_create_table (GNCSplitReg2 *gsr)
 
     gsr->scroll_adj = GTK_ADJUSTMENT (gtk_adjustment_new (model->position_of_trans_in_full_tlist, 0.0, num_of_trans + 10, 1.0, 10.0, 10.0));
 
-    gsr->scroll_bar = gtk_vscrollbar_new (GTK_ADJUSTMENT (gsr->scroll_adj));
+    gsr->scroll_bar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, GTK_ADJUSTMENT (gsr->scroll_adj));
     gtk_widget_show (gsr->scroll_bar);
 
     gtk_box_pack_start (GTK_BOX (hbox), gsr->scroll_bar, FALSE, FALSE, 2);

commit 9cefa509c74b98becf6d56f0512f6af731778935
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Jun 16 12:10:54 2017 +0100

    Change register GtkHbox widgets
    
    Change all GtkHBox widgets to GtkBox with orientation HORIZONTAL

diff --git a/src/register/register-gnome/gnucash-date-picker.c b/src/register/register-gnome/gnucash-date-picker.c
index 534b411..53e52a4 100644
--- a/src/register/register-gnome/gnucash-date-picker.c
+++ b/src/register/register-gnome/gnucash-date-picker.c
@@ -66,6 +66,7 @@ gnc_date_picker_get_date (GNCDatePicker *date_picker,
 static void
 gnc_date_picker_init (GNCDatePicker *date_picker)
 {
+    gtk_orientable_set_orientation (GTK_ORIENTABLE(date_picker), GTK_ORIENTATION_HORIZONTAL);
     date_picker->calendar = NULL;
 }
 
@@ -167,7 +168,7 @@ gnc_date_picker_get_type (void)
         };
 
         gnc_date_picker_type =
-            g_type_register_static (GTK_TYPE_HBOX,
+            g_type_register_static (GTK_TYPE_BOX,
                                     "GNCDatePicker",
                                     &type_info, 0);
     }
diff --git a/src/register/register-gnome/gnucash-date-picker.h b/src/register/register-gnome/gnucash-date-picker.h
index b9850b9..9b61999 100644
--- a/src/register/register-gnome/gnucash-date-picker.h
+++ b/src/register/register-gnome/gnucash-date-picker.h
@@ -40,7 +40,7 @@
 
 typedef struct
 {
-    GtkHBox hbox;
+    GtkBox hbox;
 
     GtkCalendar *calendar;
 } GNCDatePicker;
@@ -59,7 +59,7 @@ void gnc_date_picker_get_date (GNCDatePicker *date_picker,
 
 typedef struct
 {
-    GtkHBoxClass parent_class;
+    GtkBoxClass parent_class;
 
     void (*date_selected) (GNCDatePicker *date_picker);
 
diff --git a/src/register/register-gnome/gnucash-register.c b/src/register/register-gnome/gnucash-register.c
index f41d2fd..1973e70 100644
--- a/src/register/register-gnome/gnucash-register.c
+++ b/src/register/register-gnome/gnucash-register.c
@@ -522,7 +522,9 @@ gnucash_register_create_widget (Table *table)
      * hierarchy so they can be realized. Stick them in a box
      * underneath the register, but don't show the box to the
      * user. */
-    box = gtk_hbox_new(FALSE, 0);
+    box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (box), FALSE);
+
     gtk_widget_set_no_show_all(GTK_WIDGET(box), TRUE);
     gtk_box_pack_start(GTK_BOX(box),
                                 GNUCASH_SHEET(sheet)->header_color, TRUE, TRUE, 0);

commit 409e43715ae8bcec80334c945c77b4e29b127ae6
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Jun 16 12:10:36 2017 +0100

    Change all the GtkHbox widgets
    
    Change all GtkHBox widgets to GtkBox with orientation HORIZONTAL

diff --git a/src/business/business-gnome/business-options-gnome.c b/src/business/business-gnome/business-options-gnome.c
index fdff45e..265f595 100644
--- a/src/business/business-gnome/business-options-gnome.c
+++ b/src/business/business-gnome/business-options-gnome.c
@@ -114,7 +114,9 @@ owner_set_widget (GNCOption *option, GtkBox *page_box,
     GtkWidget *value;
     GtkWidget *label;
 
-    *enclosing = gtk_hbox_new (FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
+
     label = make_name_label (name);
     gtk_box_pack_start (GTK_BOX (*enclosing), label, FALSE, FALSE, 0);
 
@@ -183,7 +185,9 @@ customer_set_widget (GNCOption *option, GtkBox *page_box,
     GtkWidget *value;
     GtkWidget *label;
 
-    *enclosing = gtk_hbox_new (FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
+
     label = make_name_label (name);
     gtk_box_pack_start (GTK_BOX (*enclosing), label, FALSE, FALSE, 0);
 
@@ -241,7 +245,9 @@ vendor_set_widget (GNCOption *option, GtkBox *page_box,
     GtkWidget *value;
     GtkWidget *label;
 
-    *enclosing = gtk_hbox_new (FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
+
     label = make_name_label (name);
     gtk_box_pack_start (GTK_BOX (*enclosing), label, FALSE, FALSE, 0);
 
@@ -298,7 +304,9 @@ employee_set_widget (GNCOption *option, GtkBox *page_box,
     GtkWidget *value;
     GtkWidget *label;
 
-    *enclosing = gtk_hbox_new (FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
+
     label = make_name_label (name);
     gtk_box_pack_start (GTK_BOX (*enclosing), label, FALSE, FALSE, 0);
 
@@ -372,7 +380,9 @@ invoice_set_widget (GNCOption *option, GtkBox *page_box,
     GtkWidget *value;
     GtkWidget *label;
 
-    *enclosing = gtk_hbox_new (FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
+
     label = make_name_label (name);
     gtk_box_pack_start (GTK_BOX (*enclosing), label, FALSE, FALSE, 0);
 
@@ -450,7 +460,9 @@ taxtable_set_widget (GNCOption *option, GtkBox *page_box,
     GtkWidget *value;
     GtkWidget *label;
 
-    *enclosing = gtk_hbox_new (FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
+
     label = make_name_label (name);
     gtk_box_pack_start (GTK_BOX (*enclosing), label, FALSE, FALSE, 0);
 
diff --git a/src/business/business-gnome/dialog-invoice.c b/src/business/business-gnome/dialog-invoice.c
index 99b3719..9661a15 100644
--- a/src/business/business-gnome/dialog-invoice.c
+++ b/src/business/business-gnome/dialog-invoice.c
@@ -1204,7 +1204,8 @@ add_summary_label (GtkWidget *summarybar, const char *label_str)
     GtkWidget *hbox;
     GtkWidget *label;
 
-    hbox = gtk_hbox_new(FALSE, 2);
+    hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2);
+    gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
     gtk_box_pack_start (GTK_BOX(summarybar), hbox, FALSE, FALSE, 5);
 
     label = gtk_label_new (label_str);
@@ -1229,7 +1230,8 @@ gnc_invoice_window_create_summary_bar (InvoiceWindow *iw)
     iw->total_subtotal_label  = NULL;
     iw->total_tax_label       = NULL;
 
-    summarybar = gtk_hbox_new (FALSE, 4);
+    summarybar = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4);
+    gtk_box_set_homogeneous (GTK_BOX (summarybar), FALSE);
 
     iw->total_label           = add_summary_label (summarybar, _("Total:"));
 
diff --git a/src/business/business-gnome/search-owner.c b/src/business/business-gnome/search-owner.c
index 7729fcc..1d63761 100644
--- a/src/business/business-gnome/search-owner.c
+++ b/src/business/business-gnome/search-owner.c
@@ -274,14 +274,16 @@ gncs_get_widget (GNCSearchCoreType *fe)
     g_return_val_if_fail (IS_GNCSEARCH_OWNER (fi), NULL);
 
     priv = GNC_SEARCH_OWNER_GET_PRIVATE(fi);
-    box = gtk_hbox_new (FALSE, 3);
+    box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
+    gtk_box_set_homogeneous (GTK_BOX (box), FALSE);
 
     /* Build and connect the "how" option menu. */
     how_menu = make_how_menu (fe);
     gtk_box_pack_start (GTK_BOX (box), how_menu, FALSE, FALSE, 3);
 
     /* Create the owner box */
-    priv->owner_box = gtk_hbox_new (FALSE, 0);
+    priv->owner_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (priv->owner_box), FALSE);
 
     /* Build and connect the "type" option menu.
      * Note that this will build the owner_choice and
diff --git a/src/gnome-search/dialog-search.c b/src/gnome-search/dialog-search.c
index 1f1e277..e0e59c5 100644
--- a/src/gnome-search/dialog-search.c
+++ b/src/gnome-search/dialog-search.c
@@ -852,7 +852,9 @@ get_element_widget (GNCSearchWindow *sw, GNCSearchCoreType *element)
     data->element = element;
     data->dialog = GTK_DIALOG (sw->dialog);
 
-    hbox = gtk_hbox_new (FALSE, 0);
+    hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
+
     /* only set to automatically clean up the memory */
     g_object_set_data_full (G_OBJECT (hbox), "data", data, g_free);
 
diff --git a/src/gnome-search/gnc-general-search.c b/src/gnome-search/gnc-general-search.c
index 5ab332e..8807d2b 100644
--- a/src/gnome-search/gnc-general-search.c
+++ b/src/gnome-search/gnc-general-search.c
@@ -77,7 +77,7 @@ struct _GNCGeneralSearchPrivate
 #define _PRIVATE(o) \
    (G_TYPE_INSTANCE_GET_PRIVATE ((o), GNC_TYPE_GENERAL_SEARCH, GNCGeneralSearchPrivate))
 
-static GtkHBoxClass *parent_class;
+static GtkBoxClass *parent_class;
 static guint general_search_signals[LAST_SIGNAL];
 
 
@@ -106,7 +106,7 @@ gnc_general_search_get_type (void)
             (GInstanceInitFunc) gnc_general_search_init,
         };
 
-        general_search_type = g_type_register_static (GTK_TYPE_HBOX,
+        general_search_type = g_type_register_static (GTK_TYPE_BOX,
                               "GNCGeneralSearch",
                               &our_info, 0);
     }
@@ -140,6 +140,8 @@ gnc_general_search_class_init (GNCGeneralSearchClass *klass)
 static void
 gnc_general_search_init (GNCGeneralSearch *gsl)
 {
+    gtk_orientable_set_orientation (GTK_ORIENTABLE(gsl), GTK_ORIENTATION_HORIZONTAL);
+
     gsl->selected_item = NULL;
 }
 
diff --git a/src/gnome-search/gnc-general-search.h b/src/gnome-search/gnc-general-search.h
index 09a4b4a..adba808 100644
--- a/src/gnome-search/gnc-general-search.h
+++ b/src/gnome-search/gnc-general-search.h
@@ -55,7 +55,7 @@ typedef GNCSearchWindow *(*GNCSearchCB) (gpointer start, gpointer user_data);
 
 typedef struct
 {
-    GtkHBox hbox;
+    GtkBox hbox;
 
     GtkWidget *	entry;  /* display of selection name */
     GtkWidget *	button; /* button for popping up search window */
@@ -67,7 +67,7 @@ typedef struct
 
 typedef struct
 {
-    GtkHBoxClass parent_class;
+    GtkBoxClass parent_class;
 
     void 		(*changed) (GNCGeneralSearch *edit);
 } GNCGeneralSearchClass;
diff --git a/src/gnome-search/search-account.c b/src/gnome-search/search-account.c
index b149507..9ec6579 100644
--- a/src/gnome-search/search-account.c
+++ b/src/gnome-search/search-account.c
@@ -296,7 +296,8 @@ gncs_get_widget (GNCSearchCoreType *fe)
     g_return_val_if_fail (fi, NULL);
     g_return_val_if_fail (IS_GNCSEARCH_ACCOUNT (fi), NULL);
 
-    box = gtk_hbox_new (FALSE, 3);
+    box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
+    gtk_box_set_homogeneous (GTK_BOX (box), FALSE);
 
     /* Build and connect the option menu */
     menu = make_menu (fe);
diff --git a/src/gnome-search/search-boolean.c b/src/gnome-search/search-boolean.c
index 59dc2cb..a784c12 100644
--- a/src/gnome-search/search-boolean.c
+++ b/src/gnome-search/search-boolean.c
@@ -171,7 +171,8 @@ gncs_get_widget (GNCSearchCoreType *fe)
     g_return_val_if_fail (fi, NULL);
     g_return_val_if_fail (IS_GNCSEARCH_BOOLEAN (fi), NULL);
 
-    box = gtk_hbox_new (FALSE, 3);
+    box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
+    gtk_box_set_homogeneous (GTK_BOX (box), FALSE);
 
     /* Build and connect the toggle */
     toggle = gtk_check_button_new ();
diff --git a/src/gnome-search/search-date.c b/src/gnome-search/search-date.c
index 3a3e5aa..b78b632 100644
--- a/src/gnome-search/search-date.c
+++ b/src/gnome-search/search-date.c
@@ -243,7 +243,8 @@ gncs_get_widget (GNCSearchCoreType *fe)
     g_return_val_if_fail (IS_GNCSEARCH_DATE (fi), NULL);
 
     priv = _PRIVATE(fi);
-    box = gtk_hbox_new (FALSE, 3);
+    box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
+    gtk_box_set_homogeneous (GTK_BOX (box), FALSE);
 
     /* Build and connect the option menu */
     menu = make_menu (fe);
diff --git a/src/gnome-search/search-double.c b/src/gnome-search/search-double.c
index d87626f..e6c45ff 100644
--- a/src/gnome-search/search-double.c
+++ b/src/gnome-search/search-double.c
@@ -235,7 +235,8 @@ gncs_get_widget (GNCSearchCoreType *fe)
     g_return_val_if_fail (IS_GNCSEARCH_DOUBLE (fi), NULL);
 
     priv = _PRIVATE(fi);
-    box = gtk_hbox_new (FALSE, 3);
+    box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
+    gtk_box_set_homogeneous (GTK_BOX (box), FALSE);
 
     /* Build and connect the option menu */
     menu = make_menu (fe);
diff --git a/src/gnome-search/search-int64.c b/src/gnome-search/search-int64.c
index 943fdcd..bc94f61 100644
--- a/src/gnome-search/search-int64.c
+++ b/src/gnome-search/search-int64.c
@@ -237,7 +237,8 @@ gncs_get_widget (GNCSearchCoreType *fe)
     g_return_val_if_fail (IS_GNCSEARCH_INT64 (fi), NULL);
 
     priv = _PRIVATE(fi);
-    box = gtk_hbox_new (FALSE, 3);
+    box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
+    gtk_box_set_homogeneous (GTK_BOX (box), FALSE);
 
     /* Build and connect the option menu */
     menu = make_menu (fe);
diff --git a/src/gnome-search/search-numeric.c b/src/gnome-search/search-numeric.c
index 7778541..582e17c 100644
--- a/src/gnome-search/search-numeric.c
+++ b/src/gnome-search/search-numeric.c
@@ -298,7 +298,8 @@ gncs_get_widget (GNCSearchCoreType *fe)
     g_return_val_if_fail (IS_GNCSEARCH_NUMERIC (fi), NULL);
 
     priv = _PRIVATE(fi);
-    box = gtk_hbox_new (FALSE, 3);
+    box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
+    gtk_box_set_homogeneous (GTK_BOX (box), FALSE);
 
     /* Build and connect the option menu(s) */
     if (priv->is_debcred)
diff --git a/src/gnome-search/search-reconciled.c b/src/gnome-search/search-reconciled.c
index 609db6b..2b9ffe6 100644
--- a/src/gnome-search/search-reconciled.c
+++ b/src/gnome-search/search-reconciled.c
@@ -216,7 +216,8 @@ gncs_get_widget (GNCSearchCoreType *fe)
     g_return_val_if_fail (fi, NULL);
     g_return_val_if_fail (IS_GNCSEARCH_RECONCILED (fi), NULL);
 
-    box = gtk_hbox_new (FALSE, 3);
+    box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
+    gtk_box_set_homogeneous (GTK_BOX (box), FALSE);
 
     /* Build and connect the option menu */
     menu = make_menu (fe);
diff --git a/src/gnome-search/search-string.c b/src/gnome-search/search-string.c
index 4fbb62d..1ba224c 100644
--- a/src/gnome-search/search-string.c
+++ b/src/gnome-search/search-string.c
@@ -312,7 +312,8 @@ gncs_get_widget (GNCSearchCoreType *fe)
     g_return_val_if_fail (IS_GNCSEARCH_STRING (fi), NULL);
 
     priv = _PRIVATE(fi);
-    box = gtk_hbox_new (FALSE, 3);
+    box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
+    gtk_box_set_homogeneous (GTK_BOX (box), FALSE);
 
     /* Build and connect the option menu */
     menu = make_menu (fe);
diff --git a/src/gnome-utils/dialog-account.c b/src/gnome-utils/dialog-account.c
index 79cbccc..f821474 100644
--- a/src/gnome-utils/dialog-account.c
+++ b/src/gnome-utils/dialog-account.c
@@ -649,7 +649,8 @@ verify_children_compatible (AccountWindow *aw)
 
     gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dialog), TRUE);
 
-    hbox = gtk_hbox_new (FALSE, 12);
+    hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
+    gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
     vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
     gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
 
diff --git a/src/gnome-utils/dialog-options.c b/src/gnome-utils/dialog-options.c
index 1213197..f9485a0 100644
--- a/src/gnome-utils/dialog-options.c
+++ b/src/gnome-utils/dialog-options.c
@@ -708,7 +708,8 @@ gnc_option_create_date_widget (GNCOption *option)
     }
     else if (g_strcmp0(type, "both") == 0)
     {
-        box = gtk_hbox_new(FALSE, 5);
+        box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+        gtk_box_set_homogeneous (GTK_BOX (box), FALSE);
 
         ab_button = gtk_radio_button_new(NULL);
         g_signal_connect(G_OBJECT(ab_button), "toggled",
@@ -820,7 +821,8 @@ gnc_option_create_radiobutton_widget(char *name, GNCOption *option)
     frame = gtk_frame_new (name);
 
     /* Create the button box */
-    box = gtk_hbox_new (FALSE, 5);
+    box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (box), FALSE);
     gtk_container_add (GTK_CONTAINER (frame), box);
 
     /* Iterate over the options and create a radio button for each one */
@@ -891,7 +893,8 @@ gnc_option_create_currency_accounting_widget (char *name, GNCOption *option)
         gtk_widget_set_tooltip_text(widget, tip && *tip ? _(tip) : "");
         /* Use hbox & vbox2 for all buttons so they are all at the same level;
            easier to get in set/get ui functions */
-        hbox = gtk_hbox_new(FALSE, 5);
+        hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+        gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
 
         vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
         gtk_box_set_homogeneous (GTK_BOX (vbox2), FALSE);
@@ -1195,7 +1198,8 @@ gnc_option_create_list_widget(GNCOption *option, char *name)
     gint i;
 
     frame = gtk_frame_new(name);
-    hbox = gtk_hbox_new(FALSE, 0);
+    hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
     gtk_container_add(GTK_CONTAINER(frame), hbox);
 
     store = gtk_list_store_new(1, G_TYPE_STRING);
@@ -1891,7 +1895,8 @@ gnc_option_set_ui_widget_boolean (GNCOption *option, GtkBox *page_box,
 {
     GtkWidget *value;
 
-    *enclosing = gtk_hbox_new(FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
     value = gtk_check_button_new_with_label(name);
 
     gnc_option_set_widget (option, value);
@@ -1921,7 +1926,8 @@ gnc_option_set_ui_widget_string (GNCOption *option, GtkBox *page_box,
     gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
     g_free(colon_name);
 
-    *enclosing = gtk_hbox_new(FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
     value = gtk_entry_new();
 
     gnc_option_set_widget (option, value);
@@ -1957,7 +1963,8 @@ gnc_option_set_ui_widget_text (GNCOption *option, GtkBox *page_box,
 
     gtk_container_add(GTK_CONTAINER(frame), scroll);
 
-    *enclosing = gtk_hbox_new(FALSE, 10);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
     value = gtk_text_view_new();
     gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(value), GTK_WRAP_WORD);
     gtk_text_view_set_editable(GTK_TEXT_VIEW(value), TRUE);
@@ -1990,7 +1997,8 @@ gnc_option_set_ui_widget_currency (GNCOption *option, GtkBox *page_box,
     gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
     g_free(colon_name);
 
-    *enclosing = gtk_hbox_new(FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
     value = gnc_currency_edit_new();
 
     gnc_option_set_widget (option, value);
@@ -2020,7 +2028,8 @@ gnc_option_set_ui_widget_commodity (GNCOption *option, GtkBox *page_box,
     gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
     g_free(colon_name);
 
-    *enclosing = gtk_hbox_new(FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
     value = gnc_general_select_new(GNC_GENERAL_SELECT_TYPE_SELECT,
                                    gnc_commodity_edit_get_string,
                                    gnc_commodity_edit_new_select,
@@ -2057,7 +2066,8 @@ gnc_option_set_ui_widget_multichoice (GNCOption *option, GtkBox *page_box,
     gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
     g_free(colon_name);
 
-    *enclosing = gtk_hbox_new(FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
 
     value = gnc_option_create_multichoice_widget(option);
     gnc_option_set_widget (option, value);
@@ -2085,7 +2095,8 @@ gnc_option_set_ui_widget_date (GNCOption *option, GtkBox *page_box,
     gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
     g_free(colon_name);
 
-    *enclosing = gtk_hbox_new(FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
 
     value = gnc_option_create_date_widget(option);
 
@@ -2167,7 +2178,8 @@ gnc_option_set_ui_widget_account_sel (GNCOption *option, GtkBox *page_box,
        TRUE? */
     gnc_option_set_ui_value(option, TRUE);
 
-    *enclosing = gtk_hbox_new(FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
     gtk_box_pack_start(GTK_BOX(*enclosing), label, FALSE, FALSE, 0);
     gtk_box_pack_start(GTK_BOX(*enclosing), value, FALSE, FALSE, 0);
     gtk_widget_show_all(*enclosing);
@@ -2220,7 +2232,8 @@ gnc_option_set_ui_widget_number_range (GNCOption *option, GtkBox *page_box,
     gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
     g_free(colon_name);
 
-    *enclosing = gtk_hbox_new(FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
 
     gnc_option_get_range_info(option, &lower_bound, &upper_bound,
                               &num_decimals, &step_size);
@@ -2281,7 +2294,8 @@ gnc_option_set_ui_widget_color (GNCOption *option, GtkBox *page_box,
     gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
     g_free(colon_name);
 
-    *enclosing = gtk_hbox_new(FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
 
     use_alpha = gnc_option_use_alpha(option);
 
@@ -2316,7 +2330,8 @@ gnc_option_set_ui_widget_font (GNCOption *option, GtkBox *page_box,
     gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
     g_free(colon_name);
 
-    *enclosing = gtk_hbox_new(FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
     value = gtk_font_button_new();
     g_object_set(G_OBJECT(value),
                  "use-font", TRUE,
@@ -2354,7 +2369,8 @@ gnc_option_set_ui_widget_pixmap (GNCOption *option, GtkBox *page_box,
     gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
     g_free(colon_name);
 
-    *enclosing = gtk_hbox_new(FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
 
     button = gtk_button_new_with_label(_("Clear"));
     gtk_widget_set_tooltip_text(button, _("Clear any selected image file."));
@@ -2397,7 +2413,8 @@ gnc_option_set_ui_widget_radiobutton (GNCOption *option, GtkBox *page_box,
 {
     GtkWidget *value;
 
-    *enclosing = gtk_hbox_new(FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
 
     value = gnc_option_create_radiobutton_widget(name, option);
     gnc_option_set_widget (option, value);
@@ -2493,9 +2510,11 @@ gnc_option_set_ui_widget_plot_size (GNCOption *option, GtkBox *page_box,
     gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
     g_free(colon_name);
 
-    hbox = gtk_hbox_new(FALSE, 5);
+    hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
 
-    *enclosing = gtk_hbox_new(FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
 
     gtk_box_pack_start(GTK_BOX(*enclosing), label, FALSE, FALSE, 0);
     gtk_box_pack_start(GTK_BOX(*enclosing), hbox, FALSE, FALSE, 0);
@@ -2582,7 +2601,8 @@ gnc_option_set_ui_widget_budget (GNCOption *option, GtkBox *page_box,
     gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
     g_free(colon_name);
 
-    *enclosing = gtk_hbox_new(FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
 
     value = gnc_option_create_budget_widget(option);
 
@@ -2609,7 +2629,8 @@ gnc_option_set_ui_widget_currency_accounting (GNCOption *option,
 {
     GtkWidget *value;
 
-    *enclosing = gtk_hbox_new(FALSE, 5);
+    *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
 
     value = gnc_option_create_currency_accounting_widget(name, option);
     gnc_option_set_widget (option, value);
diff --git a/src/gnome-utils/dialog-preferences.c b/src/gnome-utils/dialog-preferences.c
index e521af9..8f29593 100644
--- a/src/gnome-utils/dialog-preferences.c
+++ b/src/gnome-utils/dialog-preferences.c
@@ -1144,7 +1144,7 @@ gnc_prefs_connect_one (const gchar *name,
         DEBUG("  %s - entry", name);
         gnc_prefs_connect_entry(GTK_ENTRY(widget));
     }
-    else if (GTK_IS_HBOX(widget))
+    else if (GTK_IS_BOX(widget))
     {
         /* Test custom widgets are all children of a hbox */
         GtkWidget *widget_child;
diff --git a/src/gnome-utils/gnc-account-sel.c b/src/gnome-utils/gnc-account-sel.c
index 087146c..5ff25a3 100644
--- a/src/gnome-utils/gnc-account-sel.c
+++ b/src/gnome-utils/gnc-account-sel.c
@@ -65,7 +65,7 @@ static void gas_populate_list (GNCAccountSel *gas);
 
 static void gas_new_account_click (GtkButton *b, gpointer ud);
 
-static GtkHBox *parent_class;
+static GtkBox *parent_class;
 
 GType
 gnc_account_sel_get_type (void)
@@ -87,7 +87,7 @@ gnc_account_sel_get_type (void)
             (GInstanceInitFunc) gnc_account_sel_init
         };
 
-        account_sel_type = g_type_register_static (GTK_TYPE_HBOX,
+        account_sel_type = g_type_register_static (GTK_TYPE_BOX,
                            "GNCAccountSel",
                            &account_sel_info, 0);
     }
@@ -146,6 +146,8 @@ gnc_account_sel_init (GNCAccountSel *gas)
 {
     GtkWidget *widget;
 
+    gtk_orientable_set_orientation (GTK_ORIENTABLE(gas), GTK_ORIENTATION_HORIZONTAL);
+
     gas->initDone = FALSE;
     gas->acctTypeFilters = FALSE;
     gas->newAccountButton = NULL;
diff --git a/src/gnome-utils/gnc-account-sel.h b/src/gnome-utils/gnc-account-sel.h
index 8e859a2..8fea7e9 100644
--- a/src/gnome-utils/gnc-account-sel.h
+++ b/src/gnome-utils/gnc-account-sel.h
@@ -40,7 +40,7 @@
 
 typedef struct
 {
-    GtkHBox hbox;
+    GtkBox hbox;
     gboolean initDone;
     gboolean isModal;
     GtkListStore *store;
@@ -59,7 +59,7 @@ typedef struct
 
 typedef struct
 {
-    GtkHBoxClass parent_class;
+    GtkBoxClass parent_class;
 
     /* Signals for notification/filtering of changes */
     void (*account_sel_changed) (GNCAccountSel *gas);
diff --git a/src/gnome-utils/gnc-cell-renderer-popup-entry.c b/src/gnome-utils/gnc-cell-renderer-popup-entry.c
index 322c378..4f675f7 100644
--- a/src/gnome-utils/gnc-cell-renderer-popup-entry.c
+++ b/src/gnome-utils/gnc-cell-renderer-popup-entry.c
@@ -97,7 +97,8 @@ gnc_popup_entry_init (GncPopupEntry *widget)
 {
     GtkWidget *arrow;
 
-    widget->hbox = gtk_hbox_new (FALSE, 0);
+    widget->hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (widget->hbox), FALSE);
     gtk_widget_show (widget->hbox);
 
     widget->entry = g_object_new (GTK_TYPE_ENTRY, "has_frame", FALSE, NULL);
diff --git a/src/gnome-utils/gnc-combott.c b/src/gnome-utils/gnc-combott.c
index 119072c..e6b60c8 100644
--- a/src/gnome-utils/gnc-combott.c
+++ b/src/gnome-utils/gnc-combott.c
@@ -134,7 +134,7 @@ gnc_combott_get_type (void)
             (GInstanceInitFunc) gctt_init,
         };
 
-        combott_type = g_type_register_static (GTK_TYPE_HBOX,
+        combott_type = g_type_register_static (GTK_TYPE_BOX,
                                                "GncCombott",
                                                &combott_info, 0);
     }
@@ -211,11 +211,14 @@ gctt_init (GncCombott *combott)
 
     GncCombottPrivate *priv = GNC_COMBOTT_GET_PRIVATE (combott);
 
+    gtk_orientable_set_orientation (GTK_ORIENTABLE(combott), GTK_ORIENTATION_HORIZONTAL);
+
     priv->active = 0;
     priv->text_col = 0;
     priv->tip_col = 1;
 
-    hbox = gtk_hbox_new(FALSE, 0);
+    hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX(hbox), FALSE);
 
     arrow = gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_OUT);
     gtk_box_pack_end (GTK_BOX (hbox), arrow, FALSE, FALSE, 0);
diff --git a/src/gnome-utils/gnc-combott.h b/src/gnome-utils/gnc-combott.h
index 0d18ff3..284021d 100644
--- a/src/gnome-utils/gnc-combott.h
+++ b/src/gnome-utils/gnc-combott.h
@@ -46,7 +46,7 @@ typedef struct _GncCombottClass GncCombottClass;
 
 struct _GncCombott
 {
-    GtkHBox hbox;
+    GtkBox hbox;
 };
 
 struct _GncCombottClass
diff --git a/src/gnome-utils/gnc-date-delta.c b/src/gnome-utils/gnc-date-delta.c
index 7a13acf..dfac3e7 100644
--- a/src/gnome-utils/gnc-date-delta.c
+++ b/src/gnome-utils/gnc-date-delta.c
@@ -65,7 +65,7 @@ static void gnc_date_delta_forall     (GtkContainer      *container,
                                        GtkCallback	  callback,
                                        gpointer	          callbabck_data);
 
-static GtkHBoxClass *parent_class;
+static GtkBoxClass *parent_class;
 
 /**
  * gnc_date_delta_get_type:
@@ -92,7 +92,7 @@ gnc_date_delta_get_type (void)
             (GInstanceInitFunc) gnc_date_delta_init
         };
 
-        date_delta_type = g_type_register_static (gtk_hbox_get_type (),
+        date_delta_type = g_type_register_static (gtk_box_get_type (),
                           "GNCDateDelta",
                           &date_delta_info,
                           0);
@@ -159,6 +159,8 @@ gnc_date_delta_class_init (GNCDateDeltaClass *klass)
 static void
 gnc_date_delta_init (GNCDateDelta *gdd)
 {
+    gtk_orientable_set_orientation (GTK_ORIENTABLE(gdd), GTK_ORIENTATION_HORIZONTAL);
+
     gdd->value_spin = NULL;
     gdd->units_combo = NULL;
     gdd->polarity_combo = NULL;
diff --git a/src/gnome-utils/gnc-date-delta.h b/src/gnome-utils/gnc-date-delta.h
index 67d6cd0..f749747 100644
--- a/src/gnome-utils/gnc-date-delta.h
+++ b/src/gnome-utils/gnc-date-delta.h
@@ -54,7 +54,7 @@ typedef enum
 
 typedef struct
 {
-    GtkHBox hbox;
+    GtkBox hbox;
 
     GtkWidget *value_spin;
     GtkWidget *units_combo;
@@ -68,7 +68,7 @@ typedef struct
 
 typedef struct
 {
-    GtkHBoxClass parent_class;
+    GtkBoxClass parent_class;
     void (*value_changed) (GNCDateDelta *gdd);
     void (*units_changed) (GNCDateDelta *gdd);
     void (*polarity_changed) (GNCDateDelta *gdd);
diff --git a/src/gnome-utils/gnc-date-edit.c b/src/gnome-utils/gnc-date-edit.c
index ba11733..ab62aeb 100644
--- a/src/gnome-utils/gnc-date-edit.c
+++ b/src/gnome-utils/gnc-date-edit.c
@@ -80,7 +80,7 @@ static int date_accel_key_press(GtkWidget *widget,
                                 gpointer data);
 
 
-static GtkHBoxClass *parent_class;
+static GtkBoxClass *parent_class;
 
 /**
  * gnc_date_edit_get_type:
@@ -108,7 +108,7 @@ gnc_date_edit_get_type (void)
             NULL,
         };
 
-        date_edit_type = g_type_register_static (GTK_TYPE_HBOX,
+        date_edit_type = g_type_register_static (GTK_TYPE_BOX,
                          "GNCDateEdit",
                          &date_edit_info, 0);
     }
@@ -606,7 +606,7 @@ gnc_date_edit_class_init (GNCDateEditClass *klass)
     object_class->dispose = gnc_date_edit_dispose;
     object_class->finalize = gnc_date_edit_finalize;
 
-    parent_class = g_type_class_ref(GTK_TYPE_HBOX);
+    parent_class = g_type_class_ref(GTK_TYPE_BOX);
 
     date_edit_signals [TIME_CHANGED] =
         g_signal_new ("time_changed",
@@ -643,6 +643,8 @@ gnc_date_edit_class_init (GNCDateEditClass *klass)
 static void
 gnc_date_edit_init (GNCDateEdit *gde)
 {
+    gtk_orientable_set_orientation (GTK_ORIENTABLE(gde), GTK_ORIENTATION_HORIZONTAL);
+
     gde->disposed = FALSE;
     gde->popup_in_progress = FALSE;
     gde->lower_hour = 7;
@@ -856,7 +858,8 @@ create_children (GNCDateEdit *gde)
                       G_CALLBACK (gnc_date_edit_button_toggled), gde);
     gtk_box_pack_start (GTK_BOX (gde), gde->date_button, FALSE, FALSE, 0);
 
-    hbox = gtk_hbox_new (FALSE, 3);
+    hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
+    gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
     gtk_container_add (GTK_CONTAINER (gde->date_button), hbox);
     gtk_widget_show (GTK_WIDGET(hbox));
 
diff --git a/src/gnome-utils/gnc-date-edit.h b/src/gnome-utils/gnc-date-edit.h
index 790dd36..f6b7472 100644
--- a/src/gnome-utils/gnc-date-edit.h
+++ b/src/gnome-utils/gnc-date-edit.h
@@ -57,7 +57,7 @@ typedef enum
  **/
 typedef struct
 {
-    GtkHBox hbox;
+    GtkBox hbox;
 
     GtkWidget *date_entry;
     GtkWidget *date_button;
@@ -84,7 +84,7 @@ typedef struct
 
 typedef struct
 {
-    GtkHBoxClass parent_class;
+    GtkBoxClass parent_class;
     void (*date_changed) (GNCDateEdit *gde);
     void (*time_changed) (GNCDateEdit *gde);
 } GNCDateEditClass;
diff --git a/src/gnome-utils/gnc-date-format.c b/src/gnome-utils/gnc-date-format.c
index db2a098..041712e 100644
--- a/src/gnome-utils/gnc-date-format.c
+++ b/src/gnome-utils/gnc-date-format.c
@@ -87,7 +87,7 @@ static void gnc_date_format_compute_format(GNCDateFormat *gdf);
 
 void gnc_ui_date_format_changed_cb(GtkWidget *unused, gpointer user_data);
 
-static GtkHBoxClass *parent_class;
+static GtkBoxClass *parent_class;
 
 /**
  * gnc_date_format_get_type:
@@ -115,7 +115,7 @@ gnc_date_format_get_type (void)
             NULL,
         };
 
-        date_format_type = g_type_register_static(GTK_TYPE_HBOX,
+        date_format_type = g_type_register_static(GTK_TYPE_BOX,
                            "GNCDateFormat",
                            &date_format_info, 0);
     }
@@ -158,6 +158,8 @@ gnc_date_format_init (GNCDateFormat *gdf)
     g_return_if_fail(gdf);
     g_return_if_fail(GNC_IS_DATE_FORMAT(gdf));
 
+    gtk_orientable_set_orientation (GTK_ORIENTABLE(gdf), GTK_ORIENTATION_HORIZONTAL);
+
     /* Open up the Glade and set the signals */
     builder = gtk_builder_new();
     gnc_builder_add_from_file (builder, "gnc-date-format.glade", "format-liststore");
diff --git a/src/gnome-utils/gnc-date-format.h b/src/gnome-utils/gnc-date-format.h
index 12c1bdf..41abcc0 100644
--- a/src/gnome-utils/gnc-date-format.h
+++ b/src/gnome-utils/gnc-date-format.h
@@ -40,12 +40,12 @@
  **/
 typedef struct
 {
-    GtkHBox hbox;
+    GtkBox hbox;
 } GNCDateFormat;
 
 typedef struct
 {
-    GtkHBoxClass hbox_class;
+    GtkBoxClass hbox_class;
     void (*format_changed) (GNCDateFormat *gdf);
 } GNCDateFormatClass;
 
diff --git a/src/gnome-utils/gnc-general-select.c b/src/gnome-utils/gnc-general-select.c
index ef6deea..bee3ac7 100644
--- a/src/gnome-utils/gnc-general-select.c
+++ b/src/gnome-utils/gnc-general-select.c
@@ -51,7 +51,7 @@ static void gnc_general_select_class_init   (GNCGeneralSelectClass *klass);
 static void gnc_general_select_dispose      (GObject               *object);
 static void gnc_general_select_finalize     (GObject               *object);
 
-static GtkHBoxClass *parent_class;
+static GtkBoxClass *parent_class;
 static guint general_select_signals[LAST_SIGNAL];
 
 
@@ -81,7 +81,7 @@ gnc_general_select_get_type (void)
             NULL,
         };
 
-        general_select_type = g_type_register_static(GTK_TYPE_HBOX,
+        general_select_type = g_type_register_static(GTK_TYPE_BOX,
                               "GNCGeneralSelect",
                               &general_select_info, 0);
     }
@@ -119,7 +119,7 @@ gnc_general_select_class_init (GNCGeneralSelectClass *klass)
 
     object_class = (GObjectClass*) klass;
 
-    parent_class = g_type_class_ref(GTK_TYPE_HBOX);
+    parent_class = g_type_class_ref(GTK_TYPE_BOX);
 
     general_select_signals[SELECTION_CHANGED] =
         g_signal_new("changed",
@@ -142,6 +142,8 @@ gnc_general_select_class_init (GNCGeneralSelectClass *klass)
 static void
 gnc_general_select_init (GNCGeneralSelect *gsl)
 {
+    gtk_orientable_set_orientation (GTK_ORIENTABLE(gsl), GTK_ORIENTATION_HORIZONTAL);
+
     gsl->disposed = FALSE;
     gsl->selected_item = NULL;
 }
diff --git a/src/gnome-utils/gnc-general-select.h b/src/gnome-utils/gnc-general-select.h
index 8595f68..d46e72d 100644
--- a/src/gnome-utils/gnc-general-select.h
+++ b/src/gnome-utils/gnc-general-select.h
@@ -48,7 +48,7 @@ typedef enum
 
 typedef struct
 {
-    GtkHBox hbox;
+    GtkBox hbox;
 
     GtkWidget *entry;  /* display of selection name */
     GtkWidget *button; /* button for popping up selection window */
@@ -64,7 +64,7 @@ typedef struct
 
 typedef struct
 {
-    GtkHBoxClass parent_class;
+    GtkBoxClass parent_class;
 
     void 		(*changed) (GNCGeneralSelect *edit);
 } GNCGeneralSelectClass;
diff --git a/src/gnome-utils/gnc-main-window.c b/src/gnome-utils/gnc-main-window.c
index 9264916..7c4ce69 100644
--- a/src/gnome-utils/gnc-main-window.c
+++ b/src/gnome-utils/gnc-main-window.c
@@ -2125,7 +2125,7 @@ main_window_find_tab_items (GncMainWindow *window,
                                            page->notebook_page);
     if (GTK_IS_EVENT_BOX (tab_widget))
         tab_hbox = gtk_bin_get_child(GTK_BIN(tab_widget));
-    else if (GTK_IS_HBOX (tab_widget))
+    else if (GTK_IS_BOX (tab_widget))
         tab_hbox = tab_widget;
     else
     {
diff --git a/src/gnome-utils/gnc-period-select.c b/src/gnome-utils/gnc-period-select.c
index 74d70f7..14bdf80 100644
--- a/src/gnome-utils/gnc-period-select.c
+++ b/src/gnome-utils/gnc-period-select.c
@@ -526,7 +526,7 @@ gnc_period_select_get_type (void)
             NULL
         };
 
-        period_select_type = g_type_register_static(GTK_TYPE_HBOX,
+        period_select_type = g_type_register_static(GTK_TYPE_BOX,
                              "GncPeriodSelect",
                              &period_select_info, 0);
     }
@@ -613,6 +613,8 @@ gnc_period_select_init (GncPeriodSelect *period)
 {
     GncPeriodSelectPrivate *priv;
 
+    gtk_orientable_set_orientation (GTK_ORIENTABLE(period), GTK_ORIENTATION_HORIZONTAL);
+
     priv = GNC_PERIOD_SELECT_GET_PRIVATE(period);
     priv->start = TRUE;
 }
diff --git a/src/gnome-utils/gnc-period-select.h b/src/gnome-utils/gnc-period-select.h
index 2245c86..f96964d 100644
--- a/src/gnome-utils/gnc-period-select.h
+++ b/src/gnome-utils/gnc-period-select.h
@@ -44,12 +44,12 @@ G_BEGIN_DECLS
 /* typedefs & structures */
 typedef struct
 {
-    GtkHBox hbox;
+    GtkBox hbox;
 } GncPeriodSelect;
 
 typedef struct
 {
-    GtkHBoxClass hbox;
+    GtkBoxClass hbox;
 
     /* Signals */
     void (*changed) (GncPeriodSelect *period);
diff --git a/src/gnome-utils/gnc-recurrence.c b/src/gnome-utils/gnc-recurrence.c
index c19eb93..66eb22e 100644
--- a/src/gnome-utils/gnc-recurrence.c
+++ b/src/gnome-utils/gnc-recurrence.c
@@ -181,7 +181,7 @@ static void
 gnc_recurrence_init( GncRecurrence *gr )
 {
     GtkBox  *vb;
-    GtkHBox *hb;
+    GtkBox  *hb;
     GtkWidget *w;
     GtkBuilder *builder;
 
@@ -194,7 +194,7 @@ gnc_recurrence_init( GncRecurrence *gr )
     gnc_builder_add_from_file (builder, "gnc-recurrence.glade", "RecurrenceEntryVBox");
 
     vb = GTK_BOX(gtk_builder_get_object (builder, "RecurrenceEntryVBox"));
-    hb = GTK_HBOX(gtk_builder_get_object (builder, "Startdate_hbox"));
+    hb = GTK_BOX(gtk_builder_get_object (builder, "Startdate_hbox"));
     w = gnc_date_edit_new (gnc_time (NULL), FALSE, FALSE);
     gr->gde_start = w;
     gtk_box_pack_start (GTK_BOX (hb), w, TRUE, TRUE, 0);
@@ -405,7 +405,7 @@ struct _GncRecurrenceComp
     GtkScrolledWindow widget;
 
     GtkWidget  *vbox;
-    GtkHBox *hbox;
+    GtkWidget  *hbox;
     GtkHButtonBox *hbb;
     gint num_rec;
     GtkButton *buttRemove;
diff --git a/src/gnome-utils/gnc-splash.c b/src/gnome-utils/gnc-splash.c
index 9c93234..d46e1a7 100644
--- a/src/gnome-utils/gnc-splash.c
+++ b/src/gnome-utils/gnc-splash.c
@@ -87,7 +87,8 @@ gnc_show_splash_screen (void)
     frame = gtk_frame_new (NULL);
     vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
     gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
-    hbox = gtk_hbox_new (FALSE, 3);
+    hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
+    gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
 #ifdef GNUCASH_SCM
     /* Development version */
     /* Translators: 1st %s is the GnuCash version (eg 2.4.11);
diff --git a/src/gnome-utils/window-main-summarybar.c b/src/gnome-utils/window-main-summarybar.c
index bdf9a34..e8a27a3 100644
--- a/src/gnome-utils/window-main-summarybar.c
+++ b/src/gnome-utils/window-main-summarybar.c
@@ -530,7 +530,9 @@ gnc_main_window_summary_new (void)
                                             G_TYPE_STRING,
                                             G_TYPE_STRING);
 
-    retval->hbox         = gtk_hbox_new (FALSE, 5);
+    retval->hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (retval->hbox), FALSE);
+
     retval->totals_combo = gtk_combo_box_new_with_model (GTK_TREE_MODEL (retval->datamodel));
     g_object_unref (retval->datamodel);
 
diff --git a/src/gnome/assistant-loan.c b/src/gnome/assistant-loan.c
index 53492dc..a9dea6f 100644
--- a/src/gnome/assistant-loan.c
+++ b/src/gnome/assistant-loan.c
@@ -244,7 +244,7 @@ typedef struct LoanAssistantData_
     /* opt = options */
     GtkBox         *optVBox;
     GtkCheckButton *optEscrowCb;
-    GtkHBox        *optEscrowHBox;
+    GtkBox         *optEscrowHBox;
     GNCAccountSel  *optEscrowGAS;
 
     /* rep = repayment */
@@ -501,7 +501,7 @@ gnc_loan_assistant_create( LoanAssistantData *ldd )
     {
         ldd->optVBox = GTK_BOX(gtk_builder_get_object(builder, "loan_options_page"));
         ldd->optEscrowCb = GTK_CHECK_BUTTON(gtk_builder_get_object(builder, "opt_escrow_cb"));
-        ldd->optEscrowHBox = GTK_HBOX(gtk_builder_get_object(builder, "opt_escrow_hbox"));
+        ldd->optEscrowHBox = GTK_BOX(gtk_builder_get_object(builder, "opt_escrow_hbox"));
     }
     /* Payment Page */
     {
@@ -797,16 +797,16 @@ gnc_loan_assistant_create( LoanAssistantData *ldd )
                           G_CALLBACK(loan_pay_freq_toggle_cb), ldd );
 
         {
-            GtkHBox *hbox;
-            hbox = GTK_HBOX(gtk_builder_get_object(builder, "type_freq_hbox"));
+            GtkBox *hbox;
+            hbox = GTK_BOX(gtk_builder_get_object(builder, "type_freq_hbox"));
             ldd->prmVarGncFreq = GNC_FREQUENCY(gnc_frequency_new( NULL, NULL ));
             gtk_box_pack_start( GTK_BOX(hbox) , GTK_WIDGET(ldd->prmVarGncFreq), TRUE, FALSE, 0 );
             g_signal_connect (ldd->prmVarGncFreq, "changed",
                               G_CALLBACK (loan_info_page_valid_cb), ldd);
         }
         {
-            GtkHBox *hbox;
-            hbox = GTK_HBOX(gtk_builder_get_object(builder, "freq_frame_hbox"));
+            GtkBox *hbox;
+            hbox = GTK_BOX(gtk_builder_get_object(builder, "freq_frame_hbox"));
             ldd->repGncFreq = GNC_FREQUENCY(gnc_frequency_new( NULL, NULL ));
             gtk_box_pack_start( GTK_BOX(hbox) , GTK_WIDGET(ldd->repGncFreq), TRUE, FALSE, 0 );
             g_signal_connect (ldd->repGncFreq, "changed",
diff --git a/src/gnome/gnc-split-reg.c b/src/gnome/gnc-split-reg.c
index e15f086..43104f5 100644
--- a/src/gnome/gnc-split-reg.c
+++ b/src/gnome/gnc-split-reg.c
@@ -1986,7 +1986,8 @@ add_summary_label (GtkWidget *summarybar, const char *label_str)
     GtkWidget *hbox;
     GtkWidget *label;
 
-    hbox = gtk_hbox_new(FALSE, 2);
+    hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2);
+    gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
     gtk_box_pack_start( GTK_BOX(summarybar), hbox, FALSE, FALSE, 5 );
 
     label = gtk_label_new( label_str );
@@ -2019,7 +2020,8 @@ gsr_create_summary_bar( GNCSplitReg *gsr )
         return NULL;
     }
 
-    summarybar = gtk_hbox_new (FALSE, 4);
+    summarybar = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4);
+    gtk_box_set_homogeneous (GTK_BOX (summarybar), FALSE);
 
     if (!xaccAccountIsPriced(gnc_ledger_display_leader(gsr->ledger)))
     {
diff --git a/src/gnome/gnc-split-reg2.c b/src/gnome/gnc-split-reg2.c
index 38157ce..04264f3 100644
--- a/src/gnome/gnc-split-reg2.c
+++ b/src/gnome/gnc-split-reg2.c
@@ -279,7 +279,8 @@ gsr2_create_table (GNCSplitReg2 *gsr)
                  "show-column-menu", FALSE, NULL);
 
     // Create a hbox for treeview and scrollbar.
-    hbox = gtk_hbox_new (FALSE, 0);
+    hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
     gtk_widget_show (hbox);
 
     scrolled_window = gtk_scrolled_window_new (NULL, NULL);
@@ -769,7 +770,8 @@ add_summary_label (GtkWidget *summarybar, const char *label_str)
     GtkWidget *hbox;
     GtkWidget *label;
 
-    hbox = gtk_hbox_new (FALSE, 2);
+    hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2);
+    gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
     gtk_box_pack_start (GTK_BOX (summarybar), hbox, FALSE, FALSE, 5);
 
     label = gtk_label_new (label_str);
@@ -802,7 +804,8 @@ gnc_split_reg2_create_summary_bar (GNCSplitReg2 *gsr)
         return NULL;
     }
 
-    summarybar = gtk_hbox_new (FALSE, 4);
+    summarybar = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4);
+    gtk_box_set_homogeneous (GTK_BOX (summarybar), FALSE);
 
     if (!xaccAccountIsPriced(gnc_ledger_display2_leader(gsr->ledger)))
     {
diff --git a/src/gnome/window-reconcile.c b/src/gnome/window-reconcile.c
index 29e988a..9afb3e7 100644
--- a/src/gnome/window-reconcile.c
+++ b/src/gnome/window-reconcile.c
@@ -1175,7 +1175,8 @@ gnc_reconcile_window_create_view_box(Account *account,
     gtk_container_add(GTK_CONTAINER(scrollWin), view);
     gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0);
 
-    hbox = gtk_hbox_new(FALSE, 5);
+    hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
     gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
 
     label = gtk_label_new(_("Total:"));
@@ -1820,7 +1821,8 @@ recnWindowWithBalance (GtkWidget *parent, Account *account,
             GtkWidget *totals_hbox, *frame, *title, *value;
 
             /* lower horizontal bar below reconcile lists */
-            hbox = gtk_hbox_new(FALSE, 5);
+            hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+            gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
             gtk_box_pack_start(GTK_BOX(main_area), hbox, FALSE, FALSE, 0);
 
             /* frame to hold totals */
@@ -1828,7 +1830,8 @@ recnWindowWithBalance (GtkWidget *parent, Account *account,
             gtk_box_pack_end(GTK_BOX(hbox), frame, FALSE, FALSE, 0);
 
             /* hbox to hold title/value vboxes */
-            totals_hbox = gtk_hbox_new(FALSE, 3);
+            totals_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
+            gtk_box_set_homogeneous (GTK_BOX (totals_hbox), FALSE);
             gtk_container_add(GTK_CONTAINER(frame), totals_hbox);
             gtk_container_set_border_width(GTK_CONTAINER(totals_hbox), 5);
 
diff --git a/src/gnome/window-reconcile2.c b/src/gnome/window-reconcile2.c
index 6188ad9..7b42f5b 100644
--- a/src/gnome/window-reconcile2.c
+++ b/src/gnome/window-reconcile2.c
@@ -1138,7 +1138,8 @@ gnc_reconcile_window_create_view_box (Account *account,
     gtk_container_add (GTK_CONTAINER (scrollWin), view);
     gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
 
-    hbox = gtk_hbox_new (FALSE, 5);
+    hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
     gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
 
     label = gtk_label_new (_("Total:"));
@@ -1780,7 +1781,8 @@ recnWindow2WithBalance (GtkWidget *parent, Account *account,
             GtkWidget *totals_hbox, *frame, *title, *value;
 
             /* lower horizontal bar below reconcile lists */
-            hbox = gtk_hbox_new (FALSE, 5);
+            hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+            gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
             gtk_box_pack_start (GTK_BOX (main_area), hbox, FALSE, FALSE, 0);
 
             /* frame to hold totals */
@@ -1788,7 +1790,8 @@ recnWindow2WithBalance (GtkWidget *parent, Account *account,
             gtk_box_pack_end (GTK_BOX (hbox), frame, FALSE, FALSE, 0);
 
             /* hbox to hold title/value vboxes */
-            totals_hbox = gtk_hbox_new (FALSE, 3);
+            totals_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
+            gtk_box_set_homogeneous (GTK_BOX (totals_hbox), FALSE);
             gtk_container_add (GTK_CONTAINER (frame), totals_hbox);
             gtk_container_set_border_width (GTK_CONTAINER (totals_hbox), 5);
 
diff --git a/src/import-export/csv-exp/assistant-csv-export.c b/src/import-export/csv-exp/assistant-csv-export.c
index e9a8c6c..89f07a6 100644
--- a/src/import-export/csv-exp/assistant-csv-export.c
+++ b/src/import-export/csv-exp/assistant-csv-export.c
@@ -921,7 +921,8 @@ csv_export_assistant_create (CsvExportInfo *info)
     button = gtk_button_new_from_stock (GTK_STOCK_OK);
     gtk_widget_set_size_request (button, 100, -1);
     gtk_widget_show (button);
-    h_box = gtk_hbox_new (TRUE, 0);
+    h_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (h_box), TRUE);
     gtk_box_pack_start(GTK_BOX(h_box), button, FALSE, FALSE, 0);
     gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER(info->file_chooser), h_box);
     g_signal_connect (G_OBJECT(button), "clicked",
diff --git a/src/import-export/csv-imp/assistant-csv-account-import.c b/src/import-export/csv-imp/assistant-csv-account-import.c
index d14571b..0a0ee46 100644
--- a/src/import-export/csv-imp/assistant-csv-account-import.c
+++ b/src/import-export/csv-imp/assistant-csv-account-import.c
@@ -610,7 +610,8 @@ csv_import_assistant_create (CsvImportInfo *info)
     button = gtk_button_new_from_stock (GTK_STOCK_OK);
     gtk_widget_set_size_request (button, 100, -1);
     gtk_widget_show (button);
-    h_box = gtk_hbox_new (TRUE, 0);
+    h_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (h_box), TRUE);
     gtk_box_pack_start (GTK_BOX(h_box), button, FALSE, FALSE, 0);
     gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER(info->file_chooser), h_box);
     g_signal_connect (G_OBJECT(button), "clicked",
diff --git a/src/import-export/csv-imp/assistant-csv-trans-import.cpp b/src/import-export/csv-imp/assistant-csv-trans-import.cpp
index ce4ff79..eb5adc6 100644
--- a/src/import-export/csv-imp/assistant-csv-trans-import.cpp
+++ b/src/import-export/csv-imp/assistant-csv-trans-import.cpp
@@ -423,7 +423,9 @@ CsvImpTransAssist::CsvImpTransAssist ()
     auto button = gtk_button_new_from_stock (GTK_STOCK_OK);
     gtk_widget_set_size_request (button, 100, -1);
     gtk_widget_show (button);
-    auto h_box = gtk_hbox_new (TRUE, 0);
+    auto h_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (h_box), TRUE);
+
     gtk_box_pack_start (GTK_BOX(h_box), button, FALSE, FALSE, 0);
     gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER(file_chooser), h_box);
     g_signal_connect (G_OBJECT(button), "clicked",
diff --git a/src/import-export/import-account-matcher.c b/src/import-export/import-account-matcher.c
index fe17bd9..75458bd 100644
--- a/src/import-export/import-account-matcher.c
+++ b/src/import-export/import-account-matcher.c
@@ -443,7 +443,10 @@ AccountPickerDialog* gnc_import_account_assist_setup(GtkWidget *parent)
 
     /* Add the New Account Button */
     picker->new_button = gtk_button_new_with_mnemonic ("_New Account");
-    h_box = gtk_hbox_new(TRUE, 0);
+
+    h_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (h_box), TRUE);
+
     gtk_box_pack_start(GTK_BOX(h_box), picker->new_button, FALSE, FALSE, 0);
     gtk_box_pack_start( GTK_BOX(box), h_box, FALSE, FALSE, 6);
     gtk_button_set_use_stock (GTK_BUTTON(picker->new_button), TRUE);

commit 5c2a70bcabca9c259df2fab691748119973b2562
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Jun 16 11:33:41 2017 +0100

    Change all the GtkVBox widgets
    
    Change all GtkVBox widgets to GtkBox with orientation VERTICAL

diff --git a/src/business/business-gnome/gnc-plugin-page-invoice.c b/src/business/business-gnome/gnc-plugin-page-invoice.c
index ee2d5bc..121a8b1 100644
--- a/src/business/business-gnome/gnc-plugin-page-invoice.c
+++ b/src/business/business-gnome/gnc-plugin-page-invoice.c
@@ -460,7 +460,9 @@ gnc_plugin_page_invoice_create_widget (GncPluginPage *plugin_page)
         return priv->widget;
     }
 
-    priv->widget = gtk_vbox_new (FALSE, 0);
+    priv->widget = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (priv->widget), FALSE);
+
     gtk_widget_show (priv->widget);
 
     widget = gnc_invoice_create_page(priv->iw, page);
diff --git a/src/business/business-gnome/gnc-plugin-page-owner-tree.c b/src/business/business-gnome/gnc-plugin-page-owner-tree.c
index 66191da..73757e0 100644
--- a/src/business/business-gnome/gnc-plugin-page-owner-tree.c
+++ b/src/business/business-gnome/gnc-plugin-page-owner-tree.c
@@ -570,7 +570,8 @@ gnc_plugin_page_owner_tree_create_widget (GncPluginPage *plugin_page)
         return priv->widget;
     }
 
-    priv->widget = gtk_vbox_new (FALSE, 0);
+    priv->widget = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (priv->widget), FALSE);
     gtk_widget_show (priv->widget);
 
     scrolled_window = gtk_scrolled_window_new (NULL, NULL);
diff --git a/src/gnome-search/dialog-search.c b/src/gnome-search/dialog-search.c
index b48e477..1f1e277 100644
--- a/src/gnome-search/dialog-search.c
+++ b/src/gnome-search/dialog-search.c
@@ -341,7 +341,8 @@ gnc_search_dialog_display_results (GNCSearchWindow *sw)
         gtk_container_add(GTK_CONTAINER(frame), scroller);
 
         /* Create the button_box */
-        button_box = gtk_vbox_new (FALSE, 3);
+        button_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
+        gtk_box_set_homogeneous (GTK_BOX (button_box), FALSE);
 
         /* ... and add all the buttons */
         if (sw->buttons)
diff --git a/src/gnome-utils/assistant-xml-encoding.c b/src/gnome-utils/assistant-xml-encoding.c
index 5ade66c..0b3238b 100644
--- a/src/gnome-utils/assistant-xml-encoding.c
+++ b/src/gnome-utils/assistant-xml-encoding.c
@@ -738,7 +738,9 @@ gxi_update_string_box (GncXmlImportData *data)
     if (data->string_box)
         gtk_widget_destroy (data->string_box);
 
-    data->string_box = gtk_vbox_new (FALSE, 6);
+    data->string_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+    gtk_box_set_homogeneous (GTK_BOX (data->string_box), FALSE);
+
     vbox = GTK_BOX (data->string_box);
 
     data->n_unassigned = 0;
diff --git a/src/gnome-utils/dialog-account.c b/src/gnome-utils/dialog-account.c
index 975cacf..79cbccc 100644
--- a/src/gnome-utils/dialog-account.c
+++ b/src/gnome-utils/dialog-account.c
@@ -650,7 +650,8 @@ verify_children_compatible (AccountWindow *aw)
     gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dialog), TRUE);
 
     hbox = gtk_hbox_new (FALSE, 12);
-    vbox = gtk_vbox_new (FALSE, 12);
+    vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
+    gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
 
     gtk_box_pack_start (
         GTK_BOX (hbox),
diff --git a/src/gnome-utils/dialog-options.c b/src/gnome-utils/dialog-options.c
index 2d81074..1213197 100644
--- a/src/gnome-utils/dialog-options.c
+++ b/src/gnome-utils/dialog-options.c
@@ -866,7 +866,9 @@ gnc_option_create_currency_accounting_widget (char *name, GNCOption *option)
     frame = gtk_frame_new (name);
 
     /* Create the verticle button box */
-    vbox1 = gtk_vbox_new (FALSE, 5);
+    vbox1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (vbox1), FALSE);
+
     gtk_container_add (GTK_CONTAINER (frame), vbox1);
 
     /* Iterate over the three options and create a radio button for each one */
@@ -890,7 +892,10 @@ gnc_option_create_currency_accounting_widget (char *name, GNCOption *option)
         /* Use hbox & vbox2 for all buttons so they are all at the same level;
            easier to get in set/get ui functions */
         hbox = gtk_hbox_new(FALSE, 5);
-        vbox2 = gtk_vbox_new(FALSE, 5);
+
+        vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
+        gtk_box_set_homogeneous (GTK_BOX (vbox2), FALSE);
+
         gtk_box_pack_start (GTK_BOX (vbox2), widget, FALSE, FALSE, 0);
         gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, FALSE, 0);
         if (i == 1) /* book-currency */
@@ -910,7 +915,9 @@ gnc_option_create_currency_accounting_widget (char *name, GNCOption *option)
                          "changed",
                          G_CALLBACK(gnc_option_changed_widget_cb),
                          option);
-            vbox2 = gtk_vbox_new(FALSE, 5);
+            vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
+            gtk_box_set_homogeneous (GTK_BOX (vbox2), FALSE);
+
             gtk_widget_set_tooltip_text(vbox2, tip && *tip ? _(tip) : "");
             gtk_box_pack_start (GTK_BOX (vbox2), widget_label, FALSE, FALSE, 0);
             gtk_box_pack_start (GTK_BOX (vbox2),
@@ -923,7 +930,10 @@ gnc_option_create_currency_accounting_widget (char *name, GNCOption *option)
             }
             tip = gnc_currency_accounting_option_policy_documentation(option);
             widget_label = gtk_label_new( _("Default Gains Policy") );
-            vbox2 = gtk_vbox_new(FALSE, 5);
+
+            vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
+            gtk_box_set_homogeneous (GTK_BOX (vbox2), FALSE);
+
             gtk_widget_set_tooltip_text(vbox2, tip && *tip ? _(tip) : "");
             gtk_box_pack_start (GTK_BOX (vbox2), widget_label, FALSE, FALSE, 0);
             gtk_box_pack_start (GTK_BOX (vbox2),
@@ -1019,7 +1029,9 @@ gnc_option_create_account_widget(GNCOption *option, char *name)
 
     frame = gtk_frame_new(name);
 
-    vbox = gtk_vbox_new(FALSE, 0);
+    vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
+
     gtk_container_add(GTK_CONTAINER(frame), vbox);
 
     tree = GTK_WIDGET(gnc_tree_view_account_new (FALSE));
@@ -1369,14 +1381,18 @@ gnc_options_dialog_append_page(GNCOptionWin * propertybox,
     gtk_widget_show(page_label);
 
     /* Build this options page */
-    page_content_box = gtk_vbox_new(FALSE, 2);
+    page_content_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
+    gtk_box_set_homogeneous (GTK_BOX (page_content_box), FALSE);
+
     gtk_container_set_border_width(GTK_CONTAINER(page_content_box), 12);
 
     options_scrolled_win = gtk_scrolled_window_new(NULL, NULL);
     gtk_box_pack_start(GTK_BOX(page_content_box), options_scrolled_win, TRUE, TRUE, 0);
 
     /* Build space for the content - the options box */
-    options_box = gtk_vbox_new(FALSE, 5);
+    options_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (options_box), FALSE);
+
     gtk_container_set_border_width(GTK_CONTAINER(options_box), 0);
     gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(options_scrolled_win), options_box);
     gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(options_scrolled_win), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
diff --git a/src/gnome-utils/dialog-query-view.c b/src/gnome-utils/dialog-query-view.c
index d9b73e8..5a345f7 100644
--- a/src/gnome-utils/dialog-query-view.c
+++ b/src/gnome-utils/dialog-query-view.c
@@ -214,7 +214,9 @@ gnc_dialog_query_view_new (GList *param_list, Query *q)
     gtk_box_pack_start (GTK_BOX (result_hbox), frame, TRUE, TRUE, 3);
 
     /* Create the button_box */
-    dqv->button_box = gtk_vbox_new (FALSE, 2);
+    dqv->button_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
+    gtk_box_set_homogeneous (GTK_BOX (dqv->button_box), FALSE);
+
     gtk_box_pack_start (GTK_BOX (result_hbox), dqv->button_box, FALSE, FALSE, 3);
 
     /* connect the double-click signal of the qview */
diff --git a/src/gnome-utils/gnc-cell-renderer-date.c b/src/gnome-utils/gnc-cell-renderer-date.c
index bb13c7f..5810b77 100644
--- a/src/gnome-utils/gnc-cell-renderer-date.c
+++ b/src/gnome-utils/gnc-cell-renderer-date.c
@@ -143,7 +143,9 @@ gcrd_init (GncCellRendererDate *date)
 	gtk_container_add (GTK_CONTAINER (popup->popup_window), frame);
 	gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT);
 
-	vbox = gtk_vbox_new (FALSE, 6);
+        vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+        gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
+
 	gtk_container_add (GTK_CONTAINER (frame), vbox);
 	gtk_container_set_border_width (GTK_CONTAINER (vbox), 6);
 	
diff --git a/src/gnome-utils/gnc-embedded-window.c b/src/gnome-utils/gnc-embedded-window.c
index 82598de..50b2078 100644
--- a/src/gnome-utils/gnc-embedded-window.c
+++ b/src/gnome-utils/gnc-embedded-window.c
@@ -119,7 +119,7 @@ gnc_embedded_window_get_type (void)
             NULL
         };
 
-        gnc_embedded_window_type = g_type_register_static (GTK_TYPE_VBOX,
+        gnc_embedded_window_type = g_type_register_static (GTK_TYPE_BOX,
                                    "GncEmbeddedWindow",
                                    &our_info, 0);
         g_type_add_interface_static (gnc_embedded_window_type,
@@ -237,6 +237,8 @@ gnc_embedded_window_init (GncEmbeddedWindow *window,
 {
     ENTER("window %p", window);
 
+    gtk_orientable_set_orientation (GTK_ORIENTABLE(window), GTK_ORIENTATION_VERTICAL);
+
     gnc_embedded_window_setup_window (window);
 
     gnc_gobject_tracking_remember(G_OBJECT(window),
@@ -324,7 +326,8 @@ gnc_embedded_window_setup_window (GncEmbeddedWindow *window)
     /* Create widgets and add them to the window */
     gtk_widget_show (GTK_WIDGET(window));
 
-    priv->menu_dock = gtk_vbox_new (FALSE, 0);
+    priv->menu_dock = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (priv->menu_dock), FALSE);
     gtk_widget_show (priv->menu_dock);
     gtk_box_pack_start (GTK_BOX (window), priv->menu_dock, FALSE, TRUE, 0);
 
diff --git a/src/gnome-utils/gnc-embedded-window.h b/src/gnome-utils/gnc-embedded-window.h
index 0a497a0..081f6a5 100644
--- a/src/gnome-utils/gnc-embedded-window.h
+++ b/src/gnome-utils/gnc-embedded-window.h
@@ -56,7 +56,7 @@ G_BEGIN_DECLS
 typedef struct
 {
     /** The parent object for an embedded window. */
-    GtkVBox vbox;
+    GtkBox vbox;
     /** A pointer to the UI Manager data structure for the whole
      *  window. */
     GtkUIManager *ui_merge;
@@ -67,7 +67,7 @@ typedef struct
 typedef struct
 {
     /** The parent class for an embedded window. */
-    GtkVBoxClass vbox;
+    GtkBoxClass vbox;
 } GncEmbeddedWindowClass;
 
 
diff --git a/src/gnome-utils/gnc-frequency.c b/src/gnome-utils/gnc-frequency.c
index bba0c74..22ef9ac 100644
--- a/src/gnome-utils/gnc-frequency.c
+++ b/src/gnome-utils/gnc-frequency.c
@@ -127,7 +127,7 @@ gnc_frequency_get_type()
             (GInstanceInitFunc)gnc_frequency_init
         };
 
-        gncfreq_type = g_type_register_static (GTK_TYPE_VBOX,
+        gncfreq_type = g_type_register_static (GTK_TYPE_BOX,
                                                "GncFrequency",
                                                &gncfreq_info, 0);
     }
@@ -167,7 +167,7 @@ void
 gnc_frequency_init(GncFrequency *gf)
 {
     int i;
-    GtkVBox* vb;
+    GtkBox* vb;
     GtkWidget* o;
     GtkAdjustment* adj;
     GtkBuilder *builder;
@@ -201,6 +201,8 @@ gnc_frequency_init(GncFrequency *gf)
         { NULL,               NULL }
     };
 
+    gtk_orientable_set_orientation (GTK_ORIENTABLE(gf), GTK_ORIENTATION_VERTICAL);
+
     builder = gtk_builder_new();
     gnc_builder_add_from_file  (builder , "gnc-frequency.glade", "adjustment1");
     gnc_builder_add_from_file  (builder , "gnc-frequency.glade", "adjustment2");
@@ -229,7 +231,7 @@ gnc_frequency_init(GncFrequency *gf)
                          4, 5, 0, 1, dont_expand_or_fill, 0,
                          0, 0);
     }
-    vb = GTK_VBOX(gtk_builder_get_object (builder, "gncfreq_vbox"));
+    vb = GTK_BOX(gtk_builder_get_object (builder, "gncfreq_vbox"));
     gf->vb = vb;
     gtk_container_add(GTK_CONTAINER(&gf->widget), GTK_WIDGET(gf->vb));
 
diff --git a/src/gnome-utils/gnc-frequency.h b/src/gnome-utils/gnc-frequency.h
index a2eef6a..cda8470 100644
--- a/src/gnome-utils/gnc-frequency.h
+++ b/src/gnome-utils/gnc-frequency.h
@@ -42,8 +42,8 @@
  **/
 typedef struct _GncFrequency
 {
-    GtkVBox	     widget;
-    GtkVBox         *vb;
+    GtkBox	     widget;
+    GtkBox          *vb;
     GtkNotebook     *nb;
     GtkComboBox     *freqComboBox;
     GNCDateEdit     *startDate;
@@ -52,7 +52,7 @@ typedef struct _GncFrequency
 
 typedef struct _GncFrequencyClass
 {
-    GtkVBoxClass parent_class;
+    GtkBoxClass parent_class;
 
     void (*changed) (GncFrequency *gf);
 } GncFrequencyClass;
diff --git a/src/gnome-utils/gnc-gui-query.c b/src/gnome-utils/gnc-gui-query.c
index 8a9e6b7..6f7aa69 100644
--- a/src/gnome-utils/gnc-gui-query.c
+++ b/src/gnome-utils/gnc-gui-query.c
@@ -301,7 +301,8 @@ gnc_choose_radio_option_dialog(GtkWidget *parent,
     GList *node;
     int i;
 
-    main_vbox = gtk_vbox_new(FALSE, 3);
+    main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
+    gtk_box_set_homogeneous (GTK_BOX (main_vbox), FALSE);
     gtk_container_set_border_width(GTK_CONTAINER(main_vbox), 6);
     gtk_widget_show(main_vbox);
 
@@ -315,7 +316,8 @@ gnc_choose_radio_option_dialog(GtkWidget *parent,
     gtk_box_pack_start(GTK_BOX(main_vbox), alignment, FALSE, FALSE, 0);
     gtk_widget_show(alignment);
 
-    vbox = gtk_vbox_new(TRUE, 3);
+    vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
+    gtk_box_set_homogeneous (GTK_BOX (vbox), TRUE);
     gtk_container_set_border_width(GTK_CONTAINER(vbox), 6);
     gtk_container_add(GTK_CONTAINER(alignment), vbox);
     gtk_widget_show(vbox);
diff --git a/src/gnome-utils/gnc-recurrence.c b/src/gnome-utils/gnc-recurrence.c
index f904333..c19eb93 100644
--- a/src/gnome-utils/gnc-recurrence.c
+++ b/src/gnome-utils/gnc-recurrence.c
@@ -37,7 +37,7 @@ static QofLogModule log_module = GNC_MOD_GUI;
 
 struct _GncRecurrence
 {
-    GtkVBox widget;
+    GtkBox widget;
 
     GtkWidget *gde_start;
     GtkComboBox *gcb_period;
@@ -50,7 +50,7 @@ struct _GncRecurrence
 
 typedef struct
 {
-    GtkVBoxClass parent_class;
+    GtkBoxClass parent_class;
     void (*changed) (GncRecurrence *gr);
 } GncRecurrenceClass;
 
@@ -180,7 +180,7 @@ something_changed( GtkWidget *wid, gpointer d )
 static void
 gnc_recurrence_init( GncRecurrence *gr )
 {
-    GtkVBox *vb;
+    GtkBox  *vb;
     GtkHBox *hb;
     GtkWidget *w;
     GtkBuilder *builder;
@@ -193,7 +193,7 @@ gnc_recurrence_init( GncRecurrence *gr )
     gnc_builder_add_from_file (builder, "gnc-recurrence.glade", "GSB_Mult_Adj");
     gnc_builder_add_from_file (builder, "gnc-recurrence.glade", "RecurrenceEntryVBox");
 
-    vb = GTK_VBOX(gtk_builder_get_object (builder, "RecurrenceEntryVBox"));
+    vb = GTK_BOX(gtk_builder_get_object (builder, "RecurrenceEntryVBox"));
     hb = GTK_HBOX(gtk_builder_get_object (builder, "Startdate_hbox"));
     w = gnc_date_edit_new (gnc_time (NULL), FALSE, FALSE);
     gr->gde_start = w;
@@ -378,7 +378,7 @@ gnc_recurrence_get_type()
             (GInstanceInitFunc)gnc_recurrence_init
         };
 
-        type = g_type_register_static (GTK_TYPE_VBOX, "GncRecurrence",
+        type = g_type_register_static (GTK_TYPE_BOX, "GncRecurrence",
                                        &typeinfo, 0);
     }
     return type;
@@ -404,7 +404,7 @@ struct _GncRecurrenceComp
 {
     GtkScrolledWindow widget;
 
-    GtkVBox *vbox;
+    GtkWidget  *vbox;
     GtkHBox *hbox;
     GtkHButtonBox *hbb;
     gint num_rec;
@@ -534,8 +534,11 @@ gnc_recurrence_comp_init(GncRecurrenceComp *grc)
 {
     GtkWidget *vb;
 
+    gtk_orientable_set_orientation (GTK_ORIENTABLE(grc), GTK_ORIENTATION_VERTICAL);
+
     grc->hbb = GTK_HBUTTON_BOX(gtk_hbutton_box_new());
-    grc->vbox = GTK_VBOX(gtk_vbox_new(FALSE, 1));
+    grc->vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 1);
+    gtk_box_set_homogeneous (GTK_BOX (grc->vbox), FALSE);
     grc->rlist = NULL;
 
     grc->buttAdd = GTK_BUTTON(gtk_button_new_from_stock(GTK_STOCK_ADD));
@@ -550,7 +553,8 @@ gnc_recurrence_comp_init(GncRecurrenceComp *grc)
     gtk_box_pack_start(GTK_BOX(grc->hbb), GTK_WIDGET(grc->buttRemove),
                        FALSE, FALSE, 3);
 
-    vb = gtk_vbox_new(FALSE, 1);
+    vb = gtk_box_new (GTK_ORIENTATION_VERTICAL, 1);
+    gtk_box_set_homogeneous (GTK_BOX (vb), FALSE);
     gtk_box_pack_start(GTK_BOX(vb), GTK_WIDGET(grc->hbb),
                        FALSE, FALSE, 3);
     gtk_box_pack_start(GTK_BOX(vb), GTK_WIDGET(grc->vbox),
diff --git a/src/gnome-utils/gnc-splash.c b/src/gnome-utils/gnc-splash.c
index a664a33..9c93234 100644
--- a/src/gnome-utils/gnc-splash.c
+++ b/src/gnome-utils/gnc-splash.c
@@ -85,7 +85,8 @@ gnc_show_splash_screen (void)
     }
 
     frame = gtk_frame_new (NULL);
-    vbox = gtk_vbox_new (FALSE, 3);
+    vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
+    gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
     hbox = gtk_hbox_new (FALSE, 3);
 #ifdef GNUCASH_SCM
     /* Development version */
diff --git a/src/gnome-utils/gnc-window.h b/src/gnome-utils/gnc-window.h
index 3173142..fa9b23a 100644
--- a/src/gnome-utils/gnc-window.h
+++ b/src/gnome-utils/gnc-window.h
@@ -34,7 +34,7 @@
     GnuCash has two types of "windows" that can show Plugin Pages.
     The first is called a "Main Window" and is implemented on top of a
     GtkWindow.  The second is called an "Embedded Window" and is
-    implemented on top of a GtkVBox.  The functions in this file will
+    implemented on top of a GtkBox.  The functions in this file will
     work with either type of window.
 */
 
diff --git a/src/gnome/assistant-hierarchy.c b/src/gnome/assistant-hierarchy.c
index f306c52..55a697f 100644
--- a/src/gnome/assistant-hierarchy.c
+++ b/src/gnome/assistant-hierarchy.c
@@ -1141,7 +1141,8 @@ book_options_dialog_close_cb(GNCOptionWin * optionwin,
 static void
 assistant_instert_book_options_page (hierarchy_data *data)
 {
-    GtkWidget *vbox = gtk_vbox_new (FALSE, 0);
+    GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
 
     data->options = gnc_option_db_new_for_type (QOF_ID_BOOK);
     qof_book_load_options (gnc_get_current_book (),
diff --git a/src/gnome/assistant-loan.c b/src/gnome/assistant-loan.c
index 812f985..53492dc 100644
--- a/src/gnome/assistant-loan.c
+++ b/src/gnome/assistant-loan.c
@@ -242,7 +242,7 @@ typedef struct LoanAssistantData_
     GtkComboBox   *prmIrateType;
 
     /* opt = options */
-    GtkVBox        *optVBox;
+    GtkBox         *optVBox;
     GtkCheckButton *optEscrowCb;
     GtkHBox        *optEscrowHBox;
     GNCAccountSel  *optEscrowGAS;
@@ -499,7 +499,7 @@ gnc_loan_assistant_create( LoanAssistantData *ldd )
     }
     /* Options Page */
     {
-        ldd->optVBox = GTK_VBOX(gtk_builder_get_object(builder, "loan_options_page"));
+        ldd->optVBox = GTK_BOX(gtk_builder_get_object(builder, "loan_options_page"));
         ldd->optEscrowCb = GTK_CHECK_BUTTON(gtk_builder_get_object(builder, "opt_escrow_cb"));
         ldd->optEscrowHBox = GTK_HBOX(gtk_builder_get_object(builder, "opt_escrow_hbox"));
     }
@@ -728,7 +728,7 @@ gnc_loan_assistant_create( LoanAssistantData *ldd )
              */
 
             RepayOptUIData *rouid;
-            GtkVBox *vb;
+            GtkWidget  *vb;
             GtkAlignment *optAlign, *subOptAlign;
             GString *str;
 
@@ -737,7 +737,8 @@ gnc_loan_assistant_create( LoanAssistantData *ldd )
             for ( i = 0; i < ldd->ld.repayOptCount; i++ )
             {
                 rouid = ldd->repayOptsUI[i];
-                vb = GTK_VBOX(gtk_vbox_new( FALSE, 2 ));
+                vb = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
+                gtk_box_set_homogeneous (GTK_BOX (vb), FALSE);
 
                 /* Add payment checkbox. */
 
diff --git a/src/gnome/gnc-budget-view.c b/src/gnome/gnc-budget-view.c
index 5cd197e..772cd33 100644
--- a/src/gnome/gnc-budget-view.c
+++ b/src/gnome/gnc-budget-view.c
@@ -79,12 +79,12 @@ typedef struct GncBudgetViewPrivate GncBudgetViewPrivate;
 
 struct _GncBudgetView
 {
-    GtkVBox w;
+    GtkBox w;
 };
 
 struct _GncBudgetViewClass
 {
-    GtkVBoxClass w;
+    GtkBoxClass w;
 };
 
 enum
@@ -160,7 +160,7 @@ struct GncBudgetViewPrivate
 #define GNC_BUDGET_VIEW_GET_PRIVATE(o)  \
    (G_TYPE_INSTANCE_GET_PRIVATE((o), GNC_TYPE_BUDGET_VIEW, GncBudgetViewPrivate))
 
-G_DEFINE_TYPE(GncBudgetView, gnc_budget_view, GTK_TYPE_VBOX)
+G_DEFINE_TYPE(GncBudgetView, gnc_budget_view, GTK_TYPE_BOX)
 
 /** \brief Create new gnc budget view.
 
@@ -316,7 +316,7 @@ gbv_create_widget(GncBudgetView *view)
     GtkTreeView *tree_view;
     GtkWidget *scrolled_window;
     GtkWidget *inner_scrolled_window;
-    GtkVBox* vbox;
+    GtkBox* vbox;
     GtkWidget* inner_vbox;
     GtkListStore* totals_tree_model;
     GtkTreeView* totals_tree_view;
@@ -327,7 +327,7 @@ gbv_create_widget(GncBudgetView *view)
     gchar guidstr[GUID_ENCODING_LENGTH+1];
 
     priv = GNC_BUDGET_VIEW_GET_PRIVATE(view);
-    vbox = GTK_VBOX(view);
+    vbox = GTK_BOX(view);
 
     gtk_widget_show(GTK_WIDGET(vbox));
     gtk_box_set_homogeneous(GTK_BOX(vbox), FALSE);
@@ -339,7 +339,8 @@ gbv_create_widget(GncBudgetView *view)
     gtk_widget_show(scrolled_window);
     gtk_box_pack_start(GTK_BOX(vbox), scrolled_window, /*expand*/TRUE, /*fill*/TRUE, 0);
 
-    inner_vbox = gtk_vbox_new(FALSE, 0);
+    inner_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (inner_vbox), FALSE);
     gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolled_window), GTK_WIDGET(inner_vbox));
     gtk_widget_show(GTK_WIDGET(inner_vbox));
 
diff --git a/src/gnome/gnc-plugin-page-account-tree.c b/src/gnome/gnc-plugin-page-account-tree.c
index be87433..35bf0c5 100644
--- a/src/gnome/gnc-plugin-page-account-tree.c
+++ b/src/gnome/gnc-plugin-page-account-tree.c
@@ -632,7 +632,8 @@ gnc_plugin_page_account_tree_create_widget (GncPluginPage *plugin_page)
         return priv->widget;
     }
 
-    priv->widget = gtk_vbox_new (FALSE, 0);
+    priv->widget = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (priv->widget), FALSE);
     gtk_widget_show (priv->widget);
 
     scrolled_window = gtk_scrolled_window_new (NULL, NULL);
diff --git a/src/gnome/gnc-plugin-page-register.c b/src/gnome/gnc-plugin-page-register.c
index 2f8290b..fb84fb9 100644
--- a/src/gnome/gnc-plugin-page-register.c
+++ b/src/gnome/gnc-plugin-page-register.c
@@ -1081,7 +1081,8 @@ gnc_plugin_page_register_create_widget (GncPluginPage *plugin_page)
         return priv->widget;
     }
 
-    priv->widget = gtk_vbox_new (FALSE, 0);
+    priv->widget = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (priv->widget), FALSE);
     gtk_widget_show (priv->widget);
 
     numRows = priv->lines_default;
diff --git a/src/gnome/gnc-plugin-page-register2.c b/src/gnome/gnc-plugin-page-register2.c
index 53df989..8e0de48 100644
--- a/src/gnome/gnc-plugin-page-register2.c
+++ b/src/gnome/gnc-plugin-page-register2.c
@@ -1091,7 +1091,8 @@ gnc_plugin_page_register2_create_widget (GncPluginPage *plugin_page)
         return priv->widget;
     }
 
-    priv->widget = gtk_vbox_new (FALSE, 0);
+    priv->widget = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (priv->widget), FALSE);
     gtk_widget_show (priv->widget);
 
     numRows = priv->lines_default;
diff --git a/src/gnome/gnc-plugin-page-sx-list.c b/src/gnome/gnc-plugin-page-sx-list.c
index c97da44..a299596 100644
--- a/src/gnome/gnc-plugin-page-sx-list.c
+++ b/src/gnome/gnc-plugin-page-sx-list.c
@@ -372,7 +372,8 @@ gnc_plugin_page_sx_list_create_widget (GncPluginPage *plugin_page)
     gtk_widget_show (priv->widget);
 
     /* Add vbox and label */
-    vbox = gtk_vbox_new(FALSE, 0);
+    vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
     gtk_paned_pack1( GTK_PANED(widget), vbox, TRUE, FALSE);
 
     label = gtk_label_new(NULL);
@@ -434,7 +435,8 @@ gnc_plugin_page_sx_list_create_widget (GncPluginPage *plugin_page)
     }
 
     /* Add vbox and label */
-    vbox = gtk_vbox_new(FALSE, 0);
+    vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);;
     gtk_paned_pack2( GTK_PANED(widget), vbox, TRUE, FALSE);
 
     label = gtk_label_new(NULL);
diff --git a/src/gnome/gnc-split-reg.c b/src/gnome/gnc-split-reg.c
index 77a7222..e15f086 100644
--- a/src/gnome/gnc-split-reg.c
+++ b/src/gnome/gnc-split-reg.c
@@ -191,7 +191,7 @@ gnc_split_reg_get_type( void )
             (GInstanceInitFunc)gnc_split_reg_init,
         };
 
-        gnc_split_reg_type = g_type_register_static( GTK_TYPE_VBOX,
+        gnc_split_reg_type = g_type_register_static( GTK_TYPE_BOX,
                              "GNCSplitReg",
                              &type_info, 0 );
     }
@@ -340,6 +340,8 @@ gnc_split_reg_new( GNCLedgerDisplay *ld,
 static void
 gnc_split_reg_init( GNCSplitReg *gsr )
 {
+    gtk_orientable_set_orientation (GTK_ORIENTABLE(gsr), GTK_ORIENTATION_VERTICAL);
+
     gsr->sort_type = BY_STANDARD;
     gsr->width = -1;
     gsr->height = -1;
diff --git a/src/gnome/gnc-split-reg.h b/src/gnome/gnc-split-reg.h
index a68f9af..412b013 100644
--- a/src/gnome/gnc-split-reg.h
+++ b/src/gnome/gnc-split-reg.h
@@ -42,7 +42,7 @@ typedef struct _GNCSplitRegClass GNCSplitRegClass;
 struct _GNCSplitReg
 {
     /* The "parent" widget. */
-    GtkVBox vbox;
+    GtkBox vbox;
 
     /* The containing window. */
     GtkWidget *window;
@@ -89,7 +89,7 @@ struct _GNCSplitReg
 
 struct _GNCSplitRegClass
 {
-    GtkVBoxClass parent_class;
+    GtkBoxClass parent_class;
 
     /* Signal defaults */
     void (*enter_ent_cb)    ( GNCSplitReg *w, gpointer user_data );
diff --git a/src/gnome/gnc-split-reg2.c b/src/gnome/gnc-split-reg2.c
index 8a7ac80..38157ce 100644
--- a/src/gnome/gnc-split-reg2.c
+++ b/src/gnome/gnc-split-reg2.c
@@ -120,7 +120,7 @@ gnc_split_reg2_get_type (void)
             (GInstanceInitFunc)gnc_split_reg2_init,
         };
 
-        gnc_split_reg2_type = g_type_register_static (GTK_TYPE_VBOX,
+        gnc_split_reg2_type = g_type_register_static (GTK_TYPE_BOX,
                              "GNCSplitReg2",
                              &type_info, 0 );
     }
@@ -186,6 +186,8 @@ gnc_split_reg2_new (GNCLedgerDisplay2 *ld,
 static void
 gnc_split_reg2_init (GNCSplitReg2 *gsr)
 {
+    gtk_orientable_set_orientation (GTK_ORIENTABLE(gsr), GTK_ORIENTATION_VERTICAL);
+
     gsr->numRows = 10;
     gsr->read_only = FALSE;
 
diff --git a/src/gnome/gnc-split-reg2.h b/src/gnome/gnc-split-reg2.h
index 5e00a2d..02fe57e 100644
--- a/src/gnome/gnc-split-reg2.h
+++ b/src/gnome/gnc-split-reg2.h
@@ -49,7 +49,7 @@ typedef struct _GNCSplitReg2Class GNCSplitReg2Class;
 struct _GNCSplitReg2
 {
     /* The "parent" widget. */
-    GtkVBox vbox;
+    GtkBox vbox;
 
     /* The containing window. */
     GtkWidget *window;
@@ -78,7 +78,7 @@ struct _GNCSplitReg2
 
 struct _GNCSplitReg2Class
 {
-    GtkVBoxClass parent_class;
+    GtkBoxClass parent_class;
 
     /* Signal defaults */
     void (*help_changed) (GNCSplitReg2 *w, gpointer user_data);
diff --git a/src/gnome/window-reconcile.c b/src/gnome/window-reconcile.c
index 991f417..29e988a 100644
--- a/src/gnome/window-reconcile.c
+++ b/src/gnome/window-reconcile.c
@@ -1140,7 +1140,8 @@ gnc_reconcile_window_create_view_box(Account *account,
     else
         recnData->credit_frame = frame;
 
-    vbox = gtk_vbox_new(FALSE, 5);
+    vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
 
     view = gnc_reconcile_view_new(account, type, recnData->statement_date);
     *list_save = view;
@@ -1656,7 +1657,7 @@ recnWindow (GtkWidget *parent, Account *account)
 static void
 recnWindow_add_widget (GtkUIManager *merge,
                        GtkWidget *widget,
-                       GtkVBox *dock)
+                       GtkBox *dock)
 {
     gtk_box_pack_start (GTK_BOX (dock), widget, FALSE, FALSE, 0);
     gtk_widget_show (widget);
@@ -1713,10 +1714,12 @@ recnWindowWithBalance (GtkWidget *parent, Account *account,
 
     gnc_recn_set_window_name(recnData);
 
-    vbox = gtk_vbox_new(FALSE, 0);
+    vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
     gtk_container_add(GTK_CONTAINER(recnData->window), vbox);
 
-    dock = gtk_vbox_new (FALSE, 0);
+    dock = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (dock), FALSE);
     gtk_widget_show(dock);
     gtk_box_pack_start(GTK_BOX (vbox), dock, FALSE, TRUE, 0);
 
@@ -1781,11 +1784,12 @@ recnWindowWithBalance (GtkWidget *parent, Account *account,
     /* The main area */
     {
         GtkWidget *frame = gtk_frame_new(NULL);
-        GtkWidget *main_area = gtk_vbox_new(FALSE, 10);
+        GtkWidget *main_area = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
         GtkWidget *debcred_area = gtk_table_new(1, 2, TRUE);
         GtkWidget *debits_box;
         GtkWidget *credits_box;
 
+        gtk_box_set_homogeneous (GTK_BOX (main_area), FALSE);
         gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 10);
 
         /* Force a reasonable starting size */
@@ -1829,11 +1833,13 @@ recnWindowWithBalance (GtkWidget *parent, Account *account,
             gtk_container_set_border_width(GTK_CONTAINER(totals_hbox), 5);
 
             /* vbox to hold titles */
-            title_vbox = gtk_vbox_new(FALSE, 3);
+            title_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
+            gtk_box_set_homogeneous (GTK_BOX (title_vbox), FALSE);
             gtk_box_pack_start(GTK_BOX(totals_hbox), title_vbox, FALSE, FALSE, 0);
 
             /* vbox to hold values */
-            value_vbox = gtk_vbox_new(FALSE, 3);
+            value_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
+            gtk_box_set_homogeneous (GTK_BOX (value_vbox), FALSE);
             gtk_box_pack_start(GTK_BOX(totals_hbox), value_vbox, TRUE, TRUE, 0);
 
             /* statement date title/value */
diff --git a/src/gnome/window-reconcile2.c b/src/gnome/window-reconcile2.c
index 783aac6..6188ad9 100644
--- a/src/gnome/window-reconcile2.c
+++ b/src/gnome/window-reconcile2.c
@@ -1103,7 +1103,8 @@ gnc_reconcile_window_create_view_box (Account *account,
     else
         recnData->credit_frame = frame;
 
-    vbox = gtk_vbox_new (FALSE, 5);
+    vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
+    gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
 
     view = gnc_reconcile_view_new(account, type, recnData->statement_date);
     *list_save = view;
@@ -1616,7 +1617,7 @@ recnWindow2 (GtkWidget *parent, Account *account)
 static void
 recnWindow2_add_widget (GtkUIManager *merge,
                        GtkWidget *widget,
-                       GtkVBox *dock)
+                       GtkBox *dock)
 {
     gtk_box_pack_start (GTK_BOX (dock), widget, FALSE, FALSE, 0);
     gtk_widget_show (widget);
@@ -1673,10 +1674,12 @@ recnWindow2WithBalance (GtkWidget *parent, Account *account,
 
     gnc_recn_set_window_name (recnData);
 
-    vbox = gtk_vbox_new (FALSE, 0);
+    vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
     gtk_container_add (GTK_CONTAINER(recnData->window), vbox);
 
-    dock = gtk_vbox_new (FALSE, 0);
+    dock = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (dock), FALSE);
     gtk_widget_show (dock);
     gtk_box_pack_start (GTK_BOX (vbox), dock, FALSE, TRUE, 0);
 
@@ -1741,11 +1744,12 @@ recnWindow2WithBalance (GtkWidget *parent, Account *account,
     /* The main area */
     {
         GtkWidget *frame = gtk_frame_new (NULL);
-        GtkWidget *main_area = gtk_vbox_new (FALSE, 10);
+        GtkWidget *main_area = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
         GtkWidget *debcred_area = gtk_table_new (1, 2, TRUE);
         GtkWidget *debits_box;
         GtkWidget *credits_box;
 
+        gtk_box_set_homogeneous (GTK_BOX (main_area), FALSE);
         gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 10);
 
         /* Force a reasonable starting size */
@@ -1789,11 +1793,13 @@ recnWindow2WithBalance (GtkWidget *parent, Account *account,
             gtk_container_set_border_width (GTK_CONTAINER (totals_hbox), 5);
 
             /* vbox to hold titles */
-            title_vbox = gtk_vbox_new (FALSE, 3);
+            title_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
+            gtk_box_set_homogeneous (GTK_BOX (title_vbox), FALSE);
             gtk_box_pack_start (GTK_BOX (totals_hbox), title_vbox, FALSE, FALSE, 0);
 
             /* vbox to hold values */
-            value_vbox = gtk_vbox_new (FALSE, 3);
+            value_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
+            gtk_box_set_homogeneous (GTK_BOX (value_vbox), FALSE);
             gtk_box_pack_start (GTK_BOX (totals_hbox), value_vbox, TRUE, TRUE, 0);
 
             /* statement date title/value */
diff --git a/src/import-export/aqb/gnc-gwen-gui.c b/src/import-export/aqb/gnc-gwen-gui.c
index 3c744f4..0e1f671 100644
--- a/src/import-export/aqb/gnc-gwen-gui.c
+++ b/src/import-export/aqb/gnc-gwen-gui.c
@@ -788,7 +788,12 @@ show_progress(GncGWENGui *gui, Progress *progress)
 
             gtk_entry_set_text(GTK_ENTRY(entry), current->title);
             if (new_box)
-                gui->other_entries_box = box = gtk_vbox_new(TRUE, 6);
+            {
+                gui->other_entries_box = box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+                gtk_box_set_homogeneous (GTK_BOX (gui->other_entries_box), TRUE);
+                gtk_box_set_homogeneous (GTK_BOX (box), TRUE);
+            }
+
             gtk_box_pack_start(GTK_BOX(box), entry, TRUE, TRUE, 0);
             gtk_widget_show(entry);
             if (new_box)
@@ -1121,7 +1126,8 @@ messagebox_cb(GWEN_GUI *gwen_gui, guint32 flags, const gchar *title,
     label = gtk_label_new(raw_text);
     g_free(raw_text);
     gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_LEFT);
-    vbox = gtk_vbox_new(TRUE, 0);
+    vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (vbox), TRUE);
     gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
     gtk_container_add(GTK_CONTAINER(vbox), label);
     gtk_container_set_border_width(GTK_CONTAINER(dialog), 5);
diff --git a/src/import-export/qif-imp/assistant-qif-import.c b/src/import-export/qif-imp/assistant-qif-import.c
index 403305d..3f9724c 100644
--- a/src/import-export/qif-imp/assistant-qif-import.c
+++ b/src/import-export/qif-imp/assistant-qif-import.c
@@ -847,7 +847,8 @@ new_security_page(SCM security_hash_key, gnc_commodity *comm, QIFImportWindow *w
           " enter a new one.");
 
     /* Make the page widget. */
-    page = gtk_vbox_new( FALSE, 0 );
+    page = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (page), FALSE);
     retval->page = page;
     g_object_set_data(G_OBJECT(retval->page), "page_struct", retval);
     page = retval->page;

commit faecd7ffeb48a1fcad6a2dd5ed20e0797374354b
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Jun 16 10:58:16 2017 +0100

    Fix the tab label width update function to reflect changes

diff --git a/src/gnome-utils/gnc-main-window.c b/src/gnome-utils/gnc-main-window.c
index 692cfec..9264916 100644
--- a/src/gnome-utils/gnc-main-window.c
+++ b/src/gnome-utils/gnc-main-window.c
@@ -2041,6 +2041,7 @@ gnc_main_window_update_tab_width_one_page (GncPluginPage *page,
 {
     gint *new_value = user_data;
     GtkWidget *label;
+    const gchar *lab_text;
 
     ENTER("page %p, visible %d", page, *new_value);
     label = g_object_get_data(G_OBJECT (page), PLUGIN_PAGE_TAB_LABEL);
@@ -2050,15 +2051,21 @@ gnc_main_window_update_tab_width_one_page (GncPluginPage *page,
         return;
     }
 
+    lab_text = gtk_label_get_text (GTK_LABEL(label));
+
     if (*new_value != 0)
     {
+        if (g_utf8_strlen (lab_text, -1) < *new_value)
+            gtk_label_set_width_chars (GTK_LABEL(label), strlen (lab_text));
+        else
+            gtk_label_set_width_chars (GTK_LABEL(label), *new_value);
+
         gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_MIDDLE);
-        gtk_label_set_max_width_chars(GTK_LABEL(label), *new_value);
     }
     else
     {
+        gtk_label_set_width_chars (GTK_LABEL(label), 15);
         gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_NONE);
-        gtk_label_set_max_width_chars(GTK_LABEL(label), 100);
     }
     LEAVE(" ");
 }
@@ -2178,6 +2185,7 @@ main_window_update_page_name (GncPluginPage *page,
     GncMainWindowPrivate *priv;
     GtkWidget *label, *entry;
     gchar *name, *old_page_name, *old_page_long_name;
+    gint lab_width;
 
     ENTER(" ");
 
@@ -2216,6 +2224,10 @@ main_window_update_page_name (GncPluginPage *page,
     if (main_window_find_tab_items(window, page, &label, &entry))
         gtk_label_set_text(GTK_LABEL(label), name);
 
+    /* Adjust the label width for new text */
+    lab_width = gnc_prefs_get_float (GNC_PREFS_GROUP_GENERAL, GNC_PREF_TAB_WIDTH);
+    gnc_main_window_update_tab_width_one_page (page, &lab_width);
+
     /* Update Tooltip on notebook Tab */
     if (old_page_long_name && old_page_name
             && g_strrstr(old_page_long_name, old_page_name) != NULL)
@@ -2905,6 +2917,7 @@ gnc_main_window_open_page (GncMainWindow *window,
     icon = GNC_PLUGIN_PAGE_GET_CLASS(page)->tab_icon;
     lab_text = gnc_plugin_page_get_page_name(page);
     label = gtk_label_new (lab_text);
+    g_object_set_data (G_OBJECT (page), PLUGIN_PAGE_TAB_LABEL, label);
 
     if (width != 0)
     {

commit a985541f775a1c40b6cf638268a41776b996127b
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Thu Jun 15 19:47:02 2017 +0100

    Replaced some deprecated widgets with the gtk3 equivalent

diff --git a/src/gnome-utils/gnc-main-window.c b/src/gnome-utils/gnc-main-window.c
index 21cc88c..692cfec 100644
--- a/src/gnome-utils/gnc-main-window.c
+++ b/src/gnome-utils/gnc-main-window.c
@@ -2917,7 +2917,8 @@ gnc_main_window_open_page (GncMainWindow *window,
     }
     gtk_widget_show (label);
 
-    tab_hbox = gtk_hbox_new (FALSE, 6);
+    tab_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+    gtk_box_set_homogeneous (GTK_BOX (tab_hbox), FALSE);
     gtk_widget_show (tab_hbox);
 
     if (icon != NULL)
@@ -2961,7 +2962,7 @@ gnc_main_window_open_page (GncMainWindow *window,
         gtk_button_set_relief(GTK_BUTTON(close_button), GTK_RELIEF_NONE);
         close_image = gtk_image_new_from_stock(GTK_STOCK_CLOSE, GTK_ICON_SIZE_MENU);
         gtk_widget_show(close_image);
-        gtk_widget_size_request(close_image, &requisition);
+        gtk_widget_get_preferred_size (close_image, &requisition, NULL);
         gtk_widget_set_size_request(close_button, requisition.width + 4,
                                     requisition.height + 2);
         gtk_button_set_alignment(GTK_BUTTON(close_button), 0.5, 0.5);
@@ -3514,12 +3515,14 @@ gnc_main_window_setup_window (GncMainWindow *window)
                       G_CALLBACK (gnc_main_window_delete_event), window);
 
     /* Create widgets and add them to the window */
-    main_vbox = gtk_vbox_new (FALSE, 0);
+    main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (main_vbox), FALSE);
     gtk_widget_show (main_vbox);
     gtk_container_add (GTK_CONTAINER (window), main_vbox);
 
     priv = GNC_MAIN_WINDOW_GET_PRIVATE(window);
-    priv->menu_dock = gtk_vbox_new (FALSE, 0);
+    priv->menu_dock = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+    gtk_box_set_homogeneous (GTK_BOX (priv->menu_dock), FALSE);
     gtk_widget_show (priv->menu_dock);
     gtk_box_pack_start (GTK_BOX (main_vbox), priv->menu_dock,
                         FALSE, TRUE, 0);

commit 4de57ba98205a3a4c5a8c945a2a0cf6f47db3968
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Thu Jun 15 19:46:17 2017 +0100

    Fix Tab Labels
    
    The tab labels do not keep to the width specified in the preferences,
    use set_width_chars instead of set_max_width_chars.

diff --git a/src/gnome-utils/gnc-main-window.c b/src/gnome-utils/gnc-main-window.c
index 21318fe..21cc88c 100644
--- a/src/gnome-utils/gnc-main-window.c
+++ b/src/gnome-utils/gnc-main-window.c
@@ -2853,7 +2853,7 @@ gnc_main_window_open_page (GncMainWindow *window,
     GncMainWindowPrivate *priv;
     GtkWidget *tab_hbox;
     GtkWidget *label, *entry;
-    const gchar *icon, *text, *color_string;
+    const gchar *icon, *text, *color_string, *lab_text;
     GtkWidget *image;
     GList *tmp;
     gint width;
@@ -2903,11 +2903,17 @@ gnc_main_window_open_page (GncMainWindow *window,
      */
     width = gnc_prefs_get_float(GNC_PREFS_GROUP_GENERAL, GNC_PREF_TAB_WIDTH);
     icon = GNC_PLUGIN_PAGE_GET_CLASS(page)->tab_icon;
-    label = gtk_label_new (gnc_plugin_page_get_page_name(page));
+    lab_text = gnc_plugin_page_get_page_name(page);
+    label = gtk_label_new (lab_text);
+
     if (width != 0)
     {
+        if (g_utf8_strlen (lab_text, -1) < width)
+            gtk_label_set_width_chars (GTK_LABEL(label), strlen (lab_text));
+        else
+            gtk_label_set_width_chars (GTK_LABEL(label), width);
+
         gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_MIDDLE);
-        gtk_label_set_max_width_chars(GTK_LABEL(label), width);
     }
     gtk_widget_show (label);
 

commit 78f28887a657809bcb241c318687f1c391740327
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Thu Jun 15 19:45:39 2017 +0100

    Replace some deprecated widgets in the register.

diff --git a/src/register/register-gnome/combocell-gnome.c b/src/register/register-gnome/combocell-gnome.c
index 552936a..581f0ec 100644
--- a/src/register/register-gnome/combocell-gnome.c
+++ b/src/register/register-gnome/combocell-gnome.c
@@ -819,13 +819,6 @@ static void
 popup_post_show (GtkWidget *widget,
                  G_GNUC_UNUSED gpointer user_data)
 {
-    /* What the hell is this doing here? Well, under gtk+ 1.2.9,
-     * the scrollbars never appear without it. Why does it work?
-     * Why are you asking so many questions? There's nothing to
-     * see here. These aren't the droids you're looking for.
-     * Move along. */
-    gtk_widget_size_request (widget, NULL);
-
     gnc_item_list_autosize (GNC_ITEM_LIST (widget));
     gnc_item_list_show_selected (GNC_ITEM_LIST (widget));
 }
diff --git a/src/register/register-gnome/datecell-gnome.c b/src/register/register-gnome/datecell-gnome.c
index a66f668..da6677e 100644
--- a/src/register/register-gnome/datecell-gnome.c
+++ b/src/register/register-gnome/datecell-gnome.c
@@ -643,7 +643,7 @@ get_popup_height (GtkWidget *widget,
     req.height = 0;
     req.width = 0;
 
-    gtk_widget_size_request (cal, &req);
+    gtk_widget_get_preferred_size (cal, &req, NULL);
 
     return req.height;
 }
diff --git a/src/register/register-gnome/gnucash-header.c b/src/register/register-gnome/gnucash-header.c
index c7ac7f0..022c930 100644
--- a/src/register/register-gnome/gnucash-header.c
+++ b/src/register/register-gnome/gnucash-header.c
@@ -225,11 +225,11 @@ gnc_header_unrealize (GtkWidget *widget)
     header->surface = NULL;
 
     if (header->resize_cursor)
-        gdk_cursor_unref (header->resize_cursor);
+        g_object_unref (header->resize_cursor);
     header->resize_cursor = NULL;
 
     if (header->normal_cursor)
-        gdk_cursor_unref (header->normal_cursor);
+        g_object_unref (header->normal_cursor);
     header->normal_cursor = NULL;
 
     if (GTK_WIDGET_CLASS (parent_class)->unrealize)
@@ -556,7 +556,8 @@ gnc_header_set_property (GObject *object,
     {
     case PROP_SHEET:
         header->sheet = GNUCASH_SHEET (g_value_get_object (value));
-        gtk_layout_set_hadjustment (layout, header->sheet->hadj);
+        gtk_scrollable_set_hadjustment (GTK_SCROLLABLE(layout), header->sheet->hadj);
+
         needs_update = TRUE;
         break;
     case PROP_CURSOR_NAME:
diff --git a/src/register/register-gnome/gnucash-item-edit.c b/src/register/register-gnome/gnucash-item-edit.c
index 64aa59f..eb3dfbe 100644
--- a/src/register/register-gnome/gnucash-item-edit.c
+++ b/src/register/register-gnome/gnucash-item-edit.c
@@ -150,6 +150,8 @@ gnc_item_edit_init (GncItemEdit *item_edit)
 {
     /* Set invalid values so that we know when we have been fully
     	   initialized */
+    gtk_orientable_set_orientation (GTK_ORIENTABLE(item_edit), GTK_ORIENTATION_HORIZONTAL);
+
     item_edit->sheet = NULL;
     item_edit->editor = NULL;
 
@@ -480,7 +482,7 @@ gnc_item_edit_get_type (void)
         };
 
         gnc_item_edit_type =
-            g_type_register_static(GTK_TYPE_HBOX,
+            g_type_register_static(GTK_TYPE_BOX,
                                    "GncItemEdit",
                                    &gnc_item_edit_info, 0);
     }
@@ -589,7 +591,8 @@ gnc_item_edit_show_popup (GncItemEdit *item_edit)
     view_height = alloc.height;
     view_width  = alloc.width;
 
-    vadj = gtk_layout_get_vadjustment(GTK_LAYOUT(sheet));
+    vadj = gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(sheet));
+
     y_offset = gtk_adjustment_get_value(vadj);
     gnc_item_edit_get_pixel_coords (item_edit, &x, &y, &w, &h);
 
diff --git a/src/register/register-gnome/gnucash-item-edit.h b/src/register/register-gnome/gnucash-item-edit.h
index dcb2d79..927d113 100644
--- a/src/register/register-gnome/gnucash-item-edit.h
+++ b/src/register/register-gnome/gnucash-item-edit.h
@@ -68,7 +68,7 @@ struct _PopupToggle
 
 typedef struct
 {
-    GtkHBox hbox;
+    GtkBox hbox;
     GnucashSheet *sheet;
 
     /* The editor whose status we reflect on the sheet */
@@ -94,7 +94,7 @@ typedef struct
 
 typedef struct
 {
-    GtkHBoxClass parent_class;
+    GtkBoxClass parent_class;
 } GncItemEditClass;
 
 
diff --git a/src/register/register-gnome/gnucash-sheet.c b/src/register/register-gnome/gnucash-sheet.c
index 395f3cb..7a972ce 100644
--- a/src/register/register-gnome/gnucash-sheet.c
+++ b/src/register/register-gnome/gnucash-sheet.c
@@ -411,7 +411,7 @@ gnucash_sheet_compute_visible_range (GnucashSheet *sheet)
     gtk_widget_get_allocation (GTK_WIDGET(sheet), &alloc);
     height = alloc.height;
 
-    adj = gtk_layout_get_vadjustment(GTK_LAYOUT(sheet));
+    adj = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE(sheet));
     cy = gtk_adjustment_get_value(adj);
 
     top_block = gnucash_sheet_y_pixel_to_block (sheet, cy);
@@ -461,9 +461,9 @@ gnucash_sheet_show_row (GnucashSheet *sheet, gint virt_row)
     vcell_loc.virt_row = MIN (vcell_loc.virt_row,
                               sheet->num_virt_rows - 1);
 
-    adj = gtk_layout_get_hadjustment(GTK_LAYOUT(sheet));
+    adj = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE(sheet));
     cx = gtk_adjustment_get_value(adj);
-    adj = gtk_layout_get_vadjustment(GTK_LAYOUT(sheet));
+    adj = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE(sheet));
     cy = gtk_adjustment_get_value(adj);
     x = cx;
 
@@ -540,9 +540,9 @@ gnucash_sheet_show_range (GnucashSheet *sheet,
     end_loc.virt_row = MIN (end_loc.virt_row,
                             sheet->num_virt_rows - 1);
 
-    adj = gtk_layout_get_hadjustment(GTK_LAYOUT(sheet));
+    adj = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE(sheet));
     cx = gtk_adjustment_get_value(adj);
-    adj = gtk_layout_get_vadjustment(GTK_LAYOUT(sheet));
+    adj = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE(sheet));
     cy = gtk_adjustment_get_value(adj);
     x = cx;
 
@@ -689,8 +689,8 @@ gnucash_sheet_create (Table *table)
     sheet = g_object_new (GNUCASH_TYPE_SHEET, NULL);
     sheet->table = table;
     sheet->entry = NULL;
-    sheet->vadj = gtk_layout_get_vadjustment (GTK_LAYOUT(sheet));
-    sheet->hadj = gtk_layout_get_hadjustment (GTK_LAYOUT(sheet));
+    sheet->vadj = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE(sheet));
+    sheet->hadj = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE(sheet));
 
     g_signal_connect (G_OBJECT (sheet->vadj), "value_changed",
                       G_CALLBACK (gnucash_sheet_vadjustment_value_changed), sheet);

commit 0abc3e32a1d999ca1030e5e38b31aa6d9c978825
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Thu Jun 15 19:43:49 2017 +0100

    There were critical errors in trace file.
    
    Test for item being part of container first.

diff --git a/src/register/register-gnome/gnucash-item-edit.c b/src/register/register-gnome/gnucash-item-edit.c
index 15d8403..64aa59f 100644
--- a/src/register/register-gnome/gnucash-item-edit.c
+++ b/src/register/register-gnome/gnucash-item-edit.c
@@ -678,6 +678,9 @@ gnc_item_edit_hide_popup (GncItemEdit *item_edit)
     if (!item_edit->is_popup)
         return;
 
+    if (gtk_widget_get_parent (GTK_WIDGET(item_edit->popup_item)) != GTK_WIDGET (item_edit->sheet))
+        return;
+
     gtk_container_remove (GTK_CONTAINER(item_edit->sheet), item_edit->popup_item);
     gtk_arrow_set (item_edit->popup_toggle.arrow,
                    GTK_ARROW_DOWN, GTK_SHADOW_IN);

commit 7f7ec67feb8919eaf2f72c3ad1db34465f12e267
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Thu Jun 15 19:42:28 2017 +0100

    Replace deprecated widgets for GncDenseCal with gtk3 equivalents

diff --git a/src/gnome-utils/gnc-dense-cal.c b/src/gnome-utils/gnc-dense-cal.c
index 06138e1..f472cb2 100644
--- a/src/gnome-utils/gnc-dense-cal.c
+++ b/src/gnome-utils/gnc-dense-cal.c
@@ -208,7 +208,7 @@ gnc_dense_cal_get_type()
             NULL
         };
 
-        dense_cal_type = g_type_register_static(GTK_TYPE_VBOX,
+        dense_cal_type = g_type_register_static(GTK_TYPE_BOX,
                                                 "GncDenseCal",
                                                 &dense_cal_info, 0);
     }
@@ -264,6 +264,7 @@ gnc_dense_cal_init(GncDenseCal *dcal)
     GtkStyleContext *context;
     gboolean colorAllocSuccess[MAX_COLORS];
 
+    gtk_orientable_set_orientation (GTK_ORIENTABLE(dcal), GTK_ORIENTATION_VERTICAL);
 
     context = gtk_widget_get_style_context (GTK_WIDGET(dcal));
     gtk_style_context_add_class (context,"GncDenseCal");
@@ -283,11 +284,12 @@ gnc_dense_cal_init(GncDenseCal *dcal)
     }
 
     {
-        GtkHBox *hbox = GTK_HBOX(gtk_hbox_new(FALSE, 0));
+        GtkWidget *hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
         GtkAlignment *label_align;
         GtkLabel *label;
         float right_align = 1.0, mid_align = 0.5, fill_x = 0.0, fill_y = 1.0;
 
+        gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
         label = GTK_LABEL(gtk_label_new(_("View:")));
         label_align = GTK_ALIGNMENT(gtk_alignment_new(right_align, mid_align, fill_x, fill_y));
         gtk_container_add(GTK_CONTAINER(label_align), GTK_WIDGET(label));
@@ -323,8 +325,10 @@ gnc_dense_cal_init(GncDenseCal *dcal)
         GtkListStore *tree_data;
         GtkTreeView *tree_view;
 
-        vbox = gtk_vbox_new(FALSE, 5);
-        hbox = gtk_hbox_new(FALSE, 5);
+        vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
+        gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
+        hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+        gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
 
         l = gtk_label_new(_("Date: "));
         gtk_container_add(GTK_CONTAINER(hbox), l);
@@ -333,7 +337,7 @@ gnc_dense_cal_init(GncDenseCal *dcal)
         gtk_container_add(GTK_CONTAINER(hbox), l);
         gtk_container_add(GTK_CONTAINER(vbox), hbox);
 
-        gtk_container_add(GTK_CONTAINER(vbox), gtk_hseparator_new());
+        gtk_container_add(GTK_CONTAINER(vbox), gtk_separator_new (GTK_ORIENTATION_HORIZONTAL));
 
         tree_data = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_STRING);
         tree_view = GTK_TREE_VIEW(gtk_tree_view_new_with_model(GTK_TREE_MODEL(tree_data)));
@@ -1218,7 +1222,14 @@ gnc_dense_cal_motion_notify(GtkWidget *widget,
 
     /* As per http://www.gtk.org/tutorial/sec-eventhandling.html */
     if (event->is_hint)
-        gdk_window_get_pointer(event->window, &unused, &unused, &unused2);
+    {
+        GdkDeviceManager *device_manager;
+        GdkDevice *pointer;
+
+        device_manager = gdk_display_get_device_manager (gdk_window_get_display (event->window));
+        pointer = gdk_device_manager_get_client_pointer (device_manager);
+        gdk_window_get_device_position (event->window, pointer,  &unused,  &unused, &unused2);
+    }
 
     doc = wheres_this(dcal, event->x, event->y);
     if (doc >= 0)
diff --git a/src/gnome-utils/gnc-dense-cal.h b/src/gnome-utils/gnc-dense-cal.h
index 1d975fd..cb9f148 100644
--- a/src/gnome-utils/gnc-dense-cal.h
+++ b/src/gnome-utils/gnc-dense-cal.h
@@ -53,7 +53,7 @@ enum GDC_COLORS
 
 struct _GncDenseCal
 {
-    GtkVBox widget;
+    GtkBox widget;
 
     GtkComboBox *view_options;
     GtkDrawingArea *cal_drawing_area;

commit c7f3994fe30b656d217fa976afebb63610d70bf1
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Thu Jun 15 19:41:48 2017 +0100

    Composite functions not required for GncDenseCal

diff --git a/src/gnome-utils/gnc-dense-cal.c b/src/gnome-utils/gnc-dense-cal.c
index 80ae472..06138e1 100644
--- a/src/gnome-utils/gnc-dense-cal.c
+++ b/src/gnome-utils/gnc-dense-cal.c
@@ -264,7 +264,6 @@ gnc_dense_cal_init(GncDenseCal *dcal)
     GtkStyleContext *context;
     gboolean colorAllocSuccess[MAX_COLORS];
 
-    gtk_widget_push_composite_child();
 
     context = gtk_widget_get_style_context (GTK_WIDGET(dcal));
     gtk_style_context_add_class (context,"GncDenseCal");
@@ -466,8 +465,6 @@ gnc_dense_cal_init(GncDenseCal *dcal)
         g_strfreev(parts);
     }
 
-    gtk_widget_pop_composite_child();
-
     gtk_widget_show_all(GTK_WIDGET(dcal));
 }
 

commit a6fd7f85d342bdbb8bf859a64bba5192dc740f2c
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Thu Jun 15 19:40:20 2017 +0100

    Set the background of the GncDenseCal Widget
    
    The background of the GncDenseCal widget is not able to be set from the
    default style. Set it white but allow it to be themed with css.

diff --git a/src/gnome-utils/gnc-dense-cal.c b/src/gnome-utils/gnc-dense-cal.c
index eb09a08..80ae472 100644
--- a/src/gnome-utils/gnc-dense-cal.c
+++ b/src/gnome-utils/gnc-dense-cal.c
@@ -261,10 +261,14 @@ _gdc_get_view_options(void)
 static void
 gnc_dense_cal_init(GncDenseCal *dcal)
 {
+    GtkStyleContext *context;
     gboolean colorAllocSuccess[MAX_COLORS];
 
     gtk_widget_push_composite_child();
 
+    context = gtk_widget_get_style_context (GTK_WIDGET(dcal));
+    gtk_style_context_add_class (context,"GncDenseCal");
+
     {
         GtkTreeModel *options;
         GtkCellRenderer *text_rend;
@@ -880,7 +884,7 @@ gnc_dense_cal_draw_to_buffer(GncDenseCal *dcal)
     GtkStyleContext *stylectxt;
     GtkStateFlags state_flags;
     GtkAllocation alloc;
-    GdkRGBA color;
+    GdkRGBA color, test_color;
     gint i;
     int maxWidth;
     PangoLayout *layout;
@@ -899,10 +903,17 @@ gnc_dense_cal_draw_to_buffer(GncDenseCal *dcal)
     layout = gtk_widget_create_pango_layout(GTK_WIDGET(dcal), NULL);
     LOG_AND_RESET(timer, "create_pango_layout");
 
+    gdk_rgba_parse (&test_color, "rgba(0, 0, 0, 0)");
+
     gtk_widget_get_allocation (GTK_WIDGET(dcal->cal_drawing_area), &alloc);
     stylectxt = gtk_widget_get_style_context (widget);
     state_flags = gtk_style_context_get_state (stylectxt);
     gtk_style_context_get_background_color (stylectxt, state_flags, &color);
+
+    // test for no color set
+    if (gdk_rgba_equal (&color, &test_color))
+        gdk_rgba_parse (&color, "white");
+
     cairo_set_source_rgb (cr, color.red, color.green, color.blue);
     cairo_rectangle (cr, 0, 0,
                      cairo_image_surface_get_width (dcal->surface),

commit 64deacf1e1629a2f5bcd59a51dae02288155164f
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Thu Jun 15 19:38:53 2017 +0100

    With Gtk3 it uses css to do the theming so change the file to load

diff --git a/src/bin/gnucash-bin.c b/src/bin/gnucash-bin.c
index bfba5f3..8d37ec6 100644
--- a/src/bin/gnucash-bin.c
+++ b/src/bin/gnucash-bin.c
@@ -805,7 +805,6 @@ main(int argc, char ** argv)
     }
 
     /* We need to initialize gtk before looking up all modules */
-    gnc_gtk_add_rc_file ();
     if(!gtk_init_check (&argc, &argv))
     {
         g_printerr(_("%s\nRun '%s --help' to see a full list of available command line options.\n"),
diff --git a/src/gnome-utils/gnc-gnome-utils.c b/src/gnome-utils/gnc-gnome-utils.c
index 3737590..36dee28 100644
--- a/src/gnome-utils/gnc-gnome-utils.c
+++ b/src/gnome-utils/gnc-gnome-utils.c
@@ -170,18 +170,28 @@ gnc_configure_date_completion (void)
 }
 
 void
-gnc_gtk_add_rc_file (void)
+gnc_add_css_file (void)
 {
+    GtkCssProvider *provider;
+    GdkDisplay *display;
+    GdkScreen *screen;
     const gchar *var;
     gchar *str;
+    GError *error = 0;
+
+    provider = gtk_css_provider_new ();
+    display = gdk_display_get_default ();
+    screen = gdk_display_get_default_screen (display);
+    gtk_style_context_add_provider_for_screen (screen, GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_USER);
 
     var = g_get_home_dir ();
     if (var)
     {
-        str = g_build_filename (var, ".gtkrc-2.0.gnucash", (char *)NULL);
-        gtk_rc_add_default_file (str);
+        str = g_build_filename (var, ".gtk-3.0-gnucash.css", (char *)NULL);
+        gtk_css_provider_load_from_path (provider, str, &error);
         g_free (str);
     }
+    g_object_unref (provider);
 }
 
 #ifdef MAC_INTEGRATION
@@ -734,6 +744,9 @@ gnc_gui_init(void)
     gtk_accel_map_load(map);
     g_free(map);
 
+    /* Load css configuration file */
+    gnc_add_css_file ();
+
     gnc_load_stock_icons();
     gnc_totd_dialog(GTK_WINDOW(main_window), TRUE);
 
diff --git a/src/gnome-utils/gnc-gnome-utils.h b/src/gnome-utils/gnc-gnome-utils.h
index 9b07d6b..d0ffe2e 100644
--- a/src/gnome-utils/gnc-gnome-utils.h
+++ b/src/gnome-utils/gnc-gnome-utils.h
@@ -41,7 +41,7 @@
 /** Load a gtk resource configuration file to customize gtk
  *  appearance and behviour.
  */
-void gnc_gtk_add_rc_file (void);
+void gnc_add_css_file (void);
 
 /** Launch the default gnome help browser and open to a given link
  *  within a given file.  This routine will display an error message

commit dd9b2007b03435369bfaf83067196c2c5bb80395
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Fri Apr 14 15:28:45 2017 +0200

    Gtk3: fix failing item-edit widget on sheets
    
    There were several problems since the conversion to gtk3
    * widget wasn't displayed at all - apparently this was because I had overriden the draw function of the gtklayout (sheet)
      -> fixed by adding a draw callback instead
    * several gtk warnings about allocating sizes to widgets without using *get_preferred_width/height
      -> fixed by adding the itemedit dropdowns to the layout only when they are requested
    * the arrow button didn't want to resize small enough
      -> fixed by adding a custom style to drops the button's internal padding
    * there were several sizing issues which ironically got fixed dropping much of the custom sizing code

diff --git a/src/register/register-gnome/combocell-gnome.c b/src/register/register-gnome/combocell-gnome.c
index 9a06ee8..552936a 100644
--- a/src/register/register-gnome/combocell-gnome.c
+++ b/src/register/register-gnome/combocell-gnome.c
@@ -757,8 +757,6 @@ gnc_combo_cell_gui_realize (BasicCell *bcell, gpointer data)
     else
         box->item_list = GNC_ITEM_LIST (gnc_item_list_new (box->tmp_store));
     gtk_widget_show_all (GTK_WIDGET(box->item_list));
-    gtk_layout_put (GTK_LAYOUT(sheet),
-                    GTK_WIDGET(box->item_list), 0, 0);
     g_object_ref_sink(box->item_list);
 
     /* to mark cell as realized, remove the realize method */
diff --git a/src/register/register-gnome/datecell-gnome.c b/src/register/register-gnome/datecell-gnome.c
index f6ca289..a66f668 100644
--- a/src/register/register-gnome/datecell-gnome.c
+++ b/src/register/register-gnome/datecell-gnome.c
@@ -609,8 +609,6 @@ gnc_date_cell_realize (BasicCell *bcell, gpointer data)
     box->item_edit = item_edit;
     box->date_picker = GNC_DATE_PICKER (gnc_date_picker_new ());
     gtk_widget_show_all (GTK_WIDGET(box->date_picker));
-    gtk_layout_put (GTK_LAYOUT(sheet),
-                    GTK_WIDGET(box->date_picker), 0, 0);
     g_object_ref_sink(box->date_picker);
 
     /* to mark cell as realized, remove the realize method */
diff --git a/src/register/register-gnome/gnucash-item-edit.c b/src/register/register-gnome/gnucash-item-edit.c
index 181135c..15d8403 100644
--- a/src/register/register-gnome/gnucash-item-edit.c
+++ b/src/register/register-gnome/gnucash-item-edit.c
@@ -59,9 +59,6 @@ enum
 static GtkBoxClass *gnc_item_edit_parent_class;
 
 
-static void gnc_item_edit_show_popup_toggle (GncItemEdit *item_edit,
-        gint width, gint height);
-
 /*
  * Returns the coordinates for the editor bounding box
  */
@@ -102,40 +99,19 @@ gnc_item_edit_get_toggle_offset (int row_height)
 static void
 gnc_item_edit_update (GncItemEdit *item_edit)
 {
-    GtkRequisition cur_req;
-    gint toggle_width, toggle_height;
-    gint x, y, w, h, cur_x, cur_y;
+    gint x, y, w, h;
 
     gnc_item_edit_get_pixel_coords (item_edit, &x, &y, &w, &h);
+    gtk_layout_move (GTK_LAYOUT(item_edit->sheet),
+                     GTK_WIDGET(item_edit), x, y);
+    gtk_widget_queue_resize (GTK_WIDGET (item_edit));
 
-    gtk_container_child_get(GTK_CONTAINER(item_edit->sheet),
-                            GTK_WIDGET(item_edit),
-                            "x", &cur_x, "y", &cur_y, NULL);
-    if ((cur_x != x) || (cur_y != y))
-        gtk_layout_move (GTK_LAYOUT(item_edit->sheet),
-                         GTK_WIDGET(item_edit), x, y);
-
-    toggle_height = h - (2 * (CELL_VPADDING + 1));
-    toggle_width  = toggle_height;
-
-     if (item_edit->is_popup)
-         w -= toggle_width;
-
-    gtk_widget_get_requisition(GTK_WIDGET(item_edit), &cur_req);
-    if ((cur_req.height != h) || (cur_req.width != w))
-        gtk_widget_set_size_request(GTK_WIDGET(item_edit), w, h);
-
-     gtk_widget_get_requisition(item_edit->editor, &cur_req);
-     if ((cur_req.height != h) || (cur_req.width != w))
-         gtk_widget_set_size_request(item_edit->editor, -1, h);
-
-    if (!item_edit->is_popup)
-        return;
-
-    gnc_item_edit_show_popup_toggle (item_edit, toggle_width, toggle_height);
-
-    if (item_edit->show_popup)
-        gnc_item_edit_show_popup (item_edit);
+    if (item_edit->is_popup)
+    {
+        gtk_widget_show (item_edit->popup_toggle.ebox);
+        if (item_edit->show_popup)
+            gnc_item_edit_show_popup (item_edit);
+    }
 }
 
 void
@@ -202,6 +178,7 @@ gnc_item_edit_configure (GncItemEdit *item_edit)
 {
     GnucashSheet *sheet = item_edit->sheet;
     GnucashCursor *cursor;
+    gfloat xalign;
 
     cursor = GNUCASH_CURSOR(sheet->cursor);
 
@@ -209,13 +186,30 @@ gnc_item_edit_configure (GncItemEdit *item_edit)
     item_edit->virt_loc.vcell_loc.virt_col = cursor->col;
 
     item_edit->style =
-        gnucash_sheet_get_style (item_edit->sheet,
+        gnucash_sheet_get_style (sheet,
                                  item_edit->virt_loc.vcell_loc);
 
     item_edit->virt_loc.phys_row_offset = cursor->cell.row;
     item_edit->virt_loc.phys_col_offset = cursor->cell.col;
 
-    if (!gnc_table_is_popup (item_edit->sheet->table, item_edit->virt_loc))
+    switch (gnc_table_get_align (sheet->table, item_edit->virt_loc))
+    {
+        default:
+        case CELL_ALIGN_LEFT:
+            xalign = 0;
+            break;
+
+        case CELL_ALIGN_RIGHT:
+            xalign = 1;
+            break;
+
+        case CELL_ALIGN_CENTER:
+            xalign = 0.5;
+            break;
+    }
+    gtk_entry_set_alignment(GTK_ENTRY(item_edit->editor), xalign);
+
+    if (!gnc_table_is_popup (sheet->table, item_edit->virt_loc))
         gnc_item_edit_set_popup (item_edit, NULL, NULL, NULL,
                                  NULL, NULL, NULL, NULL);
 
@@ -246,68 +240,6 @@ gnc_item_edit_paste_clipboard (GncItemEdit *item_edit)
 }
 
 
-static void
-gnc_item_edit_show_popup_toggle (GncItemEdit *item_edit,
-                                 gint width, gint height)
-{
-    GtkRequisition cur_req;
-    GList *children, *iter;
-    GtkWidget *toggle;
-    gboolean is_child = FALSE;
-    g_return_if_fail (GNC_IS_ITEM_EDIT (item_edit));
-
-    toggle = item_edit->popup_toggle.ebox;
-    gtk_widget_get_requisition(toggle, &cur_req);
-
-    children = gtk_container_get_children (GTK_CONTAINER(item_edit));
-    for (iter = children; iter; iter = iter->next)
-    {
-        GtkWidget *child = iter->data;
-        if (child == toggle)
-        {
-            is_child = TRUE;
-            break;
-        }
-    }
-    g_list_free (children);
-
-    if (!is_child)
-        gtk_box_pack_start(GTK_BOX(item_edit), toggle, FALSE, TRUE, 0);
-    else if ((cur_req.height != height) ||
-        (cur_req.width != width))
-    {
-        gtk_widget_set_size_request(toggle, width, height);
-        gtk_container_resize_children(GTK_CONTAINER(item_edit));
-    }
-}
-
-
-static void
-gnc_item_edit_hide_popup_toggle (GncItemEdit *item_edit)
-{
-    GList *children, *iter;
-    gboolean is_child = FALSE;
-
-    g_return_if_fail (GNC_IS_ITEM_EDIT(item_edit));
-
-    children = gtk_container_get_children (GTK_CONTAINER(item_edit));
-    for (iter = children; iter; iter = iter->next)
-    {
-        GtkWidget *child = iter->data;
-        if (child == item_edit->popup_toggle.ebox)
-        {
-            is_child = TRUE;
-            break;
-        }
-    }
-    g_list_free (children);
-
-    if (is_child)
-        gtk_container_remove (GTK_CONTAINER(item_edit),
-                              item_edit->popup_toggle.ebox);
-}
-
-
 static gboolean
 key_press_popup_cb (GtkWidget *widget, GdkEventKey *event, gpointer data)
 {
@@ -474,6 +406,26 @@ gnc_item_edit_set_property (GObject *object,
     }
 }
 
+static void
+gnc_item_edit_get_preferred_width (GtkWidget *widget,
+                                   gint *minimal_width,
+                                   gint *natural_width)
+{
+    gint x, y, w, h;
+    gnc_item_edit_get_pixel_coords (GNC_ITEM_EDIT (widget), &x, &y, &w, &h);
+    *minimal_width = *natural_width = w + 1;
+}
+
+
+static void
+gnc_item_edit_get_preferred_height (GtkWidget *widget,
+                                    gint *minimal_width,
+                                    gint *natural_width)
+{
+    gint x, y, w, h;
+    gnc_item_edit_get_pixel_coords (GNC_ITEM_EDIT (widget), &x, &y, &w, &h);
+    *minimal_width = *natural_width = h + 1;
+}
 
 /*
  * GncItemEdit class initialization
@@ -501,6 +453,8 @@ gnc_item_edit_class_init (GncItemEditClass *gnc_item_edit_class)
                                              G_PARAM_READWRITE));
 
     /* GtkWidget method overrides */
+    widget_class->get_preferred_width = gnc_item_edit_get_preferred_width;
+    widget_class->get_preferred_height = gnc_item_edit_get_preferred_height;
 }
 
 
@@ -538,6 +492,9 @@ gnc_item_edit_get_type (void)
 GtkWidget *
 gnc_item_edit_new (GnucashSheet *sheet)
 {
+    char *hpad_str, *vpad_str, *entry_css;
+    GtkStyleContext *stylecontext;
+    GtkCssProvider *provider;
     GncItemEdit *item_edit =
             g_object_new (GNC_TYPE_ITEM_EDIT,
                           "sheet", sheet,
@@ -545,19 +502,31 @@ gnc_item_edit_new (GnucashSheet *sheet)
                           "homogeneous", FALSE,
                            NULL);
     gtk_layout_put (GTK_LAYOUT(sheet), GTK_WIDGET(item_edit), 0, 0);
-    gtk_container_set_reallocate_redraws (GTK_CONTAINER(item_edit), TRUE);
 
     /* Create the text entry */
     item_edit->editor = gtk_entry_new();
     sheet->entry = item_edit->editor;
+    gtk_entry_set_width_chars (GTK_ENTRY(item_edit->editor), 1);
     gtk_box_pack_start (GTK_BOX(item_edit), item_edit->editor,  TRUE, TRUE, 0);
 
+    /* Force padding on the entry to align with the rest of the register */
+    hpad_str = g_strdup_printf("%i", CELL_HPADDING);
+    vpad_str = g_strdup_printf("%i", CELL_VPADDING);
+    entry_css = g_strconcat ("* { padding: ", vpad_str, "px ", hpad_str, "px ", vpad_str, "px ", hpad_str, "px }", NULL);
+    provider = gtk_css_provider_new();
+    gtk_css_provider_load_from_data (provider, entry_css, -1, NULL);
+    stylecontext = gtk_widget_get_style_context (item_edit->editor);
+    gtk_style_context_add_provider (stylecontext, GTK_STYLE_PROVIDER (provider),
+                                    GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
+    g_free (hpad_str);
+    g_free (vpad_str);
+    g_free (entry_css);
+
     /* Create the popup button
        It will only be displayed when the cell being edited provides
        a popup item (like a calendar or account list) */
     item_edit->popup_toggle.arrow = GTK_ARROW(gtk_arrow_new(GTK_ARROW_DOWN,
                                                             GTK_SHADOW_IN));
-    gtk_misc_set_alignment(GTK_MISC(item_edit->popup_toggle.arrow), 0.5, 0.5);
 
     item_edit->popup_toggle.tbutton = gtk_toggle_button_new();
     gtk_toggle_button_set_mode (
@@ -565,16 +534,25 @@ gnc_item_edit_new (GnucashSheet *sheet)
     gtk_container_add(GTK_CONTAINER(item_edit->popup_toggle.tbutton),
                       GTK_WIDGET(item_edit->popup_toggle.arrow));
 
+    /* Force padding on the button to
+       1. keep it small
+       2. display as much as possible of the arrow */
+    provider = gtk_css_provider_new();
+    gtk_css_provider_load_from_data (provider, "* { padding: 1px }", -1, NULL);
+    stylecontext = gtk_widget_get_style_context (item_edit->popup_toggle.tbutton);
+    gtk_style_context_add_provider (stylecontext, GTK_STYLE_PROVIDER (provider),
+                                    GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
+
     /* Wrap the popup button in an event box to give it its own gdkwindow.
      * Without one the button would disappear behind the grid object. */
     item_edit->popup_toggle.ebox = gtk_event_box_new();
     g_object_ref(item_edit->popup_toggle.ebox);
     gtk_container_add(GTK_CONTAINER(item_edit->popup_toggle.ebox),
-                      GTK_WIDGET(item_edit->popup_toggle.tbutton));
+                      item_edit->popup_toggle.tbutton);
 
     gtk_box_pack_start (GTK_BOX(item_edit),
-                        GTK_WIDGET(item_edit->popup_toggle.ebox),
-                      FALSE, TRUE, 0);
+                        item_edit->popup_toggle.ebox,
+                        FALSE, TRUE, 0);
     gtk_widget_show_all(GTK_WIDGET(item_edit));
 
     return GTK_WIDGET(item_edit);
@@ -646,10 +624,10 @@ gnc_item_edit_show_popup (GncItemEdit *item_edit)
     else
         popup_w = -1;
 
-    gtk_layout_move (GTK_LAYOUT(sheet), item_edit->popup_item,
-                     popup_x, popup_y);
+    if (!gtk_widget_get_parent (item_edit->popup_item))
+        gtk_layout_put (GTK_LAYOUT(sheet), item_edit->popup_item,
+                        popup_x, popup_y);
     gtk_widget_set_size_request(item_edit->popup_item, popup_w, popup_h);
-    gtk_widget_show_all (item_edit->popup_item);
     // FIXME what about the GtkAnchorType that the GNOME_CANVAS_ITEM used ?
 
     toggle = GTK_TOGGLE_BUTTON(item_edit->popup_toggle.tbutton);
@@ -700,8 +678,7 @@ gnc_item_edit_hide_popup (GncItemEdit *item_edit)
     if (!item_edit->is_popup)
         return;
 
-    gtk_widget_hide (item_edit->popup_item);
-
+    gtk_container_remove (GTK_CONTAINER(item_edit->sheet), item_edit->popup_item);
     gtk_arrow_set (item_edit->popup_toggle.arrow,
                    GTK_ARROW_DOWN, GTK_SHADOW_IN);
 
@@ -743,11 +720,8 @@ gnc_item_edit_set_popup (GncItemEdit    *item_edit,
         disconnect_popup_toggle_signals (item_edit);
 
         gnc_item_edit_hide_popup (item_edit);
-        gnc_item_edit_hide_popup_toggle (item_edit);
+        gtk_widget_hide (item_edit->popup_toggle.ebox);
     }
-
-    if (gtk_widget_get_realized(GTK_WIDGET(item_edit)))
-        gnc_item_edit_update (item_edit);
 }
 
 gboolean
diff --git a/src/register/register-gnome/gnucash-sheet.c b/src/register/register-gnome/gnucash-sheet.c
index 5d42fee..395f3cb 100644
--- a/src/register/register-gnome/gnucash-sheet.c
+++ b/src/register/register-gnome/gnucash-sheet.c
@@ -97,6 +97,8 @@ static gboolean gnucash_sheet_delete_surrounding_cb (GtkIMContext *context,
         GnucashSheet *sheet);
 static gboolean gnucash_sheet_check_direct_update_cell(GnucashSheet *sheet,
         const VirtualLocation virt_loc);
+gboolean gnucash_sheet_draw_cb (GtkWidget *widget, cairo_t *cr,
+                                G_GNUC_UNUSED gpointer data);
 
 /** Implementation *****************************************************/
 
@@ -692,6 +694,8 @@ gnucash_sheet_create (Table *table)
 
     g_signal_connect (G_OBJECT (sheet->vadj), "value_changed",
                       G_CALLBACK (gnucash_sheet_vadjustment_value_changed), sheet);
+    g_signal_connect (G_OBJECT (sheet), "draw",
+                      G_CALLBACK (gnucash_sheet_draw_cb), sheet);
 
     LEAVE("%p", sheet);
     return sheet;
@@ -1046,20 +1050,20 @@ gnucash_sheet_delete_cb (GtkWidget *widget,
     g_string_free (new_text_gs, TRUE);
 }
 
-static gboolean
-gnucash_sheet_draw (GtkWidget *widget, cairo_t *cr)
+gboolean
+gnucash_sheet_draw_cb (GtkWidget *widget, cairo_t *cr, G_GNUC_UNUSED gpointer data)
 {
     GnucashSheet *sheet = GNUCASH_SHEET (widget);
+    GtkStyleContext *context = gtk_widget_get_style_context (widget);
     GtkAllocation alloc;
     gboolean result;
 
     gtk_widget_get_allocation(widget, &alloc);
-    cairo_save (cr);
+    gtk_render_background (context, cr, alloc.x, alloc.y, alloc.width, alloc.height);
     result = gnucash_sheet_draw_internal (sheet, cr, &alloc);
     gnucash_sheet_draw_cursor (sheet->cursor, cr);
-    cairo_restore (cr);
 
-    return result;
+    return FALSE;
 }
 
 
@@ -2457,9 +2461,6 @@ gnucash_sheet_class_init (GnucashSheetClass *klass)
     widget_class->button_press_event = gnucash_button_press_event;
     widget_class->button_release_event = gnucash_button_release_event;
     widget_class->scroll_event = gnucash_scroll_event;
-
-    widget_class->draw = gnucash_sheet_draw;
-
 }
 
 

commit 24ed305c18eddfe6b757b4fc1e4f5d4119ad8a77
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Fri Apr 14 18:55:35 2017 +0200

    Gtk3: fix register redrawing when the window is scrolled
    
    The new drawing interface in gtk3 uses a different coordinate system.
    Some calculations had to be adjusted to this.

diff --git a/src/register/register-gnome/gnucash-sheet-private.c b/src/register/register-gnome/gnucash-sheet-private.c
index 4505c39..f36af59 100644
--- a/src/register/register-gnome/gnucash-sheet-private.c
+++ b/src/register/register-gnome/gnucash-sheet-private.c
@@ -604,12 +604,12 @@ draw_block (GnucashSheet *sheet,
                   virt_loc.phys_row_offset,
                   virt_loc.phys_col_offset);
 
-            x_paint = block->origin_x + cd->origin_x;
-            if (x_paint > x + width)
+            x_paint = block->origin_x + cd->origin_x - x;
+            if (x_paint > width)
                 break;
 
-            y_paint = block->origin_y + cd->origin_y;
-            if (y_paint > y + height)
+            y_paint = block->origin_y + cd->origin_y - y;
+            if (y_paint > height)
                 return;
 
             h = cd->pixel_height;
@@ -618,10 +618,10 @@ draw_block (GnucashSheet *sheet,
             if (w == 0)
                 continue;
 
-            if (x_paint + w < x)
+            if (x_paint + w < 0)
                 continue;
 
-            if (y_paint + h < y)
+            if (y_paint + h < 0)
                 continue;
 
             draw_cell (sheet, block, virt_loc, cr,
@@ -640,6 +640,12 @@ gnucash_sheet_draw_internal (GnucashSheet* sheet, cairo_t* cr,
     int y = 0;
     int width = alloc->width;
     int height = alloc->height;
+    GtkAdjustment * adj;
+
+    adj = gtk_scrollable_get_hadjustment(GTK_SCROLLABLE (sheet));
+    x = (gint) gtk_adjustment_get_value(adj);
+    adj = gtk_scrollable_get_vadjustment(GTK_SCROLLABLE (sheet));
+    y = (gint) gtk_adjustment_get_value(adj);
 
     if (x < 0 || y < 0)
         return FALSE;
@@ -683,20 +689,28 @@ gnucash_sheet_draw_cursor (GnucashCursor *cursor, cairo_t *cr)
 {
     GnucashCursorCell *cc = &(cursor->cell);
     GdkRGBA *fg_color;
+    int x = 0;
+    int y = 0;
+    GtkAdjustment * adj;
+
+    adj = gtk_scrollable_get_hadjustment(GTK_SCROLLABLE (cursor->sheet));
+    x = (gint) gtk_adjustment_get_value(adj);
+    adj = gtk_scrollable_get_vadjustment(GTK_SCROLLABLE (cursor->sheet));
+    y = (gint) gtk_adjustment_get_value(adj);
 
     fg_color = &gn_black;
 
     /* draw the rectangle around the entire active
      *    virtual *row */
-    cairo_rectangle (cr, cursor->x + 0.5, cursor->y + 0.5,
+    cairo_rectangle (cr, cursor->x - x + 0.5, cursor->y - y + 0.5,
                      cursor->w - 1.0, cursor->h - 1.0);
-    cairo_move_to (cr, cursor->x, cursor->y + cursor->h - 1.5);
+    cairo_move_to (cr, cursor->x - x, cursor->y - y + cursor->h - 1.5);
     cairo_rel_line_to (cr, cursor->w, 0);
     cairo_set_source_rgb (cr, fg_color->red, fg_color->green, fg_color->blue);
     cairo_set_line_width (cr, 1.0);
     cairo_stroke (cr);
 
-    cairo_rectangle (cr, cc->x + 0.5, cursor->y + cc->y + 0.5,
+    cairo_rectangle (cr, cc->x - x + 0.5, cursor->y + cc->y - y + 0.5,
                      cc->w - 1.0, cc->h - 1.0);
     cairo_set_source_rgb (cr, fg_color->red, fg_color->green, fg_color->blue);
     cairo_set_line_width (cr, 1.0);

commit 3a76cb91f1826f8bd100995a132c1f6a91d24e81
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Tue Apr 11 18:27:22 2017 +0200

    Gtk3: Fix register not being drawn - item_edit still missing
    
    While the data is displayed the widget to edit the active cell isn't yet.

diff --git a/src/register/register-gnome/gnucash-sheet-private.c b/src/register/register-gnome/gnucash-sheet-private.c
index d7f8ed5..4505c39 100644
--- a/src/register/register-gnome/gnucash-sheet-private.c
+++ b/src/register/register-gnome/gnucash-sheet-private.c
@@ -636,8 +636,8 @@ gnucash_sheet_draw_internal (GnucashSheet* sheet, cairo_t* cr,
 {
     VirtualLocation virt_loc;
     SheetBlock *sheet_block;
-    int x = alloc->x;
-    int y = alloc->y;
+    int x = 0;
+    int y = 0;
     int width = alloc->width;
     int height = alloc->height;
 

commit e5d2ab8dc5d668761083d8457e5db8f18939b6fb
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Tue Apr 11 16:54:37 2017 +0200

    Fix build with webkitgtk >= 2.8

diff --git a/src/html/CMakeLists.txt b/src/html/CMakeLists.txt
index da8c6e8..01ccbd9 100644
--- a/src/html/CMakeLists.txt
+++ b/src/html/CMakeLists.txt
@@ -36,7 +36,10 @@ TARGET_COMPILE_DEFINITIONS(gncmod-html PRIVATE -DG_LOG_DOMAIN=\"gnc.html\")
 
 
 TARGET_INCLUDE_DIRECTORIES (gncmod-html
-    PUBLIC ${WEBKIT_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}
+PUBLIC
+    ${GTK3_INCLUDE_DIRS}
+    ${WEBKIT_INCLUDE_DIRS}
+    ${CMAKE_CURRENT_SOURCE_DIR}
 )
 
 INSTALL(TARGETS gncmod-html
@@ -44,4 +47,4 @@ INSTALL(TARGETS gncmod-html
   ARCHIVE DESTINATION lib/gnucash
   RUNTIME DESTINATION bin)
 
-INSTALL(FILES ${html_HEADERS} DESTINATION include/gnucash)
\ No newline at end of file
+INSTALL(FILES ${html_HEADERS} DESTINATION include/gnucash)
diff --git a/src/html/gnc-html-webkit.c b/src/html/gnc-html-webkit.c
index 17531c2..81aa609 100644
--- a/src/html/gnc-html-webkit.c
+++ b/src/html/gnc-html-webkit.c
@@ -654,6 +654,7 @@ webkit_notification_cb (WebKitWebView* web_view, WebKitNotification *note,
 {
      GtkWindow *top = NULL;
      GtkWidget *dialog = NULL;
+     GncHtmlWebkit *self = (GncHtmlWebkit*)user_data;
      g_return_val_if_fail (self != NULL, FALSE);
      g_return_val_if_fail (note != NULL, FALSE);
 

commit d632abaa962c35f1a0dda60a8a9ae1105819ad34
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Mar 31 17:08:30 2017 -0700

    Get links working.

diff --git a/src/html/gnc-html-webkit.c b/src/html/gnc-html-webkit.c
index 60912a7..17531c2 100644
--- a/src/html/gnc-html-webkit.c
+++ b/src/html/gnc-html-webkit.c
@@ -578,6 +578,31 @@ load_to_stream( GncHtmlWebkit* self, URLType type,
      while ( FALSE );
 }
 
+static gboolean
+perform_navigation_policy (WebKitWebView *web_view,
+			   WebKitNavigationPolicyDecision *decision,
+			   GncHtml *self)
+{
+     WebKitURIRequest *req = NULL;
+     const gchar* uri; // Can't init it here.
+     gchar *scheme = NULL, *location = NULL, *label = NULL;
+     WebKitNavigationAction *action =
+	  webkit_navigation_policy_decision_get_navigation_action (decision);
+     if (webkit_navigation_action_get_navigation_type (action) !=
+	 WEBKIT_NAVIGATION_TYPE_LINK_CLICKED)
+     {
+	  webkit_policy_decision_use ((WebKitPolicyDecision*)decision);
+	  return TRUE;
+     }
+     req = webkit_navigation_action_get_request (action);
+     uri = webkit_uri_request_get_uri (req);
+     scheme =  gnc_html_parse_url (self, uri, &location, &label);
+     impl_webkit_show_url (self, scheme, location, label, FALSE);
+     g_free (location);
+     g_free (label);
+     webkit_policy_decision_ignore ((WebKitPolicyDecision*)decision);
+     return TRUE;
+}
 
 /********************************************************************
  * webkit_navigation_requested_cb - called when a URL needs to be
@@ -590,11 +615,15 @@ webkit_decide_policy_cb (WebKitWebView *web_view,
 			 WebKitPolicyDecisionType decision_type,
 			 gpointer user_data)
 {
-     /* Just in case the default decision was doing the wrong thing at
-      * some point...
-      */
-     webkit_policy_decision_use (decision);
-     return TRUE;
+/* This turns out to be the signal to intercept for handling a link-click. */
+     if (decision_type != WEBKIT_POLICY_DECISION_TYPE_NAVIGATION_ACTION)
+     {
+	  webkit_policy_decision_use (decision);
+	  return TRUE;
+     }
+     return perform_navigation_policy (
+	  web_view, (WebKitNavigationPolicyDecision*) decision,
+	  GNC_HTML (user_data));
 }
 
 static void

commit bb0376240df9ef2fed47d74a80bcd227ad590310
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Mar 31 15:40:37 2017 -0700

    Get WebKit2Gtk basics compiling and working.
    
    Copy and register links don't work.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6de6b0b..d7891f0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -170,7 +170,7 @@ GNC_PKG_CHECK_MODULES (GTHREAD REQUIRED gthread-2.0>=2.20)
 
 GNC_PKG_CHECK_MODULES (LIBXML2 REQUIRED libxml-2.0>=2.7.0)
 GNC_PKG_CHECK_MODULES (LIBXSLT REQUIRED libxslt)
-GNC_PKG_CHECK_MODULES (WEBKIT REQUIRED webkit-1.0>=1.2)
+GNC_PKG_CHECK_MODULES (WEBKIT REQUIRED webkit2gtk-4.0>=2.6.0)
 IF (WITH_GNUCASH)
   GNC_PKG_CHECK_MODULES (GTK3 REQUIRED gtk+-3.0>=3.14.0)
 ENDIF (WITH_GNUCASH)
diff --git a/configure.ac b/configure.ac
index 1bd75a2..54641ae 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1351,7 +1351,7 @@ then
   ### --------------------------------------------------------------------------
   ### checks for webkit
 
-  PKG_CHECK_MODULES(WEBKIT, webkit-1.0 >= "1.2")
+  PKG_CHECK_MODULES(WEBKIT, webkit2gtk-4.0 >= "2.6.0")
   AC_SUBST(WEBKIT_CFLAGS)
   AC_SUBST(WEBKIT_LIBS)
 
diff --git a/src/html/gnc-html-webkit.c b/src/html/gnc-html-webkit.c
index aa4c08b..60912a7 100644
--- a/src/html/gnc-html-webkit.c
+++ b/src/html/gnc-html-webkit.c
@@ -43,7 +43,7 @@
 #include <regex.h>
 #include <libguile.h>
 
-#include <webkit/webkit.h>
+#include <webkit2/webkit2.h>
 
 #include "Account.h"
 #include "gnc-prefs.h"
@@ -88,13 +88,22 @@ static char error_404_body[] = N_("The specified URL could not be loaded.");
 #define BASE_URI_NAME "base-uri"
 #define GNC_PREF_RPT_DFLT_ZOOM "default-zoom"
 
-static WebKitNavigationResponse webkit_navigation_requested_cb(
-     WebKitWebView* web_view,
-     WebKitWebFrame* frame,
-     WebKitNetworkRequest* request,
-     gpointer user_data );
-static void webkit_on_url_cb( WebKitWebView* web_view, gchar* title, gchar* url,
-                              gpointer data );
+static gboolean webkit_decide_policy_cb (WebKitWebView* web_view,
+					 WebKitPolicyDecision *decision,
+					 WebKitPolicyDecisionType decision_type,
+					 gpointer user_data);
+static void webkit_mouse_target_cb (WebKitWebView* web_view,
+				    WebKitHitTestResult *hit,
+				    guint modifiers, gpointer data);
+#if WEBKIT_MINOR_VERSION >= 8
+static gboolean webkit_notification_cb (WebKitWebView *web_view,
+					WebKitNotification *note,
+					gpointer user_data);
+#endif
+static gboolean webkit_load_failed_cb (WebKitWebView *web_view,
+				       WebKitLoadEvent event,
+				       gchar *uri, GError *error,
+				       gpointer user_data);
 static gchar* handle_embedded_object( GncHtmlWebkit* self, gchar* html_str );
 static void impl_webkit_show_url( GncHtml* self, URLType type,
                                   const gchar* location, const gchar* label,
@@ -103,20 +112,50 @@ static void impl_webkit_show_data( GncHtml* self, const gchar* data, int datalen
 static void impl_webkit_reload( GncHtml* self, gboolean force_rebuild );
 static void impl_webkit_copy_to_clipboard( GncHtml* self );
 static gboolean impl_webkit_export_to_file( GncHtml* self, const gchar* filepath );
-static void impl_webkit_print( GncHtml* self, const gchar* jobname, gboolean export_pdf );
+static void impl_webkit_print (GncHtml* self);
 static void impl_webkit_cancel( GncHtml* self );
 static void impl_webkit_set_parent( GncHtml* self, GtkWindow* parent );
 static void impl_webkit_default_zoom_changed(gpointer prefs, gchar *pref, gpointer user_data);
 
-static gboolean
-webkit_console_msg_cb (GtkWidget*   web_view,
-                       const gchar* message,
-                       guint        line,
-                       const gchar* source_id,
-                       GncHtmlWebkit*  view)
+static GtkWidget*
+gnc_html_webkit_webview_new (void)
 {
-     PWARN ("JS: %s (%u): %s", source_id, line, message);
-     return TRUE;
+     GtkWidget *view = webkit_web_view_new ();
+     WebKitSettings *webkit_settings = NULL;
+     const char *default_font_family = NULL;
+     GtkStyleContext *style = gtk_widget_get_style_context (view);
+     GValue val = G_VALUE_INIT;
+     GtkStateFlags state = gtk_style_context_get_state (style);
+     gtk_style_context_get_property (style, GTK_STYLE_PROPERTY_FONT,
+				     state, &val);
+
+     if (G_VALUE_HOLDS_BOXED (&val))
+     {
+	  const PangoFontDescription *font =
+	       (const PangoFontDescription*)g_value_get_boxed (&val);
+	  default_font_family = pango_font_description_get_family (font);
+	  g_value_unset (&val);
+     }
+/* Set default webkit settings */
+     webkit_settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (view));
+     g_object_set (G_OBJECT(webkit_settings),
+                   "default-charset", "utf-8",
+                   "allow-file-access-from-file-urls", TRUE,
+                   "allow-universal-access-from-file-urls", TRUE,
+                   "enable-java", FALSE,
+                   "enable-page-cache", FALSE,
+                   "enable-plugins", FALSE,
+                   "enable-site-specific-quirks", FALSE,
+                   "enable-xss-auditor", FALSE,
+                   "enable-developer-extras", TRUE,
+                   NULL);
+     if (default_font_family != NULL)
+     {
+	  g_object_set (G_OBJECT (webkit_settings),
+			"default-font-family", default_font_family,
+			NULL);
+     }
+     return view;
 }
 
 static void
@@ -124,39 +163,19 @@ gnc_html_webkit_init( GncHtmlWebkit* self )
 {
      GncHtmlWebkitPrivate* priv;
      GncHtmlWebkitPrivate* new_priv;
-
-     WebKitWebSettings* webkit_settings = NULL;
-     const char* default_font_family = NULL;
      gdouble zoom = 1.0;
 
-     new_priv = g_realloc( GNC_HTML(self)->priv, sizeof(GncHtmlWebkitPrivate) );
+     new_priv = g_realloc (GNC_HTML(self)->priv, sizeof(GncHtmlWebkitPrivate));
      priv = self->priv = new_priv;
      GNC_HTML(self)->priv = (GncHtmlPrivate*)priv;
 
      priv->html_string = NULL;
-     priv->web_view = WEBKIT_WEB_VIEW(webkit_web_view_new());
-
+     priv->web_view = WEBKIT_WEB_VIEW (gnc_html_webkit_webview_new ());
 
-     /* Get the default font family from GtkStyle of a GtkWidget(priv-web_view). */
-     default_font_family = pango_font_description_get_family( gtk_rc_get_style(GTK_WIDGET(priv->web_view))->font_desc );
 
-     /* Set default webkit settings */
-     webkit_settings = webkit_web_view_get_settings (priv->web_view);
-     g_object_set (G_OBJECT(webkit_settings), "default-encoding", "utf-8", NULL);
-     if (default_font_family == NULL)
-     {
-          PWARN("webkit_settings: Cannot get default font family.");
-     }
-     else
-     {
-          g_object_set (G_OBJECT(webkit_settings),
-                        "default-font-family", default_font_family,
-                        NULL);
-          PINFO("webkit_settings: Set default font to [%s]", default_font_family);
-     }
      /* Scale everything up */
-     zoom = gnc_prefs_get_float (GNC_PREFS_GROUP_GENERAL_REPORT, GNC_PREF_RPT_DFLT_ZOOM);
-     webkit_web_view_set_full_content_zoom (priv->web_view, TRUE);
+     zoom = gnc_prefs_get_float (GNC_PREFS_GROUP_GENERAL_REPORT,
+				 GNC_PREF_RPT_DFLT_ZOOM);
      webkit_web_view_set_zoom_level (priv->web_view, zoom);
 
 
@@ -166,17 +185,23 @@ gnc_html_webkit_init( GncHtmlWebkit* self )
      g_object_ref_sink( priv->base.container );
 
      /* signals */
-     g_signal_connect( priv->web_view, "navigation-requested",
-                       G_CALLBACK(webkit_navigation_requested_cb),
+     g_signal_connect (priv->web_view, "decide-policy",
+                       G_CALLBACK (webkit_decide_policy_cb),
                        self);
 
-     g_signal_connect( priv->web_view, "hovering-over-link",
-                       G_CALLBACK(webkit_on_url_cb),
-                       self );
+     g_signal_connect (priv->web_view, "mouse-target-changed",
+                       G_CALLBACK (webkit_mouse_target_cb),
+                       self);
 
-     g_signal_connect( priv->web_view, "console-message",
-                       G_CALLBACK(webkit_console_msg_cb),
+#if WEBKIT_MINOR_VERSION >= 8
+     g_signal_connect (priv->web_view, "show-notification",
+                       G_CALLBACK (webkit_notification_cb),
                        self);
+#endif
+
+     g_signal_connect (priv->web_view, "load-failed",
+		       G_CALLBACK (webkit_load_failed_cb),
+		       self);
 
      gnc_prefs_register_cb (GNC_PREFS_GROUP_GENERAL_REPORT,
                             GNC_PREF_RPT_DFLT_ZOOM,
@@ -460,8 +485,10 @@ load_to_stream( GncHtmlWebkit* self, URLType type,
                {
                     fdata = fdata ? fdata : g_strdup( "" );
 
-                    // Until webkitgtk supports download requests, look for "<object classid="
-                    // indicating the beginning of an embedded graph.  If found, handle it
+                    // Until webkitgtk supports download requests,
+                    // look for "<object classid=" indicating the
+                    // beginning of an embedded graph.  If found,
+                    // handle it
                     if ( g_strstr_len( fdata, -1, "<object classid=" ) != NULL )
                     {
                          gchar* new_fdata;
@@ -477,14 +504,16 @@ load_to_stream( GncHtmlWebkit* self, URLType type,
                     }
                     priv->html_string = g_strdup( fdata );
                     impl_webkit_show_data( GNC_HTML(self), fdata, strlen(fdata) );
-//                webkit_web_view_load_html_string( priv->web_view, fdata, BASE_URI_NAME );
+//                webkit_web_view_load_html (priv->web_view, fdata,
+//                                           BASE_URI_NAME);
                }
                else
                {
                     fdata = fdata ? fdata :
                          g_strdup_printf( error_404_format,
                                           _(error_404_title), _(error_404_body) );
-                    webkit_web_view_load_html_string( priv->web_view, fdata, BASE_URI_NAME );
+                    webkit_web_view_load_html (priv->web_view, fdata,
+					       BASE_URI_NAME);
                }
 
                g_free( fdata );
@@ -541,7 +570,7 @@ load_to_stream( GncHtmlWebkit* self, URLType type,
                       label ? label : "(null)" );
                fdata = g_strdup_printf( error_404_format,
                                         _(error_404_title), _(error_404_body) );
-               webkit_web_view_load_html_string( priv->web_view, fdata, BASE_URI_NAME );
+               webkit_web_view_load_html (priv->web_view, fdata, BASE_URI_NAME);
                g_free( fdata );
           }
 
@@ -555,60 +584,71 @@ load_to_stream( GncHtmlWebkit* self, URLType type,
  * loaded within the loading of a page (embedded image).
  ********************************************************************/
 
-static WebKitNavigationResponse
-webkit_navigation_requested_cb( WebKitWebView* web_view, WebKitWebFrame* frame,
-                                WebKitNetworkRequest* request,
-                                gpointer data )
+static gboolean
+webkit_decide_policy_cb (WebKitWebView *web_view,
+			 WebKitPolicyDecision *decision,
+			 WebKitPolicyDecisionType decision_type,
+			 gpointer user_data)
 {
-     URLType type;
-     gchar* location = NULL;
-     gchar* label = NULL;
-     GncHtmlWebkit* self = GNC_HTML_WEBKIT(data);
-     const gchar* url = webkit_network_request_get_uri( request );
-
-     ENTER( "requesting %s", url );
-     if ( strcmp( url, BASE_URI_NAME ) == 0 )
-     {
-          LEAVE("URI is %s", BASE_URI_NAME);
-          return WEBKIT_NAVIGATION_RESPONSE_ACCEPT;
-     }
-
-     type = gnc_html_parse_url( GNC_HTML(self), url, &location, &label );
-     if ( strcmp( type, "file" ) == 0 )
-     {
-          LEAVE("URI type is 'file'");
-          return WEBKIT_NAVIGATION_RESPONSE_ACCEPT;
-     }
-     gnc_html_show_url( GNC_HTML(self), type, location, label, 0 );
-//      load_to_stream( self, type, location, label );
-     g_free( location );
-     g_free( label );
-
-     LEAVE("");
-     return WEBKIT_NAVIGATION_RESPONSE_IGNORE;
+     /* Just in case the default decision was doing the wrong thing at
+      * some point...
+      */
+     webkit_policy_decision_use (decision);
+     return TRUE;
 }
 
-
-/********************************************************************
- * webkit_on_url_cb - called when user rolls over html anchor
- ********************************************************************/
-
 static void
-webkit_on_url_cb( WebKitWebView* web_view, gchar* title, gchar* url, gpointer data )
+webkit_mouse_target_cb (WebKitWebView *web_view, WebKitHitTestResult *hit,
+			guint modifiers, gpointer user_data)
 {
-     GncHtmlWebkit* self = GNC_HTML_WEBKIT(data);
-     GncHtmlWebkitPrivate* priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
+     GncHtmlWebkitPrivate* priv;
+     GncHtmlWebkit *self = (GncHtmlWebkit*)user_data;
+     gchar *uri;
 
-     DEBUG( "Rollover %s", url ? url : "(null)" );
-     g_free( priv->base.current_link );
-     priv->base.current_link = g_strdup( url );
-     if ( priv->base.flyover_cb )
+     if (!webkit_hit_test_result_context_is_link (hit))
+	  return;
+
+     priv = GNC_HTML_WEBKIT_GET_PRIVATE (self);
+     uri = g_strdup (webkit_hit_test_result_get_link_uri (hit));
+     g_free (priv->base.current_link);
+     priv->base.current_link = uri;
+     if (priv->base.flyover_cb)
      {
-          (priv->base.flyover_cb)( GNC_HTML(self), url, priv->base.flyover_cb_data );
+          (priv->base.flyover_cb) (GNC_HTML (self), uri,
+				   priv->base.flyover_cb_data);
      }
 }
+#if WEBKIT_MINOR_VERSION >= 8
+static gboolean
+webkit_notification_cb (WebKitWebView* web_view, WebKitNotification *note,
+			gpointer user_data)
+{
+     GtkWindow *top = NULL;
+     GtkWidget *dialog = NULL;
+     g_return_val_if_fail (self != NULL, FALSE);
+     g_return_val_if_fail (note != NULL, FALSE);
+
+     top = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (web_view)));
+     dialog = gtk_message_dialog_new (top, GTK_DIALOG_MODAL,
+                                      GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE,
+                                      "%s\n%s",
+                                      webkit_notification_get_title (note),
+                                      webkit_notification_get_body (note));
+     gtk_dialog_run (GTK_DIALOG (dialog));
+     gtk_widget_destroy (dialog);
+     return TRUE;
+}
+#endif
 
-
+static gboolean
+webkit_load_failed_cb (WebKitWebView *web_view, WebKitLoadEvent event,
+		       gchar *uri, GError *error, gpointer user_data)
+{
+     char *msg = g_strdup_printf ("Failed to load %s: %s", uri, error->message);
+     webkit_web_view_load_plain_text(web_view, msg);
+     g_free (msg);
+     return FALSE;
+}
 /********************************************************************
  * gnc_html_open_scm
  * insert some scheme-generated HTML
@@ -929,10 +969,8 @@ impl_webkit_copy_to_clipboard( GncHtml* self )
      g_return_if_fail( GNC_IS_HTML_WEBKIT(self) );
 
      priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
-     if ( webkit_web_view_can_copy_clipboard( priv->web_view ) )
-     {
-          webkit_web_view_copy_clipboard( priv->web_view );
-     }
+     webkit_web_view_execute_editing_command (priv->web_view,
+					      WEBKIT_EDITING_COMMAND_COPY);
 }
 
 /**************************************************************
@@ -979,205 +1017,35 @@ impl_webkit_export_to_file( GncHtml* self, const char *filepath )
      }
 }
 
-/**
- * Prints the current page.
+/* The webkit1 comment was
+ * If printing on WIN32, in order to prevent the font from being tiny, (see bug
+ * #591177), A GtkPrintOperation object needs to be created so that the unit can
+ * be set, and then webkit_web_frame_print_full() needs to be called to use that
+ * GtkPrintOperation.  On other platforms (specifically linux - not sure about
+ * MacOSX), the version of webkit may not contain the function
+ * webkit_web_frame_print_full(), so webkit_web_frame_print() is called instead
+ * (the font size problem doesn't show up on linux).
  *
- * If printing on WIN32, in order to prevent the font from being tiny, (see bug #591177),
- * A GtkPrintOperation object needs to be created so that the unit can be set, and then
- * webkit_web_frame_print_full() needs to be called to use that GtkPrintOperation.  On
- * other platforms (specifically linux - not sure about MacOSX), the version of webkit may
- * not contain the function webkit_web_frame_print_full(), so webkit_web_frame_print() is
- * called instead (the font size problem doesn't show up on linux).
- *
- * @param self HTML renderer object
+ * Webkit2 exposes only a very simple WebKitPrintOperation API. In order to
+ * implement the above if it proves still to be necessary we'll have to use
+ * GtkPrintOperation instead, passing it the results of
+ * webkit_web_view_get_snapshot for each page.
  */
 static void
-impl_webkit_print( GncHtml* self, const gchar* jobname, gboolean export_pdf )
+impl_webkit_print (GncHtml* self)
 {
-     gchar *export_filename = NULL;
-     GncHtmlWebkitPrivate* priv;
-     WebKitWebFrame* frame;
-     GtkPrintOperation* op = gtk_print_operation_new();
-     GError* error = NULL;
-     GtkPrintSettings *print_settings;
-
-     priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
-     frame = webkit_web_view_get_main_frame( priv->web_view );
-
-     gnc_print_operation_init( op, jobname );
-     print_settings = gtk_print_operation_get_print_settings (op);
-     if (!print_settings)
-     {
-          print_settings = gtk_print_settings_new();
-          gtk_print_operation_set_print_settings(op, print_settings);
-     }
-#ifdef G_OS_WIN32
-     gtk_print_operation_set_unit( op, GTK_UNIT_POINTS );
-#endif
-
-     // Make sure to generate a full export filename
-     if (g_str_has_suffix(jobname, ".pdf"))
-     {
-          export_filename = g_strdup(jobname);
-     }
-     else
-     {
-          export_filename = g_strconcat(jobname, ".pdf", NULL);
-     }
-
-     // Two different modes of operation. Either export to PDF, or run the
-     // normal print dialog
-     if (export_pdf)
-     {
-          GtkWidget *dialog;
-          gint result;
-          gchar *export_dirname = NULL;
-          gchar* basename;
-
-          // Before we save the PDF file, we always as the user for the export
-          // file name. We will store the chosen directory in the gtk print settings
-          // as well.
-          dialog = gtk_file_chooser_dialog_new (_("Export to PDF File"),
-                                                NULL,
-                                                GTK_FILE_CHOOSER_ACTION_SAVE,
-                                                GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                                GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
-                                                NULL);
-          gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
-
-          // Does the jobname look like a valid full file path?
-          basename = g_path_get_basename(jobname);
-          if (strcmp(basename, jobname) != 0)
-          {
-               gchar *tmp_basename;
-               gchar *tmp_dirname = g_path_get_dirname(jobname);
-
-               if (g_file_test(tmp_dirname, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))
-               {
-                    // Yes, the jobname starts with a directory name that actually
-                    // exists. Hence we use this as output directory.
-                    export_dirname = tmp_dirname;
-                    tmp_dirname = NULL;
-
-                    // As the prefix part of the "jobname" is the directory path, we
-                    // need to extract the suffix part for the filename.
-                    tmp_basename = g_path_get_basename(export_filename);
-                    g_free(export_filename);
-                    export_filename = tmp_basename;
-               }
-               g_free(tmp_dirname);
-          }
-          g_free(basename);
-
-          // Set the output file name from the given jobname
-          gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER(dialog), export_filename);
-
-          // Do we have a stored output directory?
-          if (!export_dirname && gtk_print_settings_has_key(print_settings, GNC_GTK_PRINT_SETTINGS_EXPORT_DIR))
-          {
-               const char* tmp_dirname = gtk_print_settings_get(print_settings,
-                                                                GNC_GTK_PRINT_SETTINGS_EXPORT_DIR);
-               // Only use the directory subsequently if it exists.
-               if (g_file_test(tmp_dirname, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))
-               {
-                    export_dirname = g_strdup(tmp_dirname);
-               }
-          }
-
-          // If we have an already existing directory, propose it now.
-          if (export_dirname)
-          {
-               gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), export_dirname);
-          }
-          g_free(export_dirname);
-
-          result = gtk_dialog_run (GTK_DIALOG (dialog));
-          // Weird. In gtk_dialog_run, the gtk code will run a fstat() on the
-          // proposed new output filename, which of course fails with "file not
-          // found" as this file doesn't exist. It will still show a warning output
-          // in the trace file, though.
-
-          if (result == GTK_RESPONSE_ACCEPT)
-          {
-               // The user pressed "Ok", so use the file name for the actual file output.
-               gchar *dirname;
-               char *tmp = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
-               g_free(export_filename);
-               export_filename = tmp;
-
-               // Store the directory part of the file for later
-               dirname = g_path_get_dirname(export_filename);
-               if (g_file_test(dirname, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))
-               {
-                    gtk_print_settings_set(print_settings, GNC_GTK_PRINT_SETTINGS_EXPORT_DIR, dirname);
-               }
-               g_free(dirname);
-          }
-          gtk_widget_destroy (dialog);
-
-          if (result != GTK_RESPONSE_ACCEPT)
-          {
-               // User pressed cancel - no saving of the PDF file here.
-               g_free(export_filename);
-               g_object_unref( op );
-               return;
-          }
-
-          // This function expects the full filename including (absolute?) path
-          gtk_print_operation_set_export_filename(op, export_filename);
-
-          // Run the "Export to PDF" print operation
-          webkit_web_frame_print_full( frame, op, GTK_PRINT_OPERATION_ACTION_EXPORT, &error );
-     }
-     else
-     {
-
-          // Also store this export file name as output URI in the settings
-          if (gtk_print_settings_has_key(print_settings, GTK_PRINT_SETTINGS_OUTPUT_URI))
-          {
-               // Get the previous output URI, extract the directory part, and
-               // append the current filename.
-               const gchar *olduri = gtk_print_settings_get(print_settings, GTK_PRINT_SETTINGS_OUTPUT_URI);
-               gchar *dirname = g_path_get_dirname(olduri);
-               gchar *newuri = (g_strcmp0(dirname, ".") == 0)
-                    ? g_strdup(export_filename)
-                    : g_build_filename(dirname, export_filename, NULL);
-               //g_warning("olduri=%s newuri=%s", olduri, newuri);
-
-               // This function expects the full filename including protocol, path, and name
-               gtk_print_settings_set(print_settings, GTK_PRINT_SETTINGS_OUTPUT_URI, newuri);
-
-               g_free(newuri);
-               g_free(dirname);
-          }
-          else
-          {
-               // No stored output URI from the print settings, so just set our export filename
-               gtk_print_settings_set(print_settings, GTK_PRINT_SETTINGS_OUTPUT_URI, export_filename);
-          }
-
-          // Run the normal printing dialog
-          webkit_web_frame_print_full( frame, op, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, &error );
-     }
-
-     if ( error != NULL )
-     {
-          GtkWidget* window = gtk_widget_get_toplevel( GTK_WIDGET(priv->web_view) );
-          GtkWidget* dialog = gtk_message_dialog_new( gtk_widget_is_toplevel(window) ? GTK_WINDOW(window) : NULL,
-                                                      GTK_DIALOG_DESTROY_WITH_PARENT,
-                                                      GTK_MESSAGE_ERROR,
-                                                      GTK_BUTTONS_CLOSE,
-                                                      "%s", error->message );
-          g_error_free( error );
-
-          g_signal_connect( dialog, "response", G_CALLBACK(gtk_widget_destroy), NULL);
-          gtk_widget_show( dialog );
-     }
-
-     // Remember to save the printing settings after this print job
-     gnc_print_operation_save_print_settings(op);
-     g_object_unref( op );
-     g_free(export_filename);
+     WebKitPrintOperation *op = NULL;
+     GtkWindow *top = NULL;
+     GncHtmlWebkitPrivate *priv;
+
+     g_return_if_fail (self != NULL);
+     g_return_if_fail (GNC_IS_HTML_WEBKIT (self));
+
+     priv = GNC_HTML_WEBKIT_GET_PRIVATE (self);
+     op = webkit_print_operation_new (priv->web_view);
+     top = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (self)));
+     webkit_print_operation_run_dialog (op, top);
+     g_object_unref (op);
 }
 
 static void
diff --git a/src/html/gnc-html.c b/src/html/gnc-html.c
index fd5733b..2512bb2 100644
--- a/src/html/gnc-html.c
+++ b/src/html/gnc-html.c
@@ -532,14 +532,14 @@ gnc_html_export_to_file( GncHtml* self, const gchar* filepath )
 }
 
 void
-gnc_html_print( GncHtml* self, const gchar* jobname, gboolean export_pdf )
+gnc_html_print (GncHtml* self)
 {
     g_return_if_fail( self != NULL );
     g_return_if_fail( GNC_IS_HTML(self) );
 
     if ( GNC_HTML_GET_CLASS(self)->print != NULL )
     {
-        GNC_HTML_GET_CLASS(self)->print( self, jobname, export_pdf );
+        GNC_HTML_GET_CLASS(self)->print (self);
     }
     else
     {
diff --git a/src/html/gnc-html.h b/src/html/gnc-html.h
index 6a66f9c..ca424c5 100644
--- a/src/html/gnc-html.h
+++ b/src/html/gnc-html.h
@@ -135,7 +135,7 @@ struct _GncHtmlClass
     void (*reload)( GncHtml* html, gboolean force_rebuild );
     void (*copy_to_clipboard)( GncHtml* html );
     gboolean (*export_to_file)( GncHtml* html, const gchar* file );
-    void (*print)( GncHtml* html, const gchar* jobname, gboolean export_pdf );
+    void (*print) (GncHtml* html);
     void (*cancel)( GncHtml* html );
     URLType (*parse_url)( GncHtml* html, const gchar* url,
                           gchar** url_location, gchar** url_label );
@@ -200,11 +200,8 @@ gboolean gnc_html_export_to_file( GncHtml* html, const gchar* filename );
  * Prints the report.
  *
  * @param html GncHtml object
- * \param jobname A jobname for identifying this job, or to be used as an output file
- * \param export_pdf If TRUE, only run a "print to PDF" operation in order to
- *        export this to pdf. If FALSE, run a normal printing dialog.
  */
-void gnc_html_print( GncHtml* html, const gchar* jobname, gboolean export_pdf );
+void gnc_html_print (GncHtml* html);
 
 /**
  * Cancels the current operation
diff --git a/src/report/report-gnome/gnc-plugin-page-report.c b/src/report/report-gnome/gnc-plugin-page-report.c
index eba9662..af82377 100644
--- a/src/report/report-gnome/gnc-plugin-page-report.c
+++ b/src/report/report-gnome/gnc-plugin-page-report.c
@@ -1834,7 +1834,7 @@ gnc_plugin_page_report_print_cb( GtkAction *action, GncPluginPageReport *report
 
     //g_warning("Setting job name=%s", job_name);
 
-    gnc_html_print(priv->html, job_name, FALSE);
+    gnc_html_print (priv->html);
 
     g_free (job_name);
 }
@@ -1873,7 +1873,7 @@ gnc_plugin_page_report_exportpdf_cb( GtkAction *action, GncPluginPageReport *rep
 
     //g_warning("Setting job name=%s", job_name);
 
-    gnc_html_print(priv->html, job_name, TRUE);
+    gnc_html_print (priv->html);
 
     if (owner)
     {

commit 15ef31796871eefc030082a123ddb8b0f86667c7
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Mar 23 17:09:18 2017 -0700

    Revert "Fix query period in test-account-get-trans-type-splits-interval."
    
    This reverts commit e66dd12aa91e60ba33b436dfc3e109fe0736b438. Because
    the test only seems to fail crossing a DST boundary.

diff --git a/src/report/report-system/test/test-report-utilities.scm b/src/report/report-system/test/test-report-utilities.scm
index 4bce98c..d6d26ac 100644
--- a/src/report/report-system/test/test-report-utilities.scm
+++ b/src/report/report-system/test/test-report-utilities.scm
@@ -27,8 +27,7 @@
          (start-date-tp (NDayDelta end-date-tp 10))
          (q-end-date-tp (gnc-dmy2timespec-end test-day test-month test-year))
          (q-start-date-tp (gnc-dmy2timespec test-day test-month test-year))
-;; Queries 5 days because start time is 00:00:00 and end time is 23:59:59.
-         (q-start-date-tp (NDayDelta q-start-date-tp 4)))
+         (q-start-date-tp (NDayDelta q-start-date-tp 5)))
 
     (let* ((accounts (env-create-account-structure-alist env (list "Assets"
 								   (list (cons 'type ACCT-TYPE-ASSET))
@@ -43,9 +42,4 @@
 							      ACCT-TYPE-ASSET
 							      q-start-date-tp q-end-date-tp)))
 	;; 10 is the right number (5 days, two splits per tx)
-	(if (and (equal? 10 (length splits))) #t
-            (begin
-              (format #t "~a~a~a~a~%" "Creation Start: " (strftime "%F %T" (localtime (car start-date-tp))) " Creation End: " (strftime "%F %T" (localtime (car end-date-tp))))
-              (format #t "~a~a~a~a~%" "Query Start: " (strftime "%F %T" (localtime (car q-start-date-tp))) " Query End: " (strftime "%F %T" (localtime (car q-end-date-tp))))
-              (format #t "~a~a~%" "Incorrect number of splits " (length splits))
-              #f))))))
+	(and (equal? 10 (length splits)))))))

commit bf86524884f49d46bcbde624f9536583548e72cc
Author: John Ralls <jralls at ceridwen.us>
Date:   Mon Feb 27 13:41:16 2017 -0800

    Correct gnc-html-webkit.c indentation.

diff --git a/src/html/gnc-html-webkit.c b/src/html/gnc-html-webkit.c
index 700a7f7..aa4c08b 100644
--- a/src/html/gnc-html-webkit.c
+++ b/src/html/gnc-html-webkit.c
@@ -89,10 +89,10 @@ static char error_404_body[] = N_("The specified URL could not be loaded.");
 #define GNC_PREF_RPT_DFLT_ZOOM "default-zoom"
 
 static WebKitNavigationResponse webkit_navigation_requested_cb(
-    WebKitWebView* web_view,
-    WebKitWebFrame* frame,
-    WebKitNetworkRequest* request,
-    gpointer user_data );
+     WebKitWebView* web_view,
+     WebKitWebFrame* frame,
+     WebKitNetworkRequest* request,
+     gpointer user_data );
 static void webkit_on_url_cb( WebKitWebView* web_view, gchar* title, gchar* url,
                               gpointer data );
 static gchar* handle_embedded_object( GncHtmlWebkit* self, gchar* html_str );
@@ -110,139 +110,139 @@ static void impl_webkit_default_zoom_changed(gpointer prefs, gchar *pref, gpoint
 
 static gboolean
 webkit_console_msg_cb (GtkWidget*   web_view,
-                                    const gchar* message,
-                                    guint        line,
-                                    const gchar* source_id,
-                                    GncHtmlWebkit*  view)
+                       const gchar* message,
+                       guint        line,
+                       const gchar* source_id,
+                       GncHtmlWebkit*  view)
 {
-    PWARN ("JS: %s (%u): %s", source_id, line, message);
-    return TRUE;
+     PWARN ("JS: %s (%u): %s", source_id, line, message);
+     return TRUE;
 }
 
 static void
 gnc_html_webkit_init( GncHtmlWebkit* self )
 {
-    GncHtmlWebkitPrivate* priv;
-    GncHtmlWebkitPrivate* new_priv;
-
-    WebKitWebSettings* webkit_settings = NULL;
-    const char* default_font_family = NULL;
-    gdouble zoom = 1.0;
-
-    new_priv = g_realloc( GNC_HTML(self)->priv, sizeof(GncHtmlWebkitPrivate) );
-    priv = self->priv = new_priv;
-    GNC_HTML(self)->priv = (GncHtmlPrivate*)priv;
-
-    priv->html_string = NULL;
-    priv->web_view = WEBKIT_WEB_VIEW(webkit_web_view_new());
-
-
-    /* Get the default font family from GtkStyle of a GtkWidget(priv-web_view). */
-    default_font_family = pango_font_description_get_family( gtk_rc_get_style(GTK_WIDGET(priv->web_view))->font_desc );
-
-    /* Set default webkit settings */
-    webkit_settings = webkit_web_view_get_settings (priv->web_view);
-    g_object_set (G_OBJECT(webkit_settings), "default-encoding", "utf-8", NULL);
-    if (default_font_family == NULL)
-    {
-        PWARN("webkit_settings: Cannot get default font family.");
-    }
-    else
-    {
-        g_object_set (G_OBJECT(webkit_settings),
-                      "default-font-family", default_font_family,
-                      NULL);
-        PINFO("webkit_settings: Set default font to [%s]", default_font_family);
-    }
-    /* Scale everything up */
-    zoom = gnc_prefs_get_float (GNC_PREFS_GROUP_GENERAL_REPORT, GNC_PREF_RPT_DFLT_ZOOM);
-    webkit_web_view_set_full_content_zoom (priv->web_view, TRUE);
-    webkit_web_view_set_zoom_level (priv->web_view, zoom);
-
-
-    gtk_container_add( GTK_CONTAINER(priv->base.container),
-                       GTK_WIDGET(priv->web_view) );
-
-    g_object_ref_sink( priv->base.container );
-
-    /* signals */
-    g_signal_connect( priv->web_view, "navigation-requested",
-                      G_CALLBACK(webkit_navigation_requested_cb),
-                      self);
-
-    g_signal_connect( priv->web_view, "hovering-over-link",
-                      G_CALLBACK(webkit_on_url_cb),
-                      self );
-
-    g_signal_connect( priv->web_view, "console-message",
-            G_CALLBACK(webkit_console_msg_cb),
-            self);
-
-    gnc_prefs_register_cb (GNC_PREFS_GROUP_GENERAL_REPORT,
-            GNC_PREF_RPT_DFLT_ZOOM,
-            impl_webkit_default_zoom_changed,
-                           self);
-
-    LEAVE("retval %p", self);
+     GncHtmlWebkitPrivate* priv;
+     GncHtmlWebkitPrivate* new_priv;
+
+     WebKitWebSettings* webkit_settings = NULL;
+     const char* default_font_family = NULL;
+     gdouble zoom = 1.0;
+
+     new_priv = g_realloc( GNC_HTML(self)->priv, sizeof(GncHtmlWebkitPrivate) );
+     priv = self->priv = new_priv;
+     GNC_HTML(self)->priv = (GncHtmlPrivate*)priv;
+
+     priv->html_string = NULL;
+     priv->web_view = WEBKIT_WEB_VIEW(webkit_web_view_new());
+
+
+     /* Get the default font family from GtkStyle of a GtkWidget(priv-web_view). */
+     default_font_family = pango_font_description_get_family( gtk_rc_get_style(GTK_WIDGET(priv->web_view))->font_desc );
+
+     /* Set default webkit settings */
+     webkit_settings = webkit_web_view_get_settings (priv->web_view);
+     g_object_set (G_OBJECT(webkit_settings), "default-encoding", "utf-8", NULL);
+     if (default_font_family == NULL)
+     {
+          PWARN("webkit_settings: Cannot get default font family.");
+     }
+     else
+     {
+          g_object_set (G_OBJECT(webkit_settings),
+                        "default-font-family", default_font_family,
+                        NULL);
+          PINFO("webkit_settings: Set default font to [%s]", default_font_family);
+     }
+     /* Scale everything up */
+     zoom = gnc_prefs_get_float (GNC_PREFS_GROUP_GENERAL_REPORT, GNC_PREF_RPT_DFLT_ZOOM);
+     webkit_web_view_set_full_content_zoom (priv->web_view, TRUE);
+     webkit_web_view_set_zoom_level (priv->web_view, zoom);
+
+
+     gtk_container_add( GTK_CONTAINER(priv->base.container),
+                        GTK_WIDGET(priv->web_view) );
+
+     g_object_ref_sink( priv->base.container );
+
+     /* signals */
+     g_signal_connect( priv->web_view, "navigation-requested",
+                       G_CALLBACK(webkit_navigation_requested_cb),
+                       self);
+
+     g_signal_connect( priv->web_view, "hovering-over-link",
+                       G_CALLBACK(webkit_on_url_cb),
+                       self );
+
+     g_signal_connect( priv->web_view, "console-message",
+                       G_CALLBACK(webkit_console_msg_cb),
+                       self);
+
+     gnc_prefs_register_cb (GNC_PREFS_GROUP_GENERAL_REPORT,
+                            GNC_PREF_RPT_DFLT_ZOOM,
+                            impl_webkit_default_zoom_changed,
+                            self);
+
+     LEAVE("retval %p", self);
 }
 
 static void
 gnc_html_webkit_class_init( GncHtmlWebkitClass* klass )
 {
-    GObjectClass* gobject_class = G_OBJECT_CLASS(klass);
-    GncHtmlClass* html_class = GNC_HTML_CLASS(klass);
-
-    gobject_class->dispose = gnc_html_webkit_dispose;
-    gobject_class->finalize = gnc_html_webkit_finalize;
-
-    html_class->show_url = impl_webkit_show_url;
-    html_class->show_data = impl_webkit_show_data;
-    html_class->reload = impl_webkit_reload;
-    html_class->copy_to_clipboard = impl_webkit_copy_to_clipboard;
-    html_class->export_to_file = impl_webkit_export_to_file;
-    html_class->print = impl_webkit_print;
-    html_class->cancel = impl_webkit_cancel;
-    html_class->set_parent = impl_webkit_set_parent;
+     GObjectClass* gobject_class = G_OBJECT_CLASS(klass);
+     GncHtmlClass* html_class = GNC_HTML_CLASS(klass);
+
+     gobject_class->dispose = gnc_html_webkit_dispose;
+     gobject_class->finalize = gnc_html_webkit_finalize;
+
+     html_class->show_url = impl_webkit_show_url;
+     html_class->show_data = impl_webkit_show_data;
+     html_class->reload = impl_webkit_reload;
+     html_class->copy_to_clipboard = impl_webkit_copy_to_clipboard;
+     html_class->export_to_file = impl_webkit_export_to_file;
+     html_class->print = impl_webkit_print;
+     html_class->cancel = impl_webkit_cancel;
+     html_class->set_parent = impl_webkit_set_parent;
 }
 
 static void
 gnc_html_webkit_dispose( GObject* obj )
 {
-    GncHtmlWebkit* self = GNC_HTML_WEBKIT(obj);
-    GncHtmlWebkitPrivate* priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
-
-    if ( priv->web_view != NULL )
-    {
-        gtk_container_remove( GTK_CONTAINER(priv->base.container),
-                              GTK_WIDGET(priv->web_view) );
-        priv->web_view = NULL;
-    }
-
-    if ( priv->html_string != NULL )
-    {
-        g_free( priv->html_string );
-        priv->html_string = NULL;
-    }
-
-    gnc_prefs_remove_cb_by_func (GNC_PREFS_GROUP_GENERAL_REPORT,
-            GNC_PREF_RPT_DFLT_ZOOM,
-            impl_webkit_default_zoom_changed,
-                                 obj);
-
-    G_OBJECT_CLASS(gnc_html_webkit_parent_class)->dispose( obj );
+     GncHtmlWebkit* self = GNC_HTML_WEBKIT(obj);
+     GncHtmlWebkitPrivate* priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
+
+     if ( priv->web_view != NULL )
+     {
+          gtk_container_remove( GTK_CONTAINER(priv->base.container),
+                                GTK_WIDGET(priv->web_view) );
+          priv->web_view = NULL;
+     }
+
+     if ( priv->html_string != NULL )
+     {
+          g_free( priv->html_string );
+          priv->html_string = NULL;
+     }
+
+     gnc_prefs_remove_cb_by_func (GNC_PREFS_GROUP_GENERAL_REPORT,
+                                  GNC_PREF_RPT_DFLT_ZOOM,
+                                  impl_webkit_default_zoom_changed,
+                                  obj);
+
+     G_OBJECT_CLASS(gnc_html_webkit_parent_class)->dispose( obj );
 }
 
 static void
 gnc_html_webkit_finalize( GObject* obj )
 {
-    GncHtmlWebkit* self = GNC_HTML_WEBKIT(obj);
+     GncHtmlWebkit* self = GNC_HTML_WEBKIT(obj);
 
-//	if( self->priv != NULL ) {
-//		g_free( self->priv );
-    self->priv = NULL;
-//	}
+//      if( self->priv != NULL ) {
+//              g_free( self->priv );
+     self->priv = NULL;
+//      }
 
-    G_OBJECT_CLASS(gnc_html_webkit_parent_class)->finalize( obj );
+     G_OBJECT_CLASS(gnc_html_webkit_parent_class)->finalize( obj );
 }
 
 /*****************************************************************************/
@@ -250,182 +250,182 @@ gnc_html_webkit_finalize( GObject* obj )
 static char*
 extract_base_name(URLType type, const gchar* path)
 {
-    gchar       machine_rexp[] = "^(//[^/]*)/*(/.*)?$";
-    gchar       path_rexp[] = "^/*(.*)/+([^/]*)$";
-    regex_t    compiled_m, compiled_p;
-    regmatch_t match[4];
-    gchar       * machine = NULL, * location = NULL, * base = NULL;
-    gchar       * basename = NULL;
-
-    DEBUG(" ");
-    if (!path) return NULL;
-
-    regcomp(&compiled_m, machine_rexp, REG_EXTENDED);
-    regcomp(&compiled_p, path_rexp, REG_EXTENDED);
-
-    if (!g_strcmp0 (type, URL_TYPE_HTTP) ||
-            !g_strcmp0 (type, URL_TYPE_SECURE) ||
-            !g_strcmp0 (type, URL_TYPE_FTP))
-    {
-
-        /* step 1: split the machine name away from the path
-         * components */
-        if (!regexec(&compiled_m, path, 4, match, 0))
-        {
-            /* $1 is the machine name */
-            if (match[1].rm_so != -1)
-            {
-                machine = g_strndup(path + match[1].rm_so,
-                                    match[1].rm_eo - match[1].rm_so);
-            }
-            /* $2 is the path */
-            if (match[2].rm_so != -1)
-            {
-                location = g_strndup(path + match[2].rm_so,
-                                     match[2].rm_eo - match[2].rm_so);
-            }
-        }
-
-    }
-    else
-    {
-        location = g_strdup(path);
-    }
-    /* step 2: split up the path into prefix and file components */
-    if (location)
-    {
-        if (!regexec(&compiled_p, location, 4, match, 0))
-        {
-            if (match[1].rm_so != -1)
-            {
-                base = g_strndup(location + match[1].rm_so,
-                                 match[1].rm_eo - match[1].rm_so);
-            }
-            else
-            {
-                base = NULL;
-            }
-        }
-    }
-
-    regfree(&compiled_m);
-    regfree(&compiled_p);
-
-    if (machine)
-    {
-        if (base && (strlen(base) > 0))
-        {
-            basename = g_strconcat(machine, "/", base, "/", NULL);
-        }
-        else
-        {
-            basename = g_strconcat(machine, "/", NULL);
-        }
-    }
-    else
-    {
-        if (base && (strlen(base) > 0))
-        {
-            basename = g_strdup(base);
-        }
-        else
-        {
-            basename = NULL;
-        }
-    }
-
-    g_free(machine);
-    g_free(base);
-    g_free(location);
-    return basename;
+     gchar       machine_rexp[] = "^(//[^/]*)/*(/.*)?$";
+     gchar       path_rexp[] = "^/*(.*)/+([^/]*)$";
+     regex_t    compiled_m, compiled_p;
+     regmatch_t match[4];
+     gchar       * machine = NULL, * location = NULL, * base = NULL;
+     gchar       * basename = NULL;
+
+     DEBUG(" ");
+     if (!path) return NULL;
+
+     regcomp(&compiled_m, machine_rexp, REG_EXTENDED);
+     regcomp(&compiled_p, path_rexp, REG_EXTENDED);
+
+     if (!g_strcmp0 (type, URL_TYPE_HTTP) ||
+         !g_strcmp0 (type, URL_TYPE_SECURE) ||
+         !g_strcmp0 (type, URL_TYPE_FTP))
+     {
+
+          /* step 1: split the machine name away from the path
+           * components */
+          if (!regexec(&compiled_m, path, 4, match, 0))
+          {
+               /* $1 is the machine name */
+               if (match[1].rm_so != -1)
+               {
+                    machine = g_strndup(path + match[1].rm_so,
+                                        match[1].rm_eo - match[1].rm_so);
+               }
+               /* $2 is the path */
+               if (match[2].rm_so != -1)
+               {
+                    location = g_strndup(path + match[2].rm_so,
+                                         match[2].rm_eo - match[2].rm_so);
+               }
+          }
+
+     }
+     else
+     {
+          location = g_strdup(path);
+     }
+     /* step 2: split up the path into prefix and file components */
+     if (location)
+     {
+          if (!regexec(&compiled_p, location, 4, match, 0))
+          {
+               if (match[1].rm_so != -1)
+               {
+                    base = g_strndup(location + match[1].rm_so,
+                                     match[1].rm_eo - match[1].rm_so);
+               }
+               else
+               {
+                    base = NULL;
+               }
+          }
+     }
+
+     regfree(&compiled_m);
+     regfree(&compiled_p);
+
+     if (machine)
+     {
+          if (base && (strlen(base) > 0))
+          {
+               basename = g_strconcat(machine, "/", base, "/", NULL);
+          }
+          else
+          {
+               basename = g_strconcat(machine, "/", NULL);
+          }
+     }
+     else
+     {
+          if (base && (strlen(base) > 0))
+          {
+               basename = g_strdup(base);
+          }
+          else
+          {
+               basename = NULL;
+          }
+     }
+
+     g_free(machine);
+     g_free(base);
+     g_free(location);
+     return basename;
 }
 
 static gboolean
 http_allowed()
 {
-    return TRUE;
+     return TRUE;
 }
 
 static gboolean
 https_allowed()
 {
-    return TRUE;
+     return TRUE;
 }
 
 static gchar*
 handle_embedded_object( GncHtmlWebkit* self, gchar* html_str )
 {
-    // Find the <object> tag and get the classid from it.  This will provide the correct
-    // object callback handler.  Pass the <object> entity text to the handler.  What should
-    // come back is embedded image information.
-    gchar* remainder_str = html_str;
-    gchar* object_tag;
-    gchar* end_object_tag;
-    gchar* object_contents;
-    gchar* html_str_start = NULL;
-    gchar* html_str_middle;
-    gchar* html_str_result = NULL;
-    gchar* classid_start;
-    gchar* classid_end;
-    gchar* classid_str;
-    gchar* new_chunk;
-    GncHTMLObjectCB h;
-
-    object_tag = g_strstr_len( remainder_str, -1, "<object classid=" );
-    while (object_tag)
-    {
-
-        classid_start = object_tag + strlen( "<object classid=" ) + 1;
-        classid_end = g_strstr_len( classid_start, -1, "\"" );
-        classid_str = g_strndup( classid_start, (classid_end - classid_start) );
-
-        end_object_tag = g_strstr_len( object_tag, -1, "</object>" );
-        if ( end_object_tag == NULL )
-        {
-            /*  Hmmm... no object end tag
-                Return the original html string because we can't properly parse it */
-            g_free (classid_str);
-            g_free (html_str_result);
-            return g_strdup (html_str);
-        }
-        end_object_tag += strlen( "</object>" );
-        object_contents = g_strndup( object_tag, (end_object_tag - object_tag) );
-
-        h = g_hash_table_lookup( gnc_html_object_handlers, classid_str );
-        if ( h != NULL )
-        {
-            (void)h( GNC_HTML(self), object_contents, &html_str_middle );
-        }
-        else
-        {
-            html_str_middle = g_strdup_printf( "No handler found for classid \"%s\"", classid_str );
-        }
-
-        html_str_start = html_str_result;
-        new_chunk = g_strndup (remainder_str, (object_tag - remainder_str));
-        if (!html_str_start)
-            html_str_result = g_strconcat (new_chunk, html_str_middle, NULL);
-        else
-            html_str_result = g_strconcat (html_str_start, new_chunk, html_str_middle, NULL);
-
-        g_free( html_str_start );
-        g_free( new_chunk );
-        g_free( html_str_middle );
-
-        remainder_str = end_object_tag;
-        object_tag = g_strstr_len( remainder_str, -1, "<object classid=" );
-    }
-
-    if (html_str_result)
-    {
-        html_str_start =  html_str_result;
-        html_str_result = g_strconcat (html_str_start, remainder_str, NULL);
-        g_free (html_str_start);
-    }
-    else
-        html_str_result = g_strdup (remainder_str);
-
-    return html_str_result;
+     // Find the <object> tag and get the classid from it.  This will provide the correct
+     // object callback handler.  Pass the <object> entity text to the handler.  What should
+     // come back is embedded image information.
+     gchar* remainder_str = html_str;
+     gchar* object_tag;
+     gchar* end_object_tag;
+     gchar* object_contents;
+     gchar* html_str_start = NULL;
+     gchar* html_str_middle;
+     gchar* html_str_result = NULL;
+     gchar* classid_start;
+     gchar* classid_end;
+     gchar* classid_str;
+     gchar* new_chunk;
+     GncHTMLObjectCB h;
+
+     object_tag = g_strstr_len( remainder_str, -1, "<object classid=" );
+     while (object_tag)
+     {
+
+          classid_start = object_tag + strlen( "<object classid=" ) + 1;
+          classid_end = g_strstr_len( classid_start, -1, "\"" );
+          classid_str = g_strndup( classid_start, (classid_end - classid_start) );
+
+          end_object_tag = g_strstr_len( object_tag, -1, "</object>" );
+          if ( end_object_tag == NULL )
+          {
+               /*  Hmmm... no object end tag
+                   Return the original html string because we can't properly parse it */
+               g_free (classid_str);
+               g_free (html_str_result);
+               return g_strdup (html_str);
+          }
+          end_object_tag += strlen( "</object>" );
+          object_contents = g_strndup( object_tag, (end_object_tag - object_tag) );
+
+          h = g_hash_table_lookup( gnc_html_object_handlers, classid_str );
+          if ( h != NULL )
+          {
+               (void)h( GNC_HTML(self), object_contents, &html_str_middle );
+          }
+          else
+          {
+               html_str_middle = g_strdup_printf( "No handler found for classid \"%s\"", classid_str );
+          }
+
+          html_str_start = html_str_result;
+          new_chunk = g_strndup (remainder_str, (object_tag - remainder_str));
+          if (!html_str_start)
+               html_str_result = g_strconcat (new_chunk, html_str_middle, NULL);
+          else
+               html_str_result = g_strconcat (html_str_start, new_chunk, html_str_middle, NULL);
+
+          g_free( html_str_start );
+          g_free( new_chunk );
+          g_free( html_str_middle );
+
+          remainder_str = end_object_tag;
+          object_tag = g_strstr_len( remainder_str, -1, "<object classid=" );
+     }
+
+     if (html_str_result)
+     {
+          html_str_start =  html_str_result;
+          html_str_result = g_strconcat (html_str_start, remainder_str, NULL);
+          g_free (html_str_start);
+     }
+     else
+          html_str_result = g_strdup (remainder_str);
+
+     return html_str_result;
 }
 
 /********************************************************************
@@ -438,115 +438,115 @@ static void
 load_to_stream( GncHtmlWebkit* self, URLType type,
                 const gchar* location, const gchar* label )
 {
-    gchar* fdata = NULL;
-    int fdata_len = 0;
-    GncHtmlWebkitPrivate* priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
-
-    DEBUG( "type %s, location %s, label %s", type ? type : "(null)",
-           location ? location : "(null)", label ? label : "(null)");
-
-    g_return_if_fail( self != NULL );
-
-    if ( gnc_html_stream_handlers != NULL )
-    {
-        GncHTMLStreamCB stream_handler;
-
-        stream_handler = g_hash_table_lookup( gnc_html_stream_handlers, type );
-        if ( stream_handler )
-        {
-            gboolean ok = stream_handler( location, &fdata, &fdata_len );
-
-            if ( ok )
-            {
-                fdata = fdata ? fdata : g_strdup( "" );
-
-                // Until webkitgtk supports download requests, look for "<object classid="
-                // indicating the beginning of an embedded graph.  If found, handle it
-                if ( g_strstr_len( fdata, -1, "<object classid=" ) != NULL )
-                {
-                    gchar* new_fdata;
-                    new_fdata = handle_embedded_object( self, fdata );
-                    g_free( fdata );
-                    fdata = new_fdata;
-                }
-
-                // Save a copy for export purposes
-                if ( priv->html_string != NULL )
-                {
-                    g_free( priv->html_string );
-                }
-                priv->html_string = g_strdup( fdata );
-                impl_webkit_show_data( GNC_HTML(self), fdata, strlen(fdata) );
+     gchar* fdata = NULL;
+     int fdata_len = 0;
+     GncHtmlWebkitPrivate* priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
+
+     DEBUG( "type %s, location %s, label %s", type ? type : "(null)",
+            location ? location : "(null)", label ? label : "(null)");
+
+     g_return_if_fail( self != NULL );
+
+     if ( gnc_html_stream_handlers != NULL )
+     {
+          GncHTMLStreamCB stream_handler;
+
+          stream_handler = g_hash_table_lookup( gnc_html_stream_handlers, type );
+          if ( stream_handler )
+          {
+               gboolean ok = stream_handler( location, &fdata, &fdata_len );
+
+               if ( ok )
+               {
+                    fdata = fdata ? fdata : g_strdup( "" );
+
+                    // Until webkitgtk supports download requests, look for "<object classid="
+                    // indicating the beginning of an embedded graph.  If found, handle it
+                    if ( g_strstr_len( fdata, -1, "<object classid=" ) != NULL )
+                    {
+                         gchar* new_fdata;
+                         new_fdata = handle_embedded_object( self, fdata );
+                         g_free( fdata );
+                         fdata = new_fdata;
+                    }
+
+                    // Save a copy for export purposes
+                    if ( priv->html_string != NULL )
+                    {
+                         g_free( priv->html_string );
+                    }
+                    priv->html_string = g_strdup( fdata );
+                    impl_webkit_show_data( GNC_HTML(self), fdata, strlen(fdata) );
 //                webkit_web_view_load_html_string( priv->web_view, fdata, BASE_URI_NAME );
-            }
-            else
-            {
-                fdata = fdata ? fdata :
-                        g_strdup_printf( error_404_format,
-                                         _(error_404_title), _(error_404_body) );
-                webkit_web_view_load_html_string( priv->web_view, fdata, BASE_URI_NAME );
-            }
-
-            g_free( fdata );
-
-            if ( label )
-            {
-                while ( gtk_events_pending() )
-                {
-                    gtk_main_iteration();
-                }
-                /* No action required: Webkit jumps to the anchor on its own. */
-            }
-
-            return;
-        }
-    }
-
-    do
-    {
-        if ( !g_strcmp0( type, URL_TYPE_SECURE ) ||
-                !g_strcmp0( type, URL_TYPE_HTTP ) )
-        {
-
-            if ( !g_strcmp0( type, URL_TYPE_SECURE ) )
-            {
-                if ( !https_allowed() )
-                {
+               }
+               else
+               {
+                    fdata = fdata ? fdata :
+                         g_strdup_printf( error_404_format,
+                                          _(error_404_title), _(error_404_body) );
+                    webkit_web_view_load_html_string( priv->web_view, fdata, BASE_URI_NAME );
+               }
+
+               g_free( fdata );
+
+               if ( label )
+               {
+                    while ( gtk_events_pending() )
+                    {
+                         gtk_main_iteration();
+                    }
+                    /* No action required: Webkit jumps to the anchor on its own. */
+               }
+
+               return;
+          }
+     }
+
+     do
+     {
+          if ( !g_strcmp0( type, URL_TYPE_SECURE ) ||
+               !g_strcmp0( type, URL_TYPE_HTTP ) )
+          {
+
+               if ( !g_strcmp0( type, URL_TYPE_SECURE ) )
+               {
+                    if ( !https_allowed() )
+                    {
+                         gnc_error_dialog( priv->base.parent, "%s",
+                                           _("Secure HTTP access is disabled. "
+                                             "You can enable it in the Network section of "
+                                             "the Preferences dialog."));
+                         break;
+                    }
+               }
+
+               if ( !http_allowed() )
+               {
                     gnc_error_dialog( priv->base.parent, "%s",
-                                      _("Secure HTTP access is disabled. "
+                                      _("Network HTTP access is disabled. "
                                         "You can enable it in the Network section of "
                                         "the Preferences dialog."));
-                    break;
-                }
-            }
-
-            if ( !http_allowed() )
-            {
-                gnc_error_dialog( priv->base.parent, "%s",
-                                  _("Network HTTP access is disabled. "
-                                    "You can enable it in the Network section of "
-                                    "the Preferences dialog."));
-            }
-            else
-            {
-                gnc_build_url( type, location, label );
-            }
-
-        }
-        else
-        {
-            PWARN( "load_to_stream for inappropriate type\n"
-                   "\turl = '%s#%s'\n",
-                   location ? location : "(null)",
-                   label ? label : "(null)" );
-            fdata = g_strdup_printf( error_404_format,
-                                     _(error_404_title), _(error_404_body) );
-            webkit_web_view_load_html_string( priv->web_view, fdata, BASE_URI_NAME );
-            g_free( fdata );
-        }
-
-    }
-    while ( FALSE );
+               }
+               else
+               {
+                    gnc_build_url( type, location, label );
+               }
+
+          }
+          else
+          {
+               PWARN( "load_to_stream for inappropriate type\n"
+                      "\turl = '%s#%s'\n",
+                      location ? location : "(null)",
+                      label ? label : "(null)" );
+               fdata = g_strdup_printf( error_404_format,
+                                        _(error_404_title), _(error_404_body) );
+               webkit_web_view_load_html_string( priv->web_view, fdata, BASE_URI_NAME );
+               g_free( fdata );
+          }
+
+     }
+     while ( FALSE );
 }
 
 
@@ -560,32 +560,32 @@ webkit_navigation_requested_cb( WebKitWebView* web_view, WebKitWebFrame* frame,
                                 WebKitNetworkRequest* request,
                                 gpointer data )
 {
-    URLType type;
-    gchar* location = NULL;
-    gchar* label = NULL;
-    GncHtmlWebkit* self = GNC_HTML_WEBKIT(data);
-    const gchar* url = webkit_network_request_get_uri( request );
-
-    ENTER( "requesting %s", url );
-    if ( strcmp( url, BASE_URI_NAME ) == 0 )
-    {
-        LEAVE("URI is %s", BASE_URI_NAME);
-        return WEBKIT_NAVIGATION_RESPONSE_ACCEPT;
-    }
-
-    type = gnc_html_parse_url( GNC_HTML(self), url, &location, &label );
-    if ( strcmp( type, "file" ) == 0 )
-    {
-        LEAVE("URI type is 'file'");
-        return WEBKIT_NAVIGATION_RESPONSE_ACCEPT;
-    }
-    gnc_html_show_url( GNC_HTML(self), type, location, label, 0 );
-//	load_to_stream( self, type, location, label );
-    g_free( location );
-    g_free( label );
-
-    LEAVE("");
-    return WEBKIT_NAVIGATION_RESPONSE_IGNORE;
+     URLType type;
+     gchar* location = NULL;
+     gchar* label = NULL;
+     GncHtmlWebkit* self = GNC_HTML_WEBKIT(data);
+     const gchar* url = webkit_network_request_get_uri( request );
+
+     ENTER( "requesting %s", url );
+     if ( strcmp( url, BASE_URI_NAME ) == 0 )
+     {
+          LEAVE("URI is %s", BASE_URI_NAME);
+          return WEBKIT_NAVIGATION_RESPONSE_ACCEPT;
+     }
+
+     type = gnc_html_parse_url( GNC_HTML(self), url, &location, &label );
+     if ( strcmp( type, "file" ) == 0 )
+     {
+          LEAVE("URI type is 'file'");
+          return WEBKIT_NAVIGATION_RESPONSE_ACCEPT;
+     }
+     gnc_html_show_url( GNC_HTML(self), type, location, label, 0 );
+//      load_to_stream( self, type, location, label );
+     g_free( location );
+     g_free( label );
+
+     LEAVE("");
+     return WEBKIT_NAVIGATION_RESPONSE_IGNORE;
 }
 
 
@@ -596,16 +596,16 @@ webkit_navigation_requested_cb( WebKitWebView* web_view, WebKitWebFrame* frame,
 static void
 webkit_on_url_cb( WebKitWebView* web_view, gchar* title, gchar* url, gpointer data )
 {
-    GncHtmlWebkit* self = GNC_HTML_WEBKIT(data);
-    GncHtmlWebkitPrivate* priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
-
-    DEBUG( "Rollover %s", url ? url : "(null)" );
-    g_free( priv->base.current_link );
-    priv->base.current_link = g_strdup( url );
-    if ( priv->base.flyover_cb )
-    {
-        (priv->base.flyover_cb)( GNC_HTML(self), url, priv->base.flyover_cb_data );
-    }
+     GncHtmlWebkit* self = GNC_HTML_WEBKIT(data);
+     GncHtmlWebkitPrivate* priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
+
+     DEBUG( "Rollover %s", url ? url : "(null)" );
+     g_free( priv->base.current_link );
+     priv->base.current_link = g_strdup( url );
+     if ( priv->base.flyover_cb )
+     {
+          (priv->base.flyover_cb)( GNC_HTML(self), url, priv->base.flyover_cb_data );
+     }
 }
 
 
@@ -618,7 +618,7 @@ static void
 gnc_html_open_scm( GncHtmlWebkit* self, const gchar * location,
                    const gchar * label, int newwin )
 {
-    PINFO("location='%s'", location ? location : "(null)");
+     PINFO("location='%s'", location ? location : "(null)");
 }
 
 
@@ -631,35 +631,35 @@ gnc_html_open_scm( GncHtmlWebkit* self, const gchar * location,
 static void
 impl_webkit_show_data( GncHtml* self, const gchar* data, int datalen )
 {
-    GncHtmlWebkitPrivate* priv;
+     GncHtmlWebkitPrivate* priv;
 #define TEMPLATE_REPORT_FILE_NAME "gnc-report-XXXXXX.html"
-    int fd;
-    gchar* uri;
-    gchar *filename;
-
-    g_return_if_fail( self != NULL );
-    g_return_if_fail( GNC_IS_HTML_WEBKIT(self) );
-
-    ENTER( "datalen %d, data %20.20s", datalen, data );
-
-    priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
-
-    /* Export the HTML to a file and load the file URI.   On Linux, this seems to get around some
-       security problems (otherwise, it can complain that embedded images aren't permitted to be
-       viewed because they are local resources).  On Windows, this allows the embedded images to
-       be viewed (maybe for the same reason as on Linux, but I haven't found where it puts those
-       messages. */
-    filename = g_build_filename(g_get_tmp_dir(), TEMPLATE_REPORT_FILE_NAME, (gchar *)NULL);
-    fd = g_mkstemp( filename );
-    impl_webkit_export_to_file( self, filename );
-    close( fd );
-    uri = g_strdup_printf( "file:///%s", filename );
-    g_free(filename);
-    DEBUG("Loading uri '%s'", uri);
-    webkit_web_view_load_uri( priv->web_view, uri );
-    g_free( uri );
-
-    LEAVE("");
+     int fd;
+     gchar* uri;
+     gchar *filename;
+
+     g_return_if_fail( self != NULL );
+     g_return_if_fail( GNC_IS_HTML_WEBKIT(self) );
+
+     ENTER( "datalen %d, data %20.20s", datalen, data );
+
+     priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
+
+     /* Export the HTML to a file and load the file URI.   On Linux, this seems to get around some
+        security problems (otherwise, it can complain that embedded images aren't permitted to be
+        viewed because they are local resources).  On Windows, this allows the embedded images to
+        be viewed (maybe for the same reason as on Linux, but I haven't found where it puts those
+        messages. */
+     filename = g_build_filename(g_get_tmp_dir(), TEMPLATE_REPORT_FILE_NAME, (gchar *)NULL);
+     fd = g_mkstemp( filename );
+     impl_webkit_export_to_file( self, filename );
+     close( fd );
+     uri = g_strdup_printf( "file:///%s", filename );
+     g_free(filename);
+     DEBUG("Loading uri '%s'", uri);
+     webkit_web_view_load_uri( priv->web_view, uri );
+     g_free( uri );
+
+     LEAVE("");
 }
 
 /********************************************************************
@@ -675,179 +675,179 @@ impl_webkit_show_url( GncHtml* self, URLType type,
                       const gchar* location, const gchar* label,
                       gboolean new_window_hint )
 {
-    GncHTMLUrlCB url_handler;
-    gboolean new_window;
-    GncHtmlWebkitPrivate* priv;
-
-    g_return_if_fail( self != NULL );
-    g_return_if_fail( GNC_IS_HTML_WEBKIT(self) );
-    g_return_if_fail( location != NULL );
-
-    priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
-
-    /* make sure it's OK to show this URL type in this window */
-    if ( new_window_hint == 0 )
-    {
-        if ( priv->base.urltype_cb )
-        {
-            new_window = !((priv->base.urltype_cb)( type ));
-        }
-        else
-        {
-            new_window = FALSE;
-        }
-    }
-    else
-    {
-        new_window = TRUE;
-    }
-
-    if ( !new_window )
-    {
-        gnc_html_cancel( GNC_HTML(self) );
-    }
-
-    if ( gnc_html_url_handlers )
-    {
-        url_handler = g_hash_table_lookup( gnc_html_url_handlers, type );
-    }
-    else
-    {
-        url_handler = NULL;
-    }
-
-    if ( url_handler )
-    {
-        GNCURLResult result;
-        gboolean ok;
-
-        result.load_to_stream = FALSE;
-        result.url_type = type;
-        result.location = NULL;
-        result.label = NULL;
-        result.base_type = URL_TYPE_FILE;
-        result.base_location = NULL;
-        result.error_message = NULL;
-
-        ok = url_handler( location, label, new_window, &result );
-        if ( !ok )
-        {
-            if ( result.error_message )
-            {
-                gnc_error_dialog( priv->base.parent, "%s", result.error_message );
-            }
-            else
-            {
-                /* %s is a URL (some location somewhere). */
-                gnc_error_dialog( priv->base.parent, _("There was an error accessing %s."), location );
-            }
-
-            if ( priv->base.load_cb )
-            {
-                priv->base.load_cb( GNC_HTML(self), result.url_type,
-                                    location, label, priv->base.load_cb_data );
-            }
-        }
-        else if ( result.load_to_stream )
-        {
-            gnc_html_history_node *hnode;
-            const char *new_location;
-            const char *new_label;
-
-            new_location = result.location ? result.location : location;
-            new_label = result.label ? result.label : label;
-            hnode = gnc_html_history_node_new( result.url_type, new_location, new_label );
-
-            gnc_html_history_append( priv->base.history, hnode );
-
-            g_free( priv->base.base_location );
-            priv->base.base_type = result.base_type;
-            priv->base.base_location =
-                g_strdup( extract_base_name( result.base_type, new_location ) );
-            DEBUG( "resetting base location to %s",
-                   priv->base.base_location ? priv->base.base_location : "(null)" );
-
-            load_to_stream( GNC_HTML_WEBKIT(self), result.url_type,
-                            new_location, new_label );
-
-            if ( priv->base.load_cb != NULL )
-            {
-                priv->base.load_cb( GNC_HTML(self), result.url_type,
-                                    new_location, new_label, priv->base.load_cb_data );
-            }
-        }
-
-        g_free( result.location );
-        g_free( result.label );
-        g_free( result.base_location );
-        g_free( result.error_message );
-
-        return;
-    }
-
-    if ( g_strcmp0( type, URL_TYPE_SCHEME ) == 0 )
-    {
-        gnc_html_open_scm( GNC_HTML_WEBKIT(self), location, label, new_window );
-
-    }
-    else if ( g_strcmp0( type, URL_TYPE_JUMP ) == 0 )
-    {
-        /* Webkit jumps to the anchor on its own */
-    }
-    else if ( g_strcmp0( type, URL_TYPE_SECURE ) == 0 ||
-              g_strcmp0( type, URL_TYPE_HTTP ) == 0 ||
-              g_strcmp0( type, URL_TYPE_FILE ) == 0 )
-    {
-
-        do
-        {
-            if ( g_strcmp0( type, URL_TYPE_SECURE ) == 0 )
-            {
-                if ( !https_allowed() )
-                {
-                    gnc_error_dialog( priv->base.parent, "%s",
-                                      _("Secure HTTP access is disabled. "
-                                        "You can enable it in the Network section of "
-                                        "the Preferences dialog.") );
-                    break;
-                }
-            }
-
-            if ( g_strcmp0( type, URL_TYPE_HTTP ) == 0 )
-            {
-                if ( !http_allowed() )
-                {
-                    gnc_error_dialog( priv->base.parent, "%s",
-                                      _("Network HTTP access is disabled. "
-                                        "You can enable it in the Network section of "
-                                        "the Preferences dialog.") );
-                    break;
-                }
-            }
-
-            priv->base.base_type = type;
-
-            if ( priv->base.base_location != NULL ) g_free( priv->base.base_location );
-            priv->base.base_location = extract_base_name( type, location );
-
-            /* FIXME : handle new_window = 1 */
-            gnc_html_history_append( priv->base.history,
-                                     gnc_html_history_node_new( type, location, label ) );
-            load_to_stream( GNC_HTML_WEBKIT(self), type, location, label );
-
-        }
-        while ( FALSE );
-
-    }
-    else
-    {
-        PERR( "URLType %s not supported.", type );
-    }
-
-    if ( priv->base.load_cb != NULL )
-    {
-        (priv->base.load_cb)( GNC_HTML(self), type, location, label, priv->base.load_cb_data );
-    }
+     GncHTMLUrlCB url_handler;
+     gboolean new_window;
+     GncHtmlWebkitPrivate* priv;
+
+     g_return_if_fail( self != NULL );
+     g_return_if_fail( GNC_IS_HTML_WEBKIT(self) );
+     g_return_if_fail( location != NULL );
+
+     priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
+
+     /* make sure it's OK to show this URL type in this window */
+     if ( new_window_hint == 0 )
+     {
+          if ( priv->base.urltype_cb )
+          {
+               new_window = !((priv->base.urltype_cb)( type ));
+          }
+          else
+          {
+               new_window = FALSE;
+          }
+     }
+     else
+     {
+          new_window = TRUE;
+     }
+
+     if ( !new_window )
+     {
+          gnc_html_cancel( GNC_HTML(self) );
+     }
+
+     if ( gnc_html_url_handlers )
+     {
+          url_handler = g_hash_table_lookup( gnc_html_url_handlers, type );
+     }
+     else
+     {
+          url_handler = NULL;
+     }
+
+     if ( url_handler )
+     {
+          GNCURLResult result;
+          gboolean ok;
+
+          result.load_to_stream = FALSE;
+          result.url_type = type;
+          result.location = NULL;
+          result.label = NULL;
+          result.base_type = URL_TYPE_FILE;
+          result.base_location = NULL;
+          result.error_message = NULL;
+
+          ok = url_handler( location, label, new_window, &result );
+          if ( !ok )
+          {
+               if ( result.error_message )
+               {
+                    gnc_error_dialog( priv->base.parent, "%s", result.error_message );
+               }
+               else
+               {
+                    /* %s is a URL (some location somewhere). */
+                    gnc_error_dialog( priv->base.parent, _("There was an error accessing %s."), location );
+               }
+
+               if ( priv->base.load_cb )
+               {
+                    priv->base.load_cb( GNC_HTML(self), result.url_type,
+                                        location, label, priv->base.load_cb_data );
+               }
+          }
+          else if ( result.load_to_stream )
+          {
+               gnc_html_history_node *hnode;
+               const char *new_location;
+               const char *new_label;
+
+               new_location = result.location ? result.location : location;
+               new_label = result.label ? result.label : label;
+               hnode = gnc_html_history_node_new( result.url_type, new_location, new_label );
+
+               gnc_html_history_append( priv->base.history, hnode );
+
+               g_free( priv->base.base_location );
+               priv->base.base_type = result.base_type;
+               priv->base.base_location =
+                    g_strdup( extract_base_name( result.base_type, new_location ) );
+               DEBUG( "resetting base location to %s",
+                      priv->base.base_location ? priv->base.base_location : "(null)" );
+
+               load_to_stream( GNC_HTML_WEBKIT(self), result.url_type,
+                               new_location, new_label );
+
+               if ( priv->base.load_cb != NULL )
+               {
+                    priv->base.load_cb( GNC_HTML(self), result.url_type,
+                                        new_location, new_label, priv->base.load_cb_data );
+               }
+          }
+
+          g_free( result.location );
+          g_free( result.label );
+          g_free( result.base_location );
+          g_free( result.error_message );
+
+          return;
+     }
+
+     if ( g_strcmp0( type, URL_TYPE_SCHEME ) == 0 )
+     {
+          gnc_html_open_scm( GNC_HTML_WEBKIT(self), location, label, new_window );
+
+     }
+     else if ( g_strcmp0( type, URL_TYPE_JUMP ) == 0 )
+     {
+          /* Webkit jumps to the anchor on its own */
+     }
+     else if ( g_strcmp0( type, URL_TYPE_SECURE ) == 0 ||
+               g_strcmp0( type, URL_TYPE_HTTP ) == 0 ||
+               g_strcmp0( type, URL_TYPE_FILE ) == 0 )
+     {
+
+          do
+          {
+               if ( g_strcmp0( type, URL_TYPE_SECURE ) == 0 )
+               {
+                    if ( !https_allowed() )
+                    {
+                         gnc_error_dialog( priv->base.parent, "%s",
+                                           _("Secure HTTP access is disabled. "
+                                             "You can enable it in the Network section of "
+                                             "the Preferences dialog.") );
+                         break;
+                    }
+               }
+
+               if ( g_strcmp0( type, URL_TYPE_HTTP ) == 0 )
+               {
+                    if ( !http_allowed() )
+                    {
+                         gnc_error_dialog( priv->base.parent, "%s",
+                                           _("Network HTTP access is disabled. "
+                                             "You can enable it in the Network section of "
+                                             "the Preferences dialog.") );
+                         break;
+                    }
+               }
+
+               priv->base.base_type = type;
+
+               if ( priv->base.base_location != NULL ) g_free( priv->base.base_location );
+               priv->base.base_location = extract_base_name( type, location );
+
+               /* FIXME : handle new_window = 1 */
+               gnc_html_history_append( priv->base.history,
+                                        gnc_html_history_node_new( type, location, label ) );
+               load_to_stream( GNC_HTML_WEBKIT(self), type, location, label );
+
+          }
+          while ( FALSE );
+
+     }
+     else
+     {
+          PERR( "URLType %s not supported.", type );
+     }
+
+     if ( priv->base.load_cb != NULL )
+     {
+          (priv->base.load_cb)( GNC_HTML(self), type, location, label, priv->base.load_cb_data );
+     }
 }
 
 
@@ -861,21 +861,21 @@ impl_webkit_show_url( GncHtml* self, URLType type,
 static void
 impl_webkit_reload( GncHtml* self, gboolean force_rebuild )
 {
-    GncHtmlWebkitPrivate* priv;
+     GncHtmlWebkitPrivate* priv;
 
-    g_return_if_fail( self != NULL );
-    g_return_if_fail( GNC_IS_HTML_WEBKIT(self) );
+     g_return_if_fail( self != NULL );
+     g_return_if_fail( GNC_IS_HTML_WEBKIT(self) );
 
-    priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
+     priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
 
-    if ( force_rebuild )
-    {
-        gnc_html_history_node *n = gnc_html_history_get_current( priv->base.history );
-        if ( n != NULL )
-            gnc_html_show_url( self, n->type, n->location, n->label, 0 );
-    }
-    else
-        webkit_web_view_reload( priv->web_view );
+     if ( force_rebuild )
+     {
+          gnc_html_history_node *n = gnc_html_history_get_current( priv->base.history );
+          if ( n != NULL )
+               gnc_html_show_url( self, n->type, n->location, n->label, 0 );
+     }
+     else
+          webkit_web_view_reload( priv->web_view );
 }
 
 
@@ -887,8 +887,8 @@ impl_webkit_reload( GncHtml* self, gboolean force_rebuild )
 GncHtml*
 gnc_html_webkit_new( void )
 {
-    GncHtmlWebkit* self = g_object_new( GNC_TYPE_HTML_WEBKIT, NULL );
-    return GNC_HTML(self);
+     GncHtmlWebkit* self = g_object_new( GNC_TYPE_HTML_WEBKIT, NULL );
+     return GNC_HTML(self);
 }
 
 /********************************************************************
@@ -899,40 +899,40 @@ gnc_html_webkit_new( void )
 static gboolean
 webkit_cancel_helper(gpointer key, gpointer value, gpointer user_data)
 {
-    g_free(key);
-    g_list_free((GList *)value);
-    return TRUE;
+     g_free(key);
+     g_list_free((GList *)value);
+     return TRUE;
 }
 
 static void
 impl_webkit_cancel( GncHtml* self )
 {
-    GncHtmlWebkitPrivate* priv;
+     GncHtmlWebkitPrivate* priv;
 
-    g_return_if_fail( self != NULL );
-    g_return_if_fail( GNC_IS_HTML_WEBKIT(self) );
+     g_return_if_fail( self != NULL );
+     g_return_if_fail( GNC_IS_HTML_WEBKIT(self) );
 
-    priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
+     priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
 
-    /* remove our own references to requests */
-    //gnc_http_cancel_requests( priv->http );
+     /* remove our own references to requests */
+     //gnc_http_cancel_requests( priv->http );
 
-    g_hash_table_foreach_remove( priv->base.request_info, webkit_cancel_helper, NULL );
+     g_hash_table_foreach_remove( priv->base.request_info, webkit_cancel_helper, NULL );
 }
 
 static void
 impl_webkit_copy_to_clipboard( GncHtml* self )
 {
-    GncHtmlWebkitPrivate* priv;
+     GncHtmlWebkitPrivate* priv;
 
-    g_return_if_fail( self != NULL );
-    g_return_if_fail( GNC_IS_HTML_WEBKIT(self) );
+     g_return_if_fail( self != NULL );
+     g_return_if_fail( GNC_IS_HTML_WEBKIT(self) );
 
-    priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
-    if ( webkit_web_view_can_copy_clipboard( priv->web_view ) )
-    {
-        webkit_web_view_copy_clipboard( priv->web_view );
-    }
+     priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
+     if ( webkit_web_view_can_copy_clipboard( priv->web_view ) )
+     {
+          webkit_web_view_copy_clipboard( priv->web_view );
+     }
 }
 
 /**************************************************************
@@ -945,38 +945,38 @@ impl_webkit_copy_to_clipboard( GncHtml* self )
 static gboolean
 impl_webkit_export_to_file( GncHtml* self, const char *filepath )
 {
-    FILE *fh;
-    GncHtmlWebkitPrivate* priv;
-
-    g_return_val_if_fail( self != NULL, FALSE );
-    g_return_val_if_fail( GNC_IS_HTML_WEBKIT(self), FALSE );
-    g_return_val_if_fail( filepath != NULL, FALSE );
-
-    priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
-    if ( priv->html_string == NULL )
-    {
-        return FALSE;
-    }
-    fh = g_fopen( filepath, "w" );
-    if ( fh != NULL )
-    {
-        gint written;
-        gint len = strlen( priv->html_string );
-
-        written = fwrite( priv->html_string, 1, len, fh );
-        fclose (fh);
-
-        if ( written != len )
-        {
-            return FALSE;
-        }
-
-        return TRUE;
-    }
-    else
-    {
-        return FALSE;
-    }
+     FILE *fh;
+     GncHtmlWebkitPrivate* priv;
+
+     g_return_val_if_fail( self != NULL, FALSE );
+     g_return_val_if_fail( GNC_IS_HTML_WEBKIT(self), FALSE );
+     g_return_val_if_fail( filepath != NULL, FALSE );
+
+     priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
+     if ( priv->html_string == NULL )
+     {
+          return FALSE;
+     }
+     fh = g_fopen( filepath, "w" );
+     if ( fh != NULL )
+     {
+          gint written;
+          gint len = strlen( priv->html_string );
+
+          written = fwrite( priv->html_string, 1, len, fh );
+          fclose (fh);
+
+          if ( written != len )
+          {
+               return FALSE;
+          }
+
+          return TRUE;
+     }
+     else
+     {
+          return FALSE;
+     }
 }
 
 /**
@@ -994,214 +994,214 @@ impl_webkit_export_to_file( GncHtml* self, const char *filepath )
 static void
 impl_webkit_print( GncHtml* self, const gchar* jobname, gboolean export_pdf )
 {
-    gchar *export_filename = NULL;
-    GncHtmlWebkitPrivate* priv;
-    WebKitWebFrame* frame;
-    GtkPrintOperation* op = gtk_print_operation_new();
-    GError* error = NULL;
-    GtkPrintSettings *print_settings;
-
-    priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
-    frame = webkit_web_view_get_main_frame( priv->web_view );
-
-    gnc_print_operation_init( op, jobname );
-    print_settings = gtk_print_operation_get_print_settings (op);
-    if (!print_settings)
-    {
-        print_settings = gtk_print_settings_new();
-        gtk_print_operation_set_print_settings(op, print_settings);
-    }
+     gchar *export_filename = NULL;
+     GncHtmlWebkitPrivate* priv;
+     WebKitWebFrame* frame;
+     GtkPrintOperation* op = gtk_print_operation_new();
+     GError* error = NULL;
+     GtkPrintSettings *print_settings;
+
+     priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
+     frame = webkit_web_view_get_main_frame( priv->web_view );
+
+     gnc_print_operation_init( op, jobname );
+     print_settings = gtk_print_operation_get_print_settings (op);
+     if (!print_settings)
+     {
+          print_settings = gtk_print_settings_new();
+          gtk_print_operation_set_print_settings(op, print_settings);
+     }
 #ifdef G_OS_WIN32
-    gtk_print_operation_set_unit( op, GTK_UNIT_POINTS );
+     gtk_print_operation_set_unit( op, GTK_UNIT_POINTS );
 #endif
 
-    // Make sure to generate a full export filename
-    if (g_str_has_suffix(jobname, ".pdf"))
-    {
-        export_filename = g_strdup(jobname);
-    }
-    else
-    {
-        export_filename = g_strconcat(jobname, ".pdf", NULL);
-    }
-
-    // Two different modes of operation. Either export to PDF, or run the
-    // normal print dialog
-    if (export_pdf)
-    {
-        GtkWidget *dialog;
-        gint result;
-        gchar *export_dirname = NULL;
-        gchar* basename;
-
-        // Before we save the PDF file, we always as the user for the export
-        // file name. We will store the chosen directory in the gtk print settings
-        // as well.
-        dialog = gtk_file_chooser_dialog_new (_("Export to PDF File"),
-                                              NULL,
-                                              GTK_FILE_CHOOSER_ACTION_SAVE,
-                                              GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                              GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
-                                              NULL);
-        gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
-
-        // Does the jobname look like a valid full file path?
-        basename = g_path_get_basename(jobname);
-        if (strcmp(basename, jobname) != 0)
-        {
-            gchar *tmp_basename;
-            gchar *tmp_dirname = g_path_get_dirname(jobname);
-
-            if (g_file_test(tmp_dirname, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))
-            {
-                // Yes, the jobname starts with a directory name that actually
-                // exists. Hence we use this as output directory.
-                export_dirname = tmp_dirname;
-                tmp_dirname = NULL;
-
-                // As the prefix part of the "jobname" is the directory path, we
-                // need to extract the suffix part for the filename.
-                tmp_basename = g_path_get_basename(export_filename);
-                g_free(export_filename);
-                export_filename = tmp_basename;
-            }
-            g_free(tmp_dirname);
-        }
-        g_free(basename);
-
-        // Set the output file name from the given jobname
-        gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER(dialog), export_filename);
-
-        // Do we have a stored output directory?
-        if (!export_dirname && gtk_print_settings_has_key(print_settings, GNC_GTK_PRINT_SETTINGS_EXPORT_DIR))
-        {
-            const char* tmp_dirname = gtk_print_settings_get(print_settings,
-                                      GNC_GTK_PRINT_SETTINGS_EXPORT_DIR);
-            // Only use the directory subsequently if it exists.
-            if (g_file_test(tmp_dirname, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))
-            {
-                export_dirname = g_strdup(tmp_dirname);
-            }
-        }
-
-        // If we have an already existing directory, propose it now.
-        if (export_dirname)
-        {
-            gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), export_dirname);
-        }
-        g_free(export_dirname);
-
-        result = gtk_dialog_run (GTK_DIALOG (dialog));
-        // Weird. In gtk_dialog_run, the gtk code will run a fstat() on the
-        // proposed new output filename, which of course fails with "file not
-        // found" as this file doesn't exist. It will still show a warning output
-        // in the trace file, though.
-
-        if (result == GTK_RESPONSE_ACCEPT)
-        {
-            // The user pressed "Ok", so use the file name for the actual file output.
-            gchar *dirname;
-            char *tmp = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
-            g_free(export_filename);
-            export_filename = tmp;
-
-            // Store the directory part of the file for later
-            dirname = g_path_get_dirname(export_filename);
-            if (g_file_test(dirname, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))
-            {
-                gtk_print_settings_set(print_settings, GNC_GTK_PRINT_SETTINGS_EXPORT_DIR, dirname);
-            }
-            g_free(dirname);
-        }
-        gtk_widget_destroy (dialog);
-
-        if (result != GTK_RESPONSE_ACCEPT)
-        {
-            // User pressed cancel - no saving of the PDF file here.
-            g_free(export_filename);
-            g_object_unref( op );
-            return;
-        }
-
-        // This function expects the full filename including (absolute?) path
-        gtk_print_operation_set_export_filename(op, export_filename);
-
-        // Run the "Export to PDF" print operation
-        webkit_web_frame_print_full( frame, op, GTK_PRINT_OPERATION_ACTION_EXPORT, &error );
-    }
-    else
-    {
-
-        // Also store this export file name as output URI in the settings
-        if (gtk_print_settings_has_key(print_settings, GTK_PRINT_SETTINGS_OUTPUT_URI))
-        {
-            // Get the previous output URI, extract the directory part, and
-            // append the current filename.
-            const gchar *olduri = gtk_print_settings_get(print_settings, GTK_PRINT_SETTINGS_OUTPUT_URI);
-            gchar *dirname = g_path_get_dirname(olduri);
-            gchar *newuri = (g_strcmp0(dirname, ".") == 0)
-                            ? g_strdup(export_filename)
-                            : g_build_filename(dirname, export_filename, NULL);
-            //g_warning("olduri=%s newuri=%s", olduri, newuri);
-
-            // This function expects the full filename including protocol, path, and name
-            gtk_print_settings_set(print_settings, GTK_PRINT_SETTINGS_OUTPUT_URI, newuri);
-
-            g_free(newuri);
-            g_free(dirname);
-        }
-        else
-        {
-            // No stored output URI from the print settings, so just set our export filename
-            gtk_print_settings_set(print_settings, GTK_PRINT_SETTINGS_OUTPUT_URI, export_filename);
-        }
-
-        // Run the normal printing dialog
-        webkit_web_frame_print_full( frame, op, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, &error );
-    }
-
-    if ( error != NULL )
-    {
-        GtkWidget* window = gtk_widget_get_toplevel( GTK_WIDGET(priv->web_view) );
-        GtkWidget* dialog = gtk_message_dialog_new( gtk_widget_is_toplevel(window) ? GTK_WINDOW(window) : NULL,
-                            GTK_DIALOG_DESTROY_WITH_PARENT,
-                            GTK_MESSAGE_ERROR,
-                            GTK_BUTTONS_CLOSE,
-                            "%s", error->message );
-        g_error_free( error );
-
-        g_signal_connect( dialog, "response", G_CALLBACK(gtk_widget_destroy), NULL);
-        gtk_widget_show( dialog );
-    }
-
-    // Remember to save the printing settings after this print job
-    gnc_print_operation_save_print_settings(op);
-    g_object_unref( op );
-    g_free(export_filename);
+     // Make sure to generate a full export filename
+     if (g_str_has_suffix(jobname, ".pdf"))
+     {
+          export_filename = g_strdup(jobname);
+     }
+     else
+     {
+          export_filename = g_strconcat(jobname, ".pdf", NULL);
+     }
+
+     // Two different modes of operation. Either export to PDF, or run the
+     // normal print dialog
+     if (export_pdf)
+     {
+          GtkWidget *dialog;
+          gint result;
+          gchar *export_dirname = NULL;
+          gchar* basename;
+
+          // Before we save the PDF file, we always as the user for the export
+          // file name. We will store the chosen directory in the gtk print settings
+          // as well.
+          dialog = gtk_file_chooser_dialog_new (_("Export to PDF File"),
+                                                NULL,
+                                                GTK_FILE_CHOOSER_ACTION_SAVE,
+                                                GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                                                GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
+                                                NULL);
+          gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
+
+          // Does the jobname look like a valid full file path?
+          basename = g_path_get_basename(jobname);
+          if (strcmp(basename, jobname) != 0)
+          {
+               gchar *tmp_basename;
+               gchar *tmp_dirname = g_path_get_dirname(jobname);
+
+               if (g_file_test(tmp_dirname, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))
+               {
+                    // Yes, the jobname starts with a directory name that actually
+                    // exists. Hence we use this as output directory.
+                    export_dirname = tmp_dirname;
+                    tmp_dirname = NULL;
+
+                    // As the prefix part of the "jobname" is the directory path, we
+                    // need to extract the suffix part for the filename.
+                    tmp_basename = g_path_get_basename(export_filename);
+                    g_free(export_filename);
+                    export_filename = tmp_basename;
+               }
+               g_free(tmp_dirname);
+          }
+          g_free(basename);
+
+          // Set the output file name from the given jobname
+          gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER(dialog), export_filename);
+
+          // Do we have a stored output directory?
+          if (!export_dirname && gtk_print_settings_has_key(print_settings, GNC_GTK_PRINT_SETTINGS_EXPORT_DIR))
+          {
+               const char* tmp_dirname = gtk_print_settings_get(print_settings,
+                                                                GNC_GTK_PRINT_SETTINGS_EXPORT_DIR);
+               // Only use the directory subsequently if it exists.
+               if (g_file_test(tmp_dirname, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))
+               {
+                    export_dirname = g_strdup(tmp_dirname);
+               }
+          }
+
+          // If we have an already existing directory, propose it now.
+          if (export_dirname)
+          {
+               gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), export_dirname);
+          }
+          g_free(export_dirname);
+
+          result = gtk_dialog_run (GTK_DIALOG (dialog));
+          // Weird. In gtk_dialog_run, the gtk code will run a fstat() on the
+          // proposed new output filename, which of course fails with "file not
+          // found" as this file doesn't exist. It will still show a warning output
+          // in the trace file, though.
+
+          if (result == GTK_RESPONSE_ACCEPT)
+          {
+               // The user pressed "Ok", so use the file name for the actual file output.
+               gchar *dirname;
+               char *tmp = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+               g_free(export_filename);
+               export_filename = tmp;
+
+               // Store the directory part of the file for later
+               dirname = g_path_get_dirname(export_filename);
+               if (g_file_test(dirname, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))
+               {
+                    gtk_print_settings_set(print_settings, GNC_GTK_PRINT_SETTINGS_EXPORT_DIR, dirname);
+               }
+               g_free(dirname);
+          }
+          gtk_widget_destroy (dialog);
+
+          if (result != GTK_RESPONSE_ACCEPT)
+          {
+               // User pressed cancel - no saving of the PDF file here.
+               g_free(export_filename);
+               g_object_unref( op );
+               return;
+          }
+
+          // This function expects the full filename including (absolute?) path
+          gtk_print_operation_set_export_filename(op, export_filename);
+
+          // Run the "Export to PDF" print operation
+          webkit_web_frame_print_full( frame, op, GTK_PRINT_OPERATION_ACTION_EXPORT, &error );
+     }
+     else
+     {
+
+          // Also store this export file name as output URI in the settings
+          if (gtk_print_settings_has_key(print_settings, GTK_PRINT_SETTINGS_OUTPUT_URI))
+          {
+               // Get the previous output URI, extract the directory part, and
+               // append the current filename.
+               const gchar *olduri = gtk_print_settings_get(print_settings, GTK_PRINT_SETTINGS_OUTPUT_URI);
+               gchar *dirname = g_path_get_dirname(olduri);
+               gchar *newuri = (g_strcmp0(dirname, ".") == 0)
+                    ? g_strdup(export_filename)
+                    : g_build_filename(dirname, export_filename, NULL);
+               //g_warning("olduri=%s newuri=%s", olduri, newuri);
+
+               // This function expects the full filename including protocol, path, and name
+               gtk_print_settings_set(print_settings, GTK_PRINT_SETTINGS_OUTPUT_URI, newuri);
+
+               g_free(newuri);
+               g_free(dirname);
+          }
+          else
+          {
+               // No stored output URI from the print settings, so just set our export filename
+               gtk_print_settings_set(print_settings, GTK_PRINT_SETTINGS_OUTPUT_URI, export_filename);
+          }
+
+          // Run the normal printing dialog
+          webkit_web_frame_print_full( frame, op, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, &error );
+     }
+
+     if ( error != NULL )
+     {
+          GtkWidget* window = gtk_widget_get_toplevel( GTK_WIDGET(priv->web_view) );
+          GtkWidget* dialog = gtk_message_dialog_new( gtk_widget_is_toplevel(window) ? GTK_WINDOW(window) : NULL,
+                                                      GTK_DIALOG_DESTROY_WITH_PARENT,
+                                                      GTK_MESSAGE_ERROR,
+                                                      GTK_BUTTONS_CLOSE,
+                                                      "%s", error->message );
+          g_error_free( error );
+
+          g_signal_connect( dialog, "response", G_CALLBACK(gtk_widget_destroy), NULL);
+          gtk_widget_show( dialog );
+     }
+
+     // Remember to save the printing settings after this print job
+     gnc_print_operation_save_print_settings(op);
+     g_object_unref( op );
+     g_free(export_filename);
 }
 
 static void
 impl_webkit_set_parent( GncHtml* self, GtkWindow* parent )
 {
-    GncHtmlWebkitPrivate* priv;
+     GncHtmlWebkitPrivate* priv;
 
-    g_return_if_fail( self != NULL );
-    g_return_if_fail( GNC_IS_HTML_WEBKIT(self) );
+     g_return_if_fail( self != NULL );
+     g_return_if_fail( GNC_IS_HTML_WEBKIT(self) );
 
-    priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
-    priv->base.parent = GTK_WIDGET(parent);
+     priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
+     priv->base.parent = GTK_WIDGET(parent);
 }
 
 static void
 impl_webkit_default_zoom_changed(gpointer prefs, gchar *pref, gpointer user_data)
 {
-    gdouble zoom = 1.0;
-    GncHtmlWebkit* self = GNC_HTML_WEBKIT(user_data);
-    GncHtmlWebkitPrivate* priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
+     gdouble zoom = 1.0;
+     GncHtmlWebkit* self = GNC_HTML_WEBKIT(user_data);
+     GncHtmlWebkitPrivate* priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
 
-    g_return_if_fail(user_data != NULL);
+     g_return_if_fail(user_data != NULL);
 
-    zoom = gnc_prefs_get_float (GNC_PREFS_GROUP_GENERAL_REPORT, GNC_PREF_RPT_DFLT_ZOOM);
-    webkit_web_view_set_zoom_level (priv->web_view, zoom);
+     zoom = gnc_prefs_get_float (GNC_PREFS_GROUP_GENERAL_REPORT, GNC_PREF_RPT_DFLT_ZOOM);
+     webkit_web_view_set_zoom_level (priv->web_view, zoom);
 
 }

commit 8f66cf42865501ce9d2894cbdcf4eb4d65e41b9c
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Fri Mar 31 14:01:42 2017 +0200

    Gtk3: Replace obsolete functions
    
    gtk_statusbar_set_has_resize_grip
    gdk_drawable_get_screen
    gdk_device_get_core_pointer
    
    There is no replacement for it in gtk3 and it's probably
    not needed any more either.

diff --git a/src/gnome-utils/gnc-embedded-window.c b/src/gnome-utils/gnc-embedded-window.c
index c066e42..82598de 100644
--- a/src/gnome-utils/gnc-embedded-window.c
+++ b/src/gnome-utils/gnc-embedded-window.c
@@ -329,7 +329,6 @@ gnc_embedded_window_setup_window (GncEmbeddedWindow *window)
     gtk_box_pack_start (GTK_BOX (window), priv->menu_dock, FALSE, TRUE, 0);
 
     priv->statusbar = gtk_statusbar_new ();
-    gtk_statusbar_set_has_resize_grip (GTK_STATUSBAR(priv->statusbar), FALSE);
     gtk_widget_show (priv->statusbar);
     gtk_box_pack_end (GTK_BOX (window), priv->statusbar, FALSE, TRUE, 0);
 
diff --git a/src/gnome-utils/gnc-main-window.c b/src/gnome-utils/gnc-main-window.c
index 7a198c9..21318fe 100644
--- a/src/gnome-utils/gnc-main-window.c
+++ b/src/gnome-utils/gnc-main-window.c
@@ -3535,7 +3535,6 @@ gnc_main_window_setup_window (GncMainWindow *window)
     gtk_widget_show (priv->statusbar);
     gtk_box_pack_start (GTK_BOX (main_vbox), priv->statusbar,
                         FALSE, TRUE, 0);
-    gtk_statusbar_set_has_resize_grip( GTK_STATUSBAR(priv->statusbar), TRUE );
 
     priv->progressbar = gtk_progress_bar_new ();
     gtk_progress_bar_set_text(GTK_PROGRESS_BAR(priv->progressbar), " ");
diff --git a/src/gnome/window-reconcile.c b/src/gnome/window-reconcile.c
index 88862a8..991f417 100644
--- a/src/gnome/window-reconcile.c
+++ b/src/gnome/window-reconcile.c
@@ -1769,7 +1769,6 @@ recnWindowWithBalance (GtkWidget *parent, Account *account,
                      G_CALLBACK(gnc_reconcile_window_popup_menu_cb), recnData);
 
     statusbar = gtk_statusbar_new();
-    gtk_statusbar_set_has_resize_grip(GTK_STATUSBAR(statusbar), TRUE);
     gtk_box_pack_end(GTK_BOX(vbox), statusbar, FALSE, FALSE, 0);
 
     g_signal_connect (recnData->window, "destroy",
diff --git a/src/gnome/window-reconcile2.c b/src/gnome/window-reconcile2.c
index 80ed4f0..783aac6 100644
--- a/src/gnome/window-reconcile2.c
+++ b/src/gnome/window-reconcile2.c
@@ -1729,7 +1729,6 @@ recnWindow2WithBalance (GtkWidget *parent, Account *account,
                      G_CALLBACK (gnc_reconcile_window_popup_menu_cb), recnData);
 
     statusbar = gtk_statusbar_new ();
-    gtk_statusbar_set_has_resize_grip (GTK_STATUSBAR (statusbar), TRUE);
     gtk_box_pack_end (GTK_BOX (vbox), statusbar, FALSE, FALSE, 0);
 
     g_signal_connect (recnData->window, "destroy",
diff --git a/src/import-export/csv-imp/gnc-csv-gnumeric-popup.c b/src/import-export/csv-imp/gnc-csv-gnumeric-popup.c
index 4d5b770..933c203 100644
--- a/src/import-export/csv-imp/gnc-csv-gnumeric-popup.c
+++ b/src/import-export/csv-imp/gnc-csv-gnumeric-popup.c
@@ -197,7 +197,7 @@ gnumeric_popup_menu (GtkMenu *menu, GdkEventButton *event)
 
     if (event)
         gtk_menu_set_screen (menu,
-                             gdk_drawable_get_screen (event->window));
+                             gdk_window_get_screen (event->window));
 
     g_signal_connect (G_OBJECT (menu),
                       "hide",
diff --git a/src/register/register-gnome/gnucash-sheet.c b/src/register/register-gnome/gnucash-sheet.c
index 43d9620..5d42fee 100644
--- a/src/register/register-gnome/gnucash-sheet.c
+++ b/src/register/register-gnome/gnucash-sheet.c
@@ -1051,9 +1051,9 @@ gnucash_sheet_draw (GtkWidget *widget, cairo_t *cr)
 {
     GnucashSheet *sheet = GNUCASH_SHEET (widget);
     GtkAllocation alloc;
-    gtk_widget_get_allocation(widget, &alloc);
     gboolean result;
 
+    gtk_widget_get_allocation(widget, &alloc);
     cairo_save (cr);
     result = gnucash_sheet_draw_internal (sheet, cr, &alloc);
     gnucash_sheet_draw_cursor (sheet->cursor, cr);
@@ -1275,11 +1275,13 @@ gnucash_sheet_check_grab (GnucashSheet *sheet)
 {
     GdkModifierType mods;
     GdkDevice *device;
+    GdkDeviceManager *device_manager;
 
     if (!sheet->grabbed)
         return;
 
-    device = gdk_device_get_core_pointer ();
+    device_manager = gdk_display_get_device_manager(gdk_display_get_default());
+    device = gdk_device_manager_get_client_pointer (device_manager);
 
     gdk_device_get_state (device, gtk_widget_get_window (GTK_WIDGET(sheet)),
                           0, &mods);

commit e40acf59150edb90bcff0206787f75bfe2c30f6f
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Fri Mar 31 11:13:13 2017 +0200

    Temporarily disable deprecation warnings

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9791d1b..6de6b0b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -451,7 +451,7 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")  # FIXME: should be -std=
 
 IF (UNIX)
   SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror -Wdeclaration-after-statement -Wno-pointer-sign -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations  -Wno-unused")
-  SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-error=deprecated-declarations -std=gnu11")
+  SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecated-declarations -std=gnu11")
   SET( CMAKE_C_FLAGS_RELEASE "-O3 ${CMAKE_C_FLAGS} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2")
 ENDIF (UNIX)
 IF (MINGW)
@@ -462,7 +462,7 @@ IF (APPLE)
   SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-local-typedef")
 ENDIF(APPLE)
 SET( CMAKE_C_FLAGS_DEBUG "-O0 -g ${CMAKE_C_FLAGS}")
-SET( CMAKE_CXX_FLAGS_DEBUG "-O0 -g ${CMAKE_CXX_FLAGS}")
+SET( CMAKE_CXX_FLAGS_DEBUG "-O0 -g ${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
 
 IF (APPLE AND WITH_GNUCASH)
   SET(CMAKE_MACOSX_RPATH ON)

commit 89021dde39de49a8a8d1ae4688cd23db1f4fd15f
Author: John Ralls <jralls at ceridwen.us>
Date:   Mon Feb 27 13:41:16 2017 -0800

    Remove if-0-ed out code from gnc-html-webkit.c

diff --git a/src/html/gnc-html-webkit.c b/src/html/gnc-html-webkit.c
index 50fecbe..700a7f7 100644
--- a/src/html/gnc-html-webkit.c
+++ b/src/html/gnc-html-webkit.c
@@ -96,16 +96,6 @@ static WebKitNavigationResponse webkit_navigation_requested_cb(
 static void webkit_on_url_cb( WebKitWebView* web_view, gchar* title, gchar* url,
                               gpointer data );
 static gchar* handle_embedded_object( GncHtmlWebkit* self, gchar* html_str );
-#if 0
-static void gnc_html_set_base_cb( GtkHTML* gtkhtml, const gchar* base, gpointer data );
-static void gnc_html_link_clicked_cb( GtkHTML* html, const gchar* url, gpointer data );
-static gboolean gnc_html_object_requested_cb( GtkHTML* html, GtkHTMLEmbedded* eb,
-        gpointer data );
-#endif
-#if 0 /* Not Used */
-static int gnc_html_button_press_cb( GtkWidget* widg, GdkEventButton* event,
-                                     gpointer user_data );
-#endif /* Not Used */
 static void impl_webkit_show_url( GncHtml* self, URLType type,
                                   const gchar* location, const gchar* label,
                                   gboolean new_window_hint );
@@ -188,28 +178,6 @@ gnc_html_webkit_init( GncHtmlWebkit* self )
             G_CALLBACK(webkit_console_msg_cb),
             self);
 
-#if 0
-    g_signal_connect( priv->html, "set_base",
-                      G_CALLBACK(gnc_html_set_base_cb),
-                      self);
-
-    g_signal_connect(priv->html, "link_clicked",
-                     G_CALLBACK(gnc_html_link_clicked_cb),
-                     self);
-
-    g_signal_connect (priv->html, "object_requested",
-                      G_CALLBACK (gnc_html_object_requested_cb),
-                      self);
-
-    g_signal_connect (priv->html, "button_press_event",
-                      G_CALLBACK (gnc_html_button_press_cb),
-                      self);
-
-    g_signal_connect (priv->html, "submit",
-                      G_CALLBACK(gnc_html_submit_cb),
-                      self);
-#endif
-
     gnc_prefs_register_cb (GNC_PREFS_GROUP_GENERAL_REPORT,
             GNC_PREF_RPT_DFLT_ZOOM,
             impl_webkit_default_zoom_changed,
@@ -581,27 +549,6 @@ load_to_stream( GncHtmlWebkit* self, URLType type,
     while ( FALSE );
 }
 
-#if 0
-/********************************************************************
- * gnc_html_link_clicked_cb - called when user left-clicks on html
- * anchor.
- ********************************************************************/
-
-static void
-gnc_html_link_clicked_cb( GtkHTML* html, const gchar* url, gpointer data )
-{
-    URLType type;
-    gchar* location = NULL;
-    gchar* label = NULL;
-    GncHtmlWebkit* self = GNC_HTML_WEBKIT(data);
-
-    DEBUG("Clicked %s", url);
-    type = gnc_html_parse_url( GNC_HTML(self), url, &location, &label );
-    gnc_html_show_url( GNC_HTML(self), type, location, label, 0 );
-    g_free( location );
-    g_free( label );
-}
-#endif
 
 /********************************************************************
  * webkit_navigation_requested_cb - called when a URL needs to be
@@ -641,33 +588,6 @@ webkit_navigation_requested_cb( WebKitWebView* web_view, WebKitWebFrame* frame,
     return WEBKIT_NAVIGATION_RESPONSE_IGNORE;
 }
 
-#if 0
-/********************************************************************
- * gnc_html_object_requested_cb - called when an applet needs to be
- * loaded.
- ********************************************************************/
-
-static gboolean
-gnc_html_object_requested_cb( GtkHTML* html, GtkHTMLEmbedded* eb,
-                              gpointer data )
-{
-    GncHtmlWebkit* self = GNC_HTML_WEBKIT(data);
-    GncHTMLObjectCB h;
-
-    DEBUG( " " );
-    if ( !eb || !(eb->classid) || !gnc_html_object_handlers ) return FALSE;
-
-    h = g_hash_table_lookup( gnc_html_object_handlers, eb->classid );
-    if ( h )
-    {
-        return h( GNC_HTML(self), eb, data );
-    }
-    else
-    {
-        return FALSE;
-    }
-}
-#endif
 
 /********************************************************************
  * webkit_on_url_cb - called when user rolls over html anchor
@@ -688,57 +608,6 @@ webkit_on_url_cb( WebKitWebView* web_view, gchar* title, gchar* url, gpointer da
     }
 }
 
-#if 0
-/********************************************************************
- * gnc_html_set_base_cb
- ********************************************************************/
-
-static void
-gnc_html_set_base_cb( GtkHTML* gtkhtml, const gchar* base,
-                      gpointer data )
-{
-    GncHtmlWebkit* self = GNC_HTML_WEBKIT(data);
-    GncHtmlWebkitPrivate* priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
-    URLType type;
-    gchar* location = NULL;
-    gchar* label = NULL;
-
-    DEBUG( "Setting base location to %s", base );
-    type = gnc_html_parse_url( GNC_HTML(self), base, &location, &label );
-
-    g_free( priv->base.base_location );
-    g_free( label );
-
-    priv->base.base_type = type;
-    priv->base.base_location = location;
-}
-#endif
-
-/********************************************************************
- * gnc_html_button_press_cb
- * mouse button callback (if any)
- ********************************************************************/
-
-#if 0 /* Not Used */
-static int
-gnc_html_button_press_cb( GtkWidget* widg, GdkEventButton* event,
-                          gpointer user_data )
-{
-    GncHtmlWebkit* self = GNC_HTML_WEBKIT(user_data);
-    GncHtmlWebkitPrivate* priv = GNC_HTML_WEBKIT_GET_PRIVATE(self);
-
-    DEBUG( "Button Press" );
-    if ( priv->base.button_cb != NULL )
-    {
-        (priv->base.button_cb)( GNC_HTML(self), event, priv->base.button_cb_data );
-        return TRUE;
-    }
-    else
-    {
-        return FALSE;
-    }
-}
-#endif /* Not Used */
 
 /********************************************************************
  * gnc_html_open_scm

commit 87a0cb736025269821c743d1154cf89656a54b21
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Tue Aug 25 10:03:12 2015 +0200

    Gtk3: fix direct access issue for entry widget in cell renderer mode
    
    The old code directly accessed a member variable of GtkEntry. This
    direct access is no longer possible, but there is no public function
    to get/set this variable. There is a private one  used by
    GtkComboBox internally) but it's not exported so it can't be used either.
    
    As an interim solution I peeked at how hesiod handled it in his earlier
    (unmerged) gtk3 branch. He replaced this private access with setting
    gtk_widget_set_visible, something I wouldn't have considered in this
    situation. The issue is in the register2 code, so for now it's not
    too important. We can investigate this more when the register rewrite
    is picked up again.

diff --git a/src/gnome-utils/gnc-cell-renderer-popup-entry.c b/src/gnome-utils/gnc-cell-renderer-popup-entry.c
index f2421b0..322c378 100644
--- a/src/gnome-utils/gnc-cell-renderer-popup-entry.c
+++ b/src/gnome-utils/gnc-cell-renderer-popup-entry.c
@@ -101,7 +101,7 @@ gnc_popup_entry_init (GncPopupEntry *widget)
     gtk_widget_show (widget->hbox);
 
     widget->entry = g_object_new (GTK_TYPE_ENTRY, "has_frame", FALSE, NULL);
-    GTK_ENTRY (widget->entry)->is_cell_renderer = TRUE;
+    gtk_entry_set_visibility (GTK_ENTRY (widget->entry), TRUE);
     gtk_widget_show (widget->entry);
 
     widget->button = gtk_button_new ();

commit e26480ccbbc51dee5641da14639142dcd10cbde1
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Mon Mar 13 22:36:03 2017 +0100

    Gtk3: Convert GdkColor into GdkRGBA
    
    Only gnc-dense-cal.[ch] is left untouched because it's use
    of color is tightly coupled to the use of GtkStyle. This
    latter needs conversion as well, but would be too much to
    add in one commit.
    
    Additionally the register code uses GtkStyle to extract
    colors. This has been partially converted to using GdkRGBA
    with the inconvenient side effect that depending on how
    a color is retrieved it has to be freed with gdk_rgba_free
    or not. This may be cleaned up later.

diff --git a/src/gnome-utils/dialog-account.c b/src/gnome-utils/dialog-account.c
index 66a1317..975cacf 100644
--- a/src/gnome-utils/dialog-account.c
+++ b/src/gnome-utils/dialog-account.c
@@ -208,7 +208,7 @@ gnc_account_to_ui(AccountWindow *aw)
     Account *account;
     gnc_commodity * commodity;
     const char *string;
-    GdkColor color;
+    GdkRGBA color;
     gboolean flag, nonstd_scu;
     gint index;
 
@@ -230,9 +230,9 @@ gnc_account_to_ui(AccountWindow *aw)
 
     string = xaccAccountGetColor (account);
     if (string == NULL) string = "";
-    if (gdk_color_parse(string, &color))
+    if (gdk_rgba_parse(&color, string))
     {
-        gtk_color_button_set_color(GTK_COLOR_BUTTON(aw->color_entry_button), &color);
+        gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(aw->color_entry_button), &color);
     }
 
     commodity = xaccAccountGetCommodity (account);
@@ -337,7 +337,7 @@ gnc_ui_to_account(AccountWindow *aw)
     Account *parent_account;
     const char *old_string;
     const char *string;
-    GdkColor color;
+    GdkRGBA color;
     gboolean flag;
     gnc_numeric balance;
     gboolean use_equity, nonstd;
@@ -376,8 +376,8 @@ gnc_ui_to_account(AccountWindow *aw)
     if (g_strcmp0 (string, old_string) != 0)
         xaccAccountSetDescription (account, string);
 
-    gtk_color_button_get_color(GTK_COLOR_BUTTON(aw->color_entry_button), &color );
-    string = gdk_color_to_string(&color);
+    gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(aw->color_entry_button), &color );
+    string = gdk_rgba_to_string(&color);
     if (g_strcmp0 (string, DEFAULT_COLOR) == 0)
         string = "Not Set";
 
@@ -1219,11 +1219,11 @@ gnc_account_name_changed_cb(GtkWidget *widget, gpointer data)
 void
 gnc_account_color_default_cb(GtkWidget *widget, gpointer data)
 {
-    GdkColor color;
+    GdkRGBA color;
     AccountWindow *aw = data;
 
-    gdk_color_parse( DEFAULT_COLOR, &color);
-    gtk_color_button_set_color(GTK_COLOR_BUTTON(aw->color_entry_button), &color);
+    gdk_rgba_parse(&color, DEFAULT_COLOR);
+    gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(aw->color_entry_button), &color);
 
 }
 
diff --git a/src/gnome-utils/dialog-options.c b/src/gnome-utils/dialog-options.c
index 98469ce..2d81074 100644
--- a/src/gnome-utils/dialog-options.c
+++ b/src/gnome-utils/dialog-options.c
@@ -133,18 +133,6 @@ gnc_option_get_gtk_widget (GNCOption *option)
     return (GtkWidget *)gnc_option_get_widget(option);
 }
 
-static inline gint
-color_d_to_i16 (double d)
-{
-    return (d * 0xFFFF);
-}
-
-static inline double
-color_i16_to_d (gint i16)
-{
-    return ((double)i16 / 0xFFFF);
-}
-
 static void
 gnc_options_dialog_changed_internal (GtkWidget *widget, gboolean sensitive)
 {
@@ -2917,22 +2905,19 @@ static gboolean
 gnc_option_set_ui_value_color (GNCOption *option, gboolean use_default,
                                GtkWidget *widget, SCM value)
 {
-    gdouble red, green, blue, alpha;
 
+    GdkRGBA color;
     if (gnc_option_get_color_info(option, use_default,
-                                  &red, &green, &blue, &alpha))
+                                  &color.red, &color.green,
+                                  &color.blue, &color.alpha))
     {
-        GtkColorButton *color_button;
-        GdkColor color;
+        GtkColorChooser *color_button;
 
-        DEBUG("red %f, green %f, blue %f, alpha %f", red, green, blue, alpha);
-        color_button = GTK_COLOR_BUTTON(widget);
+        DEBUG("red %f, green %f, blue %f, alpha %f",
+              color.red, color.green, color.blue, color.alpha);
+        color_button = GTK_COLOR_CHOOSER(widget);
 
-        color.red   = color_d_to_i16(red);
-        color.green = color_d_to_i16(green);
-        color.blue  = color_d_to_i16(blue);
-        gtk_color_button_set_color(color_button, &color);
-        gtk_color_button_set_alpha(color_button, color_d_to_i16(alpha));
+        gtk_color_chooser_set_rgba(color_button, &color);
         return FALSE;
     }
 
@@ -3488,28 +3473,23 @@ static SCM
 gnc_option_get_ui_value_color (GNCOption *option, GtkWidget *widget)
 {
     SCM result;
-    GtkColorButton *color_button;
-    GdkColor color;
-    gdouble red, green, blue, alpha;
+    GtkColorChooser *color_button;
+    GdkRGBA color;
     gdouble scale;
 
     ENTER("option %p(%s), widget %p",
           option, gnc_option_name(option), widget);
 
-    color_button = GTK_COLOR_BUTTON(widget);
-    gtk_color_button_get_color(color_button, &color);
-    red   = color_i16_to_d(color.red);
-    green = color_i16_to_d(color.green);
-    blue  = color_i16_to_d(color.blue);
-    alpha = color_i16_to_d(gtk_color_button_get_alpha(color_button));
+    color_button = GTK_COLOR_CHOOSER(widget);
+    gtk_color_chooser_get_rgba(color_button, &color);
 
     scale = gnc_option_color_range(option);
 
     result = SCM_EOL;
-    result = scm_cons(scm_from_double (alpha * scale), result);
-    result = scm_cons(scm_from_double (blue * scale), result);
-    result = scm_cons(scm_from_double (green * scale), result);
-    result = scm_cons(scm_from_double (red * scale), result);
+    result = scm_cons(scm_from_double (color.alpha * scale), result);
+    result = scm_cons(scm_from_double (color.blue * scale), result);
+    result = scm_cons(scm_from_double (color.green * scale), result);
+    result = scm_cons(scm_from_double (color.red * scale), result);
     return result;
 }
 
diff --git a/src/gnome-utils/gnc-dense-cal.c b/src/gnome-utils/gnc-dense-cal.c
index 4c44243..eb09a08 100644
--- a/src/gnome-utils/gnc-dense-cal.c
+++ b/src/gnome-utils/gnc-dense-cal.c
@@ -346,39 +346,33 @@ gnc_dense_cal_init(GncDenseCal *dcal)
         gtk_widget_realize(GTK_WIDGET(dcal->transPopup));
     }
 
-    gdk_color_parse(MONTH_THIS_COLOR,  &dcal->weekColors[MONTH_THIS]);
-    gdk_color_parse(MONTH_THAT_COLOR,  &dcal->weekColors[MONTH_THAT]);
+    gdk_rgba_parse(&dcal->weekColors[MONTH_THIS], MONTH_THIS_COLOR);
+    gdk_rgba_parse(&dcal->weekColors[MONTH_THAT], MONTH_THAT_COLOR);
 
     /* success array must be as big as number of colors */
     g_assert(MAX_COLORS == (sizeof(colorAllocSuccess)/sizeof(gboolean)));
 
-    if (gdk_colormap_alloc_colors(gdk_colormap_get_system(),
-                                  dcal->weekColors,
-                                  MAX_COLORS, TRUE, TRUE,
-                                  colorAllocSuccess) > 0)
-    {
-        g_error("error allocating colors");
-    }
-
     /* Deal with the various label sizes. */
     {
         gint i;
         gint maxWidth, maxHeight;
-        GtkStyle *style;
         PangoLayout *layout;
         PangoFontDescription *font_desc;
         gint font_size;
         gint font_size_reduction_units = 1;
+        GtkStyleContext *stylectxt;
+        GtkStateFlags state_flags;
 
         layout = gtk_widget_create_pango_layout(GTK_WIDGET(dcal), NULL);
 
-        style = gtk_widget_get_style(GTK_WIDGET(dcal));
-
-        font_desc = pango_font_description_copy(style->font_desc);
+        stylectxt = gtk_widget_get_style_context (GTK_WIDGET(dcal));
+        state_flags = gtk_style_context_get_state (stylectxt);
+        gtk_style_context_get (stylectxt, state_flags,
+                               GTK_STYLE_PROPERTY_FONT, &font_desc, NULL);
         font_size = pango_font_description_get_size(font_desc);
         font_size -= font_size_reduction_units * PANGO_SCALE;
         pango_font_description_set_size(font_desc, font_size);
-        gtk_widget_modify_font(GTK_WIDGET(dcal), font_desc);
+        gtk_widget_override_font(GTK_WIDGET(dcal), font_desc);
         pango_font_description_free(font_desc);
 
         maxWidth = maxHeight = 0;
@@ -707,10 +701,6 @@ gnc_dense_cal_realize (GtkWidget *widget, gpointer user_data)
 
     recompute_x_y_scales(dcal);
     gdc_reconfig(dcal);
-
-    gtk_style_set_background(gtk_widget_get_style (widget),
-                             gtk_widget_get_window (widget),
-                             GTK_STATE_ACTIVE);
 }
 
 static void
@@ -887,8 +877,10 @@ static void
 gnc_dense_cal_draw_to_buffer(GncDenseCal *dcal)
 {
     GtkWidget *widget;
+    GtkStyleContext *stylectxt;
+    GtkStateFlags state_flags;
     GtkAllocation alloc;
-    GdkColor color;
+    GdkRGBA color;
     gint i;
     int maxWidth;
     PangoLayout *layout;
@@ -908,10 +900,10 @@ gnc_dense_cal_draw_to_buffer(GncDenseCal *dcal)
     LOG_AND_RESET(timer, "create_pango_layout");
 
     gtk_widget_get_allocation (GTK_WIDGET(dcal->cal_drawing_area), &alloc);
-    color = gtk_widget_get_style (widget)->white;
-    cairo_set_source_rgb (cr, color.red   / 65535.0,
-                              color.green / 65535.0,
-                              color.blue  / 65535.0);
+    stylectxt = gtk_widget_get_style_context (widget);
+    state_flags = gtk_style_context_get_state (stylectxt);
+    gtk_style_context_get_background_color (stylectxt, state_flags, &color);
+    cairo_set_source_rgb (cr, color.red, color.green, color.blue);
     cairo_rectangle (cr, 0, 0,
                      cairo_image_surface_get_width (dcal->surface),
                      cairo_image_surface_get_height (dcal->surface));
@@ -942,9 +934,7 @@ gnc_dense_cal_draw_to_buffer(GncDenseCal *dcal)
             {
                 rect = (GdkRectangle*)mcListIter->data;
                 color = dcal->weekColors[ i % 2 ];
-                cairo_set_source_rgb (cr, color.red   / 65535.0,
-                              color.green / 65535.0,
-                              color.blue  / 65535.0);
+                cairo_set_source_rgb (cr, color.red, color.green, color.blue);
                 cairo_rectangle (cr, rect->x, rect->y,
                                      rect->width, rect->height);
                 cairo_fill (cr);
@@ -960,11 +950,8 @@ gnc_dense_cal_draw_to_buffer(GncDenseCal *dcal)
         int i;
         int x1, x2, y1, y2;
 
-        gdk_color_parse(MARK_COLOR, &color);
-        gdk_colormap_alloc_color(gdk_colormap_get_system(), &color, TRUE, TRUE);
-        cairo_set_source_rgb (cr, color.red   / 65535.0,
-                                  color.green / 65535.0,
-                                  color.blue  / 65535.0);
+        gdk_rgba_parse(&color, MARK_COLOR);
+        cairo_set_source_rgb (cr, color.red, color.green, color.blue);
 
         for (i = 0; i < dcal->numMarks; i++)
         {
@@ -1000,11 +987,9 @@ gnc_dense_cal_draw_to_buffer(GncDenseCal *dcal)
         h = col_height(dcal);
 
         /* draw the outside border [inside the month labels] */
-        color = gtk_widget_get_style (widget)->fg[gtk_widget_get_state (widget)];
+        gtk_style_context_get_border_color (stylectxt, state_flags, &color);
+        cairo_set_source_rgb (cr, color.red, color.green, color.blue);
         cairo_set_line_width (cr, 1);
-        cairo_set_source_rgb (cr, color.red   / 65535.0,
-                                  color.green / 65535.0,
-                                  color.blue  / 65535.0);
         cairo_rectangle (cr, x + 0.5, y + 0.5, w, h);
         cairo_stroke (cr);
 
@@ -1048,10 +1033,8 @@ gnc_dense_cal_draw_to_buffer(GncDenseCal *dcal)
                                  - (day_label_width / 2);
                 label_y_offset = y - dcal->dayLabelHeight;
                 pango_layout_set_text(layout, day_label_str, -1);
-                color = gtk_widget_get_style (widget)->text[gtk_widget_get_state (widget)];
-                cairo_set_source_rgb (cr, color.red   / 65535.0,
-                                          color.green / 65535.0,
-                                          color.blue  / 65535.0);
+                gtk_style_context_get_color (stylectxt, state_flags, &color);
+                cairo_set_source_rgb (cr, color.red, color.green, color.blue);
                 cairo_move_to (cr, label_x_offset, label_y_offset);
                 pango_cairo_show_layout (cr, layout);
             }
diff --git a/src/gnome-utils/gnc-dense-cal.h b/src/gnome-utils/gnc-dense-cal.h
index c193327..1d975fd 100644
--- a/src/gnome-utils/gnc-dense-cal.h
+++ b/src/gnome-utils/gnc-dense-cal.h
@@ -84,7 +84,7 @@ struct _GncDenseCal
 
     gdc_month_coords monthPositions[12];
 
-    GdkColor weekColors[MAX_COLORS];
+    GdkRGBA weekColors[MAX_COLORS];
 
     guint label_width;
     guint label_height;
diff --git a/src/gnome-utils/gnc-main-window.c b/src/gnome-utils/gnc-main-window.c
index 04dbe26..7a198c9 100644
--- a/src/gnome-utils/gnc-main-window.c
+++ b/src/gnome-utils/gnc-main-window.c
@@ -35,6 +35,7 @@
 #include "config.h"
 
 #include <glib/gi18n.h>
+#include <gdk/gdk.h>
 #include <gdk/gdkkeysyms.h>
 
 #include "gnc-plugin.h"
@@ -2259,7 +2260,7 @@ main_window_update_page_color (GncPluginPage *page,
     GncMainWindow *window;
     GncMainWindowPrivate *priv;
     GtkWidget *tab_widget;
-    GdkColor tab_color;
+    GdkRGBA tab_color;
     gchar *color_string = NULL;
     gboolean want_color = FALSE;
 
@@ -2281,7 +2282,7 @@ main_window_update_page_color (GncPluginPage *page,
     main_window_find_tab_widget (window, page, &tab_widget);
     priv = GNC_MAIN_WINDOW_GET_PRIVATE(window);
 
-    if (want_color && gdk_color_parse(color_string, &tab_color) && priv->show_color_tabs)
+    if (want_color && gdk_rgba_parse(&tab_color, color_string) && priv->show_color_tabs)
     {
         if (!GTK_IS_EVENT_BOX (tab_widget))
         {
@@ -2293,8 +2294,8 @@ main_window_update_page_color (GncPluginPage *page,
             g_object_unref (tab_widget);
             tab_widget = event_box;
         }
-        gtk_widget_modify_bg(tab_widget, GTK_STATE_NORMAL, &tab_color);
-        gtk_widget_modify_bg(tab_widget, GTK_STATE_ACTIVE, &tab_color);
+        gtk_widget_override_background_color (tab_widget, GTK_STATE_NORMAL, &tab_color);
+        gtk_widget_override_background_color (tab_widget, GTK_STATE_ACTIVE, &tab_color);
     }
     else
     {
@@ -2856,7 +2857,6 @@ gnc_main_window_open_page (GncMainWindow *window,
     GtkWidget *image;
     GList *tmp;
     gint width;
-    GdkColor tab_color;
 
     ENTER("window %p, page %p", window, page);
     if (window)
diff --git a/src/gnome-utils/gnc-tree-view-account.c b/src/gnome-utils/gnc-tree-view-account.c
index d9d1ddd..5f41d2c 100644
--- a/src/gnome-utils/gnc-tree-view-account.c
+++ b/src/gnome-utils/gnc-tree-view-account.c
@@ -600,7 +600,7 @@ acc_color_data_func (GtkTreeViewColumn *col,
     GncTreeViewAccountPrivate *priv;
     gchar                     *acc_color = NULL, *acc_cond_color = NULL;
     gchar                     *item;
-    GdkColor                   color;
+    GdkRGBA                    color;
     gchar                     *column_name;
     GList                     *renderers;
 
@@ -616,7 +616,7 @@ acc_color_data_func (GtkTreeViewColumn *col,
     g_free (item);
 
     /* Test if the color string represents a valid color */
-    if (acc_color && (!gdk_color_parse(acc_color, &color)))
+    if (acc_color && (!gdk_rgba_parse(&color, acc_color)))
     {
         g_free (acc_color);
         acc_color = NULL;
diff --git a/src/gnome-utils/gnc-tree-view-split-reg.c b/src/gnome-utils/gnc-tree-view-split-reg.c
index 5818eb4..9892247 100644
--- a/src/gnome-utils/gnc-tree-view-split-reg.c
+++ b/src/gnome-utils/gnc-tree-view-split-reg.c
@@ -5779,7 +5779,7 @@ gtv_sr_editable_start_editing_cb (GtkCellRenderer *cr, GtkCellEditable *editable
 
     /* Lets change the background of the entry widgets */
     {
-        GdkColor     color;
+        GdkRGBA      color;
         const gchar *row_color;
         gboolean     is_trow1 = FALSE;
         gboolean     is_trow2 = FALSE;
@@ -5794,10 +5794,10 @@ gtv_sr_editable_start_editing_cb (GtkCellRenderer *cr, GtkCellEditable *editable
 
         row_color = gnc_tree_model_split_reg_get_row_color (model, is_trow1, is_trow2, is_split, indices[0]);
 
-        if (gdk_color_parse (row_color, &color))
+        if (gdk_rgba_parse (&color, row_color))
         {
             if (entry != NULL)
-                gtk_widget_modify_base (GTK_WIDGET (entry), GTK_STATE_NORMAL, &color);
+                gtk_widget_override_background_color (GTK_WIDGET (entry), GTK_STATE_FLAG_NORMAL, &color);
         }
     }
 
diff --git a/src/import-export/csv-imp/csv-account-import.c b/src/import-export/csv-imp/csv-account-import.c
index 81e647f..10091f0 100644
--- a/src/import-export/csv-imp/csv-account-import.c
+++ b/src/import-export/csv-imp/csv-account-import.c
@@ -179,7 +179,7 @@ csv_account_import (CsvImportInfo *info)
     QofBook       *book;
     Account       *acc, *parent, *root;
     gboolean       valid;
-    GdkColor       testcolor;
+    GdkRGBA       testcolor;
     GtkTreeIter    iter;
     gchar         *type, *full_name, *name, *code, *description, *color;
     gchar         *notes, *commoditym, *commodityn, *hidden, *tax, *place_holder;
@@ -271,7 +271,7 @@ csv_account_import (CsvImportInfo *info)
 
                     if (g_strcmp0 (color, "") != 0)
                     {
-                        if (gdk_color_parse (color, &testcolor))
+                        if (gdk_rgba_parse (&testcolor, color))
                             xaccAccountSetColor (acc, color);
                     }
 
@@ -311,7 +311,7 @@ csv_account_import (CsvImportInfo *info)
             info->num_updates = info->num_updates + 1;
             if (g_strcmp0 (color, "") != 0)
             {
-                if (gdk_color_parse (color, &testcolor))
+                if (gdk_rgba_parse (&testcolor, color))
                     xaccAccountSetColor (acc, color);
             }
 
diff --git a/src/import-export/import-main-matcher.c b/src/import-export/import-main-matcher.c
index 4a5c8cd..8705220 100644
--- a/src/import-export/import-main-matcher.c
+++ b/src/import-export/import-main-matcher.c
@@ -57,9 +57,9 @@ struct _main_matcher_info
     GtkWidget *assistant;
     GtkTreeView *view;
     GNCImportSettings *user_settings;
-    GdkColor color_back_red;
-    GdkColor color_back_green;
-    GdkColor color_back_yellow;
+    GdkRGBA color_back_red;
+    GdkRGBA color_back_green;
+    GdkRGBA color_back_yellow;
     int selected_row;
     GNCTransactionProcessedCB transaction_processed_cb;
     gpointer user_data;
@@ -215,11 +215,14 @@ on_matcher_help_clicked (GtkButton *button, gpointer user_data)
     gnc_builder_add_from_file (builder, "dialog-import.glade", "matcher_help");
 
     box = GTK_WIDGET(gtk_builder_get_object (builder, "red"));
-    gtk_widget_modify_bg(box, GTK_STATE_NORMAL, &info->color_back_red);
+    gtk_widget_override_background_color(box, GTK_STATE_FLAG_NORMAL,
+                                         &info->color_back_red);
     box = GTK_WIDGET(gtk_builder_get_object (builder, "yellow"));
-    gtk_widget_modify_bg(box, GTK_STATE_NORMAL, &info->color_back_yellow);
+    gtk_widget_override_background_color(box, GTK_STATE_FLAG_NORMAL,
+                                         &info->color_back_yellow);
     box = GTK_WIDGET(gtk_builder_get_object (builder, "green"));
-    gtk_widget_modify_bg(box, GTK_STATE_NORMAL, &info->color_back_green);
+    gtk_widget_override_background_color(box, GTK_STATE_FLAG_NORMAL,
+                                         &info->color_back_green);
 
     help_dialog = GTK_WIDGET(gtk_builder_get_object (builder, "matcher_help"));
     gtk_window_set_transient_for(GTK_WINDOW(help_dialog),
@@ -546,9 +549,9 @@ GNCImportMainMatcher *gnc_gen_trans_list_new (GtkWidget *parent,
     			  GTK_WINDOW (parent));*/
 
     /*Initialise the colors */
-    gdk_color_parse(COLOR_RED,    &info->color_back_red);
-    gdk_color_parse(COLOR_YELLOW, &info->color_back_yellow);
-    gdk_color_parse(COLOR_GREEN,  &info->color_back_green);
+    gdk_rgba_parse(&info->color_back_red,    COLOR_RED);
+    gdk_rgba_parse(&info->color_back_yellow, COLOR_YELLOW);
+    gdk_rgba_parse(&info->color_back_green,  COLOR_GREEN);
 
     if (heading)
         gtk_label_set_text (GTK_LABEL (heading_label), heading);
@@ -608,9 +611,9 @@ GNCImportMainMatcher * gnc_gen_trans_assist_new (GtkWidget *parent,
     g_assert (heading_label != NULL);
 
     /*Initialise the colors */
-    gdk_color_parse(COLOR_RED,    &info->color_back_red);
-    gdk_color_parse(COLOR_YELLOW, &info->color_back_yellow);
-    gdk_color_parse(COLOR_GREEN,  &info->color_back_green);
+    gdk_rgba_parse(&info->color_back_red,    COLOR_RED);
+    gdk_rgba_parse(&info->color_back_yellow, COLOR_YELLOW);
+    gdk_rgba_parse(&info->color_back_green,  COLOR_GREEN);
 
     if (heading)
         gtk_label_set_text (GTK_LABEL (heading_label), heading);
diff --git a/src/register/register-gnome/gnucash-color.c b/src/register/register-gnome/gnucash-color.c
index 7911c9c..652078a 100644
--- a/src/register/register-gnome/gnucash-color.c
+++ b/src/register/register-gnome/gnucash-color.c
@@ -38,15 +38,14 @@
 #include <config.h>
 #endif
 
-#include <gtk/gtk.h>
 #include <gdk/gdk.h>
 #include "gnucash-color.h"
 
 static int color_inited;
 
 /* Public Colors */
-GdkColor gn_white, gn_black, gn_light_gray;
-GdkColor gn_dark_gray, gn_blue, gn_red, gn_yellow;
+GdkRGBA gn_white, gn_black, gn_light_gray;
+GdkRGBA gn_dark_gray, gn_blue, gn_red, gn_yellow;
 
 static GHashTable *color_hash_table = NULL;
 
@@ -69,61 +68,14 @@ color_equal (gconstpointer v, gconstpointer w)
 }
 
 
-gulong
-gnucash_color_alloc (gushort red, gushort green, gushort blue)
-{
-    GdkColormap *colormap = gtk_widget_get_default_colormap ();
-    GdkColor *c;
-
-    if (!color_inited)
-        gnucash_color_init ();
-
-    c = g_new0 (GdkColor, 1);
-    c->red = red;
-    c->green = green;
-    c->blue = blue;
-
-    g_return_val_if_fail (gdk_colormap_alloc_color (colormap, c, FALSE, TRUE), 0);
-
-    return c->pixel;
-}
-
-
-void
-gnucash_color_alloc_gdk (GdkColor *c)
-{
-    GdkColormap *colormap = gtk_widget_get_default_colormap ();
-
-    g_return_if_fail (c != NULL);
-
-    g_assert (gdk_colormap_alloc_color (colormap, c,
-                                        FALSE, TRUE));
-}
-
-
-void
-gnucash_color_alloc_name (const char *name, GdkColor *c)
-{
-    GdkColormap *colormap = gtk_widget_get_default_colormap ();
-
-    g_return_if_fail (name != NULL);
-    g_return_if_fail (c != NULL);
-
-    gdk_color_parse (name, c);
-    c->pixel = 0;
-    g_assert (gdk_colormap_alloc_color (colormap, c,
-                                        FALSE, TRUE));
-}
-
-
 /* This function takes an argb spec for a color and returns an
- *  allocated GdkColor.  We take care of allocating and managing
+ *  allocated GdkRGBA.  We take care of allocating and managing
  *  the colors.  Caller must not touch the returned color.
  */
-GdkColor *
+GdkRGBA *
 gnucash_color_argb_to_gdk (guint32 argb)
 {
-    GdkColor *color;
+    GdkRGBA *color;
     const guint32 key = argb;
     guint32 *newkey;
 
@@ -132,16 +84,15 @@ gnucash_color_argb_to_gdk (guint32 argb)
     if (color)
         return color;
 
-    color = g_new0(GdkColor, 1);
+    color = g_new0(GdkRGBA, 1);
     newkey = g_new0(guint32, 1);
 
     *newkey = key;
 
-    color->red = (argb & 0xff0000) >> 8;
-    color->green = argb & 0xff00;
-    color->blue = (argb & 0xff) << 8;
-
-    gnucash_color_alloc_gdk(color);
+    color->red   = ((argb & 0xff0000) >> 8)/ 65535.0;
+    color->green = (argb & 0xff00) / 65535.0;
+    color->blue  = ((argb & 0xff) << 8) / 65535.0;
+    color->alpha = 1.0;
 
     g_hash_table_insert (color_hash_table, newkey, color);
 
@@ -153,14 +104,14 @@ void
 gnucash_color_init (void)
 {
     /* Allocate the default colors */
-    gnucash_color_alloc_name ("white",  &gn_white);
-    gnucash_color_alloc_name ("black",  &gn_black);
+    gdk_rgba_parse (&gn_white, "white");
+    gdk_rgba_parse (&gn_black, "black");
 
-    gnucash_color_alloc_name ("gray60", &gn_light_gray);
-    gnucash_color_alloc_name ("gray40", &gn_dark_gray);
-    gnucash_color_alloc_name ("blue",   &gn_blue);
-    gnucash_color_alloc_name ("red",    &gn_red);
-    gnucash_color_alloc_name ("yellow", &gn_yellow);
+    gdk_rgba_parse (&gn_light_gray, "gray60");
+    gdk_rgba_parse (&gn_dark_gray,  "gray40");
+    gdk_rgba_parse (&gn_blue,       "blue");
+    gdk_rgba_parse (&gn_red,        "red");
+    gdk_rgba_parse (&gn_yellow,     "yellow");
 
     if (!color_hash_table)
         color_hash_table = g_hash_table_new (color_hash, color_equal);
@@ -168,15 +119,4 @@ gnucash_color_init (void)
     color_inited = 1;
 }
 
-void
-to_cairo_rgb (GdkColor *gdk_col, cairo_rgb *c_col)
-{
-    g_return_if_fail(gdk_col != NULL);
-    g_return_if_fail(c_col != NULL);
-
-    c_col->red   = gdk_col->red   / 65535.0;
-    c_col->green = gdk_col->green / 65535.0;
-    c_col->blue  = gdk_col->blue  / 65535.0;
-}
-
 
diff --git a/src/register/register-gnome/gnucash-color.h b/src/register/register-gnome/gnucash-color.h
index fd04a77..7e3c9bc 100644
--- a/src/register/register-gnome/gnucash-color.h
+++ b/src/register/register-gnome/gnucash-color.h
@@ -30,27 +30,14 @@
  * @{
  */
 /** @file gnucash-color.h
- * @brief Wrap GdkColor for use in Register Gnome classes.
+ * @brief Convenience wrapper around GdkRGBA for use in Register Gnome classes.
  */
 void      gnucash_color_init        (void);
 
 /** Return the pixel value for the given red, green and blue */
-gulong    gnucash_color_alloc       (gushort red, gushort green, gushort blue);
-void      gnucash_color_alloc_name  (const char *name, GdkColor *color);
-void      gnucash_color_alloc_gdk   (GdkColor *color);
-GdkColor *gnucash_color_argb_to_gdk (guint32 argb);
+GdkRGBA  *gnucash_color_argb_to_gdk (guint32 argb);
 
-
-typedef struct
-{
-    double red;
-    double green;
-    double blue;
-} cairo_rgb;
-
-void to_cairo_rgb (GdkColor *gdk_col, cairo_rgb *c_col);
-
-extern GdkColor gn_white, gn_light_gray, gn_dark_gray;
-extern GdkColor gn_black, gn_blue, gn_red, gn_yellow;
+extern GdkRGBA gn_white, gn_light_gray, gn_dark_gray;
+extern GdkRGBA gn_black, gn_blue, gn_red, gn_yellow;
 /** @} */
 #endif /* GNUCASH_COLOR_H */
diff --git a/src/register/register-gnome/gnucash-header.c b/src/register/register-gnome/gnucash-header.c
index ae4c910..c7ac7f0 100644
--- a/src/register/register-gnome/gnucash-header.c
+++ b/src/register/register-gnome/gnucash-header.c
@@ -66,8 +66,7 @@ gnc_header_draw_offscreen (GncHeader *header)
     Table *table = header->sheet->table;
     VirtualLocation virt_loc;
     VirtualCell *vcell;
-    GdkColor *gdk_bg_col, *gdk_fg_col;
-    cairo_rgb fg_color, bg_color;
+    GdkRGBA *fg_color, *bg_color;
     int row_offset;
     CellBlock *cb;
     int i;
@@ -82,22 +81,19 @@ gnc_header_draw_offscreen (GncHeader *header)
     {
         guint32 color_type;
         color_type = gnc_table_get_gtkrc_bg_color (table, virt_loc, NULL);
-        gdk_bg_col = get_gtkrc_color(header->sheet, color_type);
+        bg_color = get_gtkrc_color(header->sheet, color_type);
         color_type = gnc_table_get_gtkrc_fg_color (table, virt_loc);
-        gdk_fg_col = get_gtkrc_color(header->sheet, color_type);
+        fg_color = get_gtkrc_color(header->sheet, color_type);
     }
     else
     {
         guint32 argb;
         argb = gnc_table_get_bg_color (table, virt_loc, NULL);
-        gdk_bg_col = gnucash_color_argb_to_gdk (argb);
+        bg_color = gnucash_color_argb_to_gdk (argb);
         argb = gnc_table_get_fg_color (table, virt_loc);
-        gdk_fg_col = gnucash_color_argb_to_gdk (argb);
+        fg_color = gnucash_color_argb_to_gdk (argb);
     }
 
-    to_cairo_rgb(gdk_fg_col, &fg_color);
-    to_cairo_rgb(gdk_bg_col, &bg_color);
-
     if (header->surface)
         cairo_surface_destroy (header->surface);
     header->surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
@@ -106,9 +102,9 @@ gnc_header_draw_offscreen (GncHeader *header)
 
     cr = cairo_create (header->surface);
     cairo_rectangle (cr, 0.5, 0.5, header->width - 1.0, header->height - 1.0);
-    cairo_set_source_rgb (cr, bg_color.red, bg_color.green, bg_color.blue);
+    cairo_set_source_rgb (cr, bg_color->red, bg_color->green, bg_color->blue);
     cairo_fill_preserve (cr);
-    cairo_set_source_rgb (cr, fg_color.red, fg_color.green, fg_color.blue);
+    cairo_set_source_rgb (cr, fg_color->red, fg_color->green, fg_color->blue);
     cairo_set_line_width (cr, 1.0);
     cairo_stroke (cr);
 //    cairo_set_line_width (cr, 1.0);
@@ -200,6 +196,11 @@ gnc_header_draw_offscreen (GncHeader *header)
         row_offset += h;
     }
 
+    if (header->sheet->use_theme_colors)
+    {
+        gdk_rgba_free(bg_color);
+        gdk_rgba_free(fg_color);
+    }
     cairo_destroy (cr);
 }
 
diff --git a/src/register/register-gnome/gnucash-sheet-private.c b/src/register/register-gnome/gnucash-sheet-private.c
index 383588a..d7f8ed5 100644
--- a/src/register/register-gnome/gnucash-sheet-private.c
+++ b/src/register/register-gnome/gnucash-sheet-private.c
@@ -283,34 +283,34 @@ static guint32 dec_intensity_10percent(guint32 argb)
 /* Actual drawing routines */
 
 G_INLINE_FUNC void
-draw_cell_line (cairo_t *cr, cairo_rgb *bg_color,
+draw_cell_line (cairo_t *cr, GdkRGBA *bg_color,
                 double x1, double y1, double x2, double y2,
                 PhysicalCellBorderLineStyle style);
 
 void
-draw_cell_line (cairo_t *cr, cairo_rgb *bg_color,
+draw_cell_line (cairo_t *cr, GdkRGBA *bg_color,
                 double x1, double y1, double x2, double y2,
                 PhysicalCellBorderLineStyle style)
 {
-    cairo_rgb fg_color;
+    GdkRGBA *fg_color;
 
     switch (style)
     {
         case CELL_BORDER_LINE_NONE:
-            fg_color = *bg_color;
+            fg_color = bg_color;
             break;
 
         case CELL_BORDER_LINE_LIGHT:
-            to_cairo_rgb (&gn_light_gray, &fg_color);
+            fg_color = &gn_light_gray;
             break;
 
         case CELL_BORDER_LINE_NORMAL:
         case CELL_BORDER_LINE_HEAVY:
-            to_cairo_rgb (&gn_black, &fg_color);
+            fg_color = &gn_black;
             break;
 
         case CELL_BORDER_LINE_HIGHLIGHT:
-            to_cairo_rgb (&gn_red, &fg_color);
+            fg_color = &gn_red;
             break;
 
         default:
@@ -318,7 +318,7 @@ draw_cell_line (cairo_t *cr, cairo_rgb *bg_color,
     }
 
     cairo_set_line_width (cr, 1.0);
-    cairo_set_source_rgb (cr, fg_color.red, fg_color.green, fg_color.blue);
+    cairo_set_source_rgb (cr, fg_color->red, fg_color->green, fg_color->blue);
     cairo_move_to (cr, x1, y1);
     cairo_line_to (cr, x2, y2);
     cairo_stroke (cr);
@@ -328,14 +328,14 @@ static void
 draw_hatching (cairo_t *cr,
                double x, double y, G_GNUC_UNUSED double width, double height)
 {
-    cairo_rgb fg_color;
+    GdkRGBA *fg_color;
     double h_x = x + 2.5;
     double h_y = y + 2.5;
     double h_size = height / 3 - 1;
 
     cairo_set_line_width (cr, 1.0);
-    to_cairo_rgb(&gn_light_gray, &fg_color);
-    cairo_set_source_rgb (cr, fg_color.red, fg_color.green, fg_color.blue);
+    fg_color = &gn_light_gray;
+    cairo_set_source_rgb (cr, fg_color->red, fg_color->green, fg_color->blue);
 
     cairo_rectangle (cr, h_x, h_y, h_size, h_size);
 
@@ -349,7 +349,7 @@ draw_hatching (cairo_t *cr,
 
 static void
 draw_divider_line (cairo_t *cr, VirtualLocation virt_loc,
-                   int div_row, int n_phys_rows, cairo_rgb *fg_color,
+                   int div_row, int n_phys_rows, GdkRGBA *fg_color,
                    double x, double y, double width, double height)
 {
     double offset;
@@ -389,8 +389,7 @@ draw_cell (GnucashSheet *sheet,
     PangoContext *context;
     PangoFontDescription *font;
     PangoRectangle logical_rect;
-    GdkColor *gdk_bg_color, *gdk_fg_color;
-    cairo_rgb bg_color, fg_color;
+    GdkRGBA *bg_color, *fg_color;
     GdkRectangle rect;
     gboolean hatching;
     guint32 argb, color_type;
@@ -400,7 +399,7 @@ draw_cell (GnucashSheet *sheet,
     {
         color_type = gnc_table_get_gtkrc_bg_color (table, virt_loc,
                      &hatching);
-        gdk_bg_color = get_gtkrc_color(sheet, color_type);
+        bg_color = get_gtkrc_color(sheet, color_type);
     }
     else
     {
@@ -412,18 +411,17 @@ draw_cell (GnucashSheet *sheet,
         {
             argb = dec_intensity_10percent(argb);
         }
-        gdk_bg_color = gnucash_color_argb_to_gdk (argb);
+        bg_color = gnucash_color_argb_to_gdk (argb);
     }
-    to_cairo_rgb(gdk_bg_color, &bg_color);
 
-    cairo_set_source_rgb (cr, bg_color.red, bg_color.green, bg_color.blue);
+    cairo_set_source_rgb (cr, bg_color->red, bg_color->green, bg_color->blue);
     cairo_rectangle (cr, x, y, width, height);
     cairo_fill (cr);
 
     get_cell_borders (sheet, virt_loc, &borders);
 
     /* top */
-    draw_cell_line (cr, &bg_color,
+    draw_cell_line (cr, bg_color,
                     (borders.top >= borders.left ? x : x + 1.0),
                     y + 0.5,
                     (borders.top >= borders.right ?
@@ -432,7 +430,7 @@ draw_cell (GnucashSheet *sheet,
                     borders.top);
 
     /* bottom */
-    draw_cell_line (cr, &bg_color,
+    draw_cell_line (cr, bg_color,
                     (borders.bottom >= borders.left ? x : x + 1),
                     y + height + 0.5,
                     (borders.bottom >= borders.right ?
@@ -441,7 +439,7 @@ draw_cell (GnucashSheet *sheet,
                     borders.bottom);
 
     /* left */
-    draw_cell_line (cr, &bg_color,
+    draw_cell_line (cr, bg_color,
                     x + 0.5,
                     (borders.left > borders.top ? y : y + 1),
                     x + 0.5,
@@ -450,7 +448,7 @@ draw_cell (GnucashSheet *sheet,
                     borders.left);
 
     /* right */
-    draw_cell_line (cr, &bg_color,
+    draw_cell_line (cr, bg_color,
                     x + width + 0.5,
                     (borders.right > borders.top ? y : y + 1),
                     x + width + 0.5,
@@ -463,21 +461,21 @@ draw_cell (GnucashSheet *sheet,
                                x, y, width, height);
 
     /* dividing line upper (red) */
-    to_cairo_rgb (&gn_red, &fg_color);
+    fg_color = &gn_red;
     draw_divider_line(cr, virt_loc,
                            table->model->dividing_row_upper, block->style->nrows,
-                           &fg_color, x, y, width, height);
+                           fg_color, x, y, width, height);
 
     /* dividing line (blue) */
-    to_cairo_rgb (&gn_blue, &fg_color);
+    fg_color = &gn_blue;
     draw_divider_line(cr, virt_loc,
                            table->model->dividing_row, block->style->nrows,
-                           &fg_color, x, y, width, height);
+                           fg_color, x, y, width, height);
 
     /* dividing line lower (blue) */
     draw_divider_line(cr, virt_loc,
                            table->model->dividing_row_lower, block->style->nrows,
-                           &fg_color, x, y, width, height);
+                           fg_color, x, y, width, height);
 
     text = gnc_table_get_entry (table, virt_loc);
 
@@ -490,7 +488,7 @@ draw_cell (GnucashSheet *sheet,
     if (sheet->use_theme_colors)
     {
         color_type = gnc_table_get_gtkrc_fg_color (table, virt_loc);
-        gdk_fg_color = get_gtkrc_color(sheet, color_type);
+        fg_color = get_gtkrc_color(sheet, color_type);
     }
     else
     {
@@ -504,11 +502,9 @@ draw_cell (GnucashSheet *sheet,
             argb = inc_intensity_10percent(argb);
         }
 #endif
-        gdk_fg_color = gnucash_color_argb_to_gdk (argb);
+        fg_color = gnucash_color_argb_to_gdk (argb);
     }
 
-    to_cairo_rgb (gdk_fg_color, &fg_color);
-
     /* If this is the currently open transaction and
        there is no text in this cell */
     if ((table->current_cursor_loc.vcell_loc.virt_row ==
@@ -518,12 +514,12 @@ draw_cell (GnucashSheet *sheet,
         text = gnc_table_get_label (table, virt_loc);
         if ((text == NULL) || (*text == '\0'))
             goto exit;
-        to_cairo_rgb (&gn_light_gray, &fg_color);
+        fg_color = &gn_light_gray;
         pango_layout_set_text (layout, text, strlen (text));
         pango_font_description_set_style (font, PANGO_STYLE_ITALIC);
         pango_context_set_font_description (context, font);
     }
-    cairo_set_source_rgb (cr, fg_color.red, fg_color.green, fg_color.blue);
+    cairo_set_source_rgb (cr, fg_color->red, fg_color->green, fg_color->blue);
 
     if ((text == NULL) || (*text == '\0'))
     {
@@ -575,6 +571,12 @@ exit:
     pango_context_set_font_description (context, font);
     pango_font_description_free (font);
     g_object_unref (layout);
+
+    if (sheet->use_theme_colors)
+    {
+        gdk_rgba_free(bg_color);
+        gdk_rgba_free(fg_color);
+    }
 }
 
 static void
@@ -680,9 +682,9 @@ void
 gnucash_sheet_draw_cursor (GnucashCursor *cursor, cairo_t *cr)
 {
     GnucashCursorCell *cc = &(cursor->cell);
-    cairo_rgb fg_color;
+    GdkRGBA *fg_color;
 
-    to_cairo_rgb(&gn_black, &fg_color);
+    fg_color = &gn_black;
 
     /* draw the rectangle around the entire active
      *    virtual *row */
@@ -690,13 +692,13 @@ gnucash_sheet_draw_cursor (GnucashCursor *cursor, cairo_t *cr)
                      cursor->w - 1.0, cursor->h - 1.0);
     cairo_move_to (cr, cursor->x, cursor->y + cursor->h - 1.5);
     cairo_rel_line_to (cr, cursor->w, 0);
-    cairo_set_source_rgb (cr, fg_color.red, fg_color.green, fg_color.blue);
+    cairo_set_source_rgb (cr, fg_color->red, fg_color->green, fg_color->blue);
     cairo_set_line_width (cr, 1.0);
     cairo_stroke (cr);
 
     cairo_rectangle (cr, cc->x + 0.5, cursor->y + cc->y + 0.5,
                      cc->w - 1.0, cc->h - 1.0);
-    cairo_set_source_rgb (cr, fg_color.red, fg_color.green, fg_color.blue);
+    cairo_set_source_rgb (cr, fg_color->red, fg_color->green, fg_color->blue);
     cairo_set_line_width (cr, 1.0);
     cairo_stroke (cr);
 }
diff --git a/src/register/register-gnome/gnucash-sheet.c b/src/register/register-gnome/gnucash-sheet.c
index 867be4f..43d9620 100644
--- a/src/register/register-gnome/gnucash-sheet.c
+++ b/src/register/register-gnome/gnucash-sheet.c
@@ -2311,31 +2311,27 @@ gnucash_sheet_realize_entry (GnucashSheet *sheet, GtkWidget *entry)
  */
 
 /** Map a cell type to a gtkrc specified color. */
-GdkColor *
+GdkRGBA *
 get_gtkrc_color (GnucashSheet *sheet,
                  RegisterColor field_type)
 {
     GtkWidget *widget = NULL;
-    GtkStyle *style;
-    GdkColor *white, *black, *red;
-    GdkColor *color = NULL;
+    GtkStyleContext *stylectxt;
+    GdkRGBA color;
 
-    white = gnucash_color_argb_to_gdk (0xFFFFFF);
-    black = gnucash_color_argb_to_gdk (0x000000);
-    red   = gnucash_color_argb_to_gdk (0xFF0000); /* Hardcoded...*/
     switch (field_type)
     {
     default:
-        return white;
+        return gdk_rgba_copy (&gn_white);
 
     case COLOR_UNKNOWN_BG:
-        return white;
+        return gdk_rgba_copy (&gn_white);
 
     case COLOR_UNKNOWN_FG:
-        return black;
+        return gdk_rgba_copy (&gn_black);
 
     case COLOR_NEGATIVE:
-        return red;
+        return gdk_rgba_copy (&gn_red);  // FIXME shouldn't be hardcoded...
 
     case COLOR_HEADER_BG:
     case COLOR_HEADER_FG:
@@ -2364,44 +2360,43 @@ get_gtkrc_color (GnucashSheet *sheet,
         break;
     }
 
-    style = gtk_widget_get_style(widget);
-    if (!style)
-        return white;
+    stylectxt = gtk_widget_get_style_context (widget);
+    if (!stylectxt)
+        return gdk_rgba_copy (&gn_white);
 
     switch (field_type)
     {
     default:
-        return white;
+        return gdk_rgba_copy (&gn_white);
 
     case COLOR_HEADER_BG:
     case COLOR_PRIMARY_BG:
     case COLOR_SECONDARY_BG:
     case COLOR_SPLIT_BG:
-        color = &style->base[GTK_STATE_NORMAL];
+        gtk_style_context_get_background_color(stylectxt, GTK_STATE_FLAG_NORMAL, &color);
         break;
 
     case COLOR_PRIMARY_BG_ACTIVE:
     case COLOR_SECONDARY_BG_ACTIVE:
     case COLOR_SPLIT_BG_ACTIVE:
-        color = &style->base[GTK_STATE_SELECTED];
+        gtk_style_context_get_background_color(stylectxt, GTK_STATE_FLAG_SELECTED, &color);
         break;
 
     case COLOR_HEADER_FG:
     case COLOR_PRIMARY_FG:
     case COLOR_SECONDARY_FG:
     case COLOR_SPLIT_FG:
-        color = &style->text[GTK_STATE_NORMAL];
+        gtk_style_context_get_color(stylectxt, GTK_STATE_FLAG_NORMAL, &color);
         break;
 
     case COLOR_PRIMARY_FG_ACTIVE:
     case COLOR_SECONDARY_FG_ACTIVE:
     case COLOR_SPLIT_FG_ACTIVE:
-        color = &style->text[GTK_STATE_SELECTED];
+        gtk_style_context_get_color(stylectxt, GTK_STATE_FLAG_SELECTED, &color);
         break;
     }
 
-    gnucash_color_alloc_gdk(color);
-    return color;
+    return gdk_rgba_copy (&color);
 }
 
 /** Create the entries used for nameing register colors in gtkrc. */
diff --git a/src/register/register-gnome/gnucash-sheet.h b/src/register/register-gnome/gnucash-sheet.h
index 5ac304e..76a81c6 100644
--- a/src/register/register-gnome/gnucash-sheet.h
+++ b/src/register/register-gnome/gnucash-sheet.h
@@ -105,7 +105,7 @@ void gnucash_sheet_update_adjustments (GnucashSheet *sheet);
 
 void gnucash_sheet_set_window (GnucashSheet *sheet, GtkWidget *window);
 
-GdkColor *get_gtkrc_color (GnucashSheet *sheet, RegisterColor field_type);
+GdkRGBA *get_gtkrc_color (GnucashSheet *sheet, RegisterColor field_type);
 
 /** @} */
 #endif

commit f07ad114c4b6e5d830a05632c8670a163750112f
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Mon Mar 13 20:44:56 2017 +0100

    Gtk3: replace expose_event size_request functions
    
    expose_event has been replaced with draw
    size_request has become get_preferred_width and get_preferred_height

diff --git a/src/gnome-utils/gnc-dense-cal.c b/src/gnome-utils/gnc-dense-cal.c
index 596a0ae..4c44243 100644
--- a/src/gnome-utils/gnc-dense-cal.c
+++ b/src/gnome-utils/gnc-dense-cal.c
@@ -83,7 +83,7 @@ static void gnc_dense_cal_dispose(GObject *object);
 static void gnc_dense_cal_realize(GtkWidget *widget, gpointer user_data);
 static void gnc_dense_cal_configure(GtkWidget *widget, GdkEventConfigure *event, gpointer user_data);
 static void gnc_dense_cal_draw_to_buffer(GncDenseCal *dcal);
-static gboolean gnc_dense_cal_expose(GtkWidget *widget, GdkEventExpose *event, gpointer user_data);
+static gboolean gnc_dense_cal_draw(GtkWidget *widget, cairo_t *cr, gpointer user_data);
 
 static void gdc_reconfig(GncDenseCal *dcal);
 
@@ -300,7 +300,7 @@ gnc_dense_cal_init(GncDenseCal *dcal)
                           | GDK_POINTER_MOTION_MASK
                           | GDK_POINTER_MOTION_HINT_MASK));
     gtk_box_pack_start(GTK_BOX(dcal), GTK_WIDGET(dcal->cal_drawing_area), TRUE, TRUE, 0);
-    g_signal_connect(G_OBJECT(dcal->cal_drawing_area), "expose_event", G_CALLBACK(gnc_dense_cal_expose), (gpointer)dcal);
+    g_signal_connect(G_OBJECT(dcal->cal_drawing_area), "draw", G_CALLBACK(gnc_dense_cal_draw), (gpointer)dcal);
     g_signal_connect(G_OBJECT(dcal->cal_drawing_area), "realize", G_CALLBACK(gnc_dense_cal_realize), (gpointer)dcal);
     g_signal_connect(G_OBJECT(dcal->cal_drawing_area), "configure_event", G_CALLBACK(gnc_dense_cal_configure), (gpointer)dcal);
 
@@ -865,25 +865,18 @@ free_rect(gpointer data, gpointer ud)
 }
 
 static gboolean
-gnc_dense_cal_expose(GtkWidget *widget,
-                     GdkEventExpose *event,
-                     gpointer user_data)
+gnc_dense_cal_draw(GtkWidget *widget, cairo_t *cr, gpointer user_data)
 {
     GncDenseCal *dcal;
-    cairo_t *cr;
 
     g_return_val_if_fail(widget != NULL, FALSE);
     g_return_val_if_fail(GNC_IS_DENSE_CAL(user_data), FALSE);
-    g_return_val_if_fail(event != NULL, FALSE);
-
-    if (event->count > 0)
-        return FALSE;
 
     dcal = GNC_DENSE_CAL(user_data);
-    cr = gdk_cairo_create (gtk_widget_get_window (GTK_WIDGET(dcal->cal_drawing_area)));
+    cairo_save (cr);;
     cairo_set_source_surface (cr, dcal->surface, 0, 0);
     cairo_paint (cr);
-    cairo_destroy (cr);
+    cairo_restore (cr);
 
     return TRUE;
 }
diff --git a/src/register/register-gnome/gnucash-header.c b/src/register/register-gnome/gnucash-header.c
index 4b5801d..ae4c910 100644
--- a/src/register/register-gnome/gnucash-header.c
+++ b/src/register/register-gnome/gnucash-header.c
@@ -49,24 +49,18 @@ enum
 };
 
 static gboolean
-gnc_header_expose (GtkWidget *header,
-                   GdkEventExpose *event)
+gnc_header_draw (GtkWidget *header, cairo_t *cr)
 {
-    cairo_t *cr;
-    GdkWindow *binwin = gtk_layout_get_bin_window(GTK_LAYOUT(header));
-
-    cr = gdk_cairo_create (binwin);
+    cairo_save (cr);
     cairo_set_source_surface (cr, GNC_HEADER(header)->surface, 0, 0);
     cairo_paint (cr);
-    cairo_destroy (cr);
-
-    GTK_WIDGET_CLASS (parent_class)->expose_event (header, event);
+    cairo_restore (cr);
 
     return TRUE;
 }
 
 static void
-gnc_header_draw (GncHeader *header)
+gnc_header_draw_offscreen (GncHeader *header)
 {
     SheetBlockStyle *style = header->style;
     Table *table = header->sheet->table;
@@ -216,7 +210,7 @@ gnc_header_request_redraw (GncHeader *header)
     if (!header->style)
         return;
 
-    gnc_header_draw (header);
+    gnc_header_draw_offscreen (header);
     gtk_widget_queue_draw (GTK_WIDGET(header));
 }
 
@@ -636,10 +630,8 @@ gnc_header_class_init (GncHeaderClass *header_class)
 
 
     item_class->unrealize = gnc_header_unrealize;
-//    item_class->update    = gnc_header_update;
-    item_class->expose_event = gnc_header_expose;
+    item_class->draw      = gnc_header_draw;
     item_class->event     = gnc_header_event;
-//    item_class->point     = gnc_header_point;
 }
 
 
diff --git a/src/register/register-gnome/gnucash-sheet-private.c b/src/register/register-gnome/gnucash-sheet-private.c
index 82279a2..383588a 100644
--- a/src/register/register-gnome/gnucash-sheet-private.c
+++ b/src/register/register-gnome/gnucash-sheet-private.c
@@ -629,11 +629,15 @@ draw_block (GnucashSheet *sheet,
 }
 
 gboolean
-gnucash_sheet_draw_internal (GnucashSheet *sheet, cairo_t *cr,
-                             int x, int y, int width, int height)
+gnucash_sheet_draw_internal (GnucashSheet* sheet, cairo_t* cr,
+                             GtkAllocation* alloc)
 {
     VirtualLocation virt_loc;
     SheetBlock *sheet_block;
+    int x = alloc->x;
+    int y = alloc->y;
+    int width = alloc->width;
+    int height = alloc->height;
 
     if (x < 0 || y < 0)
         return FALSE;
diff --git a/src/register/register-gnome/gnucash-sheet.c b/src/register/register-gnome/gnucash-sheet.c
index 2fc02e9..867be4f 100644
--- a/src/register/register-gnome/gnucash-sheet.c
+++ b/src/register/register-gnome/gnucash-sheet.c
@@ -697,45 +697,42 @@ gnucash_sheet_create (Table *table)
     return sheet;
 }
 
-static gint
-compute_optimal_width (GnucashSheet *sheet)
+static void
+gnucash_sheet_get_preferred_width (G_GNUC_UNUSED GtkWidget *widget,
+                                   gint *minimal_width,
+                                   gint *natural_width)
 {
-    return DEFAULT_SHEET_WIDTH;
+    *minimal_width = *natural_width = DEFAULT_SHEET_WIDTH;
 }
 
 
 /* Compute the height needed to show DEFAULT_REGISTER_INITIAL_ROWS rows */
-static gint
-compute_optimal_height (GnucashSheet *sheet)
+static void
+gnucash_sheet_get_preferred_height (G_GNUC_UNUSED GtkWidget *widget,
+                                    gint *minimal_width,
+                                    gint *natural_width)
 {
+    GnucashSheet *sheet = GNUCASH_SHEET(widget);
     SheetBlockStyle *style;
     CellDimensions *cd;
     gint row_height;
 
+    *minimal_width = *natural_width = DEFAULT_SHEET_HEIGHT;
+
     if (!sheet)
-        return DEFAULT_SHEET_HEIGHT;
+        return;
 
     style = gnucash_sheet_get_style_from_cursor (sheet, CURSOR_HEADER);
     if (!style)
-        return DEFAULT_SHEET_HEIGHT;
+        return;
 
     cd = gnucash_style_get_cell_dimensions (style, 0, 0);
     if (cd == NULL)
-        return DEFAULT_SHEET_HEIGHT;
+        return;
 
     row_height = cd->pixel_height;
 
-    return row_height * DEFAULT_SHEET_INITIAL_ROWS;
-}
-
-
-static void
-gnucash_sheet_size_request (GtkWidget *widget, GtkRequisition *requisition)
-{
-    GnucashSheet *sheet = GNUCASH_SHEET(widget);
-
-    requisition->width = compute_optimal_width (sheet);
-    requisition->height = compute_optimal_height (sheet);
+    *minimal_width = *natural_width =  row_height * DEFAULT_SHEET_INITIAL_ROWS;
 }
 
 const char *
@@ -1050,23 +1047,17 @@ gnucash_sheet_delete_cb (GtkWidget *widget,
 }
 
 static gboolean
-gnucash_sheet_draw (GtkWidget *widget, GdkEventExpose *event)
+gnucash_sheet_draw (GtkWidget *widget, cairo_t *cr)
 {
     GnucashSheet *sheet = GNUCASH_SHEET (widget);
-    int x = event->area.x;
-    int y = event->area.y;
-    int width = event->area.width;
-    int height = event->area.height;
-    GdkWindow *binwin = gtk_layout_get_bin_window(GTK_LAYOUT(sheet));
-    cairo_t *cr;
+    GtkAllocation alloc;
+    gtk_widget_get_allocation(widget, &alloc);
     gboolean result;
 
-    cr = gdk_cairo_create (binwin);
-    result = gnucash_sheet_draw_internal (sheet, cr, x, y, width, height);
-
+    cairo_save (cr);
+    result = gnucash_sheet_draw_internal (sheet, cr, &alloc);
     gnucash_sheet_draw_cursor (sheet->cursor, cr);
-
-    cairo_destroy(cr);
+    cairo_restore (cr);
 
     return result;
 }
@@ -2457,7 +2448,8 @@ gnucash_sheet_class_init (GnucashSheetClass *klass)
     /* Method override */
     gobject_class->finalize = gnucash_sheet_finalize;
 
-    widget_class->size_request = gnucash_sheet_size_request;
+    widget_class->get_preferred_width = gnucash_sheet_get_preferred_width;
+    widget_class->get_preferred_height = gnucash_sheet_get_preferred_height;
     widget_class->size_allocate = gnucash_sheet_size_allocate;
 
     widget_class->focus_in_event = gnucash_sheet_focus_in_event;
@@ -2469,7 +2461,7 @@ gnucash_sheet_class_init (GnucashSheetClass *klass)
     widget_class->button_release_event = gnucash_button_release_event;
     widget_class->scroll_event = gnucash_scroll_event;
 
-    widget_class->expose_event = gnucash_sheet_draw;
+    widget_class->draw = gnucash_sheet_draw;
 
 }
 
diff --git a/src/register/register-gnome/gnucash-sheetP.h b/src/register/register-gnome/gnucash-sheetP.h
index b4a05e3..38fed6a 100644
--- a/src/register/register-gnome/gnucash-sheetP.h
+++ b/src/register/register-gnome/gnucash-sheetP.h
@@ -135,7 +135,7 @@ void gnucash_sheet_refresh_from_prefs (GnucashSheet *sheet);
 gboolean   gnucash_sheet_find_loc_by_pixel (GnucashSheet *sheet, gint x, gint y,
                                            VirtualLocation *vcell_loc);
 gboolean gnucash_sheet_draw_internal (GnucashSheet *sheet, cairo_t *cr,
-                                      int x, int y, int width, int height);
+                                      GtkAllocation *alloc);
 void gnucash_sheet_draw_cursor (GnucashCursor *cursor, cairo_t *cr);
 
 

commit 2ca938bd67aed6de4ca6286a6df094a567a03a06
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Aug 29 17:56:09 2015 +0200

    Gtk3: Fix the remaining gtk direct access violations
    
    These could not be fixed in Gtk2 because the accessor functions were only added as of Gtk3.

diff --git a/lib/goffice/go-optionmenu.c b/lib/goffice/go-optionmenu.c
index b933e55..4ed0b7e 100644
--- a/lib/goffice/go-optionmenu.c
+++ b/lib/goffice/go-optionmenu.c
@@ -251,8 +251,7 @@ void go_option_menu_set_menu(GOOptionMenu *option_menu, GtkWidget *menu)
 
     if (option_menu->menu)
     {
-        if (option_menu->menu->active)
-            gtk_menu_shell_cancel(option_menu->menu);
+        gtk_menu_shell_cancel(option_menu->menu);
 
         handle_menu_signals(option_menu, FALSE);
 
diff --git a/src/gnome-utils/gnc-tree-view.c b/src/gnome-utils/gnc-tree-view.c
index 4131faa..db9fef1 100644
--- a/src/gnome-utils/gnc-tree-view.c
+++ b/src/gnome-utils/gnc-tree-view.c
@@ -1754,7 +1754,7 @@ gnc_tree_view_add_toggle_column (GncTreeView *view,
     gnc_tree_view_append_column (view, column);
 
     /* Also add the full title to the object as a tooltip */
-    gtk_widget_set_tooltip_text(column->button, column_title);
+    gtk_widget_set_tooltip_text (gtk_tree_view_column_get_button (column), column_title);
 
     return column;
 }

commit 42264efd1b1df61714469bd9019f163c2d8076af
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Mon Aug 24 20:22:48 2015 +0200

    Gtk3: adapt to changed callback function signature

diff --git a/src/gnome-utils/gnc-cell-renderer-date.c b/src/gnome-utils/gnc-cell-renderer-date.c
index e2249b4..bb13c7f 100644
--- a/src/gnome-utils/gnc-cell-renderer-date.c
+++ b/src/gnome-utils/gnc-cell-renderer-date.c
@@ -77,8 +77,8 @@ GtkCellEditable *gcrd_start_editing          (GtkCellRenderer         *cell,
 					      GdkEvent                *event,
 					      GtkWidget               *widget,
 					      const gchar             *path,
-					      GdkRectangle            *background_area,
-					      GdkRectangle            *cell_area,
+					      const GdkRectangle      *background_area,
+					      const GdkRectangle      *cell_area,
 					      GtkCellRendererState     flags);
 
 static void     gcrd_show                    (GncCellRendererPopup     *cell,
@@ -269,8 +269,8 @@ gcrd_start_editing (GtkCellRenderer      *cell,
 		    GdkEvent             *event,
 		    GtkWidget            *widget,
 		    const gchar          *path,
-		    GdkRectangle         *background_area,
-		    GdkRectangle         *cell_area,
+		    const GdkRectangle   *background_area,
+		    const GdkRectangle   *cell_area,
 		    GtkCellRendererState  flags)
 {
 	GNC_CELL_RENDERER_POPUP (cell)->editing_canceled = FALSE;
diff --git a/src/gnome-utils/gnc-cell-renderer-popup.c b/src/gnome-utils/gnc-cell-renderer-popup.c
index 19386d5..f8e06f1 100644
--- a/src/gnome-utils/gnc-cell-renderer-popup.c
+++ b/src/gnome-utils/gnc-cell-renderer-popup.c
@@ -49,8 +49,8 @@ gcrp_start_editing                       (GtkCellRenderer          *cell,
 					  GdkEvent                 *event,
 					  GtkWidget                *widget,
 					  const gchar              *path,
-					  GdkRectangle             *background_area,
-					  GdkRectangle             *cell_area,
+					  const GdkRectangle       *background_area,
+					  const GdkRectangle       *cell_area,
 					  GtkCellRendererState      flags);
 static void      gcrp_show_popup         (GncCellRendererPopup      *cell,
 					  const gchar              *path,
@@ -61,7 +61,7 @@ static void      gcrp_show_popup         (GncCellRendererPopup      *cell,
 static void      gcrp_hide_popup         (GncCellRendererPopup      *cell);
 static void      gcrp_get_size           (GtkCellRenderer          *cell,
 					  GtkWidget                *widget,
-					  GdkRectangle             *cell_area,
+					  const GdkRectangle       *cell_area,
 					  gint                     *x_offset,
 					  gint                     *y_offset,
 					  gint                     *width,
@@ -369,8 +369,8 @@ gcrp_start_editing (GtkCellRenderer      *cell,
 		    GdkEvent             *event,
 		    GtkWidget            *widget,
 		    const gchar          *path,
-		    GdkRectangle         *background_area,
-		    GdkRectangle         *cell_area,
+		    const GdkRectangle   *background_area,
+		    const GdkRectangle   *cell_area,
 		    GtkCellRendererState  flags)
 {
 	GncCellRendererPopup *popup;
@@ -434,13 +434,13 @@ gnc_cell_renderer_popup_hide (GncCellRendererPopup *cell)
 }
 
 static void
-gcrp_get_size (GtkCellRenderer *cell,
-	       GtkWidget       *widget,
-	       GdkRectangle    *cell_area,
-	       gint            *x_offset,
-	       gint            *y_offset,
-	       gint            *width,
-	       gint            *height)
+gcrp_get_size (GtkCellRenderer    *cell,
+	       GtkWidget          *widget,
+	       const GdkRectangle *cell_area,
+	       gint               *x_offset,
+	       gint               *y_offset,
+	       gint               *width,
+	       gint               *height)
 {
 	GncCellRendererPopup *popup;
 

commit 3065005f05736eabf619f1a15d4ead331a974457
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sun Aug 23 21:52:24 2015 +0200

    Gtk3: use CSS style instead of old GtkStyle interface

diff --git a/src/gnome-utils/dialog-utils.c b/src/gnome-utils/dialog-utils.c
index 0f26d4a..f2215db 100644
--- a/src/gnome-utils/dialog-utils.c
+++ b/src/gnome-utils/dialog-utils.c
@@ -50,22 +50,8 @@ static QofLogModule log_module = GNC_MOD_GUI;
 
 #define GNC_PREF_LAST_GEOMETRY "last-geometry"
 
-
-/********************************************************************\
- * gnc_get_deficit_color                                            *
- *   fill in the 3 color values for the color of deficit values     *
- *                                                                  *
- * Args: color - color structure                                    *
- * Returns: none                                                    *
- \*******************************************************************/
-void
-gnc_get_deficit_color(GdkColor *color)
-{
-    color->red   = 50000;
-    color->green = 0;
-    color->blue  = 0;
-}
-
+const gchar *css_default_color = "* { color: currentColor }";
+const gchar *css_red_color     = "* { color: rgb(75%, 0%, 0%) }";
 
 /********************************************************************\
  * gnc_set_label_color                                              *
@@ -79,31 +65,30 @@ void
 gnc_set_label_color(GtkWidget *label, gnc_numeric value)
 {
     gboolean deficit;
-    GdkColormap *cm;
-    GtkStyle *style;
+    GtkStyleContext *stylecontext;
+    GtkCssProvider *provider;
 
     if (!gnc_prefs_get_bool(GNC_PREFS_GROUP_GENERAL, GNC_PREF_NEGATIVE_IN_RED))
         return;
 
-    cm = gtk_widget_get_colormap(GTK_WIDGET(label));
-    gtk_widget_ensure_style(GTK_WIDGET(label));
-    style = gtk_widget_get_style(GTK_WIDGET(label));
+    provider = GTK_CSS_PROVIDER(g_object_get_data (G_OBJECT (label), "custom-provider"));
 
-    style = gtk_style_copy(style);
+    if (!provider)
+    {
+        provider = gtk_css_provider_new();
+        gtk_css_provider_load_from_data (provider, css_default_color, -1, NULL);
+        stylecontext = gtk_widget_get_style_context (label);
+        gtk_style_context_add_provider (stylecontext, GTK_STYLE_PROVIDER (provider),
+                                        GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
+        g_object_set_data (G_OBJECT (label), "custom-provider", provider);
+    }
 
     deficit = gnc_numeric_negative_p (value);
 
     if (deficit)
-    {
-        gnc_get_deficit_color(&style->fg[GTK_STATE_NORMAL]);
-        gdk_colormap_alloc_color(cm, &style->fg[GTK_STATE_NORMAL], FALSE, TRUE);
-    }
+        gtk_css_provider_load_from_data (provider, css_red_color, -1, NULL);
     else
-        style->fg[GTK_STATE_NORMAL] = style->black;
-
-    gtk_widget_set_style(label, style);
-
-    g_object_unref(style);
+        gtk_css_provider_load_from_data (provider, css_default_color, -1, NULL);
 }
 
 
diff --git a/src/gnome-utils/dialog-utils.h b/src/gnome-utils/dialog-utils.h
index 30a29fa..06e896a 100644
--- a/src/gnome-utils/dialog-utils.h
+++ b/src/gnome-utils/dialog-utils.h
@@ -29,7 +29,6 @@
 #include <gtk/gtk.h>
 #include "qof.h"
 
-void gnc_get_deficit_color (GdkColor *color);
 void gnc_set_label_color (GtkWidget *label, gnc_numeric value);
 
 /********************************************************************\

commit b9abc0b5ba3dca62cd6619db31cc64df0faf5774
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Aug 22 11:13:58 2015 +0200

    Gtk3: Fix cursor handling

diff --git a/src/gnome-utils/cursors.c b/src/gnome-utils/cursors.c
index d05bd1c..0cf6106 100644
--- a/src/gnome-utils/cursors.c
+++ b/src/gnome-utils/cursors.c
@@ -50,7 +50,7 @@ gnc_ui_set_cursor (GdkWindow *win, GNCCursorType type, gboolean update_now)
         return;
 
     if (type != GNC_CURSOR_NORMAL)
-        cursor = gdk_cursor_new ((GdkCursorType)type);
+        cursor = gdk_cursor_new_for_display (gdk_display_get_default (), (GdkCursorType)type);
 
     gdk_window_set_cursor (win, cursor);
 
@@ -61,7 +61,7 @@ gnc_ui_set_cursor (GdkWindow *win, GNCCursorType type, gboolean update_now)
     }
 
     if (type != GNC_CURSOR_NORMAL)
-        gdk_cursor_unref (cursor);
+        g_object_unref (cursor);
 }
 
 
@@ -88,7 +88,7 @@ gnc_set_busy_cursor (GtkWidget *w, gboolean update_now)
         {
             w = node->data;
 
-            if (!w || !GTK_IS_WIDGET (w) || !gtk_widget_get_has_window(w))
+            if (!w || !GTK_IS_WIDGET (w) || (!gtk_widget_get_has_window(w)))
                 continue;
 
             gnc_ui_set_cursor (gtk_widget_get_window(w), GNC_CURSOR_BUSY, update_now);

commit 9b5fbcb2cb5562a63003dcaec47a46e9c48972e3
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Aug 22 18:03:57 2015 +0200

    Gtk3: GtkObject has been removed
    
    Replace with GtkWidget instead

diff --git a/lib/goffice/go-optionmenu.c b/lib/goffice/go-optionmenu.c
index b7d16b2..b933e55 100644
--- a/lib/goffice/go-optionmenu.c
+++ b/lib/goffice/go-optionmenu.c
@@ -353,13 +353,13 @@ static void go_option_menu_get_property(GObject *object, guint prop_id,
     }
 }
 
-static void go_option_menu_destroy(GtkObject *object)
+static void go_option_menu_destroy(GtkWidget *widget)
 {
     GOOptionMenu *option_menu;
 
-    g_return_if_fail(GO_IS_OPTION_MENU(object));
+    g_return_if_fail(GO_IS_OPTION_MENU(widget));
 
-    option_menu = GO_OPTION_MENU(object);
+    option_menu = GO_OPTION_MENU(widget);
 
     if (option_menu->menu)
     {
@@ -369,13 +369,12 @@ static void go_option_menu_destroy(GtkObject *object)
     }
     option_menu->selected = NULL;
 
-    GTK_OBJECT_CLASS(parent_class)->destroy(object);
+    GTK_WIDGET_CLASS(parent_class)->destroy(widget);
 }
 
 static void go_option_menu_class_init(GOOptionMenuClass *class)
 {
     GObjectClass *gobject_class = (GObjectClass*) class;
-    GtkObjectClass *object_class = (GtkObjectClass*) class;
     GtkWidgetClass *widget_class = (GtkWidgetClass*) class;
 
     parent_class = g_type_class_peek_parent(class);
@@ -386,7 +385,7 @@ static void go_option_menu_class_init(GOOptionMenuClass *class)
 
     gobject_class->set_property = go_option_menu_set_property;
     gobject_class->get_property = go_option_menu_get_property;
-    object_class->destroy = go_option_menu_destroy;
+    widget_class->destroy = go_option_menu_destroy;
     widget_class->button_press_event = go_option_menu_button_press;
     widget_class->key_press_event = go_option_menu_key_press;
 
diff --git a/src/gnome-search/gnc-general-search.c b/src/gnome-search/gnc-general-search.c
index a33da6a..5ab332e 100644
--- a/src/gnome-search/gnc-general-search.c
+++ b/src/gnome-search/gnc-general-search.c
@@ -59,7 +59,7 @@ enum
 
 static void gnc_general_search_init         (GNCGeneralSearch      *gsl);
 static void gnc_general_search_class_init   (GNCGeneralSearchClass *klass);
-static void gnc_general_search_destroy      (GtkObject             *object);
+static void gnc_general_search_destroy      (GtkWidget             *widget);
 
 typedef struct _GNCGeneralSearchPrivate GNCGeneralSearchPrivate;
 
@@ -117,9 +117,7 @@ gnc_general_search_get_type (void)
 static void
 gnc_general_search_class_init (GNCGeneralSearchClass *klass)
 {
-    GtkObjectClass *object_class = (GtkObjectClass *) klass;
-
-    object_class = (GtkObjectClass*) klass;
+    GtkWidgetClass *object_class = (GtkWidgetClass *) klass;
 
     parent_class = g_type_class_peek_parent (klass);
 
@@ -146,15 +144,15 @@ gnc_general_search_init (GNCGeneralSearch *gsl)
 }
 
 static void
-gnc_general_search_destroy (GtkObject *object)
+gnc_general_search_destroy (GtkWidget *widget)
 {
     GNCGeneralSearch *gsl;
     GNCGeneralSearchPrivate *priv;
 
-    g_return_if_fail (object != NULL);
-    g_return_if_fail (GNC_IS_GENERAL_SEARCH (object));
+    g_return_if_fail (widget != NULL);
+    g_return_if_fail (GNC_IS_GENERAL_SEARCH (widget));
 
-    gsl = GNC_GENERAL_SEARCH (object);
+    gsl = GNC_GENERAL_SEARCH (widget);
 
     gsl->entry = NULL;
     gsl->button = NULL;
@@ -174,8 +172,8 @@ gnc_general_search_destroy (GtkObject *object)
         priv->component_id = 0;
     }
 
-    if (GTK_OBJECT_CLASS (parent_class)->destroy)
-        GTK_OBJECT_CLASS (parent_class)->destroy (object);
+    if (GTK_WIDGET_CLASS (parent_class)->destroy)
+        GTK_WIDGET_CLASS (parent_class)->destroy (widget);
 }
 
 /* The "selection" contents have changed.  Change the text. */
diff --git a/src/gnome-utils/gnc-frequency.c b/src/gnome-utils/gnc-frequency.c
index b5e88d2..bba0c74 100644
--- a/src/gnome-utils/gnc-frequency.c
+++ b/src/gnome-utils/gnc-frequency.c
@@ -58,7 +58,7 @@ static guint gnc_frequency_signals[LAST_SIGNAL] = { 0 };
 /** Private Prototypes ********************/
 
 static void gnc_frequency_class_init( GncFrequencyClass *klass );
-static void gnc_frequency_class_destroy( GtkObject *object );
+static void gnc_frequency_class_destroy( GtkWidget *widget );
 
 static void freq_combo_changed( GtkComboBox *b, gpointer d );
 static void start_date_changed( GNCDateEdit *gde, gpointer d );
@@ -140,12 +140,12 @@ static void
 gnc_frequency_class_init( GncFrequencyClass *klass )
 {
     GObjectClass *object_class;
-    GtkObjectClass *gtkobject_class;
+    GtkWidgetClass *gtkwidget_class;
 
     parent_class = g_type_class_peek_parent (klass);
 
     object_class = G_OBJECT_CLASS (klass);
-    gtkobject_class = GTK_OBJECT_CLASS (klass);
+    gtkwidget_class = GTK_WIDGET_CLASS (klass);
 
     gnc_frequency_signals[GNCFREQ_CHANGED] =
         g_signal_new ("changed",
@@ -158,8 +158,8 @@ gnc_frequency_class_init( GncFrequencyClass *klass )
                       G_TYPE_NONE,
                       0);
 
-    /* GtkObject signals */
-    gtkobject_class->destroy = gnc_frequency_class_destroy;
+    /* GtkWidget signals */
+    gtkwidget_class->destroy = gnc_frequency_class_destroy;
 }
 
 
@@ -273,23 +273,23 @@ gnc_frequency_init(GncFrequency *gf)
 }
 
 
-/** Destroy the GncFrequency object.  This function is called (possibly
- *  multiple times) from the Gtk_Object level to destroy the object.
+/** Destroy the GncFrequency widget.  This function is called (possibly
+ *  multiple times) from the Gtk_Object level to destroy the widget.
  *
- *  @param object The object being destroyed.
+ *  @param widget The widget being destroyed.
  *
  *  @internal
  */
 static void
-gnc_frequency_class_destroy (GtkObject *object)
+gnc_frequency_class_destroy (GtkWidget *widget)
 {
     GncFrequency *gf;
 
-    ENTER("frequency %p", object);
-    g_return_if_fail (object != NULL);
-    g_return_if_fail (GNC_IS_FREQUENCY (object));
+    ENTER("frequency %p", widget);
+    g_return_if_fail (widget != NULL);
+    g_return_if_fail (GNC_IS_FREQUENCY (widget));
 
-    gf = GNC_FREQUENCY (object);
+    gf = GNC_FREQUENCY (widget);
 
     if (gf->builder)
     {
@@ -298,8 +298,8 @@ gnc_frequency_class_destroy (GtkObject *object)
         gf->builder = NULL;
     }
 
-    if (GTK_OBJECT_CLASS (parent_class)->destroy)
-        GTK_OBJECT_CLASS (parent_class)->destroy (object);
+    if (GTK_WIDGET_CLASS (parent_class)->destroy)
+        GTK_WIDGET_CLASS (parent_class)->destroy (widget);
     LEAVE(" ");
 }
 
diff --git a/src/gnome-utils/gnc-main-window.c b/src/gnome-utils/gnc-main-window.c
index 73f969a..04dbe26 100644
--- a/src/gnome-utils/gnc-main-window.c
+++ b/src/gnome-utils/gnc-main-window.c
@@ -126,7 +126,7 @@ static guint secs_to_save = 0;
 static void gnc_main_window_class_init (GncMainWindowClass *klass);
 static void gnc_main_window_init (GncMainWindow *window, GncMainWindowClass *klass);
 static void gnc_main_window_finalize (GObject *object);
-static void gnc_main_window_destroy (GtkObject *object);
+static void gnc_main_window_destroy (GtkWidget *widget);
 
 static void gnc_main_window_setup_window (GncMainWindow *window);
 static void gnc_window_main_window_init (GncWindowIface *iface);
@@ -2443,7 +2443,7 @@ static void
 gnc_main_window_class_init (GncMainWindowClass *klass)
 {
     GObjectClass *object_class = G_OBJECT_CLASS (klass);
-    GtkObjectClass *gtkobject_class = GTK_OBJECT_CLASS(klass);
+    GtkWidgetClass *gtkwidget_class = GTK_WIDGET_CLASS(klass);
 
     parent_class = g_type_class_peek_parent (klass);
 
@@ -2451,8 +2451,8 @@ gnc_main_window_class_init (GncMainWindowClass *klass)
 
     object_class->finalize = gnc_main_window_finalize;
 
-    /* GtkObject signals */
-    gtkobject_class->destroy = gnc_main_window_destroy;
+    /* GtkWidget signals */
+    gtkwidget_class->destroy = gnc_main_window_destroy;
 
     g_type_class_add_private(klass, sizeof(GncMainWindowPrivate));
 
@@ -2578,17 +2578,17 @@ gnc_main_window_finalize (GObject *object)
 
 
 static void
-gnc_main_window_destroy (GtkObject *object)
+gnc_main_window_destroy (GtkWidget *widget)
 {
     GncMainWindow *window;
     GncMainWindowPrivate *priv;
     GncPluginManager *manager;
     GList *plugins;
 
-    g_return_if_fail (object != NULL);
-    g_return_if_fail (GNC_IS_MAIN_WINDOW (object));
+    g_return_if_fail (widget != NULL);
+    g_return_if_fail (GNC_IS_MAIN_WINDOW (widget));
 
-    window = GNC_MAIN_WINDOW (object);
+    window = GNC_MAIN_WINDOW (widget);
 
     active_windows = g_list_remove (active_windows, window);
 
@@ -2626,7 +2626,7 @@ gnc_main_window_destroy (GtkObject *object)
     }
     if (priv->about_dialog)
 	g_object_unref (priv->about_dialog);
-    GTK_OBJECT_CLASS (parent_class)->destroy (object);
+    GTK_WIDGET_CLASS (parent_class)->destroy (widget);
 }
 
 
diff --git a/src/gnome-utils/gnc-query-view.c b/src/gnome-utils/gnc-query-view.c
index 151aec8..1f0d473 100644
--- a/src/gnome-utils/gnc-query-view.c
+++ b/src/gnome-utils/gnc-query-view.c
@@ -68,7 +68,7 @@ static void gnc_query_view_double_click_cb (GtkTreeView *tree_view,
                                              GtkTreeViewColumn *column,
                                              gpointer           user_data);
 
-static void gnc_query_view_destroy (GtkObject *object);
+static void gnc_query_view_destroy (GtkWidget *widget);
 static void gnc_query_view_fill (GNCQueryView *qview);
 static void gnc_query_view_set_query_sort (GNCQueryView *qview, gboolean new_column);
 
@@ -412,10 +412,10 @@ gnc_query_view_init_view (GNCQueryView *qview)
 static void
 gnc_query_view_class_init (GNCQueryViewClass *klass)
 {
-    GtkObjectClass       *object_class;
+    GtkWidgetClass       *widget_class;
     GtkTreeViewClass     *view_class;
 
-    object_class = (GtkObjectClass*) klass;
+    widget_class = (GtkWidgetClass*) klass;
     view_class =   (GtkTreeViewClass*) klass;
 
     parent_class = g_type_class_peek (GTK_TYPE_TREE_VIEW);
@@ -424,7 +424,7 @@ gnc_query_view_class_init (GNCQueryViewClass *klass)
 
     query_view_signals[COLUMN_TOGGLED] =
         g_signal_new("column_toggled",
-                     G_TYPE_FROM_CLASS (object_class),
+                     G_TYPE_FROM_CLASS (widget_class),
                      G_SIGNAL_RUN_FIRST,
                      G_STRUCT_OFFSET (GNCQueryViewClass, column_toggled),
                      NULL, NULL,
@@ -435,7 +435,7 @@ gnc_query_view_class_init (GNCQueryViewClass *klass)
 
     query_view_signals[ROW_SELECTED] =
         g_signal_new("row_selected",
-                     G_TYPE_FROM_CLASS (object_class),
+                     G_TYPE_FROM_CLASS (widget_class),
                      G_SIGNAL_RUN_FIRST,
                      G_STRUCT_OFFSET (GNCQueryViewClass, row_selected),
                      NULL, NULL,
@@ -446,7 +446,7 @@ gnc_query_view_class_init (GNCQueryViewClass *klass)
 
     query_view_signals[DOUBLE_CLICK_ENTRY] =
         g_signal_new("double_click_entry",
-                     G_TYPE_FROM_CLASS (object_class),
+                     G_TYPE_FROM_CLASS (widget_class),
                      G_SIGNAL_RUN_FIRST,
                      G_STRUCT_OFFSET (GNCQueryViewClass, double_click_entry),
                      NULL, NULL,
@@ -455,7 +455,7 @@ gnc_query_view_class_init (GNCQueryViewClass *klass)
                      1,
                      G_TYPE_POINTER);
 
-    object_class->destroy = gnc_query_view_destroy;
+    widget_class->destroy = gnc_query_view_destroy;
 
     klass->column_toggled = NULL;
     klass->row_selected = NULL;
@@ -571,9 +571,9 @@ gnc_query_view_toggled_cb (GtkCellRendererToggle *cell_renderer,
 
 
 static void
-gnc_query_view_destroy (GtkObject *object)
+gnc_query_view_destroy (GtkWidget *widget)
 {
-    GNCQueryView     *qview = GNC_QUERY_VIEW (object);
+    GNCQueryView     *qview = GNC_QUERY_VIEW (widget);
     GNCQueryViewPriv *priv;
 
     priv = GNC_QUERY_VIEW_GET_PRIVATE (qview);
@@ -594,8 +594,8 @@ gnc_query_view_destroy (GtkObject *object)
         qof_query_destroy (qview->query);
         qview->query = NULL;
     }
-    if (GTK_OBJECT_CLASS (parent_class)->destroy)
-        GTK_OBJECT_CLASS (parent_class)->destroy (object);
+    if (GTK_WIDGET_CLASS (parent_class)->destroy)
+        GTK_WIDGET_CLASS (parent_class)->destroy (widget);
 }
 
 
diff --git a/src/gnome-utils/gnc-tree-view-commodity.c b/src/gnome-utils/gnc-tree-view-commodity.c
index eb9a9c2..e01d4f7 100644
--- a/src/gnome-utils/gnc-tree-view-commodity.c
+++ b/src/gnome-utils/gnc-tree-view-commodity.c
@@ -50,7 +50,7 @@ static QofLogModule log_module = GNC_MOD_GUI;
 static void gnc_tree_view_commodity_class_init (GncTreeViewCommodityClass *klass);
 static void gnc_tree_view_commodity_init (GncTreeViewCommodity *view);
 static void gnc_tree_view_commodity_finalize (GObject *object);
-static void gnc_tree_view_commodity_destroy (GtkObject *object);
+static void gnc_tree_view_commodity_destroy (GtkWidget *widget);
 
 typedef struct GncTreeViewCommodityPrivate
 {
@@ -99,18 +99,18 @@ static void
 gnc_tree_view_commodity_class_init (GncTreeViewCommodityClass *klass)
 {
     GObjectClass *o_class;
-    GtkObjectClass *object_class;
+    GtkWidgetClass *widget_class;
 
     parent_class = g_type_class_peek_parent (klass);
 
     o_class = G_OBJECT_CLASS (klass);
-    object_class = GTK_OBJECT_CLASS (klass);
+    widget_class = GTK_WIDGET_CLASS (klass);
 
     /* GObject signals */
     o_class->finalize = gnc_tree_view_commodity_finalize;
 
-    /* GtkObject signals */
-    object_class->destroy = gnc_tree_view_commodity_destroy;
+    /* GtkWidget signals */
+    widget_class->destroy = gnc_tree_view_commodity_destroy;
 
     g_type_class_add_private(klass, sizeof(GncTreeViewCommodityPrivate));
 }
@@ -133,15 +133,15 @@ gnc_tree_view_commodity_finalize (GObject *object)
 }
 
 static void
-gnc_tree_view_commodity_destroy (GtkObject *object)
+gnc_tree_view_commodity_destroy (GtkWidget *widget)
 {
-    g_return_if_fail (object != NULL);
-    g_return_if_fail (GNC_IS_TREE_VIEW_COMMODITY (object));
+    g_return_if_fail (widget != NULL);
+    g_return_if_fail (GNC_IS_TREE_VIEW_COMMODITY (widget));
 
-    ENTER("view %p", object);
+    ENTER("view %p", widget);
 
-    if (GTK_OBJECT_CLASS (parent_class)->destroy)
-        (* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
+    if (GTK_WIDGET_CLASS (parent_class)->destroy)
+        (* GTK_WIDGET_CLASS (parent_class)->destroy) (widget);
     LEAVE(" ");
 }
 
diff --git a/src/gnome-utils/gnc-tree-view-price.c b/src/gnome-utils/gnc-tree-view-price.c
index b0dc599..a1d90ae 100644
--- a/src/gnome-utils/gnc-tree-view-price.c
+++ b/src/gnome-utils/gnc-tree-view-price.c
@@ -50,7 +50,7 @@ static QofLogModule log_module = GNC_MOD_GUI;
 static void gnc_tree_view_price_class_init (GncTreeViewPriceClass *klass);
 static void gnc_tree_view_price_init (GncTreeViewPrice *view);
 static void gnc_tree_view_price_finalize (GObject *object);
-static void gnc_tree_view_price_destroy (GtkObject *object);
+static void gnc_tree_view_price_destroy (GtkWidget *widget);
 
 typedef struct GncTreeViewPricePrivate
 {
@@ -99,18 +99,18 @@ static void
 gnc_tree_view_price_class_init (GncTreeViewPriceClass *klass)
 {
     GObjectClass *o_class;
-    GtkObjectClass *object_class;
+    GtkWidgetClass *widget_class;
 
     parent_class = g_type_class_peek_parent (klass);
 
     o_class = G_OBJECT_CLASS (klass);
-    object_class = GTK_OBJECT_CLASS (klass);
+    widget_class = GTK_WIDGET_CLASS (klass);
 
     /* GObject signals */
     o_class->finalize = gnc_tree_view_price_finalize;
 
-    /* GtkObject signals */
-    object_class->destroy = gnc_tree_view_price_destroy;
+    /* GtkWidget signals */
+    widget_class->destroy = gnc_tree_view_price_destroy;
 
     g_type_class_add_private(klass, sizeof(GncTreeViewPricePrivate));
 }
@@ -133,14 +133,14 @@ gnc_tree_view_price_finalize (GObject *object)
 }
 
 static void
-gnc_tree_view_price_destroy (GtkObject *object)
+gnc_tree_view_price_destroy (GtkWidget *widget)
 {
-    ENTER("view %p", object);
-    gnc_leave_return_if_fail (object != NULL);
-    gnc_leave_return_if_fail (GNC_IS_TREE_VIEW_PRICE (object));
+    ENTER("view %p", widget);
+    gnc_leave_return_if_fail (widget != NULL);
+    gnc_leave_return_if_fail (GNC_IS_TREE_VIEW_PRICE (widget));
 
-    if (GTK_OBJECT_CLASS (parent_class)->destroy)
-        (* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
+    if (GTK_WIDGET_CLASS (parent_class)->destroy)
+        (* GTK_WIDGET_CLASS (parent_class)->destroy) (widget);
     LEAVE(" ");
 }
 
diff --git a/src/gnome-utils/gnc-tree-view.c b/src/gnome-utils/gnc-tree-view.c
index a45fc03..4131faa 100644
--- a/src/gnome-utils/gnc-tree-view.c
+++ b/src/gnome-utils/gnc-tree-view.c
@@ -77,7 +77,7 @@ static QofLogModule log_module = GNC_MOD_GUI;
 static void gnc_tree_view_class_init (GncTreeViewClass *klass);
 static void gnc_tree_view_init (GncTreeView *view, GncTreeViewClass *klass);
 static void gnc_tree_view_finalize (GObject *object);
-static void gnc_tree_view_destroy (GtkObject *object);
+static void gnc_tree_view_destroy (GtkWidget *widget);
 static void gnc_tree_view_set_property (GObject         *object,
                                         guint            prop_id,
                                         const GValue    *value,
@@ -183,12 +183,12 @@ static void
 gnc_tree_view_class_init (GncTreeViewClass *klass)
 {
     GObjectClass *gobject_class;
-    GtkObjectClass *gtkobject_class;
+    GtkWidgetClass *gtkwidget_class;
 
     parent_class = g_type_class_peek_parent (klass);
 
     gobject_class = G_OBJECT_CLASS (klass);
-    gtkobject_class = GTK_OBJECT_CLASS (klass);
+    gtkwidget_class = GTK_WIDGET_CLASS (klass);
 
     gobject_class->set_property = gnc_tree_view_set_property;
     gobject_class->get_property = gnc_tree_view_get_property;
@@ -213,8 +213,8 @@ gnc_tree_view_class_init (GncTreeViewClass *klass)
     /* GObject signals */
     gobject_class->finalize = gnc_tree_view_finalize;
 
-    /* GtkObject signals */
-    gtkobject_class->destroy = gnc_tree_view_destroy;
+    /* GtkWidget signals */
+    gtkwidget_class->destroy = gnc_tree_view_destroy;
 }
 
 /** Initialize a new instance of a base gnucash tree view.  This
@@ -313,28 +313,28 @@ gnc_tree_view_finalize (GObject *object)
     LEAVE(" ");
 }
 
-/** Destroy the GncTreeView object.  This function is called (possibly
- *  multiple times) from the Gtk_Object level to destroy the object.
- *  It should release any memory owned by the object that isn't
+/** Destroy the GncTreeView widget.  This function is called (possibly
+ *  multiple times) from the Gtk_Object level to destroy the widget.
+ *  It should release any memory owned by the widget that isn't
  *  fundamental to the implementation.  In this function any active
  *  callbacks are disconnected, all memory other than the private data
  *  structure are freed.
  *
- *  @param object The object being destroyed.
+ *  @param widget The widget being destroyed.
  *
  *  @internal
  */
 static void
-gnc_tree_view_destroy (GtkObject *object)
+gnc_tree_view_destroy (GtkWidget *widget)
 {
     GncTreeView *view;
     GncTreeViewPrivate *priv;
 
-    ENTER("view %p", object);
-    g_return_if_fail (object != NULL);
-    g_return_if_fail (GNC_IS_TREE_VIEW (object));
+    ENTER("view %p", widget);
+    g_return_if_fail (widget != NULL);
+    g_return_if_fail (GNC_IS_TREE_VIEW (widget));
 
-    view = GNC_TREE_VIEW (object);
+    view = GNC_TREE_VIEW (widget);
 
     priv = GNC_TREE_VIEW_GET_PRIVATE(view);
 
@@ -352,8 +352,8 @@ gnc_tree_view_destroy (GtkObject *object)
         priv->column_menu = NULL;
     }
 
-    if (GTK_OBJECT_CLASS (parent_class)->destroy)
-        GTK_OBJECT_CLASS (parent_class)->destroy (object);
+    if (GTK_WIDGET_CLASS (parent_class)->destroy)
+        GTK_WIDGET_CLASS (parent_class)->destroy (widget);
     LEAVE(" ");
 }
 

commit 2528bfde6b109b14ea23bbacce6305a199dd11b7
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Aug 22 10:48:04 2015 +0200

    Switch to building with the gtk+-3.0 toolkit

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 577beed..9791d1b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -172,7 +172,7 @@ GNC_PKG_CHECK_MODULES (LIBXML2 REQUIRED libxml-2.0>=2.7.0)
 GNC_PKG_CHECK_MODULES (LIBXSLT REQUIRED libxslt)
 GNC_PKG_CHECK_MODULES (WEBKIT REQUIRED webkit-1.0>=1.2)
 IF (WITH_GNUCASH)
-  GNC_PKG_CHECK_MODULES (GTK2 REQUIRED gtk+-2.0>=2.24.0)
+  GNC_PKG_CHECK_MODULES (GTK3 REQUIRED gtk+-3.0>=3.14.0)
 ENDIF (WITH_GNUCASH)
 
 GNC_PKG_CHECK_MODULES (ZLIB REQUIRED zlib)
diff --git a/configure.ac b/configure.ac
index 65f560c..1bd75a2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1340,7 +1340,7 @@ then
   AM_CFLAGS="$CFLAGS"
   CFLAGS="$__cflags"
 
-  PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.24.0)
+  PKG_CHECK_MODULES(GTK, gtk+-3.0)
   AC_SUBST(GTK_CFLAGS)
   AC_SUBST(GTK_LIBS)
 
diff --git a/src/app-utils/CMakeLists.txt b/src/app-utils/CMakeLists.txt
index 3a96f5f..6a82bd7 100644
--- a/src/app-utils/CMakeLists.txt
+++ b/src/app-utils/CMakeLists.txt
@@ -79,9 +79,9 @@ SET (app_utils_SOURCES
 SET_SOURCE_FILES_PROPERTIES (${app_utils_SOURCES} PROPERTIES OBJECT_DEPENDS ${CONFIG_H})
 
 SET(app_utils_ALL_SOURCES ${app_utils_SOURCES} ${app_utils_HEADERS} ${app_utils_noinst_HEADERS})
-SET(app_utils_ALL_LIBRARIES gncmod-engine gnc-module ${GTK2_LDFLAGS} ${LIBXML2_LDFLAGS} ${LIBXSLT_LDFLAGS})
+SET(app_utils_ALL_LIBRARIES gncmod-engine gnc-module ${GTK3_LDFLAGS} ${LIBXML2_LDFLAGS} ${LIBXSLT_LDFLAGS})
 SET(app_utils_ALL_INCLUDES  ${CMAKE_CURRENT_SOURCE_DIR}/calculation  ${LIBXML2_INCLUDE_DIRS}
-                               ${LIBXSLT_INCLUDE_DIRS} ${GTK2_INCLUDE_DIRS})
+                               ${LIBXSLT_INCLUDE_DIRS} ${GTK3_INCLUDE_DIRS})
 
 IF (WIN32)
   LIST(APPEND app_utils_ALL_SOURCES gnc-help-utils.c)
diff --git a/src/backend/dbi/CMakeLists.txt b/src/backend/dbi/CMakeLists.txt
index af61474..18d06d7 100644
--- a/src/backend/dbi/CMakeLists.txt
+++ b/src/backend/dbi/CMakeLists.txt
@@ -25,7 +25,7 @@ ADD_LIBRARY	(gncmod-backend-dbi
   ${backend_dbi_noinst_HEADERS}
 )
 
-TARGET_LINK_LIBRARIES(gncmod-backend-dbi gnc-backend-sql gncmod-engine gnc-qof ${GTK2_LDFLAGS} ${Boost_REGEX_LIBRARY} ${LIBDBI_LIBRARY})
+TARGET_LINK_LIBRARIES(gncmod-backend-dbi gnc-backend-sql gncmod-engine gnc-qof ${Boost_REGEX_LIBRARY} ${LIBDBI_LIBRARY})
 
 TARGET_COMPILE_DEFINITIONS(gncmod-backend-dbi PRIVATE -DG_LOG_DOMAIN=\"gnc.backend.dbi\")
 
diff --git a/src/bin/CMakeLists.txt b/src/bin/CMakeLists.txt
index bf109c5..57dda03 100644
--- a/src/bin/CMakeLists.txt
+++ b/src/bin/CMakeLists.txt
@@ -25,7 +25,7 @@ TARGET_COMPILE_DEFINITIONS(gnucash PRIVATE -DG_LOG_DOMAIN=\"gnc.bin\")
 TARGET_LINK_LIBRARIES (gnucash
    gncmod-ledger-core gncmod-report-gnome gnc-gnome gncmod-gnome-utils gncmod-app-utils
    gncmod-engine gnc-module gnc-core-utils gnc-qof gncmod-report-system
-   ${GUILE_LDFLAGS} ${GLIB2_LDFLAGS} ${GTK2_LDFLAGS} ${GTK_MAC_LDFLAGS}
+   ${GUILE_LDFLAGS} ${GLIB2_LDFLAGS} ${GTK3_LDFLAGS} ${GTK_MAC_LDFLAGS}
 )
 
 
diff --git a/src/business/business-gnome/CMakeLists.txt b/src/business/business-gnome/CMakeLists.txt
index e33571a..2905fe5 100644
--- a/src/business/business-gnome/CMakeLists.txt
+++ b/src/business/business-gnome/CMakeLists.txt
@@ -51,7 +51,7 @@ ADD_LIBRARY(gncmod-business-gnome
 )
 
 TARGET_LINK_LIBRARIES(gncmod-business-gnome gnc-business-ledger gncmod-gnome-search 
-   gncmod-report-gnome gncmod-gnome-utils gnc-gnome gncmod-engine gnc-qof ${GTK2_LDFLAGS})
+   gncmod-report-gnome gncmod-gnome-utils gnc-gnome gncmod-engine gnc-qof ${GTK3_LDFLAGS})
 
 TARGET_COMPILE_DEFINITIONS(gncmod-business-gnome PRIVATE -DG_LOG_DOMAIN=\"gnc.business.gnome\")
 
@@ -79,4 +79,4 @@ GNC_ADD_SCHEME_TARGETS(scm-business-gnome
   "${GUILE_LIBRARY_DIRS}"
   "${GUILE_DEPENDS}"
   FALSE
-)
\ No newline at end of file
+)
diff --git a/src/business/business-ledger/CMakeLists.txt b/src/business/business-ledger/CMakeLists.txt
index 6573f86..e566076 100644
--- a/src/business/business-ledger/CMakeLists.txt
+++ b/src/business/business-ledger/CMakeLists.txt
@@ -22,7 +22,7 @@ ADD_LIBRARY (gnc-business-ledger
 )
 
 TARGET_LINK_LIBRARIES(gnc-business-ledger gncmod-ledger-core  gncmod-register-core gncmod-engine gncmod-gnome-utils
-                            gnc-core-utils ${GTK2_LDFLAGS})
+                            gnc-core-utils ${GTK3_LDFLAGS})
 
 TARGET_COMPILE_DEFINITIONS (gnc-business-ledger PRIVATE -DG_LOG_DOMAIN=\"gnc.business.ledger\")
 
@@ -32,4 +32,4 @@ INSTALL(TARGETS gnc-business-ledger
   LIBRARY DESTINATION lib
   ARCHIVE DESTINATION lib
   RUNTIME DESTINATION bin)
-# No headers to install
\ No newline at end of file
+# No headers to install
diff --git a/src/gnome-search/CMakeLists.txt b/src/gnome-search/CMakeLists.txt
index bad46c5..e83b5b0 100644
--- a/src/gnome-search/CMakeLists.txt
+++ b/src/gnome-search/CMakeLists.txt
@@ -42,7 +42,7 @@ ADD_LIBRARY (gncmod-gnome-search
     ${gnome_search_noinst_HEADERS}
 )
 
-TARGET_LINK_LIBRARIES(gncmod-gnome-search gnc-qof gncmod-gnome-utils ${GTK2_LDFLAGS})
+TARGET_LINK_LIBRARIES(gncmod-gnome-search gnc-qof gncmod-gnome-utils ${GTK3_LDFLAGS})
 
 TARGET_COMPILE_DEFINITIONS(gncmod-gnome-search PRIVATE -DG_LOG_DOMAIN=\"gnc.gui.search\")
 
diff --git a/src/gnome-utils/CMakeLists.txt b/src/gnome-utils/CMakeLists.txt
index fc4e30a..f8a58c3 100644
--- a/src/gnome-utils/CMakeLists.txt
+++ b/src/gnome-utils/CMakeLists.txt
@@ -210,7 +210,7 @@ ADD_LIBRARY (gncmod-gnome-utils
 )
 
 TARGET_LINK_LIBRARIES(gncmod-gnome-utils gncmod-app-utils gncmod-engine gnc-backend-xml-utils
-     ${GTK2_LDFLAGS} ${GTK_MAC_LDFLAGS})
+     ${GTK3_LDFLAGS} ${GTK_MAC_LDFLAGS})
 
 TARGET_COMPILE_DEFINITIONS(gncmod-gnome-utils PUBLIC ${GTK_MAC_CFLAGS_OTHER}
     PRIVATE -DG_LOG_DOMAIN=\"gnc.gui\")
@@ -222,7 +222,7 @@ ENDIF(MAC_INTEGRATION)
 
 TARGET_INCLUDE_DIRECTORIES(gncmod-gnome-utils
     PUBLIC
-      ${GTK2_INCLUDE_DIRS}
+      ${GTK3_INCLUDE_DIRS}
       ${CMAKE_CURRENT_SOURCE_DIR}
     PRIVATE
       ${GTK_MAC_INCLUDE_DIRS}
diff --git a/src/gnome-utils/test/CMakeLists.txt b/src/gnome-utils/test/CMakeLists.txt
index f3d241a..f2d2a1a 100644
--- a/src/gnome-utils/test/CMakeLists.txt
+++ b/src/gnome-utils/test/CMakeLists.txt
@@ -17,7 +17,7 @@ SET(GNOME_UTILS_GUI_TEST_INCLUDE_DIRS
   ${CMAKE_SOURCE_DIR}/src/gnome-utils
   ${CMAKE_SOURCE_DIR}/src/engine
   ${CMAKE_SOURCE_DIR}/src/libqof/qof # for qof.h
-  ${GTK2_INCLUDE_DIRS}
+  ${GTK3_INCLUDE_DIRS}
 )
 SET(GNOME_UTILS_GUI_TEST_LIBS
   ${GNOME_UTILS_TEST_LIBS}
diff --git a/src/gnome/CMakeLists.txt b/src/gnome/CMakeLists.txt
index 0c266db..109251e 100644
--- a/src/gnome/CMakeLists.txt
+++ b/src/gnome/CMakeLists.txt
@@ -100,7 +100,7 @@ ENDIF(WIN32)
 ADD_LIBRARY (gnc-gnome ${gnc_gnome_SOURCES} ${gnc_gnome_noinst_HEADERS})
 
 TARGET_LINK_LIBRARIES(gnc-gnome gncmod-gnome-search gncmod-ledger-core gncmod-report-gnome gncmod-report-system
-    gncmod-register-gnome gncmod-register-core gncmod-engine ${GTK2_LDFLAGS} ${GTK_MAC_LDFLAGS})
+    gncmod-register-gnome gncmod-register-core gncmod-engine ${GTK3_LDFLAGS} ${GTK_MAC_LDFLAGS})
 
 TARGET_COMPILE_DEFINITIONS (gnc-gnome PRIVATE -DG_LOG_DOMAIN=\"gnc.gui\" ${GTK_MAC_CFLAGS_OTHER})
 
diff --git a/src/import-export/CMakeLists.txt b/src/import-export/CMakeLists.txt
index 281a3cf..b6dd4fa 100644
--- a/src/import-export/CMakeLists.txt
+++ b/src/import-export/CMakeLists.txt
@@ -53,7 +53,7 @@ ADD_LIBRARY (gncmod-generic-import
   ${generic_import_noinst_HEADERS}
 )
 
-TARGET_LINK_LIBRARIES(gncmod-generic-import gncmod-gnome-utils gncmod-engine ${GTK2_LDFLAGS} ${GLIB2_LDFLAGS})
+TARGET_LINK_LIBRARIES(gncmod-generic-import gncmod-gnome-utils gncmod-engine ${GTK3_LDFLAGS} ${GLIB2_LDFLAGS})
 
 TARGET_COMPILE_DEFINITIONS (gncmod-generic-import PRIVATE -DG_LOG_DOMAIN=\"gnc.import\")
 
diff --git a/src/import-export/log-replay/CMakeLists.txt b/src/import-export/log-replay/CMakeLists.txt
index 5d72b84..9e0fe6d 100644
--- a/src/import-export/log-replay/CMakeLists.txt
+++ b/src/import-export/log-replay/CMakeLists.txt
@@ -16,7 +16,7 @@ SET(log_replay_noinst_HEADERS
 ADD_LIBRARY(gncmod-log-replay ${log_replay_SOURCES} ${log_replay_noinst_HEADERS})
 
 TARGET_LINK_LIBRARIES(gncmod-log-replay gncmod-gnome-utils gncmod-app-utils gncmod-engine
-     gnc-core-utils gnc-module gnc-qof ${GTK2_LDFLAGS})
+     gnc-core-utils gnc-module gnc-qof ${GTK3_LDFLAGS})
 
 TARGET_COMPILE_DEFINITIONS(gncmod-log-replay PRIVATE -DG_LOG_DOMAIN=\"gnc.import.log-replay\")
 
@@ -33,4 +33,4 @@ INSTALL(FILES ${log_replay_UI} DESTINATION share/gnucash/ui)
 IF (GNC_BUILD_AS_INSTALL)
   FILE(COPY ${log_replay_UI}
     DESTINATION ${DATADIR_BUILD}/gnucash/ui)
-ENDIF()
\ No newline at end of file
+ENDIF()
diff --git a/src/register/ledger-core/CMakeLists.txt b/src/register/ledger-core/CMakeLists.txt
index fb2edfa..dec852b 100644
--- a/src/register/ledger-core/CMakeLists.txt
+++ b/src/register/ledger-core/CMakeLists.txt
@@ -31,7 +31,7 @@ SET_SOURCE_FILES_PROPERTIES (${ledger_core_SOURCES} PROPERTIES OBJECT_DEPENDS ${
 ADD_LIBRARY (gncmod-ledger-core ${ledger_core_SOURCES} ${ledger_core_HEADERS})
 
 TARGET_LINK_LIBRARIES(gncmod-ledger-core gncmod-register-gnome gncmod-register-core gncmod-gnome-utils
-        gncmod-engine ${GTK2_LDFLAGS})
+        gncmod-engine ${GTK3_LDFLAGS})
 
 TARGET_COMPILE_DEFINITIONS (gncmod-ledger-core PRIVATE -DG_LOG_DOMAIN=\"gnc.register.ledger\")
 
diff --git a/src/register/register-gnome/CMakeLists.txt b/src/register/register-gnome/CMakeLists.txt
index 6462d83..f823415 100644
--- a/src/register/register-gnome/CMakeLists.txt
+++ b/src/register/register-gnome/CMakeLists.txt
@@ -44,13 +44,13 @@ SET_SOURCE_FILES_PROPERTIES (${register_gnome_SOURCES} PROPERTIES OBJECT_DEPENDS
 
 ADD_LIBRARY (gncmod-register-gnome ${register_gnome_SOURCES} ${register_gnome_noinst_HEADERS})
 
-TARGET_LINK_LIBRARIES(gncmod-register-gnome gncmod-register-core gnc-qof ${GTK2_LDFLAGS})
+TARGET_LINK_LIBRARIES(gncmod-register-gnome gncmod-register-core gnc-qof ${GTK3_LDFLAGS})
 
 TARGET_COMPILE_DEFINITIONS(gncmod-register-gnome PRIVATE -DG_LOG_DOMAIN=\"gnc.register.gnome\")
 
 TARGET_INCLUDE_DIRECTORIES(gncmod-register-gnome
     PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
-    PRIVATE ${CMAKE_SOURCE_DIR}/src/register/ledger-core ${GTK2_INCLUDE_DIRS}
+    PRIVATE ${CMAKE_SOURCE_DIR}/src/register/ledger-core ${GTK3_INCLUDE_DIRS}
 )
 
 INSTALL(TARGETS gncmod-register-gnome
diff --git a/src/report/report-gnome/CMakeLists.txt b/src/report/report-gnome/CMakeLists.txt
index a15a3d2..0e14169 100644
--- a/src/report/report-gnome/CMakeLists.txt
+++ b/src/report/report-gnome/CMakeLists.txt
@@ -30,7 +30,7 @@ ADD_LIBRARY (gncmod-report-gnome
   ${report_gnome_HEADERS}
 )
 TARGET_LINK_LIBRARIES(gncmod-report-gnome gncmod-report-system gncmod-html gncmod-gnome-utils
-      gnc-qof ${GUILE_LDFLAGS} ${GTK2_LDFLAGS})
+      gnc-qof ${GUILE_LDFLAGS} ${GTK3_LDFLAGS})
 
 TARGET_COMPILE_DEFINITIONS (gncmod-report-gnome PRIVATE -DG_LOG_DOMAIN=\"gnc.report.gui\")
 
diff --git a/src/report/report-system/CMakeLists.txt b/src/report/report-system/CMakeLists.txt
index d064026..cb1e298 100644
--- a/src/report/report-system/CMakeLists.txt
+++ b/src/report/report-system/CMakeLists.txt
@@ -25,10 +25,10 @@ ADD_LIBRARY (gncmod-report-system
 
 TARGET_COMPILE_DEFINITIONS(gncmod-report-system PRIVATE -DG_LOG_DOMAIN=\"gnc.report.core\")
 
-TARGET_LINK_LIBRARIES(gncmod-report-system gnc-module gncmod-app-utils gnc-qof ${GTK2_LDFLAGS} ${GUILE_LDFLAGS})
+TARGET_LINK_LIBRARIES(gncmod-report-system gnc-module gncmod-app-utils gnc-qof ${GTK3_LDFLAGS} ${GUILE_LDFLAGS})
 
 TARGET_INCLUDE_DIRECTORIES (gncmod-report-system
-    PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${GTK2_INCLUDE_DIRS}
+    PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${GTK3_INCLUDE_DIRS}
 )
 
 
diff --git a/src/report/standard-reports/CMakeLists.txt b/src/report/standard-reports/CMakeLists.txt
index cbd7fc0..e1b54bc 100644
--- a/src/report/standard-reports/CMakeLists.txt
+++ b/src/report/standard-reports/CMakeLists.txt
@@ -5,7 +5,7 @@ SET(standard_reports_SOURCES gncmod-standard-reports.c)
 
 ADD_LIBRARY (gncmod-standard-reports ${standard_reports_SOURCES})
 
-TARGET_LINK_LIBRARIES(gncmod-standard-reports gnc-module ${GTK2_LDFLAGS})
+TARGET_LINK_LIBRARIES(gncmod-standard-reports gnc-module ${GTK3_LDFLAGS})
 
 TARGET_COMPILE_DEFINITIONS(gncmod-standard-reports PRIVATE -DG_LOG_DOMAIN=\"gnc.report.standard\")
 
diff --git a/src/report/stylesheets/CMakeLists.txt b/src/report/stylesheets/CMakeLists.txt
index 67f09d7..7eed180 100644
--- a/src/report/stylesheets/CMakeLists.txt
+++ b/src/report/stylesheets/CMakeLists.txt
@@ -12,7 +12,7 @@ SET(stylesheet_noinst_HEADERS
 ADD_LIBRARY(gncmod-stylesheets MODULE ${stylesheets_SOURCES} ${stylesheets_noinst_HEADERS})
 
 TARGET_LINK_LIBRARIES(gncmod-stylesheets gncmod-report-gnome gncmod-report-system gncmod-gnome-utils gnc-module
-    gnc-qof ${GUILE_LDFLAGS} ${GTK2_LDFLAGS} ${GLIB2_LDFLAGS})
+    gnc-qof ${GUILE_LDFLAGS} ${GTK3_LDFLAGS} ${GLIB2_LDFLAGS})
 
 TARGET_COMPILE_DEFINITIONS(gncmod-stylesheets PRIVATE -DG_LOG_DOMAIN=\"gnc.report.core\")
 

commit 6edbb53fe61c78dea896f2db76bc0c7fb9104bbd
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Mon Mar 13 18:27:33 2017 +0100

    GnucashSheet - drop unused variables

diff --git a/src/register/register-gnome/gnucash-sheet.c b/src/register/register-gnome/gnucash-sheet.c
index 9fe9cfb..2fc02e9 100644
--- a/src/register/register-gnome/gnucash-sheet.c
+++ b/src/register/register-gnome/gnucash-sheet.c
@@ -400,6 +400,7 @@ gnucash_sheet_compute_visible_range (GnucashSheet *sheet)
     GtkAdjustment *adj;
     gint height;
     gint cy;
+    gint top_block;
     gint old_visible_blocks, old_visible_rows;
 
     g_return_if_fail (sheet != NULL);
@@ -411,14 +412,14 @@ gnucash_sheet_compute_visible_range (GnucashSheet *sheet)
     adj = gtk_layout_get_vadjustment(GTK_LAYOUT(sheet));
     cy = gtk_adjustment_get_value(adj);
 
-    sheet->top_block = gnucash_sheet_y_pixel_to_block (sheet, cy);
+    top_block = gnucash_sheet_y_pixel_to_block (sheet, cy);
 
     old_visible_blocks = sheet->num_visible_blocks;
     old_visible_rows = sheet->num_visible_phys_rows;
     sheet->num_visible_blocks = 0;
     sheet->num_visible_phys_rows = 0;
 
-    for ( vcell_loc.virt_row = sheet->top_block, vcell_loc.virt_col = 0;
+    for ( vcell_loc.virt_row = top_block, vcell_loc.virt_col = 0;
             vcell_loc.virt_row < sheet->num_virt_rows;
             vcell_loc.virt_row++ )
     {
@@ -435,12 +436,6 @@ gnucash_sheet_compute_visible_range (GnucashSheet *sheet)
                 >= height)
             break;
     }
-
-    sheet->bottom_block = vcell_loc.virt_row;
-
-    /* FIXME */
-    sheet->left_block = 0;
-    sheet->right_block = 0;
 }
 
 
@@ -1677,14 +1672,10 @@ gnucash_sheet_key_press_event_internal (GtkWidget *widget, GdkEventKey *event)
     /* Forward the keystroke to the input line */
     if (pass_on)
     {
-        GValue gval = {0,};
         gboolean result;
-        g_value_init (&gval, G_TYPE_BOOLEAN);
-        g_value_set_boolean (&gval, TRUE);
-        g_object_set_property (G_OBJECT (sheet->entry), "editable", &gval);
+        gtk_editable_set_editable(GTK_EDITABLE(sheet->entry), TRUE);
         result = gtk_widget_event (sheet->entry, (GdkEvent *) event);
-        g_value_set_boolean (&gval, FALSE);
-        g_object_set_property (G_OBJECT (sheet->entry), "editable", &gval);
+        gtk_editable_set_editable(GTK_EDITABLE(sheet->entry), FALSE);
         return result;
     }
 
@@ -2489,8 +2480,6 @@ gnucash_sheet_init (GnucashSheet *sheet)
     gtk_widget_set_can_focus (GTK_WIDGET(sheet), TRUE);
     gtk_widget_set_can_default (GTK_WIDGET(sheet), TRUE);
 
-    sheet->top_block = 1;
-    sheet->bottom_block = 1;
     sheet->num_visible_blocks = 1;
     sheet->num_visible_phys_rows = 1;
 
diff --git a/src/register/register-gnome/gnucash-sheetP.h b/src/register/register-gnome/gnucash-sheetP.h
index fec6e71..b4a05e3 100644
--- a/src/register/register-gnome/gnucash-sheetP.h
+++ b/src/register/register-gnome/gnucash-sheetP.h
@@ -73,11 +73,6 @@ struct _GnucashSheet
 
     gboolean input_cancelled;
 
-    gint top_block;  /* maybe not fully visible */
-    gint bottom_block;
-    gint left_block;
-    gint right_block;
-
     gint num_visible_blocks;
     gint num_visible_phys_rows;
 
@@ -87,8 +82,6 @@ struct _GnucashSheet
     gint window_height;
     gint window_width;
 
-    gint cell_borders;
-
     gint editing;
 
     guint button; /* mouse button being held down */

commit 4b30a7dae78d5c373105d9ea25b9075fc8434070
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Mon Mar 13 18:15:36 2017 +0100

    GnucashSheet - fix screen refresh
    
    I noticed improper screen redraws when switching cells while the
    window was scrolled down. The drawing logic is pretty conflated
    so instead of hunting this down, I have made it so that the full
    visible part of the windows gets redrawn each time the user
    switches to a different cell.
    This is slightly more expensive, but should still be ok.

diff --git a/src/register/register-gnome/gnucash-sheet.c b/src/register/register-gnome/gnucash-sheet.c
index 0bc784b..9fe9cfb 100644
--- a/src/register/register-gnome/gnucash-sheet.c
+++ b/src/register/register-gnome/gnucash-sheet.c
@@ -353,9 +353,12 @@ gnucash_sheet_cursor_move (GnucashSheet *sheet, VirtualLocation virt_loc)
 
     changed_cells = !virt_loc_equal (virt_loc, old_virt_loc);
 
-    /* If we've changed cells, redraw the headers */
+    /* If we've changed cells, redraw the headers and sheet */
     if (changed_cells)
+    {
         gnc_header_request_redraw (GNC_HEADER(sheet->header_item));
+        gtk_widget_queue_draw (GTK_WIDGET(sheet));
+    }
 
     /* Now turn on the editing controls. */
     gnucash_sheet_activate_cursor_cell (sheet, changed_cells);
@@ -438,17 +441,6 @@ gnucash_sheet_compute_visible_range (GnucashSheet *sheet)
     /* FIXME */
     sheet->left_block = 0;
     sheet->right_block = 0;
-
-    if ((old_visible_blocks > sheet->num_visible_blocks) ||
-            (old_visible_rows > sheet->num_visible_phys_rows))
-    {
-        /* Reach up and tell the parent widget to redraw as
-         * well.  The sheet doesn't occupy all the visible
-         * area in the notebook page, and this will cause the
-         * parent to color in the empty grey space after the
-         * area occupied by the sheet. */
-        gtk_widget_queue_draw(gtk_widget_get_parent(GTK_WIDGET(sheet)));
-    }
 }
 
 

commit d439d3798045effee5415644bd37774149494b8d
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Mon Mar 13 16:17:49 2017 +0100

    Fix two critical GObject warnings

diff --git a/src/register/register-gnome/gnucash-item-edit.c b/src/register/register-gnome/gnucash-item-edit.c
index d2a89bf..181135c 100644
--- a/src/register/register-gnome/gnucash-item-edit.c
+++ b/src/register/register-gnome/gnucash-item-edit.c
@@ -746,7 +746,8 @@ gnc_item_edit_set_popup (GncItemEdit    *item_edit,
         gnc_item_edit_hide_popup_toggle (item_edit);
     }
 
-    gnc_item_edit_update (item_edit);
+    if (gtk_widget_get_realized(GTK_WIDGET(item_edit)))
+        gnc_item_edit_update (item_edit);
 }
 
 gboolean
diff --git a/src/register/register-gnome/gnucash-sheet.c b/src/register/register-gnome/gnucash-sheet.c
index 603635e..0bc784b 100644
--- a/src/register/register-gnome/gnucash-sheet.c
+++ b/src/register/register-gnome/gnucash-sheet.c
@@ -687,10 +687,6 @@ gnucash_sheet_finalize (GObject *object)
     /* Clean up IMContext and unref */
     gnucash_sheet_im_context_reset(sheet);
     g_object_unref (sheet->im_context);
-
-    /* This has to come after the parent destroy, so the item edit
-       destruction can do its disconnects. */
-    g_object_unref (sheet->entry);
 }
 
 
@@ -1414,8 +1410,6 @@ gnucash_button_press_event (GtkWidget *widget, GdkEventButton *event)
     if (button_1)
         gnucash_sheet_check_grab (sheet);
 
-    gnucash_cursor_get_virt (GNUCASH_CURSOR(sheet->cursor), &new_virt_loc);
-
     if (do_popup)
         gtk_menu_popup(GTK_MENU(sheet->popup), NULL, NULL, NULL,
                        sheet->popup_data, event->button, event->time);

commit 68091faa80b86d4d58be51936e4071a455bd9e17
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Mon Mar 13 14:47:47 2017 +0100

    ItemEdit - drop unused function

diff --git a/src/register/register-gnome/gnucash-item-edit.c b/src/register/register-gnome/gnucash-item-edit.c
index 2e72f14..d2a89bf 100644
--- a/src/register/register-gnome/gnucash-item-edit.c
+++ b/src/register/register-gnome/gnucash-item-edit.c
@@ -197,16 +197,6 @@ gnc_item_edit_init (GncItemEdit *item_edit)
     gnc_virtual_location_init(&item_edit->virt_loc);
 }
 
-
-static gboolean
-gnc_item_edit_configure_cb (GtkWidget *widget,
-                            G_GNUC_UNUSED GdkEventConfigure *event)
-{
-    g_return_val_if_fail(GNC_IS_ITEM_EDIT(widget), FALSE);
-    gnc_item_edit_configure (GNC_ITEM_EDIT(widget));
-    return TRUE;
-}
-
 void
 gnc_item_edit_configure (GncItemEdit *item_edit)
 {
@@ -511,7 +501,6 @@ gnc_item_edit_class_init (GncItemEditClass *gnc_item_edit_class)
                                              G_PARAM_READWRITE));
 
     /* GtkWidget method overrides */
-    widget_class->configure_event = gnc_item_edit_configure_cb;
 }
 
 

commit 03699efe14e2bbbd144d68df460a59609444e540
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Fri Mar 10 11:55:27 2017 +0100

    Extract the GnucashRegister widget into a separate file
    
    It was interleaved in the gnucash-sheet.* sources making it harder to examine

diff --git a/po/POTFILES.in b/po/POTFILES.in
index 1c2af10..9b49623 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -557,6 +557,7 @@ src/register/register-gnome/gnucash-date-picker.c
 src/register/register-gnome/gnucash-header.c
 src/register/register-gnome/gnucash-item-edit.c
 src/register/register-gnome/gnucash-item-list.c
+src/register/register-gnome/gnucash-register.c
 src/register/register-gnome/gnucash-scrolled-window.c
 src/register/register-gnome/gnucash-sheet.c
 src/register/register-gnome/gnucash-sheet-private.c
diff --git a/src/business/business-gnome/dialog-invoice.c b/src/business/business-gnome/dialog-invoice.c
index 956b2ea..99b3719 100644
--- a/src/business/business-gnome/dialog-invoice.c
+++ b/src/business/business-gnome/dialog-invoice.c
@@ -42,6 +42,7 @@
 #include "gnc-date-edit.h"
 #include "gnc-amount-edit.h"
 #include "gnucash-sheet.h"
+#include "gnucash-register.h"
 #include "window-report.h"
 #include "dialog-search.h"
 #include "search-param.h"
@@ -2417,9 +2418,8 @@ gnc_invoice_create_page (InvoiceWindow *iw, gpointer page)
 
         /* Watch the order of operations, here... */
         regWidget = gnucash_register_new (gnc_entry_ledger_get_table
-                                          (entry_ledger));
+                                          (entry_ledger), NULL);
         gtk_widget_show(regWidget);
-        gnc_table_init_gui( regWidget, NULL);
 
         frame = GTK_WIDGET (gtk_builder_get_object (builder, "ledger_frame"));
         gtk_container_add (GTK_CONTAINER (frame), regWidget);
diff --git a/src/business/business-gnome/dialog-order.c b/src/business/business-gnome/dialog-order.c
index afedccd..2ab44d5 100644
--- a/src/business/business-gnome/dialog-order.c
+++ b/src/business/business-gnome/dialog-order.c
@@ -33,6 +33,7 @@
 #include "gnc-gui-query.h"
 #include "gnc-ui-util.h"
 #include "qof.h"
+#include "gnucash-register.h"
 #include "gnucash-sheet.h"
 #include "dialog-search.h"
 #include "search-param.h"
@@ -641,8 +642,8 @@ gnc_order_new_window (QofBook *bookp, OrderDialogType type,
     //  gnc_entry_ledger_load (entry_ledger, entries);
 
     /* Watch the order of operations, here... */
-    regWidget = gnucash_register_new (gnc_entry_ledger_get_table (entry_ledger));
-    gnc_table_init_gui( regWidget, NULL);
+    regWidget = gnucash_register_new (gnc_entry_ledger_get_table (entry_ledger),
+                                      NULL);
     ow->reg = GNUCASH_REGISTER (regWidget);
     gnucash_sheet_set_window (gnucash_register_get_sheet (ow->reg), ow->dialog);
     gnc_entry_ledger_set_parent (entry_ledger, ow->dialog);
diff --git a/src/business/business-gnome/gnc-plugin-page-invoice.c b/src/business/business-gnome/gnc-plugin-page-invoice.c
index d869bb8..ee2d5bc 100644
--- a/src/business/business-gnome/gnc-plugin-page-invoice.c
+++ b/src/business/business-gnome/gnc-plugin-page-invoice.c
@@ -37,7 +37,7 @@
 #include "gnc-gobject-utils.h"
 #include "gnc-gnome-utils.h"
 #include "gnc-icons.h"
-#include "gnucash-sheet.h"
+#include "gnucash-register.h"
 #include "gnc-prefs.h"
 #include "gnc-ui-util.h"
 #include "gnc-window.h"
diff --git a/src/gnome/gnc-split-reg.c b/src/gnome/gnc-split-reg.c
index 3a2e68b..77a7222 100644
--- a/src/gnome/gnc-split-reg.c
+++ b/src/gnome/gnc-split-reg.c
@@ -52,6 +52,7 @@
 #include "gnc-ui.h"
 #include "gnome-utils/gnc-warnings.h"
 #include "gnucash-sheet.h"
+#include "gnucash-register.h"
 #include "table-allgui.h"
 
 #include "dialog-utils.h"
@@ -401,9 +402,8 @@ gsr_create_table( GNCSplitReg *gsr )
 
     /* FIXME: We'd really rather pass this down... */
     sr = gnc_ledger_display_get_split_register( gsr->ledger );
-    register_widget = gnucash_register_new( sr->table );
+    register_widget = gnucash_register_new( sr->table, state_section );
     gsr->reg = GNUCASH_REGISTER( register_widget );
-    gnc_table_init_gui( GTK_WIDGET(gsr->reg), state_section);
     g_free (state_section);
     gtk_box_pack_start (GTK_BOX (gsr), GTK_WIDGET(gsr->reg), TRUE, TRUE, 0);
     gnucash_sheet_set_window (gnucash_register_get_sheet (gsr->reg), gsr->window);
diff --git a/src/gnome/gnc-split-reg.h b/src/gnome/gnc-split-reg.h
index ac5f9c3..a68f9af 100644
--- a/src/gnome/gnc-split-reg.h
+++ b/src/gnome/gnc-split-reg.h
@@ -30,7 +30,7 @@
 #define GNC_SPLIT_REG_H
 
 #include "gnc-ledger-display.h"
-#include "gnucash-sheet.h"
+#include "gnucash-register.h"
 
 #define GNC_SPLIT_REG(obj)         G_TYPE_CHECK_INSTANCE_CAST( obj, gnc_split_reg_get_type(), GNCSplitReg )
 #define GNC_SPLIT_REG_CLASS(klass) G_TYPE_CHECK_CLASS_CAST( klass, gnc_split_reg_get_type(), GNCSplitRegClass )
@@ -77,7 +77,7 @@ struct _GNCSplitReg
 
     /** The current ledger display. **/
     GNCLedgerDisplay *ledger;
-    /** The actual sheet widget. **/
+    /** The actual gnucash register widget. **/
     GnucashRegister *reg;
 
     gint numRows;
diff --git a/src/register/register-core/table-allgui.h b/src/register/register-core/table-allgui.h
index d96c8fc..3b54d5a 100644
--- a/src/register/register-core/table-allgui.h
+++ b/src/register/register-core/table-allgui.h
@@ -408,7 +408,7 @@ gboolean    gnc_table_find_close_valid_cell (Table *table,
 /** UI-specific functions *******************************/
 
 /** Initialize the GUI from a table */
-void        gnc_table_init_gui (GtkWidget *widget, gchar * state_section);
+void        gnc_table_init_gui (Table *table);
 
 void        gnc_table_realize_gui (Table *table);
 
diff --git a/src/register/register-gnome/CMakeLists.txt b/src/register/register-gnome/CMakeLists.txt
index a92a3fd..6462d83 100644
--- a/src/register/register-gnome/CMakeLists.txt
+++ b/src/register/register-gnome/CMakeLists.txt
@@ -11,6 +11,7 @@ SET (register_gnome_SOURCES
   gnucash-header.c
   gnucash-item-edit.c
   gnucash-item-list.c
+  gnucash-register.c
   gnucash-scrolled-window.c
   gnucash-sheet-private.c
   gnucash-sheet.c
@@ -28,6 +29,7 @@ SET (register_gnome_noinst_HEADERS
   gnucash-header.h
   gnucash-item-edit.h
   gnucash-item-list.h
+  gnucash-register.h
   gnucash-scrolled-window.h
   gnucash-sheet.h
   gnucash-sheetP.h
diff --git a/src/register/register-gnome/Makefile.am b/src/register/register-gnome/Makefile.am
index 3ddc4d8..06311db 100644
--- a/src/register/register-gnome/Makefile.am
+++ b/src/register/register-gnome/Makefile.am
@@ -26,6 +26,7 @@ libgncmod_register_gnome_la_SOURCES = \
   gnucash-header.c \
   gnucash-item-edit.c \
   gnucash-item-list.c \
+  gnucash-register.c \
   gnucash-scrolled-window.c \
   gnucash-sheet-private.c \
   gnucash-sheet.c \
@@ -42,6 +43,7 @@ noinst_HEADERS = \
   gnucash-header.h \
   gnucash-item-edit.h \
   gnucash-item-list.h \
+  gnucash-register.h \
   gnucash-scrolled-window.h \
   gnucash-sheet.h \
   gnucash-sheetP.h \
diff --git a/src/register/register-gnome/gnucash-register.c b/src/register/register-gnome/gnucash-register.c
new file mode 100644
index 0000000..f41d2fd
--- /dev/null
+++ b/src/register/register-gnome/gnucash-register.c
@@ -0,0 +1,588 @@
+/********************************************************************\
+ * 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 at gnu.org                   *
+ *                                                                  *
+\********************************************************************/
+
+/*
+ * The Gnucash Register widget
+ *
+ *  Based heavily on the Gnumeric Sheet widget.
+ *
+ * Authors:
+ *     Heath Martin <martinh at pegasus.cc.ucf.edu>
+ *     Dave Peticolas <dave at krondo.com>
+ */
+
+#include "config.h"
+#include <glib.h>
+#include <glib/gprintf.h>
+#include <gdk/gdkkeysyms.h>
+
+#include "gnucash-register.h"
+#include "gnucash-sheet.h"
+#include "gnucash-sheetP.h"
+
+#include "gnucash-cursor.h"
+#include "gnucash-style.h"
+#include "gnucash-header.h"
+#include "gnucash-item-edit.h"
+#include "split-register.h"
+#include "gnc-engine.h"         // For debugging, e.g. ENTER(), LEAVE()
+#include "gnc-prefs.h"
+#include "gnc-state.h"
+
+
+/* Register signals */
+enum
+{
+    ACTIVATE_CURSOR,
+    REDRAW_ALL,
+    REDRAW_HELP,
+    LAST_SIGNAL
+};
+
+
+/** Static Globals *****************************************************/
+
+/* This static indicates the debugging module that this .o belongs to. */
+static QofLogModule log_module = GNC_MOD_REGISTER;
+static GtkTable *register_parent_class;
+static guint register_signals[LAST_SIGNAL];
+
+
+struct _GnucashRegister
+{
+    GtkTable table;
+
+    GtkWidget *hscrollbar;
+    GtkWidget *sheet;
+    gboolean  hscrollbar_visible;
+};
+
+
+struct _GnucashRegisterClass
+{
+    GtkTableClass parent_class;
+
+    void (*activate_cursor) (GnucashRegister *reg);
+    void (*redraw_all)      (GnucashRegister *reg);
+    void (*redraw_help)     (GnucashRegister *reg);
+};
+
+/** Implementation *****************************************************/
+
+gboolean
+gnucash_register_has_selection (GnucashRegister *reg)
+{
+    GnucashSheet *sheet;
+    GncItemEdit *item_edit;
+
+    g_return_val_if_fail((reg != NULL), FALSE);
+    g_return_val_if_fail(GNUCASH_IS_REGISTER(reg), FALSE);
+
+    sheet = GNUCASH_SHEET(reg->sheet);
+    item_edit = GNC_ITEM_EDIT(sheet->item_editor);
+
+    return gnc_item_edit_get_has_selection(item_edit);
+}
+
+void
+gnucash_register_cut_clipboard (GnucashRegister *reg)
+{
+    GnucashSheet *sheet;
+    GncItemEdit *item_edit;
+
+    g_return_if_fail(reg != NULL);
+    g_return_if_fail(GNUCASH_IS_REGISTER(reg));
+
+    sheet = GNUCASH_SHEET(reg->sheet);
+    item_edit = GNC_ITEM_EDIT(sheet->item_editor);
+
+    gnc_item_edit_cut_clipboard(item_edit);
+}
+
+void
+gnucash_register_copy_clipboard (GnucashRegister *reg)
+{
+    GnucashSheet *sheet;
+    GncItemEdit *item_edit;
+
+    g_return_if_fail(reg != NULL);
+    g_return_if_fail(GNUCASH_IS_REGISTER(reg));
+
+    sheet = GNUCASH_SHEET(reg->sheet);
+    item_edit = GNC_ITEM_EDIT(sheet->item_editor);
+
+    gnc_item_edit_copy_clipboard(item_edit);
+}
+
+void
+gnucash_register_paste_clipboard (GnucashRegister *reg)
+{
+    GnucashSheet *sheet;
+    GncItemEdit *item_edit;
+
+    g_return_if_fail(reg != NULL);
+    g_return_if_fail(GNUCASH_IS_REGISTER(reg));
+
+    sheet = GNUCASH_SHEET(reg->sheet);
+    item_edit = GNC_ITEM_EDIT(sheet->item_editor);
+
+    gnc_item_edit_paste_clipboard (item_edit);
+}
+
+void
+gnucash_register_refresh_from_prefs (GnucashRegister *reg)
+{
+    GnucashSheet *sheet;
+
+    g_return_if_fail(reg != NULL);
+    g_return_if_fail(GNUCASH_IS_REGISTER(reg));
+
+    sheet = GNUCASH_SHEET(reg->sheet);
+    gnucash_sheet_refresh_from_prefs(sheet);
+}
+
+
+void
+gnucash_register_goto_virt_cell (GnucashRegister *reg,
+                                 VirtualCellLocation vcell_loc)
+{
+    GnucashSheet *sheet;
+    VirtualLocation virt_loc;
+
+    g_return_if_fail(reg != NULL);
+    g_return_if_fail(GNUCASH_IS_REGISTER(reg));
+
+    sheet = GNUCASH_SHEET(reg->sheet);
+
+    virt_loc.vcell_loc = vcell_loc;
+    virt_loc.phys_row_offset = 0;
+    virt_loc.phys_col_offset = 0;
+
+    gnucash_sheet_goto_virt_loc(sheet, virt_loc);
+}
+
+void
+gnucash_register_goto_virt_loc (GnucashRegister *reg,
+                                VirtualLocation virt_loc)
+{
+    GnucashSheet *sheet;
+
+    g_return_if_fail(reg != NULL);
+    g_return_if_fail(GNUCASH_IS_REGISTER(reg));
+
+    sheet = GNUCASH_SHEET(reg->sheet);
+
+    gnucash_sheet_goto_virt_loc(sheet, virt_loc);
+}
+
+void
+gnucash_register_goto_next_virt_row (GnucashRegister *reg)
+{
+    GnucashSheet *sheet;
+    VirtualLocation virt_loc;
+    int start_virt_row;
+
+    g_return_if_fail (reg != NULL);
+    g_return_if_fail (GNUCASH_IS_REGISTER(reg));
+
+    sheet = GNUCASH_SHEET(reg->sheet);
+
+    gnucash_cursor_get_virt (GNUCASH_CURSOR(sheet->cursor), &virt_loc);
+
+    /* Move down one physical row at a time until we
+     * reach the next visible virtual cell. */
+    start_virt_row = virt_loc.vcell_loc.virt_row;
+    do
+    {
+        if (!gnc_table_move_vertical_position (sheet->table, &virt_loc, 1))
+            return;
+    }
+    while (start_virt_row == virt_loc.vcell_loc.virt_row);
+
+    if (virt_loc.vcell_loc.virt_row >= sheet->num_virt_rows)
+        return;
+
+    virt_loc.phys_row_offset = 0;
+    virt_loc.phys_col_offset = 0;
+
+    gnucash_sheet_goto_virt_loc (sheet, virt_loc);
+}
+
+void
+gnucash_register_goto_next_matching_row (GnucashRegister *reg,
+        VirtualLocationMatchFunc match,
+        gpointer user_data)
+{
+    GnucashSheet *sheet;
+    SheetBlockStyle *style;
+    VirtualLocation virt_loc;
+
+    g_return_if_fail (reg != NULL);
+    g_return_if_fail (GNUCASH_IS_REGISTER(reg));
+    g_return_if_fail (match != NULL);
+
+    sheet = GNUCASH_SHEET (reg->sheet);
+
+    gnucash_cursor_get_virt (GNUCASH_CURSOR(sheet->cursor), &virt_loc);
+
+    do
+    {
+        if (!gnc_table_move_vertical_position (sheet->table,
+                                               &virt_loc, 1))
+            return;
+
+        if (virt_loc.vcell_loc.virt_row >= sheet->num_virt_rows)
+            return;
+
+        style = gnucash_sheet_get_style (sheet, virt_loc.vcell_loc);
+        if (!style || !style->cursor)
+            return;
+    }
+    while (!match (virt_loc, user_data));
+
+    virt_loc.phys_row_offset = 0;
+    virt_loc.phys_col_offset = 0;
+
+    gnucash_sheet_goto_virt_loc (sheet, virt_loc);
+}
+
+
+static void
+gnucash_register_update_hadjustment (GtkAdjustment *adj,
+                                     GnucashRegister *reg)
+{
+    g_return_if_fail (reg != NULL);
+    g_return_if_fail (GNUCASH_IS_REGISTER(reg));
+
+    if (gtk_adjustment_get_upper (adj) - gtk_adjustment_get_lower (adj)
+        > gtk_adjustment_get_page_size (adj))
+    {
+        if (!reg->hscrollbar_visible)
+        {
+            gtk_widget_show(reg->hscrollbar);
+            reg->hscrollbar_visible = TRUE;
+        }
+    }
+    else
+    {
+        if (reg->hscrollbar_visible)
+        {
+            gtk_widget_hide(reg->hscrollbar);
+            reg->hscrollbar_visible = FALSE;
+        }
+    }
+}
+
+/*************************************************************/
+
+
+static void
+gnucash_register_class_init (GnucashRegisterClass *klass)
+{
+    GObjectClass *gobject_class;
+
+    gobject_class = G_OBJECT_CLASS (klass);
+
+    register_parent_class = g_type_class_peek_parent (klass);
+
+    register_signals[ACTIVATE_CURSOR] =
+        g_signal_new("activate_cursor",
+                     G_TYPE_FROM_CLASS(gobject_class),
+                     G_SIGNAL_RUN_LAST,
+                     G_STRUCT_OFFSET(GnucashRegisterClass,
+                                     activate_cursor),
+                     NULL, NULL,
+                     g_cclosure_marshal_VOID__VOID,
+                     G_TYPE_NONE, 0);
+
+    register_signals[REDRAW_ALL] =
+        g_signal_new("redraw_all",
+                     G_TYPE_FROM_CLASS(gobject_class),
+                     G_SIGNAL_RUN_LAST,
+                     G_STRUCT_OFFSET(GnucashRegisterClass,
+                                     redraw_all),
+                     NULL, NULL,
+                     g_cclosure_marshal_VOID__VOID,
+                     G_TYPE_NONE, 0);
+
+    register_signals[REDRAW_HELP] =
+        g_signal_new("redraw_help",
+                     G_TYPE_FROM_CLASS(gobject_class),
+                     G_SIGNAL_RUN_LAST,
+                     G_STRUCT_OFFSET(GnucashRegisterClass,
+                                     redraw_help),
+                     NULL, NULL,
+                     g_cclosure_marshal_VOID__VOID,
+                     G_TYPE_NONE, 0);
+
+    klass->activate_cursor = NULL;
+    klass->redraw_all = NULL;
+    klass->redraw_help = NULL;
+}
+
+
+static void
+gnucash_register_init (GnucashRegister *g_reg)
+{
+    GtkTable *table = GTK_TABLE(g_reg);
+
+    gtk_widget_set_can_focus (GTK_WIDGET(table), FALSE);
+    gtk_widget_set_can_default (GTK_WIDGET(table), FALSE);
+
+    gtk_table_set_homogeneous (table, FALSE);
+    gtk_table_resize (table, 3, 2);
+}
+
+
+GType
+gnucash_register_get_type (void)
+{
+    static GType gnucash_register_type = 0;
+
+    if (!gnucash_register_type)
+    {
+        static const GTypeInfo gnucash_register_info =
+        {
+            sizeof (GnucashRegisterClass),
+            NULL,		/* base_init */
+            NULL,		/* base_finalize */
+            (GClassInitFunc) gnucash_register_class_init,
+            NULL,		/* class_finalize */
+            NULL,		/* class_data */
+            sizeof (GnucashRegister),
+            0,		/* n_preallocs */
+            (GInstanceInitFunc) gnucash_register_init,
+        };
+
+        gnucash_register_type = g_type_register_static
+                                (gtk_table_get_type (),
+                                 "GnucashRegister",
+                                 &gnucash_register_info, 0);
+    }
+
+    return gnucash_register_type;
+}
+
+
+void
+gnucash_register_attach_popup (GnucashRegister *reg,
+                               GtkWidget *popup,
+                               gpointer data)
+{
+    g_return_if_fail (GNUCASH_IS_REGISTER(reg));
+    g_return_if_fail (reg->sheet != NULL);
+    if (popup)
+        g_return_if_fail (GTK_IS_WIDGET(popup));
+
+    gnucash_sheet_set_popup (GNUCASH_SHEET (reg->sheet), popup, data);
+}
+
+
+/* Um, this function checks that data is not null but never uses it.
+ *  Weird.  Also, since this function only works with a GnucashRegister
+ *  widget, maybe some of it should be moved to gnucash-sheet.c. */
+/* Adding to previous note:  Since data doesn't appear do anything and to
+ *  align the function with save_state() I've removed the check for
+ *  NULL and changed two calls in dialog_order.c and dialog_invoice.c
+ *  to pass NULL as second parameter. */
+
+static void
+gnucash_register_configure (GnucashSheet *sheet, gchar * state_section)
+{
+    GNCHeaderWidths widths;
+    GnucashRegister *greg;
+    Table *table;
+    GList *node;
+    gchar *key;
+    guint value;
+    GKeyFile *state_file = gnc_state_get_current();
+
+    // Stuff for per-register settings load.
+    g_return_if_fail (sheet != NULL);
+    g_return_if_fail (GNUCASH_IS_SHEET (sheet));
+
+    PINFO("state_section=%s",state_section);
+
+    ENTER("sheet=%p, data=%p", sheet, "");
+
+    table = sheet->table;
+    gnc_table_init_gui (table);
+    table->ui_data = sheet;
+
+    g_object_ref (sheet);
+
+    /* config the cell-block styles */
+
+    widths = gnc_header_widths_new ();
+
+    if (state_section && gnc_prefs_get_bool(GNC_PREFS_GROUP_GENERAL, GNC_PREF_SAVE_GEOMETRY))
+    {
+        node = gnc_table_layout_get_cells (table->layout);
+        for (; node; node = node->next)
+        {
+            BasicCell *cell = node->data;
+
+            if (cell->expandable)
+                continue;
+
+            /* Remember whether the column is visible */
+            key = g_strdup_printf("%s_width", cell->cell_name);
+            value = g_key_file_get_integer (state_file, state_section, key, NULL);
+            if (value != 0)
+                gnc_header_widths_set_width (widths, cell->cell_name, value);
+            g_free(key);
+        }
+    }
+
+    gnucash_sheet_create_styles (sheet);
+
+    gnucash_sheet_set_header_widths (sheet, widths);
+
+    gnucash_sheet_compile_styles (sheet);
+
+    gnucash_sheet_table_load (sheet, TRUE);
+    gnucash_sheet_cursor_set_from_table (sheet, TRUE);
+    gnucash_sheet_redraw_all (sheet);
+
+    gnc_header_widths_destroy (widths);
+
+    LEAVE(" ");
+}
+
+
+static GtkWidget *
+gnucash_register_create_widget (Table *table)
+{
+    GnucashRegister *reg;
+    GtkWidget *header;
+    GtkWidget *widget;
+    GtkWidget *sheet;
+    GtkWidget *scrollbar;
+    GtkWidget *box;
+
+    reg = g_object_new (GNUCASH_TYPE_REGISTER, NULL);
+    widget = GTK_WIDGET(reg);
+
+    sheet = gnucash_sheet_new (table);
+    reg->sheet = sheet;
+    GNUCASH_SHEET(sheet)->reg = widget;
+
+    header = gnc_header_new (GNUCASH_SHEET(sheet));
+
+    gtk_table_attach (GTK_TABLE(widget), header,
+                      0, 1, 0, 1,
+                      GTK_FILL | GTK_EXPAND | GTK_SHRINK,
+                      GTK_FILL,
+                      0, 0);
+    gtk_widget_show(header);
+
+    gtk_table_attach (GTK_TABLE(widget), sheet,
+                      0, 1, 1, 2,
+                      GTK_FILL | GTK_EXPAND | GTK_SHRINK,
+                      GTK_FILL | GTK_EXPAND | GTK_SHRINK,
+                      0, 0);
+    gtk_widget_show(sheet);
+
+    scrollbar = gtk_vscrollbar_new(GNUCASH_SHEET(sheet)->vadj);
+    gtk_table_attach (GTK_TABLE(widget), GTK_WIDGET(scrollbar),
+                      1, 2, 0, 3,
+                      GTK_FILL,
+                      GTK_EXPAND | GTK_SHRINK | GTK_FILL,
+                      0, 0);
+    gtk_widget_show(scrollbar);
+
+    scrollbar = gtk_hscrollbar_new(GNUCASH_SHEET(sheet)->hadj);
+    gtk_table_attach (GTK_TABLE(widget), GTK_WIDGET(scrollbar),
+                      0, 1, 2, 3,
+                      GTK_EXPAND | GTK_SHRINK | GTK_FILL,
+                      GTK_FILL,
+                      0, 0);
+    reg->hscrollbar = scrollbar;
+    gtk_widget_show(scrollbar);
+    reg->hscrollbar_visible = TRUE;
+
+    /* The gtkrc color helper widgets need to be part of a window
+     * hierarchy so they can be realized. Stick them in a box
+     * underneath the register, but don't show the box to the
+     * user. */
+    box = gtk_hbox_new(FALSE, 0);
+    gtk_widget_set_no_show_all(GTK_WIDGET(box), TRUE);
+    gtk_box_pack_start(GTK_BOX(box),
+                                GNUCASH_SHEET(sheet)->header_color, TRUE, TRUE, 0);
+    gtk_box_pack_start(GTK_BOX(box),
+                                GNUCASH_SHEET(sheet)->primary_color, TRUE, TRUE, 0);
+    gtk_box_pack_start(GTK_BOX(box),
+                                GNUCASH_SHEET(sheet)->secondary_color, TRUE, TRUE, 0);
+    gtk_box_pack_start(GTK_BOX(box),
+                                GNUCASH_SHEET(sheet)->split_color, TRUE, TRUE, 0);
+
+    gtk_table_attach (GTK_TABLE(widget), box,
+                      0, 1, 4, 5,
+                      GTK_FILL | GTK_EXPAND | GTK_SHRINK,
+                      GTK_FILL | GTK_EXPAND | GTK_SHRINK,
+                      0, 0);
+
+    g_signal_connect (GNUCASH_SHEET(sheet)->hadj, "changed",
+                      G_CALLBACK (gnucash_register_update_hadjustment), reg);
+
+    return widget;
+}
+
+
+GtkWidget *
+gnucash_register_new (Table *table, gchar *state_section)
+{
+    GnucashRegister *reg;
+    GtkWidget *header;
+    GtkWidget *widget;
+    GtkWidget *sheet;
+    GtkWidget *scrollbar;
+    GtkWidget *box;
+
+    widget = gnucash_register_create_widget(table);
+    reg = GNUCASH_REGISTER(widget);
+
+    gnucash_register_configure (GNUCASH_SHEET(reg->sheet), state_section);
+
+    return widget;
+}
+
+
+void gnucash_register_set_moved_cb (GnucashRegister *reg,
+                                    GFunc cb, gpointer cb_data)
+{
+    GnucashSheet *sheet;
+
+    if (!reg || !reg->sheet)
+        return;
+    sheet = GNUCASH_SHEET(reg->sheet);
+    sheet->moved_cb = cb;
+    sheet->moved_cb_data = cb_data;
+}
+
+
+GnucashSheet *gnucash_register_get_sheet (GnucashRegister *reg)
+{
+    g_return_val_if_fail (reg != NULL, NULL);
+    g_return_val_if_fail (GNUCASH_IS_REGISTER(reg), NULL);
+
+    return GNUCASH_SHEET(reg->sheet);
+}
+
diff --git a/src/register/register-gnome/gnucash-sheet.h b/src/register/register-gnome/gnucash-register.h
similarity index 55%
copy from src/register/register-gnome/gnucash-sheet.h
copy to src/register/register-gnome/gnucash-register.h
index 44dc24c..fc3ceb7 100644
--- a/src/register/register-gnome/gnucash-sheet.h
+++ b/src/register/register-gnome/gnucash-register.h
@@ -18,23 +18,22 @@
  *                                                                  *
 \********************************************************************/
 
-#ifndef GNUCASH_SHEET_H
-#define GNUCASH_SHEET_H
+#ifndef GNUCASH_REGISTER_H
+#define GNUCASH_REGISTER_H
 
 #include <gtk/gtk.h>
 #include "split-register-model.h"
 #include "table-allgui.h"
+#include "gnucash-sheet.h"
+
 /** @ingroup Register
  * @addtogroup Gnome
  * @{
  */
 /** @file gnucash-sheet.h
- * @brief Public declarations of GnucashSheet class.
+ * @brief Public declarations of GnucashRegister class.
  */
 
-#define CELL_VPADDING 2
-#define CELL_HPADDING 5
-
 
 #define GNUCASH_TYPE_REGISTER     (gnucash_register_get_type ())
 #define GNUCASH_REGISTER(obj)     (G_TYPE_CHECK_INSTANCE_CAST((obj), GNUCASH_TYPE_REGISTER, GnucashRegister))
@@ -42,80 +41,14 @@
 #define GNUCASH_IS_REGISTER(o)    (G_TYPE_CHECK_INSTANCE_TYPE((o), GNUCASH_TYPE_REGISTER))
 
 
-#define GNUCASH_TYPE_SHEET     (gnucash_sheet_get_type ())
-#define GNUCASH_SHEET(obj)     (G_TYPE_CHECK_INSTANCE_CAST((obj), GNUCASH_TYPE_SHEET, GnucashSheet))
-#define GNUCASH_SHEET_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GNUCASH_TYPE_SHEET))
-#define GNUCASH_IS_SHEET(o)    (G_TYPE_CHECK_INSTANCE_TYPE((o), GNUCASH_TYPE_SHEET))
-
-
-typedef struct _SheetBlockStyle SheetBlockStyle;
-typedef struct _GnucashSheet GnucashSheet;
-typedef struct _GnucashSheetClass GnucashSheetClass;
 typedef struct _GnucashRegister GnucashRegister;
 typedef struct _GnucashRegisterClass GnucashRegisterClass;
 
 
-typedef struct
-{
-    /** The style for this block */
-    SheetBlockStyle *style;
-
-    gint origin_x; /** x origin of block */
-    gint origin_y; /** y origin of block */
-
-    gboolean visible; /** is block visible */
-} SheetBlock;
-
-
-GType      gnucash_sheet_get_type (void);
-GtkWidget *gnucash_sheet_new (Table *table);
-
-void gnucash_sheet_table_load (GnucashSheet *sheet, gboolean do_scroll);
-
-void gnucash_sheet_recompute_block_offsets (GnucashSheet *sheet);
-
 GType gnucash_register_get_type (void);
 
 /** this already has scrollbars attached */
-GtkWidget *gnucash_register_new (Table *table);
-
-SheetBlock *gnucash_sheet_get_block (GnucashSheet *sheet,
-                                     VirtualCellLocation vcell_loc);
-
-gint gnucash_sheet_col_max_width (GnucashSheet *sheet,
-                                  gint virt_col, gint cell_col);
-
-void gnucash_sheet_redraw_all (GnucashSheet *sheet);
-void gnucash_sheet_redraw_help (GnucashSheet *sheet);
-
-void gnucash_sheet_redraw_block (GnucashSheet *sheet,
-                                 VirtualCellLocation vcell_loc);
-
-void gnucash_sheet_cursor_set (GnucashSheet *gsheet, VirtualLocation virt_loc);
-
-const char * gnucash_sheet_modify_current_cell(GnucashSheet *sheet,
-        const gchar *new_text);
-
-gboolean gnucash_sheet_block_set_from_table (GnucashSheet *sheet,
-        VirtualCellLocation vcell_loc);
-
-void gnucash_sheet_set_scroll_region (GnucashSheet *sheet);
-
-void gnucash_sheet_cursor_set_from_table (GnucashSheet *sheet,
-        gboolean do_scroll);
-
-void gnucash_sheet_compute_visible_range (GnucashSheet *sheet);
-
-void gnucash_sheet_make_cell_visible (GnucashSheet *sheet,
-                                      VirtualLocation virt_loc);
-
-void gnucash_sheet_show_range (GnucashSheet *sheet,
-                               VirtualCellLocation start_loc,
-                               VirtualCellLocation end_loc);
-
-void gnucash_sheet_update_adjustments (GnucashSheet *sheet);
-
-void gnucash_sheet_set_window (GnucashSheet *sheet, GtkWidget *window);
+GtkWidget *gnucash_register_new (Table *table, gchar *state_section);
 
 void gnucash_register_goto_virt_cell (GnucashRegister *reg,
                                       VirtualCellLocation vcell_loc);
@@ -144,7 +77,5 @@ void gnucash_register_set_moved_cb (GnucashRegister *reg,
                                     GFunc cb, gpointer cb_data);
 
 GnucashSheet *gnucash_register_get_sheet (GnucashRegister *reg);
-
-GdkColor *get_gtkrc_color (GnucashSheet *sheet, RegisterColor field_type);
 /** @} */
 #endif
diff --git a/src/register/register-gnome/gnucash-sheet.c b/src/register/register-gnome/gnucash-sheet.c
index b7295f4..603635e 100644
--- a/src/register/register-gnome/gnucash-sheet.c
+++ b/src/register/register-gnome/gnucash-sheet.c
@@ -50,10 +50,10 @@
 # include <gdk/gdkwin32.h>
 #endif
 
-#define DEFAULT_REGISTER_HEIGHT 400
-#define DEFAULT_REGISTER_WIDTH  400
-/* Used to calculate the minimum preferred height of the register window: */
-#define DEFAULT_REGISTER_INITIAL_ROWS 10
+#define DEFAULT_SHEET_HEIGHT 400
+#define DEFAULT_SHEET_WIDTH  400
+/* Used to calculate the minimum preferred height of the sheet layout: */
+#define DEFAULT_SHEET_INITIAL_ROWS 10
 
 
 /* Register signals */
@@ -71,8 +71,6 @@ enum
 /* This static indicates the debugging module that this .o belongs to. */
 static QofLogModule log_module = GNC_MOD_REGISTER;
 static GtkLayout *sheet_parent_class;
-static GtkTable *register_parent_class;
-static guint register_signals[LAST_SIGNAL];
 
 
 /** Prototypes *********************************************************/
@@ -181,7 +179,7 @@ gnucash_sheet_cursor_set_from_table (GnucashSheet *sheet, gboolean do_scroll)
 }
 
 
-static void
+void
 gnucash_sheet_set_popup (GnucashSheet *sheet, GtkWidget *popup, gpointer data)
 {
     if (popup)
@@ -623,37 +621,6 @@ gnucash_sheet_vadjustment_value_changed (GtkAdjustment *adj,
 }
 
 
-static void
-gnucash_sheet_hadjustment_changed (GtkAdjustment *adj,
-                                   GnucashSheet *sheet)
-{
-    GnucashRegister *reg;
-
-    g_return_if_fail (sheet != NULL);
-    g_return_if_fail (GNUCASH_IS_SHEET(sheet));
-    reg = GNUCASH_REGISTER(sheet->reg);
-    g_return_if_fail (reg != NULL);
-
-    if (gtk_adjustment_get_upper (adj) - gtk_adjustment_get_lower (adj)
-        > gtk_adjustment_get_page_size (adj))
-    {
-        if (!reg->hscrollbar_visible)
-        {
-            gtk_widget_show(reg->hscrollbar);
-            reg->hscrollbar_visible = TRUE;
-        }
-    }
-    else
-    {
-        if (reg->hscrollbar_visible)
-        {
-            gtk_widget_hide(reg->hscrollbar);
-            reg->hscrollbar_visible = FALSE;
-        }
-    }
-}
-
-
 void
 gnucash_sheet_redraw_all (GnucashSheet *sheet)
 {
@@ -742,8 +709,6 @@ gnucash_sheet_create (Table *table)
 
     g_signal_connect (G_OBJECT (sheet->vadj), "value_changed",
                       G_CALLBACK (gnucash_sheet_vadjustment_value_changed), sheet);
-    g_signal_connect (G_OBJECT (sheet->hadj), "changed",
-                      G_CALLBACK (gnucash_sheet_hadjustment_changed), sheet);
 
     LEAVE("%p", sheet);
     return sheet;
@@ -752,7 +717,7 @@ gnucash_sheet_create (Table *table)
 static gint
 compute_optimal_width (GnucashSheet *sheet)
 {
-    return DEFAULT_REGISTER_WIDTH;
+    return DEFAULT_SHEET_WIDTH;
 }
 
 
@@ -765,19 +730,19 @@ compute_optimal_height (GnucashSheet *sheet)
     gint row_height;
 
     if (!sheet)
-        return DEFAULT_REGISTER_HEIGHT;
+        return DEFAULT_SHEET_HEIGHT;
 
     style = gnucash_sheet_get_style_from_cursor (sheet, CURSOR_HEADER);
     if (!style)
-        return DEFAULT_REGISTER_HEIGHT;
+        return DEFAULT_SHEET_HEIGHT;
 
     cd = gnucash_style_get_cell_dimensions (style, 0, 0);
     if (cd == NULL)
-        return DEFAULT_REGISTER_HEIGHT;
+        return DEFAULT_SHEET_HEIGHT;
 
     row_height = cd->pixel_height;
 
-    return row_height * DEFAULT_REGISTER_INITIAL_ROWS;
+    return row_height * DEFAULT_SHEET_INITIAL_ROWS;
 }
 
 
@@ -1356,7 +1321,6 @@ static gboolean
 gnucash_button_press_event (GtkWidget *widget, GdkEventButton *event)
 {
     GnucashSheet *sheet;
-    GtkEditable *editable;
     VirtualCell *vcell;
     gboolean changed_cells;
 
@@ -1458,67 +1422,7 @@ gnucash_button_press_event (GtkWidget *widget, GdkEventButton *event)
     return button_1 || do_popup;
 }
 
-gboolean
-gnucash_register_has_selection (GnucashRegister *reg)
-{
-    GnucashSheet *sheet;
-    GncItemEdit *item_edit;
-
-    g_return_val_if_fail((reg != NULL), FALSE);
-    g_return_val_if_fail(GNUCASH_IS_REGISTER(reg), FALSE);
-
-    sheet = GNUCASH_SHEET(reg->sheet);
-    item_edit = GNC_ITEM_EDIT(sheet->item_editor);
-
-    return gnc_item_edit_get_has_selection(item_edit);
-}
-
 void
-gnucash_register_cut_clipboard (GnucashRegister *reg)
-{
-    GnucashSheet *sheet;
-    GncItemEdit *item_edit;
-
-    g_return_if_fail(reg != NULL);
-    g_return_if_fail(GNUCASH_IS_REGISTER(reg));
-
-    sheet = GNUCASH_SHEET(reg->sheet);
-    item_edit = GNC_ITEM_EDIT(sheet->item_editor);
-
-    gnc_item_edit_cut_clipboard(item_edit);
-}
-
-void
-gnucash_register_copy_clipboard (GnucashRegister *reg)
-{
-    GnucashSheet *sheet;
-    GncItemEdit *item_edit;
-
-    g_return_if_fail(reg != NULL);
-    g_return_if_fail(GNUCASH_IS_REGISTER(reg));
-
-    sheet = GNUCASH_SHEET(reg->sheet);
-    item_edit = GNC_ITEM_EDIT(sheet->item_editor);
-
-    gnc_item_edit_copy_clipboard(item_edit);
-}
-
-void
-gnucash_register_paste_clipboard (GnucashRegister *reg)
-{
-    GnucashSheet *sheet;
-    GncItemEdit *item_edit;
-
-    g_return_if_fail(reg != NULL);
-    g_return_if_fail(GNUCASH_IS_REGISTER(reg));
-
-    sheet = GNUCASH_SHEET(reg->sheet);
-    item_edit = GNC_ITEM_EDIT(sheet->item_editor);
-
-    gnc_item_edit_paste_clipboard (item_edit);
-}
-
-static void
 gnucash_sheet_refresh_from_prefs (GnucashSheet *sheet)
 {
     g_return_if_fail(sheet != NULL);
@@ -1532,18 +1436,6 @@ gnucash_sheet_refresh_from_prefs (GnucashSheet *sheet)
                                                    GNC_PREF_DRAW_VERT_LINES);
 }
 
-void
-gnucash_register_refresh_from_prefs (GnucashRegister *reg)
-{
-    GnucashSheet *sheet;
-
-    g_return_if_fail(reg != NULL);
-    g_return_if_fail(GNUCASH_IS_REGISTER(reg));
-
-    sheet = GNUCASH_SHEET(reg->sheet);
-    gnucash_sheet_refresh_from_prefs(sheet);
-}
-
 static gboolean
 gnucash_sheet_clipboard_event (GnucashSheet *sheet, GdkEventKey *event)
 {
@@ -2102,7 +1994,7 @@ gnucash_sheet_delete_surrounding_cb (GtkIMContext *context, gint offset,
 }
 
 
-static void
+void
 gnucash_sheet_goto_virt_loc (GnucashSheet *sheet, VirtualLocation virt_loc)
 {
     Table *table;
@@ -2127,111 +2019,6 @@ gnucash_sheet_goto_virt_loc (GnucashSheet *sheet, VirtualLocation virt_loc)
     gnucash_sheet_cursor_move (sheet, virt_loc);
 }
 
-
-void
-gnucash_register_goto_virt_cell (GnucashRegister *reg,
-                                 VirtualCellLocation vcell_loc)
-{
-    GnucashSheet *sheet;
-    VirtualLocation virt_loc;
-
-    g_return_if_fail(reg != NULL);
-    g_return_if_fail(GNUCASH_IS_REGISTER(reg));
-
-    sheet = GNUCASH_SHEET(reg->sheet);
-
-    virt_loc.vcell_loc = vcell_loc;
-    virt_loc.phys_row_offset = 0;
-    virt_loc.phys_col_offset = 0;
-
-    gnucash_sheet_goto_virt_loc(sheet, virt_loc);
-}
-
-void
-gnucash_register_goto_virt_loc (GnucashRegister *reg,
-                                VirtualLocation virt_loc)
-{
-    GnucashSheet *sheet;
-
-    g_return_if_fail(reg != NULL);
-    g_return_if_fail(GNUCASH_IS_REGISTER(reg));
-
-    sheet = GNUCASH_SHEET(reg->sheet);
-
-    gnucash_sheet_goto_virt_loc(sheet, virt_loc);
-}
-
-void
-gnucash_register_goto_next_virt_row (GnucashRegister *reg)
-{
-    GnucashSheet *sheet;
-    VirtualLocation virt_loc;
-    int start_virt_row;
-
-    g_return_if_fail (reg != NULL);
-    g_return_if_fail (GNUCASH_IS_REGISTER(reg));
-
-    sheet = GNUCASH_SHEET(reg->sheet);
-
-    gnucash_cursor_get_virt (GNUCASH_CURSOR(sheet->cursor), &virt_loc);
-
-    /* Move down one physical row at a time until we
-     * reach the next visible virtual cell. */
-    start_virt_row = virt_loc.vcell_loc.virt_row;
-    do
-    {
-        if (!gnc_table_move_vertical_position (sheet->table, &virt_loc, 1))
-            return;
-    }
-    while (start_virt_row == virt_loc.vcell_loc.virt_row);
-
-    if (virt_loc.vcell_loc.virt_row >= sheet->num_virt_rows)
-        return;
-
-    virt_loc.phys_row_offset = 0;
-    virt_loc.phys_col_offset = 0;
-
-    gnucash_sheet_goto_virt_loc (sheet, virt_loc);
-}
-
-void
-gnucash_register_goto_next_matching_row (GnucashRegister *reg,
-        VirtualLocationMatchFunc match,
-        gpointer user_data)
-{
-    GnucashSheet *sheet;
-    SheetBlockStyle *style;
-    VirtualLocation virt_loc;
-
-    g_return_if_fail (reg != NULL);
-    g_return_if_fail (GNUCASH_IS_REGISTER(reg));
-    g_return_if_fail (match != NULL);
-
-    sheet = GNUCASH_SHEET (reg->sheet);
-
-    gnucash_cursor_get_virt (GNUCASH_CURSOR(sheet->cursor), &virt_loc);
-
-    do
-    {
-        if (!gnc_table_move_vertical_position (sheet->table,
-                                               &virt_loc, 1))
-            return;
-
-        if (virt_loc.vcell_loc.virt_row >= sheet->num_virt_rows)
-            return;
-
-        style = gnucash_sheet_get_style (sheet, virt_loc.vcell_loc);
-        if (!style || !style->cursor)
-            return;
-    }
-    while (!match (virt_loc, user_data));
-
-    virt_loc.phys_row_offset = 0;
-    virt_loc.phys_col_offset = 0;
-
-    gnucash_sheet_goto_virt_loc (sheet, virt_loc);
-}
-
 SheetBlock *
 gnucash_sheet_get_block (GnucashSheet *sheet, VirtualCellLocation vcell_loc)
 {
@@ -2823,204 +2610,3 @@ gnucash_sheet_new (Table *table)
 
     return GTK_WIDGET(sheet);
 }
-
-
-static void
-gnucash_register_class_init (GnucashRegisterClass *klass)
-{
-    GObjectClass *gobject_class;
-
-    gobject_class = G_OBJECT_CLASS (klass);
-
-    register_parent_class = g_type_class_peek_parent (klass);
-
-    register_signals[ACTIVATE_CURSOR] =
-        g_signal_new("activate_cursor",
-                     G_TYPE_FROM_CLASS(gobject_class),
-                     G_SIGNAL_RUN_LAST,
-                     G_STRUCT_OFFSET(GnucashRegisterClass,
-                                     activate_cursor),
-                     NULL, NULL,
-                     g_cclosure_marshal_VOID__VOID,
-                     G_TYPE_NONE, 0);
-
-    register_signals[REDRAW_ALL] =
-        g_signal_new("redraw_all",
-                     G_TYPE_FROM_CLASS(gobject_class),
-                     G_SIGNAL_RUN_LAST,
-                     G_STRUCT_OFFSET(GnucashRegisterClass,
-                                     redraw_all),
-                     NULL, NULL,
-                     g_cclosure_marshal_VOID__VOID,
-                     G_TYPE_NONE, 0);
-
-    register_signals[REDRAW_HELP] =
-        g_signal_new("redraw_help",
-                     G_TYPE_FROM_CLASS(gobject_class),
-                     G_SIGNAL_RUN_LAST,
-                     G_STRUCT_OFFSET(GnucashRegisterClass,
-                                     redraw_help),
-                     NULL, NULL,
-                     g_cclosure_marshal_VOID__VOID,
-                     G_TYPE_NONE, 0);
-
-    klass->activate_cursor = NULL;
-    klass->redraw_all = NULL;
-    klass->redraw_help = NULL;
-}
-
-
-static void
-gnucash_register_init (GnucashRegister *g_reg)
-{
-    GtkTable *table = GTK_TABLE(g_reg);
-
-    gtk_widget_set_can_focus (GTK_WIDGET(table), FALSE);
-    gtk_widget_set_can_default (GTK_WIDGET(table), FALSE);
-
-    gtk_table_set_homogeneous (table, FALSE);
-    gtk_table_resize (table, 3, 2);
-}
-
-
-GType
-gnucash_register_get_type (void)
-{
-    static GType gnucash_register_type = 0;
-
-    if (!gnucash_register_type)
-    {
-        static const GTypeInfo gnucash_register_info =
-        {
-            sizeof (GnucashRegisterClass),
-            NULL,		/* base_init */
-            NULL,		/* base_finalize */
-            (GClassInitFunc) gnucash_register_class_init,
-            NULL,		/* class_finalize */
-            NULL,		/* class_data */
-            sizeof (GnucashRegister),
-            0,		/* n_preallocs */
-            (GInstanceInitFunc) gnucash_register_init,
-        };
-
-        gnucash_register_type = g_type_register_static
-                                (gtk_table_get_type (),
-                                 "GnucashRegister",
-                                 &gnucash_register_info, 0);
-    }
-
-    return gnucash_register_type;
-}
-
-
-void
-gnucash_register_attach_popup (GnucashRegister *reg,
-                               GtkWidget *popup,
-                               gpointer data)
-{
-    g_return_if_fail (GNUCASH_IS_REGISTER(reg));
-    g_return_if_fail (reg->sheet != NULL);
-    if (popup)
-        g_return_if_fail (GTK_IS_WIDGET(popup));
-
-    gnucash_sheet_set_popup (GNUCASH_SHEET (reg->sheet), popup, data);
-}
-
-
-GtkWidget *
-gnucash_register_new (Table *table)
-{
-    GnucashRegister *reg;
-    GtkWidget *header;
-    GtkWidget *widget;
-    GtkWidget *sheet;
-    GtkWidget *scrollbar;
-    GtkWidget *box;
-
-    reg = g_object_new (GNUCASH_TYPE_REGISTER, NULL);
-    widget = GTK_WIDGET(reg);
-
-    sheet = gnucash_sheet_new (table);
-    reg->sheet = sheet;
-    GNUCASH_SHEET(sheet)->reg = widget;
-
-    header = gnc_header_new (GNUCASH_SHEET(sheet));
-
-    gtk_table_attach (GTK_TABLE(widget), header,
-                      0, 1, 0, 1,
-                      GTK_FILL | GTK_EXPAND | GTK_SHRINK,
-                      GTK_FILL,
-                      0, 0);
-    gtk_widget_show(header);
-
-    gtk_table_attach (GTK_TABLE(widget), sheet,
-                      0, 1, 1, 2,
-                      GTK_FILL | GTK_EXPAND | GTK_SHRINK,
-                      GTK_FILL | GTK_EXPAND | GTK_SHRINK,
-                      0, 0);
-    gtk_widget_show(sheet);
-
-    scrollbar = gtk_vscrollbar_new(GNUCASH_SHEET(sheet)->vadj);
-    gtk_table_attach (GTK_TABLE(widget), GTK_WIDGET(scrollbar),
-                      1, 2, 0, 3,
-                      GTK_FILL,
-                      GTK_EXPAND | GTK_SHRINK | GTK_FILL,
-                      0, 0);
-    gtk_widget_show(scrollbar);
-
-    scrollbar = gtk_hscrollbar_new(GNUCASH_SHEET(sheet)->hadj);
-    gtk_table_attach (GTK_TABLE(widget), GTK_WIDGET(scrollbar),
-                      0, 1, 2, 3,
-                      GTK_EXPAND | GTK_SHRINK | GTK_FILL,
-                      GTK_FILL,
-                      0, 0);
-    reg->hscrollbar = scrollbar;
-    gtk_widget_show(scrollbar);
-    reg->hscrollbar_visible = TRUE;
-
-    /* The gtkrc color helper widgets need to be part of a window
-     * hierarchy so they can be realized. Stick them in a box
-     * underneath the register, but don't show the box to the
-     * user. */
-    box = gtk_hbox_new(FALSE, 0);
-    gtk_widget_set_no_show_all(GTK_WIDGET(box), TRUE);
-    gtk_box_pack_start(GTK_BOX(box),
-                                GNUCASH_SHEET(sheet)->header_color, TRUE, TRUE, 0);
-    gtk_box_pack_start(GTK_BOX(box),
-                                GNUCASH_SHEET(sheet)->primary_color, TRUE, TRUE, 0);
-    gtk_box_pack_start(GTK_BOX(box),
-                                GNUCASH_SHEET(sheet)->secondary_color, TRUE, TRUE, 0);
-    gtk_box_pack_start(GTK_BOX(box),
-                                GNUCASH_SHEET(sheet)->split_color, TRUE, TRUE, 0);
-
-    gtk_table_attach (GTK_TABLE(widget), box,
-                      0, 1, 4, 5,
-                      GTK_FILL | GTK_EXPAND | GTK_SHRINK,
-                      GTK_FILL | GTK_EXPAND | GTK_SHRINK,
-                      0, 0);
-
-    return widget;
-}
-
-
-void gnucash_register_set_moved_cb (GnucashRegister *reg,
-                                    GFunc cb, gpointer cb_data)
-{
-    GnucashSheet *sheet;
-
-    if (!reg || !reg->sheet)
-        return;
-    sheet = GNUCASH_SHEET(reg->sheet);
-    sheet->moved_cb = cb;
-    sheet->moved_cb_data = cb_data;
-}
-
-
-GnucashSheet *gnucash_register_get_sheet (GnucashRegister *reg)
-{
-    g_return_val_if_fail (reg != NULL, NULL);
-    g_return_val_if_fail (GNUCASH_IS_REGISTER(reg), NULL);
-
-    return GNUCASH_SHEET(reg->sheet);
-}
-
diff --git a/src/register/register-gnome/gnucash-sheet.h b/src/register/register-gnome/gnucash-sheet.h
index 44dc24c..5ac304e 100644
--- a/src/register/register-gnome/gnucash-sheet.h
+++ b/src/register/register-gnome/gnucash-sheet.h
@@ -24,6 +24,7 @@
 #include <gtk/gtk.h>
 #include "split-register-model.h"
 #include "table-allgui.h"
+
 /** @ingroup Register
  * @addtogroup Gnome
  * @{
@@ -36,12 +37,6 @@
 #define CELL_HPADDING 5
 
 
-#define GNUCASH_TYPE_REGISTER     (gnucash_register_get_type ())
-#define GNUCASH_REGISTER(obj)     (G_TYPE_CHECK_INSTANCE_CAST((obj), GNUCASH_TYPE_REGISTER, GnucashRegister))
-#define GNUCASH_REGISTER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GNUCASH_TYPE_REGISTER))
-#define GNUCASH_IS_REGISTER(o)    (G_TYPE_CHECK_INSTANCE_TYPE((o), GNUCASH_TYPE_REGISTER))
-
-
 #define GNUCASH_TYPE_SHEET     (gnucash_sheet_get_type ())
 #define GNUCASH_SHEET(obj)     (G_TYPE_CHECK_INSTANCE_CAST((obj), GNUCASH_TYPE_SHEET, GnucashSheet))
 #define GNUCASH_SHEET_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GNUCASH_TYPE_SHEET))
@@ -51,8 +46,6 @@
 typedef struct _SheetBlockStyle SheetBlockStyle;
 typedef struct _GnucashSheet GnucashSheet;
 typedef struct _GnucashSheetClass GnucashSheetClass;
-typedef struct _GnucashRegister GnucashRegister;
-typedef struct _GnucashRegisterClass GnucashRegisterClass;
 
 
 typedef struct
@@ -74,11 +67,6 @@ void gnucash_sheet_table_load (GnucashSheet *sheet, gboolean do_scroll);
 
 void gnucash_sheet_recompute_block_offsets (GnucashSheet *sheet);
 
-GType gnucash_register_get_type (void);
-
-/** this already has scrollbars attached */
-GtkWidget *gnucash_register_new (Table *table);
-
 SheetBlock *gnucash_sheet_get_block (GnucashSheet *sheet,
                                      VirtualCellLocation vcell_loc);
 
@@ -117,34 +105,7 @@ void gnucash_sheet_update_adjustments (GnucashSheet *sheet);
 
 void gnucash_sheet_set_window (GnucashSheet *sheet, GtkWidget *window);
 
-void gnucash_register_goto_virt_cell (GnucashRegister *reg,
-                                      VirtualCellLocation vcell_loc);
-
-void gnucash_register_goto_virt_loc (GnucashRegister *reg,
-                                     VirtualLocation virt_loc);
-
-void gnucash_register_goto_next_virt_row (GnucashRegister *reg);
-
-typedef gboolean (*VirtualLocationMatchFunc) (VirtualLocation virt_loc,
-        gpointer user_data);
-
-void gnucash_register_goto_next_matching_row (GnucashRegister *reg,
-        VirtualLocationMatchFunc match,
-        gpointer user_data);
-
-void gnucash_register_attach_popup(GnucashRegister *reg, GtkWidget *popup,
-                                   gpointer data);
-
-gboolean gnucash_register_has_selection (GnucashRegister *reg);
-void gnucash_register_cut_clipboard (GnucashRegister *reg);
-void gnucash_register_copy_clipboard (GnucashRegister *reg);
-void gnucash_register_paste_clipboard (GnucashRegister *reg);
-void gnucash_register_refresh_from_prefs (GnucashRegister *reg);
-void gnucash_register_set_moved_cb (GnucashRegister *reg,
-                                    GFunc cb, gpointer cb_data);
-
-GnucashSheet *gnucash_register_get_sheet (GnucashRegister *reg);
-
 GdkColor *get_gtkrc_color (GnucashSheet *sheet, RegisterColor field_type);
+
 /** @} */
 #endif
diff --git a/src/register/register-gnome/gnucash-sheetP.h b/src/register/register-gnome/gnucash-sheetP.h
index 498b143..fec6e71 100644
--- a/src/register/register-gnome/gnucash-sheetP.h
+++ b/src/register/register-gnome/gnucash-sheetP.h
@@ -131,27 +131,10 @@ struct _GnucashSheetClass
 };
 
 
-struct _GnucashRegister
-{
-    GtkTable table;
-
-    GtkWidget *hscrollbar;
-    GtkWidget *sheet;
-    gboolean  hscrollbar_visible;
-};
-
-
-struct _GnucashRegisterClass
-{
-    GtkTableClass parent_class;
-
-    void (*activate_cursor) (GnucashRegister *reg);
-    void (*redraw_all)      (GnucashRegister *reg);
-    void (*redraw_help)     (GnucashRegister *reg);
-};
-
-
 GncItemEdit *gnucash_sheet_get_item_edit (GnucashSheet *sheet);
+void gnucash_sheet_set_popup (GnucashSheet *sheet, GtkWidget *popup, gpointer data);
+void gnucash_sheet_goto_virt_loc (GnucashSheet *sheet, VirtualLocation virt_loc);
+void gnucash_sheet_refresh_from_prefs (GnucashSheet *sheet);
 //Table       *gnucash_sheet_get_table (GnucashSheet *sheet);
 //gint         gnucash_sheet_get_num_virt_rows (GnucashSheet *sheet);
 //gint         gnucash_sheet_get_num_virt_cols (GnucashSheet *sheet);
diff --git a/src/register/register-gnome/table-gnome.c b/src/register/register-gnome/table-gnome.c
index 86282c1..3dbf7a9 100644
--- a/src/register/register-gnome/table-gnome.c
+++ b/src/register/register-gnome/table-gnome.c
@@ -42,6 +42,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <glib-2.0/glib.h>
 
 #include "gnucash-sheet.h"
 #include "gnucash-sheetP.h"
@@ -148,78 +149,16 @@ table_destroy_cb (Table *table)
 /* Um, this function checks that data is not null but never uses it.
    Weird.  Also, since this function only works with a GnucashRegister
    widget, maybe some of it should be moved to gnucash-sheet.c. */
-/* Adding to previous note:  Since data doesn't appear do anything and to 
-   align the function with save_state() I've removed the check for 
-   NULL and changed two calls in dialog_order.c and dialog_invoice.c 
+/* Adding to previous note:  Since data doesn't appear do anything and to
+   align the function with save_state() I've removed the check for
+   NULL and changed two calls in dialog_order.c and dialog_invoice.c
    to pass NULL as second parameter. */
-   
+
 void
-gnc_table_init_gui (GtkWidget *widget, gchar * state_section)
+gnc_table_init_gui (Table *table)
 {
-    GNCHeaderWidths widths;
-    GnucashSheet *sheet;
-    GnucashRegister *greg;
-    Table *table;
-    GList *node;
-    gchar *key;
-    guint value;
-    GKeyFile *state_file = gnc_state_get_current();
- 
-    // Stuff for per-register settings load.
-    g_return_if_fail (widget != NULL);
-    g_return_if_fail (GNUCASH_IS_REGISTER (widget));
-    
-    PINFO("state_section=%s",state_section);
-    
-    ENTER("widget=%p, data=%p", widget, "");
-    
-
-    greg = GNUCASH_REGISTER (widget);
-    sheet = GNUCASH_SHEET (greg->sheet);
-    table = sheet->table;
-
     table->gui_handlers.redraw_help = table_ui_redraw_cb;
     table->gui_handlers.destroy = table_destroy_cb;
-    table->ui_data = sheet;
-
-    g_object_ref (sheet);
-
-    /* config the cell-block styles */
-
-    widths = gnc_header_widths_new ();
-
-    if (state_section && gnc_prefs_get_bool(GNC_PREFS_GROUP_GENERAL, GNC_PREF_SAVE_GEOMETRY))
-    {
-        node = gnc_table_layout_get_cells (table->layout);
-        for (; node; node = node->next)
-        {
-            BasicCell *cell = node->data;
-
-            if (cell->expandable)
-                continue;
-
-            /* Remember whether the column is visible */
-            key = g_strdup_printf("%s_width", cell->cell_name);
-            value = g_key_file_get_integer (state_file, state_section, key, NULL);
-            if (value != 0)
-                gnc_header_widths_set_width (widths, cell->cell_name, value);
-            g_free(key);
-        }
-    }
-
-    gnucash_sheet_create_styles (sheet);
-
-    gnucash_sheet_set_header_widths (sheet, widths);
-
-    gnucash_sheet_compile_styles (sheet);
-
-    gnucash_sheet_table_load (sheet, TRUE);
-    gnucash_sheet_cursor_set_from_table (sheet, TRUE);
-    gnucash_sheet_redraw_all (sheet);
-
-    gnc_header_widths_destroy (widths);
-
-    LEAVE(" ");
 }
 
 void

commit 5223ca8c81cf1413e391b4722175114a49cfbdb9
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Fri Mar 10 15:23:07 2017 +0100

    Restore pasting in the item_edit
    
    The register is implemented such that the edit widget is read-only and
    all keystrokes are filtered by the sheet widget which then directly sets
    the appropriate text in the edit widget each time.
    The interim fix here is to make the text edit widget temporarily editable
    when cutting or pasting text.
    A better solution will be to make the edit widget responsible for all
    text entry and delegate everything not handled directly to the sheet widget.
    This will be for a later commit

diff --git a/src/register/register-gnome/gnucash-item-edit.c b/src/register/register-gnome/gnucash-item-edit.c
index 08c9ed8..2e72f14 100644
--- a/src/register/register-gnome/gnucash-item-edit.c
+++ b/src/register/register-gnome/gnucash-item-edit.c
@@ -236,7 +236,9 @@ gnc_item_edit_configure (GncItemEdit *item_edit)
 void
 gnc_item_edit_cut_clipboard (GncItemEdit *item_edit)
 {
+    gtk_editable_set_editable(GTK_EDITABLE(item_edit->editor), TRUE);
     gtk_editable_cut_clipboard(GTK_EDITABLE(item_edit->editor));
+    gtk_editable_set_editable(GTK_EDITABLE(item_edit->editor), FALSE);
 }
 
 void
@@ -248,7 +250,9 @@ gnc_item_edit_copy_clipboard (GncItemEdit *item_edit)
 void
 gnc_item_edit_paste_clipboard (GncItemEdit *item_edit)
 {
+    gtk_editable_set_editable(GTK_EDITABLE(item_edit->editor), TRUE);
     gtk_editable_paste_clipboard(GTK_EDITABLE(item_edit->editor));
+    gtk_editable_set_editable(GTK_EDITABLE(item_edit->editor), FALSE);
 }
 
 

commit a3f8f6960411cc017b01baeb8cd6c638b5479b16
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Thu Mar 9 22:44:37 2017 +0100

    Rework GncItemEdit widget
    
    Use real widgets instead of custom drawing something
    
    In essence this is a gtkentry with an optional gtkbutton if the current cell
    has a popup (like a calendar or account list). The old code went through
    several hoops to keep a hidden gtkentry in sync with the custom drawn item
    on screen.
    
    There are still a few issues to fix:
    - it's not properly themed to fit in the register. This will be fixed after switching to gtk3 (using css)
    - right-click menu is wrong. This currenly shows a default copy/paste menu from a gtkentry
      it should be changed to show our own full menu
    - keyboard events are still handled backwards. The sheet gets a first stab and passes
      on what it can't handle to the item edit. In the current implementation this means not
      all key strokes the item edit can handle are received (most notably paste is not working).

diff --git a/src/register/register-gnome/gnucash-item-edit.c b/src/register/register-gnome/gnucash-item-edit.c
index 6914cce..08c9ed8 100644
--- a/src/register/register-gnome/gnucash-item-edit.c
+++ b/src/register/register-gnome/gnucash-item-edit.c
@@ -40,16 +40,11 @@
 #include "gnucash-style.h"
 
 
-/* FIXME GNOME2 Port
- *	- ButtonEvents are not delegated to GtkEntry.
- */
-
 /* The arguments we take */
 enum
 {
     PROP_0,
     PROP_SHEET,     /* The sheet property      */
-    PROP_EDITOR,     /* The entry property   */
 };
 
 /* values for selection info */
@@ -61,35 +56,11 @@ enum
     TARGET_COMPOUND_TEXT
 };
 
-static GtkDrawingArea *gnc_item_edit_parent_class;
-static GdkAtom clipboard_atom = GDK_NONE;
-
-
-typedef struct _TextDrawInfo TextDrawInfo;
-struct _TextDrawInfo
-{
-    PangoLayout *layout;
-
-    GdkRectangle bg_rect;
-    GdkRectangle text_rect;
-    GdkRectangle hatch_rect;
-    GdkRectangle cursor_rect;
-
-    GdkColor *fg_color;
-    GdkColor *bg_color;
-
-    GdkColor *fg_color2;
-    GdkColor *bg_color2;
-
-    gboolean hatching;
-};
+static GtkBoxClass *gnc_item_edit_parent_class;
 
 
-static void queue_sync (GncItemEdit *item_edit);
 static void gnc_item_edit_show_popup_toggle (GncItemEdit *item_edit,
-        gint x, gint y,
-        gint width, gint height,
-        GtkAnchorType anchor);
+        gint width, gint height);
 
 /*
  * Returns the coordinates for the editor bounding box
@@ -120,284 +91,6 @@ gnc_item_edit_get_pixel_coords (GncItemEdit *item_edit,
     *y += yd;
 }
 
-static void
-gnc_item_edit_update_offset (GncItemEdit *item_edit, TextDrawInfo *info)
-{
-    gint drawable_width;
-    gint visible_width;
-    PangoRectangle logical_rect;
-
-    g_return_if_fail (item_edit != NULL);
-    g_return_if_fail (GNC_IS_ITEM_EDIT (item_edit));
-
-    pango_layout_get_pixel_extents (info->layout, NULL, &logical_rect);
-
-    drawable_width = info->text_rect.width - 2 * CELL_HPADDING;
-
-    // Layout is smaller than drawable area, or we've entered a
-    // new cell.  Use default x_offset.
-    if (logical_rect.width <= drawable_width || item_edit->reset_pos)
-    {
-        gnc_item_edit_reset_offset (item_edit);
-    }
-
-    // Layout is wider than drawable area
-    if (logical_rect.width > drawable_width)
-    {
-        //Make sure cursor is inside the drawn area
-        if (info->cursor_rect.x + item_edit->x_offset >
-                info->text_rect.x + drawable_width)
-        {
-            item_edit->x_offset = (info->text_rect.x + drawable_width)
-                                  - info->cursor_rect.x;
-        }
-        else if (info->cursor_rect.x + item_edit->x_offset < info->text_rect.x)
-        {
-            item_edit->x_offset = - info->cursor_rect.x;
-        }
-
-        // Make sure the entire drawable area is filled.
-        visible_width = logical_rect.width + item_edit->x_offset;
-
-        if (visible_width < drawable_width)
-        {
-            item_edit->x_offset += (drawable_width - visible_width);
-        }
-    }
-}
-
-static void
-gnc_item_edit_draw_info (GncItemEdit *item_edit, int x, int y, TextDrawInfo *info)
-{
-    const char LINE_FEED = 0x0a;
-
-    GtkEditable *editable;
-    Table *table;
-
-    gboolean hatching;
-    guint32 argb, color_type;
-
-    int xd, yd, wd, hd, dx, dy;
-    int start_pos, end_pos;
-    int toggle_space, cursor_pos, cursor_byte_pos, pos, loc;
-    const gchar *text;
-    PangoRectangle strong_pos;
-    PangoAttribute *attr;
-    PangoAttrList *attr_list;
-    GnucashSheet *sheet;
-
-    sheet = GNUCASH_SHEET (item_edit->sheet);
-    table = item_edit->sheet->table;
-
-    if (item_edit->sheet->use_theme_colors)
-    {
-        color_type = gnc_table_get_gtkrc_bg_color (table,
-                     item_edit->virt_loc,
-                     &hatching);
-        info->bg_color = get_gtkrc_color(item_edit->sheet, color_type);
-        color_type = gnc_table_get_gtkrc_fg_color (table,
-                     item_edit->virt_loc);
-        info->fg_color = get_gtkrc_color(item_edit->sheet, color_type);
-    }
-    else
-    {
-        argb = gnc_table_get_bg_color (table, item_edit->virt_loc,
-                                       &hatching);
-        info->bg_color = gnucash_color_argb_to_gdk (argb);
-        argb = gnc_table_get_fg_color (table, item_edit->virt_loc);
-        info->fg_color = gnucash_color_argb_to_gdk (argb);
-    }
-
-    info->hatching = hatching;
-
-    info->bg_color2 = &gn_dark_gray;
-    info->fg_color2 = &gn_white;
-
-    editable = GTK_EDITABLE (item_edit->editor);
-    text = gtk_entry_get_text (GTK_ENTRY (item_edit->editor));
-    cursor_pos = gtk_editable_get_position (editable);
-    cursor_byte_pos = g_utf8_offset_to_pointer (text, cursor_pos) - text;
-
-    gtk_editable_get_selection_bounds (editable, &start_pos, &end_pos);
-
-    if (cursor_pos == cursor_byte_pos)
-    {
-        /* display at character after LF before cursor_pos */
-        /* (but not for UTF-8, which is messier to implement) */
-        for (pos = 0, loc = 0; pos <= start_pos; pos++)
-        {
-            if ((pos > 0) && (text[pos-1] == LINE_FEED))
-            {
-                loc = pos;
-            }
-        }
-        text += loc;
-        start_pos -= loc;
-        end_pos -= loc;
-        cursor_pos -= loc;
-        cursor_byte_pos = g_utf8_offset_to_pointer (text, cursor_pos) - text;
-    }
-
-    info->layout = gtk_widget_create_pango_layout (GTK_WIDGET (item_edit), text);
-
-    /* IMContext attributes*/
-    if (sheet->preedit_length && sheet->preedit_attrs != NULL)
-    {
-        PangoAttrList *tmp_attrs = pango_attr_list_new ();
-        pango_attr_list_splice (tmp_attrs, sheet->preedit_attrs,
-                                g_utf8_offset_to_pointer (text, sheet->preedit_start_position) - text  ,
-                                g_utf8_offset_to_pointer (text, sheet->preedit_start_position + sheet->preedit_char_length) - text);
-        pango_layout_set_attributes (info->layout, tmp_attrs);
-        pango_attr_list_unref (tmp_attrs);
-    }
-
-
-    /* Selection */
-    if (start_pos != end_pos)
-    {
-        gint start_byte_pos, end_byte_pos, color;
-
-        start_byte_pos = g_utf8_offset_to_pointer (text, start_pos) - text;
-        end_byte_pos = g_utf8_offset_to_pointer (text, end_pos) - text;
-
-        attr_list = pango_attr_list_new ();
-
-        attr = pango_attr_foreground_new (0xffff, 0xffff, 0xffff);
-        attr->start_index = start_byte_pos;
-        attr->end_index = end_byte_pos;
-        pango_attr_list_insert (attr_list, attr);
-
-        color = gtk_widget_has_focus(GTK_WIDGET(item_edit->sheet)) ? 0x0 : 0x7fff;
-        attr = pango_attr_background_new (color, color, color);
-        attr->start_index = start_byte_pos;
-        attr->end_index = end_byte_pos;
-        pango_attr_list_insert (attr_list, attr);
-
-        pango_layout_set_attributes (info->layout, attr_list);
-        pango_attr_list_unref (attr_list);
-    }
-
-    gnc_item_edit_get_pixel_coords (item_edit, &xd, &yd, &wd, &hd);
-
-    dx = xd - x;
-    dy = yd - y;
-
-    info->bg_rect.x      = CELL_HPADDING;
-    info->bg_rect.y      = 1;
-    info->bg_rect.width  = wd - (2 * CELL_HPADDING);
-    info->bg_rect.height = hd - 2;
-
-    toggle_space = item_edit->is_popup ?
-                   item_edit->popup_toggle.toggle_offset : 0;
-
-    info->text_rect.x      = 0;
-    info->text_rect.y      = 1;
-    info->text_rect.width  = wd - toggle_space;
-    info->text_rect.height = hd - 2;
-
-    // this width affects line-wrapping; setting it to -1 should turn wrapping off:
-    pango_layout_set_width( info->layout, -1 );
-
-    // pango_layout_set_ellipsize(...) as of pango 1.6 may be useful for
-    // strings longer than the field width.
-
-    pango_layout_get_cursor_pos (info->layout, cursor_byte_pos, &strong_pos, NULL);
-
-    info->cursor_rect.x = PANGO_PIXELS (strong_pos.x);
-    info->cursor_rect.y = PANGO_PIXELS (strong_pos.y);
-    info->cursor_rect.width = PANGO_PIXELS (strong_pos.width);
-    info->cursor_rect.height = PANGO_PIXELS (strong_pos.height);
-
-    if (info->hatching)
-    {
-        info->hatch_rect.x = 0;
-        info->hatch_rect.y = 0;
-        info->hatch_rect.width = wd;
-        info->hatch_rect.height = hd;
-    }
-
-    gnc_item_edit_update_offset (item_edit, info);
-
-    /* Calculate IMContext aux window position */
-    {
-        gint xoff, yoff;
-        GdkRectangle rect;
-        GtkAdjustment *adj;
-        rect = info->cursor_rect;
-        adj = gtk_layout_get_hadjustment(GTK_LAYOUT(sheet));
-        xoff = gtk_adjustment_get_value(adj);
-        adj = gtk_layout_get_vadjustment(GTK_LAYOUT(sheet));
-        yoff = gtk_adjustment_get_value(adj);
-        rect.x += (x - xoff + item_edit->x_offset);
-        rect.y += (y - yoff);
-        gtk_im_context_set_cursor_location (sheet->im_context, &rect);
-    }
-
-}
-
-static void
-gnc_item_edit_free_draw_info_members(TextDrawInfo *info)
-{
-    if (info == NULL)
-        return;
-
-    g_object_unref (info->layout);
-}
-
-static gboolean
-gnc_item_edit_draw (GtkWidget *widget, GdkEventExpose *event)
-{
-    GncItemEdit *item_edit = GNC_ITEM_EDIT (widget);
-    TextDrawInfo info;
-    int x = event->area.x;
-    int y = event->area.y;
-    GdkDrawable *drawable = GDK_DRAWABLE (gtk_widget_get_window (widget));
-
-    /* be sure we're valid */
-    if (item_edit->virt_loc.vcell_loc.virt_row < 0 ||
-            item_edit->virt_loc.vcell_loc.virt_col < 0)
-        return TRUE;
-
-    /* Get the measurements for drawing */
-    gnc_item_edit_draw_info (item_edit, x, y, &info);
-
-    /* Draw the background */
-    gdk_gc_set_foreground (item_edit->gc, info.bg_color);
-    gdk_draw_rectangle (drawable, item_edit->gc, TRUE,
-                        info.bg_rect.x, info.bg_rect.y,
-                        info.bg_rect.width, info.bg_rect.height);
-
-    if (info.hatching)
-        gnucash_draw_hatching (drawable, item_edit->gc,
-                               info.hatch_rect.x,
-                               info.hatch_rect.y,
-                               info.hatch_rect.width,
-                               info.hatch_rect.height);
-
-    /* Draw the foreground text and cursor */
-    gdk_gc_set_clip_rectangle (item_edit->gc, &info.text_rect);
-
-    gdk_gc_set_foreground (item_edit->gc, info.fg_color);
-
-    gdk_draw_layout (drawable,
-                     item_edit->gc,
-                     info.text_rect.x + CELL_HPADDING + item_edit->x_offset,
-                     info.text_rect.y + CELL_VPADDING,
-                     info.layout);
-
-    gdk_draw_line (drawable,
-                   item_edit->gc,
-                   info.cursor_rect.x + CELL_HPADDING + item_edit->x_offset,
-                   info.cursor_rect.y + CELL_VPADDING,
-                   info.cursor_rect.x + CELL_HPADDING + item_edit->x_offset,
-                   info.cursor_rect.y + CELL_VPADDING + info.cursor_rect.height);
-
-    gdk_gc_set_clip_rectangle (item_edit->gc, NULL);
-
-    gnc_item_edit_free_draw_info_members (&info);
-    return TRUE;
-}
-
 
 int
 gnc_item_edit_get_toggle_offset (int row_height)
@@ -409,8 +102,8 @@ gnc_item_edit_get_toggle_offset (int row_height)
 static void
 gnc_item_edit_update (GncItemEdit *item_edit)
 {
-    GtkRequisition cur_rec;
-    gint toggle_x, toggle_y, toggle_width, toggle_height;
+    GtkRequisition cur_req;
+    gint toggle_width, toggle_height;
     gint x, y, w, h, cur_x, cur_y;
 
     gnc_item_edit_get_pixel_coords (item_edit, &x, &y, &w, &h);
@@ -422,55 +115,27 @@ gnc_item_edit_update (GncItemEdit *item_edit)
         gtk_layout_move (GTK_LAYOUT(item_edit->sheet),
                          GTK_WIDGET(item_edit), x, y);
 
-    gtk_widget_get_requisition(GTK_WIDGET(item_edit), &cur_rec);
-    if ((cur_rec.height != h) || (cur_rec.width != w))
-        gtk_widget_set_size_request(GTK_WIDGET(item_edit), w, h);
-
-    if (!item_edit->is_popup)
-        return;
-
     toggle_height = h - (2 * (CELL_VPADDING + 1));
     toggle_width  = toggle_height;
-    toggle_x      = x + w - (toggle_width + 3);
-    toggle_y      = y + (h / 2) - (toggle_height / 2);
-
-    item_edit->popup_toggle.toggle_offset = toggle_width + 3;
-
-    gnc_item_edit_show_popup_toggle (item_edit, toggle_x, toggle_y,
-                                     toggle_width, toggle_height,
-                                     GTK_ANCHOR_NW);
 
-    if (item_edit->show_popup)
-        gnc_item_edit_show_popup (item_edit);
-}
+     if (item_edit->is_popup)
+         w -= toggle_width;
 
+    gtk_widget_get_requisition(GTK_WIDGET(item_edit), &cur_req);
+    if ((cur_req.height != h) || (cur_req.width != w))
+        gtk_widget_set_size_request(GTK_WIDGET(item_edit), w, h);
 
-static void
-gnc_item_edit_realize (GtkWidget *widget)
-{
-    GdkWindow *window;
-    GncItemEdit *item_edit = GNC_ITEM_EDIT (widget);
-
-    if (GTK_WIDGET_CLASS (gnc_item_edit_parent_class)->realize)
-        (GTK_WIDGET_CLASS
-         (gnc_item_edit_parent_class)->realize) (widget);
+     gtk_widget_get_requisition(item_edit->editor, &cur_req);
+     if ((cur_req.height != h) || (cur_req.width != w))
+         gtk_widget_set_size_request(item_edit->editor, -1, h);
 
-    window = gtk_widget_get_window (widget);
-    item_edit->gc = gdk_gc_new (window);
-}
+    if (!item_edit->is_popup)
+        return;
 
+    gnc_item_edit_show_popup_toggle (item_edit, toggle_width, toggle_height);
 
-static void
-gnc_item_edit_unrealize (GtkWidget *widget)
-{
-    GncItemEdit *item_edit = GNC_ITEM_EDIT (widget);
-    if (item_edit->gc)
-        gdk_gc_destroy(item_edit->gc);
-    item_edit->gc = NULL;
-
-    if (GTK_WIDGET_CLASS (gnc_item_edit_parent_class)->unrealize)
-        (GTK_WIDGET_CLASS
-        (gnc_item_edit_parent_class)->unrealize) (widget);
+    if (item_edit->show_popup)
+        gnc_item_edit_show_popup (item_edit);
 }
 
 void
@@ -485,7 +150,6 @@ gnc_item_edit_focus_in (GncItemEdit *item_edit)
     ev.window = gtk_widget_get_window (GTK_WIDGET (item_edit->sheet));
     ev.in = TRUE;
     gtk_widget_event (item_edit->editor, (GdkEvent*) &ev);
-    queue_sync(item_edit);
 }
 
 void
@@ -500,53 +164,6 @@ gnc_item_edit_focus_out (GncItemEdit *item_edit)
     ev.window = gtk_widget_get_window (GTK_WIDGET (item_edit->sheet));
     ev.in = FALSE;
     gtk_widget_event (item_edit->editor, (GdkEvent*) &ev);
-    queue_sync(item_edit);
-}
-
-void
-gnc_item_edit_reset_offset (GncItemEdit *item_edit)
-{
-    Table *table;
-    PangoRectangle logical_rect;
-    PangoLayout *layout;
-    gint x, y, width, height;
-    gint drawable_width;
-    gint toggle_space;
-
-    g_return_if_fail (item_edit != NULL);
-    g_return_if_fail (GNC_IS_ITEM_EDIT(item_edit));
-
-    table = item_edit->sheet->table;
-    layout = gtk_entry_get_layout (GTK_ENTRY(item_edit->editor));
-
-    pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
-    gnc_item_edit_get_pixel_coords (item_edit, &x, &y, &width, &height);
-
-    toggle_space = item_edit->is_popup ?
-                   item_edit->popup_toggle.toggle_offset : 0;
-
-    drawable_width = width - 2 * CELL_HPADDING - toggle_space;
-
-    switch (gnc_table_get_align (table, item_edit->virt_loc))
-    {
-    default:
-    case CELL_ALIGN_LEFT:
-        item_edit->x_offset = 0;
-        break;
-
-    case CELL_ALIGN_RIGHT:
-        item_edit->x_offset = drawable_width - logical_rect.width;
-        break;
-
-    case CELL_ALIGN_CENTER:
-        if (logical_rect.width > drawable_width)
-            item_edit->x_offset = 0;
-        else
-            item_edit->x_offset = (drawable_width - logical_rect.width) / 2;
-        break;
-    }
-
-    item_edit->reset_pos = FALSE;
 }
 
 /*
@@ -563,8 +180,8 @@ gnc_item_edit_init (GncItemEdit *item_edit)
     item_edit->is_popup = FALSE;
     item_edit->show_popup = FALSE;
 
-    item_edit->popup_toggle.toggle_button = NULL;
-    item_edit->popup_toggle.toggle_offset = 0;
+    item_edit->popup_toggle.ebox = NULL;
+    item_edit->popup_toggle.tbutton = NULL;
     item_edit->popup_toggle.arrow = NULL;
     item_edit->popup_toggle.signals_connected = FALSE;
 
@@ -575,172 +192,12 @@ gnc_item_edit_init (GncItemEdit *item_edit)
     item_edit->popup_post_show = NULL;
     item_edit->popup_user_data = NULL;
 
-    item_edit->gc = NULL;
     item_edit->style = NULL;
 
-    item_edit->reset_pos = TRUE;
-    item_edit->x_offset = 0;
-
     gnc_virtual_location_init(&item_edit->virt_loc);
 }
 
 
-static void
-queue_sync (GncItemEdit *item_edit)
-{
-    gtk_widget_queue_draw(GTK_WIDGET(item_edit));
-}
-
-void
-gnc_item_edit_redraw (GncItemEdit *item_edit)
-{
-    g_return_if_fail (item_edit != NULL);
-    g_return_if_fail (GNC_IS_ITEM_EDIT(item_edit));
-
-    queue_sync (item_edit);
-}
-
-static void
-entry_changed (GtkEntry *entry, void *data)
-{
-    queue_sync(GNC_ITEM_EDIT (data));
-}
-
-
-static void
-gnc_item_edit_dispose (GObject *object)
-{
-    GncItemEdit *item_edit = GNC_ITEM_EDIT (object);
-
-    g_signal_handlers_disconnect_matched (G_OBJECT (item_edit->editor), G_SIGNAL_MATCH_DATA,
-                                          0, 0, NULL, NULL, item_edit);
-
-    G_OBJECT_CLASS (gnc_item_edit_parent_class)->dispose (object);
-}
-
-static void
-gnc_item_edit_finalize (GObject *object)
-{
-    GncItemEdit *item_edit = GNC_ITEM_EDIT (object);
-
-    if (item_edit->gc)
-    {
-        g_object_unref (item_edit->gc);
-        item_edit->gc = NULL;
-    }
-
-    G_OBJECT_CLASS (gnc_item_edit_parent_class)->finalize (object);
-}
-
-
-gboolean
-gnc_item_edit_set_cursor_pos (GncItemEdit *item_edit,
-                              VirtualLocation virt_loc,
-                              int x,
-                              gboolean changed_cells,
-                              gboolean extend_selection)
-{
-    GtkEditable *editable;
-    Table *table;
-    gint pos = 0;
-    gint o_x;
-    CellDimensions *cd;
-    gint cell_row, cell_col;
-    SheetBlockStyle *style;
-
-    g_return_val_if_fail (GNC_IS_ITEM_EDIT(item_edit), FALSE);
-
-    table = item_edit->sheet->table;
-
-    cell_row = virt_loc.phys_row_offset;
-    cell_col = virt_loc.phys_col_offset;
-
-    style = gnucash_sheet_get_style (item_edit->sheet, virt_loc.vcell_loc);
-
-    cd = gnucash_style_get_cell_dimensions (style, cell_row, cell_col);
-
-    if (!virt_loc_equal (virt_loc, item_edit->virt_loc))
-        return FALSE;
-
-    editable = GTK_EDITABLE (item_edit->editor);
-
-    if (changed_cells)
-        gnc_item_edit_reset_offset (item_edit);
-
-    o_x = cd->origin_x + item_edit->x_offset;
-
-    if (changed_cells)
-    {
-        CellAlignment align;
-
-        align = gnc_table_get_align (table, item_edit->virt_loc);
-
-        if (align == CELL_ALIGN_RIGHT && item_edit->is_popup)
-            o_x += item_edit->popup_toggle.toggle_offset;
-    }
-
-    // get the text index for the mouse position into pos
-    {
-        PangoLayout *layout;
-        int textByteIndex, textIndex, textTrailing;
-        const gchar *text;
-
-        layout = gtk_entry_get_layout (GTK_ENTRY(item_edit->editor));
-        text = pango_layout_get_text (layout);
-        pango_layout_xy_to_index (layout,
-				  ((x - o_x) - CELL_HPADDING) * PANGO_SCALE,
-				  10 * PANGO_SCALE, &textByteIndex,
-				  &textTrailing);
-        textIndex = (int) g_utf8_pointer_to_offset (text, text + textByteIndex);
-        pos = textIndex + textTrailing;
-    }
-
-    if (extend_selection)
-    {
-        gtk_editable_select_region (editable, item_edit->anchor_pos, pos);
-    }
-    else
-    {
-        gtk_editable_set_position (editable, pos);
-        item_edit->anchor_pos = pos;
-    }
-
-    queue_sync (item_edit);
-
-    return TRUE;
-}
-
-static int
-entry_event (GtkEntry *entry, GdkEvent *event, GncItemEdit *item_edit)
-{
-    switch (event->type)
-    {
-    case GDK_KEY_PRESS:
-    case GDK_KEY_RELEASE:
-    case GDK_BUTTON_PRESS:
-        queue_sync (item_edit);
-        break;
-
-    default:
-        break;
-    }
-
-    return FALSE;
-}
-
-static void
-gnc_item_edit_set_editor (GncItemEdit *item_edit, void *data)
-{
-    item_edit->editor = GTK_WIDGET (data);
-
-    g_signal_connect (G_OBJECT (item_edit->editor), "changed",
-                      G_CALLBACK (entry_changed), item_edit);
-
-    g_signal_connect_after (G_OBJECT (item_edit->editor), "event",
-                            G_CALLBACK (entry_event), item_edit);
-}
-
-
 static gboolean
 gnc_item_edit_configure_cb (GtkWidget *widget,
                             G_GNUC_UNUSED GdkEventConfigure *event)
@@ -758,34 +215,15 @@ gnc_item_edit_configure (GncItemEdit *item_edit)
 
     cursor = GNUCASH_CURSOR(sheet->cursor);
 
-    if (item_edit->virt_loc.vcell_loc.virt_row != cursor->row)
-    {
-        item_edit->virt_loc.vcell_loc.virt_row = cursor->row;
-        item_edit->reset_pos = TRUE;
-    }
-
-    if (item_edit->virt_loc.vcell_loc.virt_col != cursor->col)
-    {
-        item_edit->virt_loc.vcell_loc.virt_col = cursor->col;
-        item_edit->reset_pos = TRUE;
-    }
+    item_edit->virt_loc.vcell_loc.virt_row = cursor->row;
+    item_edit->virt_loc.vcell_loc.virt_col = cursor->col;
 
     item_edit->style =
         gnucash_sheet_get_style (item_edit->sheet,
                                  item_edit->virt_loc.vcell_loc);
 
-
-    if (item_edit->virt_loc.phys_row_offset != cursor->cell.row)
-    {
-        item_edit->virt_loc.phys_row_offset = cursor->cell.row;
-        item_edit->reset_pos = TRUE;
-    }
-
-    if (item_edit->virt_loc.phys_col_offset != cursor->cell.col)
-    {
-        item_edit->virt_loc.phys_col_offset = cursor->cell.col;
-        item_edit->reset_pos = TRUE;
-    }
+    item_edit->virt_loc.phys_row_offset = cursor->cell.row;
+    item_edit->virt_loc.phys_col_offset = cursor->cell.col;
 
     if (!gnc_table_is_popup (item_edit->sheet->table, item_edit->virt_loc))
         gnc_item_edit_set_popup (item_edit, NULL, NULL, NULL,
@@ -795,123 +233,84 @@ gnc_item_edit_configure (GncItemEdit *item_edit)
 }
 
 
-static void
-gnc_item_edit_cut_copy_clipboard (GncItemEdit *item_edit, guint32 time, gboolean cut)
-{
-    GtkEditable *editable;
-    GtkClipboard *clipboard;
-    gint start_sel, end_sel;
-    gchar *clip;
-
-    g_return_if_fail(item_edit != NULL);
-    g_return_if_fail(GNC_IS_ITEM_EDIT(item_edit));
-
-    editable = GTK_EDITABLE (item_edit->editor);
-
-    if (!gtk_editable_get_selection_bounds (editable, &start_sel, &end_sel))
-        return;
-
-    clipboard = gtk_widget_get_clipboard (GTK_WIDGET (editable),
-                                          clipboard_atom);
-    g_return_if_fail (clipboard != NULL);
-    g_return_if_fail (GTK_IS_CLIPBOARD (clipboard));
-    clip = gtk_editable_get_chars (editable, start_sel, end_sel);
-    gtk_clipboard_set_text (clipboard, clip, -1);
-    g_free (clip);
-
-    if (!cut)
-        return;
-
-    gtk_editable_delete_text(editable, start_sel, end_sel);
-    gtk_editable_select_region(editable, 0, 0);
-    gtk_editable_set_position(editable, start_sel);
-}
-
-
 void
-gnc_item_edit_cut_clipboard (GncItemEdit *item_edit, guint32 time)
+gnc_item_edit_cut_clipboard (GncItemEdit *item_edit)
 {
-    gnc_item_edit_cut_copy_clipboard(item_edit, time, TRUE);
+    gtk_editable_cut_clipboard(GTK_EDITABLE(item_edit->editor));
 }
 
 void
-gnc_item_edit_copy_clipboard (GncItemEdit *item_edit, guint32 time)
-{
-    gnc_item_edit_cut_copy_clipboard(item_edit, time, FALSE);
-}
-
-
-
-static void
-paste_received (GtkClipboard *clipboard, const gchar *text, gpointer data)
+gnc_item_edit_copy_clipboard (GncItemEdit *item_edit)
 {
-    GtkEditable *editable = GTK_EDITABLE (data);
-    gboolean reselect = FALSE;
-    gint old_pos, tmp_pos;
-    gint start_sel, end_sel;
-
-    if (text == NULL)
-        return;
-    if (gtk_editable_get_selection_bounds (editable, &start_sel, &end_sel))
-    {
-        reselect = TRUE;
-        gtk_editable_delete_text (editable, start_sel, end_sel);
-    }
-
-    tmp_pos = old_pos = gtk_editable_get_position (editable);
-
-    gtk_editable_insert_text (editable, text, -1, &tmp_pos);
-    gtk_editable_set_position (editable, tmp_pos);
-
-    if (!reselect)
-        return;
-
-    gtk_editable_select_region (editable, old_pos,
-                                gtk_editable_get_position (editable));
-
+    gtk_editable_copy_clipboard(GTK_EDITABLE(item_edit->editor));
 }
 
 void
-gnc_item_edit_paste_selection (GncItemEdit *item_edit, GdkAtom selection,
-                               guint32 time)
+gnc_item_edit_paste_clipboard (GncItemEdit *item_edit)
 {
-    GtkClipboard *clipboard;
-    g_return_if_fail(item_edit != NULL);
-    g_return_if_fail(GNC_IS_ITEM_EDIT(item_edit));
-
-    clipboard = gtk_widget_get_clipboard (GTK_WIDGET (item_edit->sheet),
-                                          selection);
-
-    g_return_if_fail (clipboard != NULL);
-    g_return_if_fail (GTK_IS_CLIPBOARD (clipboard));
-
-    gtk_clipboard_request_text (clipboard, paste_received, item_edit->editor);
+    gtk_editable_paste_clipboard(GTK_EDITABLE(item_edit->editor));
 }
 
+
 static void
 gnc_item_edit_show_popup_toggle (GncItemEdit *item_edit,
-                                 gint x, gint y,
-                                 gint width, gint height,
-                                 GtkAnchorType anchor)
+                                 gint width, gint height)
 {
+    GtkRequisition cur_req;
+    GList *children, *iter;
     GtkWidget *toggle;
+    gboolean is_child = FALSE;
     g_return_if_fail (GNC_IS_ITEM_EDIT (item_edit));
 
-    toggle = GTK_WIDGET(item_edit->popup_toggle.toggle_button);
-    gtk_layout_move(GTK_LAYOUT(item_edit->sheet), toggle, x, y);
-    gtk_widget_set_size_request(toggle, width, height);
-    gtk_widget_show_all (toggle);
-    // FIXME What was the anchortype used for in GnomeCanvas ?
+    toggle = item_edit->popup_toggle.ebox;
+    gtk_widget_get_requisition(toggle, &cur_req);
+
+    children = gtk_container_get_children (GTK_CONTAINER(item_edit));
+    for (iter = children; iter; iter = iter->next)
+    {
+        GtkWidget *child = iter->data;
+        if (child == toggle)
+        {
+            is_child = TRUE;
+            break;
+        }
+    }
+    g_list_free (children);
+
+    if (!is_child)
+        gtk_box_pack_start(GTK_BOX(item_edit), toggle, FALSE, TRUE, 0);
+    else if ((cur_req.height != height) ||
+        (cur_req.width != width))
+    {
+        gtk_widget_set_size_request(toggle, width, height);
+        gtk_container_resize_children(GTK_CONTAINER(item_edit));
+    }
 }
 
 
 static void
 gnc_item_edit_hide_popup_toggle (GncItemEdit *item_edit)
 {
+    GList *children, *iter;
+    gboolean is_child = FALSE;
+
     g_return_if_fail (GNC_IS_ITEM_EDIT(item_edit));
 
-    if (item_edit->popup_toggle.toggle_button)
-        gtk_widget_hide (GTK_WIDGET(item_edit->popup_toggle.toggle_button));
+    children = gtk_container_get_children (GTK_CONTAINER(item_edit));
+    for (iter = children; iter; iter = iter->next)
+    {
+        GtkWidget *child = iter->data;
+        if (child == item_edit->popup_toggle.ebox)
+        {
+            is_child = TRUE;
+            break;
+        }
+    }
+    g_list_free (children);
+
+    if (is_child)
+        gtk_container_remove (GTK_CONTAINER(item_edit),
+                              item_edit->popup_toggle.ebox);
 }
 
 
@@ -976,7 +375,7 @@ block_toggle_signals(GncItemEdit *item_edit)
     if (!item_edit->popup_toggle.signals_connected)
         return;
 
-    obj = G_OBJECT (item_edit->popup_toggle.toggle_button);
+    obj = G_OBJECT (item_edit->popup_toggle.tbutton);
 
     g_signal_handlers_block_matched (obj, G_SIGNAL_MATCH_DATA,
                                      0, 0, NULL, NULL, item_edit);
@@ -991,7 +390,7 @@ unblock_toggle_signals(GncItemEdit *item_edit)
     if (!item_edit->popup_toggle.signals_connected)
         return;
 
-    obj = G_OBJECT (item_edit->popup_toggle.toggle_button);
+    obj = G_OBJECT (item_edit->popup_toggle.tbutton);
 
     g_signal_handlers_unblock_matched (obj, G_SIGNAL_MATCH_DATA,
                                        0, 0, NULL, NULL, item_edit);
@@ -1008,7 +407,7 @@ connect_popup_toggle_signals (GncItemEdit *item_edit)
     if (item_edit->popup_toggle.signals_connected)
         return;
 
-    object = G_OBJECT(item_edit->popup_toggle.toggle_button);
+    object = G_OBJECT(item_edit->popup_toggle.tbutton);
 
     g_signal_connect (object, "toggled",
                       G_CALLBACK(gnc_item_edit_popup_toggled),
@@ -1031,7 +430,7 @@ disconnect_popup_toggle_signals (GncItemEdit *item_edit)
         return;
 
     g_signal_handlers_disconnect_matched
-    (item_edit->popup_toggle.toggle_button, G_SIGNAL_MATCH_DATA,
+    (item_edit->popup_toggle.tbutton, G_SIGNAL_MATCH_DATA,
      0, 0, NULL, NULL, item_edit);
 
     item_edit->popup_toggle.signals_connected = FALSE;
@@ -1056,9 +455,6 @@ gnc_item_edit_get_property (GObject *object,
     case PROP_SHEET:
         g_value_take_object (value, item_edit->sheet);
         break;
-    case PROP_EDITOR:
-        g_value_take_object (value, item_edit->editor);
-        break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
         break;
@@ -1078,15 +474,13 @@ gnc_item_edit_set_property (GObject *object,
     case PROP_SHEET:
         item_edit->sheet = GNUCASH_SHEET (g_value_get_object (value));
         break;
-    case PROP_EDITOR:
-        gnc_item_edit_set_editor (item_edit, GTK_ENTRY (g_value_get_object (value)));
-        break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
         break;
     }
 }
 
+
 /*
  * GncItemEdit class initialization
  */
@@ -1103,8 +497,6 @@ gnc_item_edit_class_init (GncItemEditClass *gnc_item_edit_class)
 
     object_class->get_property = gnc_item_edit_get_property;
     object_class->set_property = gnc_item_edit_set_property;
-    object_class->dispose = gnc_item_edit_dispose;
-    object_class->finalize = gnc_item_edit_finalize;
 
     g_object_class_install_property (object_class,
                                      PROP_SHEET,
@@ -1113,19 +505,9 @@ gnc_item_edit_class_init (GncItemEditClass *gnc_item_edit_class)
                                              "Sheet Value",
                                              GNUCASH_TYPE_SHEET,
                                              G_PARAM_READWRITE));
-    g_object_class_install_property (object_class,
-                                     PROP_EDITOR,
-                                     g_param_spec_object ("editor",
-                                             "Editor Value",
-                                             "Editor Value",
-                                             GTK_TYPE_ENTRY,
-                                             G_PARAM_READWRITE));
 
     /* GtkWidget method overrides */
     widget_class->configure_event = gnc_item_edit_configure_cb;
-    widget_class->expose_event    = gnc_item_edit_draw;
-    widget_class->realize         = gnc_item_edit_realize;
-    widget_class->unrealize       = gnc_item_edit_unrealize;
 }
 
 
@@ -1151,7 +533,7 @@ gnc_item_edit_get_type (void)
         };
 
         gnc_item_edit_type =
-            g_type_register_static(GTK_TYPE_DRAWING_AREA,
+            g_type_register_static(GTK_TYPE_HBOX,
                                    "GncItemEdit",
                                    &gnc_item_edit_info, 0);
     }
@@ -1160,58 +542,47 @@ gnc_item_edit_get_type (void)
 }
 
 
-static void
-create_popup_toggle(GncItemEdit *item_edit)
-{
-    GnucashSheet *sheet = item_edit->sheet;
-
-    item_edit->popup_toggle.arrow = GTK_ARROW(gtk_arrow_new(GTK_ARROW_DOWN,
-                                                            GTK_SHADOW_IN));
-    gtk_misc_set_alignment(GTK_MISC(item_edit->popup_toggle.arrow), 0.5, 0.5);
-
-    item_edit->popup_toggle.toggle_button =
-        GTK_TOGGLE_BUTTON(gtk_toggle_button_new());
-    gtk_container_add(GTK_CONTAINER(item_edit->popup_toggle.toggle_button),
-                      GTK_WIDGET(item_edit->popup_toggle.arrow));
-    gtk_widget_set_no_show_all(GTK_WIDGET(item_edit->popup_toggle.toggle_button), TRUE);
-
-    gtk_layout_put(GTK_LAYOUT(sheet),
-                   GTK_WIDGET(item_edit->popup_toggle.toggle_button), 0, 0);
-}
-
-
 GtkWidget *
 gnc_item_edit_new (GnucashSheet *sheet)
 {
-    static const GtkTargetEntry targets[] =
-    {
-        { "UTF8_STRING", 0, TARGET_UTF8_STRING },
-        { "COMPOUND_TEXT", 0, TARGET_COMPOUND_TEXT },
-        { "TEXT",   0, TARGET_TEXT },
-        { "STRING", 0, TARGET_STRING },
-    };
-    static const gint n_targets = sizeof(targets) / sizeof(targets[0]);
-
     GncItemEdit *item_edit =
             g_object_new (GNC_TYPE_ITEM_EDIT,
-                           "sheet", sheet,
-                           "editor", sheet->entry,
+                          "sheet", sheet,
+                          "spacing",     0,
+                          "homogeneous", FALSE,
                            NULL);
     gtk_layout_put (GTK_LAYOUT(sheet), GTK_WIDGET(item_edit), 0, 0);
-    gtk_widget_set_no_show_all(GTK_WIDGET(item_edit), TRUE);
+    gtk_container_set_reallocate_redraws (GTK_CONTAINER(item_edit), TRUE);
 
-    create_popup_toggle (item_edit);
+    /* Create the text entry */
+    item_edit->editor = gtk_entry_new();
+    sheet->entry = item_edit->editor;
+    gtk_box_pack_start (GTK_BOX(item_edit), item_edit->editor,  TRUE, TRUE, 0);
 
-    if (clipboard_atom == GDK_NONE)
-        clipboard_atom = gdk_atom_intern ("CLIPBOARD", FALSE);
+    /* Create the popup button
+       It will only be displayed when the cell being edited provides
+       a popup item (like a calendar or account list) */
+    item_edit->popup_toggle.arrow = GTK_ARROW(gtk_arrow_new(GTK_ARROW_DOWN,
+                                                            GTK_SHADOW_IN));
+    gtk_misc_set_alignment(GTK_MISC(item_edit->popup_toggle.arrow), 0.5, 0.5);
 
-    gtk_selection_add_targets (GTK_WIDGET(sheet),
-                               GDK_SELECTION_PRIMARY,
-                               targets, n_targets);
+    item_edit->popup_toggle.tbutton = gtk_toggle_button_new();
+    gtk_toggle_button_set_mode (
+        GTK_TOGGLE_BUTTON (item_edit->popup_toggle.tbutton), FALSE);
+    gtk_container_add(GTK_CONTAINER(item_edit->popup_toggle.tbutton),
+                      GTK_WIDGET(item_edit->popup_toggle.arrow));
+
+    /* Wrap the popup button in an event box to give it its own gdkwindow.
+     * Without one the button would disappear behind the grid object. */
+    item_edit->popup_toggle.ebox = gtk_event_box_new();
+    g_object_ref(item_edit->popup_toggle.ebox);
+    gtk_container_add(GTK_CONTAINER(item_edit->popup_toggle.ebox),
+                      GTK_WIDGET(item_edit->popup_toggle.tbutton));
 
-    gtk_selection_add_targets (GTK_WIDGET(sheet),
-                               clipboard_atom,
-                               targets, n_targets);
+    gtk_box_pack_start (GTK_BOX(item_edit),
+                        GTK_WIDGET(item_edit->popup_toggle.ebox),
+                      FALSE, TRUE, 0);
+    gtk_widget_show_all(GTK_WIDGET(item_edit));
 
     return GTK_WIDGET(item_edit);
 }
@@ -1222,7 +593,6 @@ gnc_item_edit_show_popup (GncItemEdit *item_edit)
 {
     GtkToggleButton *toggle;
     GtkAdjustment *vadj;
-    GtkAnchorType popup_anchor;
     GtkAllocation alloc;
     GnucashSheet *sheet;
     gint x, y, w, h;
@@ -1259,14 +629,12 @@ gnc_item_edit_show_popup (GncItemEdit *item_edit)
 
     if (up_height > down_height)
     {
-        popup_y = y;
-        popup_anchor = GTK_ANCHOR_SW;
+        popup_y = y_offset;
         popup_h = up_height;
     }
     else
     {
         popup_y = y + h;
-        popup_anchor = GTK_ANCHOR_NW;
         popup_h = down_height;
     }
 
@@ -1288,9 +656,10 @@ gnc_item_edit_show_popup (GncItemEdit *item_edit)
     gtk_layout_move (GTK_LAYOUT(sheet), item_edit->popup_item,
                      popup_x, popup_y);
     gtk_widget_set_size_request(item_edit->popup_item, popup_w, popup_h);
+    gtk_widget_show_all (item_edit->popup_item);
     // FIXME what about the GtkAnchorType that the GNOME_CANVAS_ITEM used ?
 
-    toggle = item_edit->popup_toggle.toggle_button;
+    toggle = GTK_TOGGLE_BUTTON(item_edit->popup_toggle.tbutton);
 
     if (!gtk_toggle_button_get_active (toggle))
     {
@@ -1344,7 +713,7 @@ gnc_item_edit_hide_popup (GncItemEdit *item_edit)
                    GTK_ARROW_DOWN, GTK_SHADOW_IN);
 
     gtk_toggle_button_set_active
-    (item_edit->popup_toggle.toggle_button, FALSE);
+    (GTK_TOGGLE_BUTTON(item_edit->popup_toggle.tbutton), FALSE);
 
     gtk_widget_grab_focus (GTK_WIDGET (item_edit->sheet));
 }
@@ -1387,15 +756,6 @@ gnc_item_edit_set_popup (GncItemEdit    *item_edit,
     gnc_item_edit_update (item_edit);
 }
 
-void
-gnc_item_edit_set_has_selection (GncItemEdit *item_edit, gboolean has_selection)
-{
-    g_return_if_fail (item_edit != NULL);
-    g_return_if_fail (GNC_IS_ITEM_EDIT (item_edit));
-
-    item_edit->has_selection = has_selection;
-}
-
 gboolean
 gnc_item_edit_get_has_selection (GncItemEdit *item_edit)
 {
diff --git a/src/register/register-gnome/gnucash-item-edit.h b/src/register/register-gnome/gnucash-item-edit.h
index d607659..dcb2d79 100644
--- a/src/register/register-gnome/gnucash-item-edit.h
+++ b/src/register/register-gnome/gnucash-item-edit.h
@@ -59,8 +59,8 @@ typedef int (*PopupGetWidth) (GtkWidget *item,
 typedef struct _PopupToggle PopupToggle;
 struct _PopupToggle
 {
-    GtkToggleButton *toggle_button;
-    gint toggle_offset;
+    GtkWidget *ebox;
+    GtkWidget *tbutton;
     GtkArrow *arrow;
     gboolean signals_connected;
 };
@@ -68,19 +68,16 @@ struct _PopupToggle
 
 typedef struct
 {
-    GtkDrawingArea edit_area;
+    GtkHBox hbox;
     GnucashSheet *sheet;
 
     /* The editor whose status we reflect on the sheet */
     GtkWidget *editor;
 
-    gboolean has_selection;
-
     gboolean is_popup;
     gboolean show_popup;
 
     PopupToggle popup_toggle;
-
     GtkWidget *popup_item;
     GetPopupHeight   get_popup_height;
     PopupAutosize    popup_autosize;
@@ -89,12 +86,6 @@ typedef struct
     PopupGetWidth    popup_get_width;
     gpointer         popup_user_data;
 
-    GdkGC *gc;
-
-    gboolean reset_pos;
-    gint x_offset;
-    gint anchor_pos;
-
     /* Where are we */
     VirtualLocation virt_loc;
 
@@ -103,7 +94,7 @@ typedef struct
 
 typedef struct
 {
-    GtkDrawingAreaClass parent_class;
+    GtkHBoxClass parent_class;
 } GncItemEditClass;
 
 
@@ -131,23 +122,13 @@ void gnc_item_edit_hide_popup (GncItemEdit *item_edit);
 
 int gnc_item_edit_get_toggle_offset (int row_height);
 
-gboolean gnc_item_edit_set_cursor_pos (GncItemEdit *item_edit,
-                                       VirtualLocation virt_loc, int x,
-                                       gboolean changed_cells,
-                                       gboolean extend_selection);
-
-void gnc_item_edit_redraw (GncItemEdit *item_edit);
-
-void gnc_item_edit_cut_clipboard (GncItemEdit *item_edit, guint32 time);
-void gnc_item_edit_copy_clipboard (GncItemEdit *item_edit, guint32 time);
-void gnc_item_edit_paste_selection (GncItemEdit *item_edit, GdkAtom selection,
-                                    guint32 time);
+void gnc_item_edit_cut_clipboard (GncItemEdit *item_edit);
+void gnc_item_edit_copy_clipboard (GncItemEdit *item_edit);
+void gnc_item_edit_paste_clipboard (GncItemEdit *item_edit);
 
-void gnc_item_edit_set_has_selection (GncItemEdit *item_edit, gboolean has_selection);
 gboolean gnc_item_edit_get_has_selection (GncItemEdit *item_edit);
 void gnc_item_edit_focus_in (GncItemEdit *item_edit);
 void gnc_item_edit_focus_out (GncItemEdit *item_edit);
 
-void gnc_item_edit_reset_offset (GncItemEdit *item_edit);
 /** @} */
 #endif /* GNUCASH_ITEM_EDIT_H */
diff --git a/src/register/register-gnome/gnucash-sheet.c b/src/register/register-gnome/gnucash-sheet.c
index 9fcb53a..b7295f4 100644
--- a/src/register/register-gnome/gnucash-sheet.c
+++ b/src/register/register-gnome/gnucash-sheet.c
@@ -727,22 +727,6 @@ gnucash_sheet_finalize (GObject *object)
 }
 
 
-static void
-gnucash_sheet_realize (GtkWidget *widget)
-{
-    GdkWindow *window;
-
-    if (GTK_WIDGET_CLASS (sheet_parent_class)->realize)
-        (*GTK_WIDGET_CLASS (sheet_parent_class)->realize)(widget);
-
-    window = gtk_widget_get_window (widget);
-    gdk_window_set_back_pixmap (gtk_layout_get_bin_window (GTK_LAYOUT (widget)),
-                                NULL, FALSE);
-    gtk_im_context_set_client_window( GNUCASH_SHEET (widget)->im_context,
-                                      window);
-}
-
-
 static GnucashSheet *
 gnucash_sheet_create (Table *table)
 {
@@ -843,8 +827,6 @@ gnucash_sheet_modify_current_cell (GnucashSheet *sheet, const gchar *new_text)
 
     if (retval)
     {
-        gnc_item_edit_reset_offset (GNC_ITEM_EDIT(sheet->item_editor));
-
         g_signal_handler_block (G_OBJECT (sheet->entry),
                                 sheet->insert_signal);
         g_signal_handler_block (G_OBJECT (sheet->entry),
@@ -1290,42 +1272,6 @@ gnucash_sheet_start_editing_at_cursor (GnucashSheet *sheet)
                           sheet);
 }
 
-
-static gboolean
-gnucash_motion_event (GtkWidget *widget, GdkEventMotion *event)
-{
-    GnucashSheet *sheet;
-    VirtualLocation virt_loc;
-
-    g_return_val_if_fail(widget != NULL, TRUE);
-    g_return_val_if_fail(GNUCASH_IS_SHEET(widget), TRUE);
-    g_return_val_if_fail(event != NULL, TRUE);
-
-    sheet = GNUCASH_SHEET(widget);
-
-    if (!(event->state & GDK_BUTTON1_MASK) && sheet->grabbed)
-    {
-        gtk_grab_remove (widget);
-        sheet->grabbed = FALSE;
-    }
-
-    if (sheet->button != 1)
-        return FALSE;
-
-    if (!sheet->editing || event->type != GDK_MOTION_NOTIFY)
-        return FALSE;
-
-    if (!(event->state & GDK_BUTTON1_MASK))
-        return FALSE;
-
-    gnucash_cursor_get_virt (GNUCASH_CURSOR(sheet->cursor), &virt_loc);
-
-    gnc_item_edit_set_cursor_pos (GNC_ITEM_EDIT(sheet->item_editor),
-                                  virt_loc, event->x, FALSE, TRUE);
-
-    return TRUE;
-}
-
 static gboolean
 gnucash_button_release_event (GtkWidget *widget, GdkEventButton *event)
 {
@@ -1348,7 +1294,6 @@ gnucash_button_release_event (GtkWidget *widget, GdkEventButton *event)
     gtk_grab_remove (widget);
     sheet->grabbed = FALSE;
 
-    gnc_item_edit_set_has_selection(GNC_ITEM_EDIT(sheet->item_editor), FALSE);
     return TRUE;
 }
 
@@ -1451,9 +1396,7 @@ gnucash_button_press_event (GtkWidget *widget, GdkEventButton *event)
     case 2:
         if (event->type != GDK_BUTTON_PRESS)
             return FALSE;
-        gnc_item_edit_paste_selection (GNC_ITEM_EDIT(sheet->item_editor),
-                                       GDK_SELECTION_PRIMARY,
-                                       event->time);
+        gnc_item_edit_paste_clipboard (GNC_ITEM_EDIT(sheet->item_editor));
         return TRUE;
     case 3:
         do_popup = (sheet->popup != NULL);
@@ -1472,18 +1415,6 @@ gnucash_button_press_event (GtkWidget *widget, GdkEventButton *event)
     if (vcell == NULL)
         return TRUE;
 
-    if (virt_loc_equal (new_virt_loc, cur_virt_loc) && button_1 &&
-            (event->type == GDK_2BUTTON_PRESS))
-    {
-        gnc_item_edit_set_cursor_pos (GNC_ITEM_EDIT(sheet->item_editor),
-                                      cur_virt_loc, event->x, FALSE, FALSE);
-
-        editable = GTK_EDITABLE(sheet->entry);
-        gtk_editable_set_position(editable, -1);
-        gtk_editable_select_region(editable, 0, -1);
-        return TRUE;
-    }
-
     if (event->type != GDK_BUTTON_PRESS)
         return FALSE;
 
@@ -1491,23 +1422,15 @@ gnucash_button_press_event (GtkWidget *widget, GdkEventButton *event)
     {
         gtk_grab_add(widget);
         sheet->grabbed = TRUE;
-        gnc_item_edit_set_has_selection (GNC_ITEM_EDIT(sheet->item_editor),
-                                         TRUE);
     }
 
-    if (virt_loc_equal (new_virt_loc, cur_virt_loc) && sheet->editing)
+    if (virt_loc_equal (new_virt_loc, cur_virt_loc) &&
+        sheet->editing && do_popup)
     {
-        gboolean extend_selection = event->state & GDK_SHIFT_MASK;
-
-        gnc_item_edit_set_cursor_pos (GNC_ITEM_EDIT(sheet->item_editor),
-                                      cur_virt_loc, event->x, FALSE,
-                                      extend_selection);
-
-        if (do_popup)
-            gtk_menu_popup(GTK_MENU(sheet->popup), NULL, NULL, NULL,
-                           sheet->popup_data, event->button, event->time);
+        gtk_menu_popup(GTK_MENU(sheet->popup), NULL, NULL, NULL,
+                       sheet->popup_data, event->button, event->time);
 
-        return button_1 || do_popup;
+        return TRUE;
     }
 
     /* and finally...process this as a POINTER_TRAVERSE */
@@ -1529,9 +1452,6 @@ gnucash_button_press_event (GtkWidget *widget, GdkEventButton *event)
 
     gnucash_cursor_get_virt (GNUCASH_CURSOR(sheet->cursor), &new_virt_loc);
 
-    gnc_item_edit_set_cursor_pos (GNC_ITEM_EDIT(sheet->item_editor),
-                                  new_virt_loc, event->x, changed_cells, FALSE);
-
     if (do_popup)
         gtk_menu_popup(GTK_MENU(sheet->popup), NULL, NULL, NULL,
                        sheet->popup_data, event->button, event->time);
@@ -1565,7 +1485,7 @@ gnucash_register_cut_clipboard (GnucashRegister *reg)
     sheet = GNUCASH_SHEET(reg->sheet);
     item_edit = GNC_ITEM_EDIT(sheet->item_editor);
 
-    gnc_item_edit_cut_clipboard(item_edit, GDK_CURRENT_TIME);
+    gnc_item_edit_cut_clipboard(item_edit);
 }
 
 void
@@ -1580,7 +1500,7 @@ gnucash_register_copy_clipboard (GnucashRegister *reg)
     sheet = GNUCASH_SHEET(reg->sheet);
     item_edit = GNC_ITEM_EDIT(sheet->item_editor);
 
-    gnc_item_edit_copy_clipboard(item_edit, GDK_CURRENT_TIME);
+    gnc_item_edit_copy_clipboard(item_edit);
 }
 
 void
@@ -1595,8 +1515,7 @@ gnucash_register_paste_clipboard (GnucashRegister *reg)
     sheet = GNUCASH_SHEET(reg->sheet);
     item_edit = GNC_ITEM_EDIT(sheet->item_editor);
 
-    gnc_item_edit_paste_selection (item_edit, GDK_SELECTION_CLIPBOARD,
-                                   GDK_CURRENT_TIME);
+    gnc_item_edit_paste_clipboard (item_edit);
 }
 
 static void
@@ -1641,7 +1560,7 @@ gnucash_sheet_clipboard_event (GnucashSheet *sheet, GdkEventKey *event)
     case GDK_KEY_c:
         if (event->state & GDK_CONTROL_MASK)
         {
-            gnc_item_edit_copy_clipboard(item_edit, time);
+            gnc_item_edit_copy_clipboard(item_edit);
             handled = TRUE;
         }
         break;
@@ -1649,7 +1568,7 @@ gnucash_sheet_clipboard_event (GnucashSheet *sheet, GdkEventKey *event)
     case GDK_KEY_x:
         if (event->state & GDK_CONTROL_MASK)
         {
-            gnc_item_edit_cut_clipboard(item_edit, time);
+            gnc_item_edit_cut_clipboard(item_edit);
             handled = TRUE;
         }
         break;
@@ -1657,21 +1576,19 @@ gnucash_sheet_clipboard_event (GnucashSheet *sheet, GdkEventKey *event)
     case GDK_KEY_v:
         if (event->state & GDK_CONTROL_MASK)
         {
-            gnc_item_edit_paste_selection (item_edit, GDK_SELECTION_CLIPBOARD,
-                                           time);
+            gnc_item_edit_paste_clipboard (item_edit);
             handled = TRUE;
         }
         break;
     case GDK_KEY_Insert:
         if (event->state & GDK_SHIFT_MASK)
         {
-            gnc_item_edit_paste_selection (item_edit, GDK_SELECTION_CLIPBOARD,
-                                           time);
+            gnc_item_edit_paste_clipboard (item_edit);
             handled = TRUE;
         }
         else if (event->state & GDK_CONTROL_MASK)
         {
-            gnc_item_edit_copy_clipboard(item_edit, time);
+            gnc_item_edit_copy_clipboard(item_edit);
             handled = TRUE;
         }
         break;
@@ -1748,9 +1665,6 @@ gnucash_sheet_direct_event(GnucashSheet *sheet, GdkEvent *event)
         changed = TRUE;
     }
 
-    if (changed)
-        gnc_item_edit_redraw(GNC_ITEM_EDIT(sheet->item_editor));
-
     return result;
 }
 
@@ -2779,8 +2693,6 @@ gnucash_sheet_class_init (GnucashSheetClass *klass)
     /* Method override */
     gobject_class->finalize = gnucash_sheet_finalize;
 
-    widget_class->realize = gnucash_sheet_realize;
-
     widget_class->size_request = gnucash_sheet_size_request;
     widget_class->size_allocate = gnucash_sheet_size_allocate;
 
@@ -2791,7 +2703,6 @@ gnucash_sheet_class_init (GnucashSheetClass *klass)
     widget_class->key_release_event = gnucash_sheet_key_release_event;
     widget_class->button_press_event = gnucash_button_press_event;
     widget_class->button_release_event = gnucash_button_release_event;
-    widget_class->motion_notify_event = gnucash_motion_event;
     widget_class->scroll_event = gnucash_scroll_event;
 
     widget_class->expose_event = gnucash_sheet_draw;
@@ -2897,10 +2808,6 @@ gnucash_sheet_new (Table *table)
     /* The cursor */
     sheet->cursor = gnucash_cursor_new (sheet);
 
-    /* The entry widget */
-    sheet->entry = gtk_entry_new ();
-    g_object_ref_sink(sheet->entry);
-
     /*gtk_layout_put (GTK_LAYOUT (sheet), sheet->entry, 0, 0);*/
 
     /* set up the editor */
@@ -2911,14 +2818,6 @@ gnucash_sheet_new (Table *table)
                                    g_int_equal,
                                    g_free, NULL);
 
-    /* The GtkEntry must be realized in order to send events to
-     * it.  We don't want to show it on the screen, but can't
-     * realize it until after the window and all its parent
-     * widgets have been realized. Thus this callback. */
-    g_signal_connect_after(sheet, "realize",
-                           G_CALLBACK(gnucash_sheet_realize_entry),
-                           sheet->entry);
-
     gnucash_sheet_refresh_from_prefs(sheet);
     gnucash_sheet_create_color_hack(sheet);
 
@@ -3061,14 +2960,6 @@ gnucash_register_new (Table *table)
                       0, 0);
     gtk_widget_show(sheet);
 
-    gtk_table_attach (GTK_TABLE(widget), GNUCASH_SHEET(sheet)->entry,
-                      0, 1, 2, 3,
-                      GTK_FILL | GTK_EXPAND | GTK_SHRINK,
-                      GTK_FILL | GTK_EXPAND | GTK_SHRINK,
-                      0, 0);
-    gtk_widget_hide(GNUCASH_SHEET(sheet)->entry);
-    gtk_widget_set_no_show_all(GNUCASH_SHEET(sheet)->entry, TRUE);
-
     scrollbar = gtk_vscrollbar_new(GNUCASH_SHEET(sheet)->vadj);
     gtk_table_attach (GTK_TABLE(widget), GTK_WIDGET(scrollbar),
                       1, 2, 0, 3,
@@ -3079,7 +2970,7 @@ gnucash_register_new (Table *table)
 
     scrollbar = gtk_hscrollbar_new(GNUCASH_SHEET(sheet)->hadj);
     gtk_table_attach (GTK_TABLE(widget), GTK_WIDGET(scrollbar),
-                      0, 1, 3, 4,
+                      0, 1, 2, 3,
                       GTK_EXPAND | GTK_SHRINK | GTK_FILL,
                       GTK_FILL,
                       0, 0);

commit 986720e6c3a8554ca3b5ffabacad1c34429b7e45
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Thu Mar 9 23:05:22 2017 +0100

    Fix hidden scrollbars for itemlist type popup

diff --git a/src/register/register-gnome/gnucash-item-list.c b/src/register/register-gnome/gnucash-item-list.c
index 80f5d71..97e6b19 100644
--- a/src/register/register-gnome/gnucash-item-list.c
+++ b/src/register/register-gnome/gnucash-item-list.c
@@ -45,7 +45,7 @@ enum
     LAST_SIGNAL
 };
 
-static GtkFrame *gnc_item_list_parent_class;
+static GtkEventBoxClass *gnc_item_list_parent_class;
 static guint gnc_item_list_signals[LAST_SIGNAL];
 
 gboolean _gnc_item_find_selection(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data);
@@ -402,7 +402,7 @@ gnc_item_list_get_type (void)
         };
 
         gnc_item_list_type =
-            g_type_register_static (GTK_TYPE_FRAME, "GncItemList",
+            g_type_register_static (GTK_TYPE_EVENT_BOX, "GncItemList",
                                     &gnc_item_list_info, 0);
     }
 
diff --git a/src/register/register-gnome/gnucash-item-list.h b/src/register/register-gnome/gnucash-item-list.h
index e8f4887..1f8a1a3 100644
--- a/src/register/register-gnome/gnucash-item-list.h
+++ b/src/register/register-gnome/gnucash-item-list.h
@@ -39,7 +39,7 @@
 
 typedef struct
 {
-    GtkFrame frame;
+    GtkEventBox ebox;
 
     GtkTreeView *tree_view;
     GtkListStore *list_store; /* Contains the list items */
@@ -47,7 +47,7 @@ typedef struct
 
 typedef struct
 {
-    GtkFrameClass parent_class;
+    GtkEventBoxClass parent_class;
 
     void (*select_item) (GncItemList *item_list,
                          char        *item_string);

commit efcb06e6a3c3b6cba8a85a361a9fd06e240592ac
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Thu Mar 9 20:33:40 2017 +0100

    Fix crash in previously unreached code

diff --git a/src/register/register-gnome/gnucash-date-picker.c b/src/register/register-gnome/gnucash-date-picker.c
index b4fb569..534b411 100644
--- a/src/register/register-gnome/gnucash-date-picker.c
+++ b/src/register/register-gnome/gnucash-date-picker.c
@@ -83,6 +83,7 @@ static gboolean
 gnc_date_picker_key_event(GtkWidget *widget, GdkEventKey *event, gpointer data)
 {
     GNCDatePicker *date_picker = GNC_DATE_PICKER (data);
+    gboolean retval;
 
     switch (event->keyval)
     {
@@ -108,9 +109,9 @@ gnc_date_picker_key_event(GtkWidget *widget, GdkEventKey *event, gpointer data)
     /* These go to the sheet */
     g_signal_stop_emission_by_name (widget, "key_press_event");
 
-    g_signal_emit_by_name (date_picker, "key_press_event", 0, event);
+    g_signal_emit_by_name (date_picker, "key_press_event", event, &retval);
 
-    return TRUE;
+    return retval;
 }
 
 static void
diff --git a/src/register/register-gnome/gnucash-item-list.c b/src/register/register-gnome/gnucash-item-list.c
index 3f09722..80f5d71 100644
--- a/src/register/register-gnome/gnucash-item-list.c
+++ b/src/register/register-gnome/gnucash-item-list.c
@@ -302,6 +302,7 @@ gnc_item_list_key_event (GtkWidget *widget, GdkEventKey *event, gpointer data)
     GtkTreeIter iter;
     GtkTreeModel *model;
     gchar *string;
+    gboolean retval;
 
     switch (event->keyval)
     {
@@ -330,9 +331,9 @@ gnc_item_list_key_event (GtkWidget *widget, GdkEventKey *event, gpointer data)
     /* These go to the sheet */
     g_signal_stop_emission_by_name (G_OBJECT (widget), "key_press_event");
 
-    g_signal_emit_by_name (G_OBJECT (item_list), "key_press_event", 0, event);
+    g_signal_emit_by_name (G_OBJECT (item_list), "key_press_event", event, &retval);
 
-    return TRUE;
+    return retval;
 }
 
 

commit 131462ca419ab293f7c6b8d908c850ad2f37606a
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Thu Mar 9 20:32:59 2017 +0100

    Create specialized popup items their respective source files
    
    The extracted function in gnc_item_edit was unneeded and confusing

diff --git a/src/register/register-gnome/combocell-gnome.c b/src/register/register-gnome/combocell-gnome.c
index 797cf21..9a06ee8 100644
--- a/src/register/register-gnome/combocell-gnome.c
+++ b/src/register/register-gnome/combocell-gnome.c
@@ -753,9 +753,10 @@ gnc_combo_cell_gui_realize (BasicCell *bcell, gpointer data)
     box->sheet = sheet;
     box->item_edit = item_edit;
     if (cell->shared_store)
-        box->item_list = gnc_item_edit_new_list(box->item_edit, cell->shared_store);
+        box->item_list = GNC_ITEM_LIST (gnc_item_list_new (cell->shared_store));
     else
-        box->item_list = gnc_item_edit_new_list(box->item_edit, box->tmp_store);
+        box->item_list = GNC_ITEM_LIST (gnc_item_list_new (box->tmp_store));
+    gtk_widget_show_all (GTK_WIDGET(box->item_list));
     gtk_layout_put (GTK_LAYOUT(sheet),
                     GTK_WIDGET(box->item_list), 0, 0);
     g_object_ref_sink(box->item_list);
diff --git a/src/register/register-gnome/datecell-gnome.c b/src/register/register-gnome/datecell-gnome.c
index 2fc7036..f6ca289 100644
--- a/src/register/register-gnome/datecell-gnome.c
+++ b/src/register/register-gnome/datecell-gnome.c
@@ -52,7 +52,7 @@
 typedef struct _PopBox
 {
     GnucashSheet  *sheet;
-    GncItemEdit      *item_edit;
+    GncItemEdit   *item_edit;
     GNCDatePicker *date_picker;
 
     gboolean signals_connected; /* date picker signals connected? */
@@ -607,7 +607,8 @@ gnc_date_cell_realize (BasicCell *bcell, gpointer data)
     /* initialize gui-specific, private data */
     box->sheet = sheet;
     box->item_edit = item_edit;
-    box->date_picker = gnc_item_edit_new_date_picker (box->item_edit);
+    box->date_picker = GNC_DATE_PICKER (gnc_date_picker_new ());
+    gtk_widget_show_all (GTK_WIDGET(box->date_picker));
     gtk_layout_put (GTK_LAYOUT(sheet),
                     GTK_WIDGET(box->date_picker), 0, 0);
     g_object_ref_sink(box->date_picker);
diff --git a/src/register/register-gnome/gnucash-item-edit.c b/src/register/register-gnome/gnucash-item-edit.c
index acc17de..6914cce 100644
--- a/src/register/register-gnome/gnucash-item-edit.c
+++ b/src/register/register-gnome/gnucash-item-edit.c
@@ -1217,31 +1217,6 @@ gnc_item_edit_new (GnucashSheet *sheet)
 }
 
 
-GncItemList *
-gnc_item_edit_new_list (GncItemEdit *item_edit, GtkListStore *shared_store)
-{
-    GncItemList *item_list;
-
-    g_return_val_if_fail (GNC_IS_ITEM_EDIT(item_edit), NULL);
-
-    item_list = GNC_ITEM_LIST (gnc_item_list_new (shared_store));
-
-    return item_list;
-}
-
-GNCDatePicker *
-gnc_item_edit_new_date_picker (GncItemEdit *item_edit)
-{
-    GNCDatePicker *gdp;
-
-    g_return_val_if_fail (GNC_IS_ITEM_EDIT (item_edit), NULL);
-
-    gdp = GNC_DATE_PICKER (gnc_date_picker_new ());
-
-    return gdp;
-}
-
-
 void
 gnc_item_edit_show_popup (GncItemEdit *item_edit)
 {
diff --git a/src/register/register-gnome/gnucash-item-edit.h b/src/register/register-gnome/gnucash-item-edit.h
index 5ab0d95..d607659 100644
--- a/src/register/register-gnome/gnucash-item-edit.h
+++ b/src/register/register-gnome/gnucash-item-edit.h
@@ -117,9 +117,6 @@ void gnc_item_edit_get_pixel_coords (GncItemEdit *item_edit,
 
 GtkWidget *gnc_item_edit_new (GnucashSheet *sheet);
 
-GncItemList * gnc_item_edit_new_list (GncItemEdit *item_edit, GtkListStore *shared_store);
-GNCDatePicker * gnc_item_edit_new_date_picker (GncItemEdit *item_edit);
-
 void gnc_item_edit_set_popup (GncItemEdit    *item_edit,
                               GtkWidget      *popup_item,
                               GetPopupHeight  get_popup_height,

commit 58bfd3e1e93dffba21950e25ad2df980917d1881
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Tue Mar 7 18:22:44 2017 +0100

    Reduce the cursor from a full widget to a simple gobject that tracks cursor coordinates
    
    As with the grid there is no direct interaction possible with the cursor.
    It is merely decoration. It does keep track of coordinates so I've made
    it a gobject for memory management. The actual drawing of the cursor
    frame is now done by the sheet, just like for the grid.
    
    This change also fixes the transparency issue in the cursor.

diff --git a/src/register/register-gnome/gnucash-cursor.c b/src/register/register-gnome/gnucash-cursor.c
index e4ee440..5219092 100644
--- a/src/register/register-gnome/gnucash-cursor.c
+++ b/src/register/register-gnome/gnucash-cursor.c
@@ -36,7 +36,7 @@
 #include "gnucash-sheetP.h"
 #include "gnucash-style.h"
 
-static GtkDrawingArea *gnucash_cursor_parent_class;
+static GObjectClass *gnucash_cursor_parent_class;
 
 enum
 {
@@ -104,14 +104,6 @@ gnucash_cursor_get_pixel_coords (GnucashCursor *cursor,
 }
 
 
-static void
-gnucash_cursor_request_redraw (GnucashCursor *cursor)
-{
-    gtk_widget_queue_draw_area (GTK_WIDGET(cursor),
-                                cursor->x, cursor->y, cursor->w, cursor->h);
-}
-
-
 void
 gnucash_cursor_set_style (GnucashCursor  *cursor, SheetBlockStyle *style)
 {
@@ -135,56 +127,10 @@ gnucash_cursor_get_virt (GnucashCursor *cursor, VirtualLocation *virt_loc)
     virt_loc->phys_col_offset = cursor->cell.col;
 }
 
-static void
-gnucash_cursor_draw_offscreen (GnucashCursor *cursor)
-{
-    GnucashCursorCell *cc = &(cursor->cell);
-    gint cx, cy;
-    cairo_rgb fg_color;
-    cairo_t *cr;
-
-    if (cursor->surface)
-        cairo_surface_destroy (cursor->surface);
-    cursor->surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-                                                  cursor->w, cursor->h);
-
-    cr = cairo_create (cursor->surface);
-    to_cairo_rgb(&gn_black, &fg_color);
-
-    /* Clear the background area.
-     * FIXME doesn't work as written */
-    cairo_save (cr);
-    cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    /* draw the rectangle around the entire active
-     virtual *row */
-    cairo_rectangle (cr, 0.5, 0.5, cursor->w - 1.0, cursor->h - 1.0);
-    cairo_move_to (cr, 0, cursor->h - 1.5);
-    cairo_rel_line_to (cr, cursor->w, 0);
-    cairo_set_source_rgb (cr, fg_color.red, fg_color.green, fg_color.blue);
-    cairo_set_line_width (cr, 1.0);
-    cairo_stroke (cr);
-
-
-    // Draw the cursor's cell frame
-    cx = cc->x - cursor->x;
-    cy = cc->y - cursor->y;
-
-    cairo_rectangle (cr, cx + 0.5, cy + 0.5, cc->w - 1.0, cc->h - 1.0);
-    cairo_set_source_rgb (cr, fg_color.red, fg_color.green, fg_color.blue);
-    cairo_set_line_width (cr, 1.0);
-    cairo_stroke (cr);
-
-    cairo_destroy (cr);
-}
-
 
 void
 gnucash_cursor_configure (GnucashCursor *cursor)
 {
-    GtkLayout *layout;
     gint x, y, w, h;
 
     g_return_if_fail (cursor != NULL);
@@ -194,7 +140,6 @@ gnucash_cursor_configure (GnucashCursor *cursor)
         return;
 
     g_return_if_fail (GTK_IS_LAYOUT (cursor->sheet));
-    layout = GTK_LAYOUT(cursor->sheet);
 
     gnucash_cursor_get_pixel_coords (cursor, &x, &y, &w, &h);
     cursor->x = x;
@@ -202,36 +147,15 @@ gnucash_cursor_configure (GnucashCursor *cursor)
     cursor->w = w;
     cursor->h = h + 2;
 
-    gtk_layout_move (layout, GTK_WIDGET(cursor), cursor->x, cursor->y);
-    gtk_widget_set_size_request(GTK_WIDGET(cursor), cursor->w, cursor->h);
-
     gnucash_sheet_style_get_cell_pixel_rel_coords (cursor->style,
             cursor->cell.row,  cursor->cell.col,
             &x, &y, &w, &h);
-    cursor->cell.x = x - cursor->x;
+    cursor->cell.x = x;
     cursor->cell.y = y;
     cursor->cell.w = w;
     cursor->cell.h = h;
-
-    gnucash_cursor_draw_offscreen (cursor);
-}
-
-
-static gboolean
-gnucash_cursor_draw (GtkWidget *widget, GdkEventExpose *event)
-{
-    cairo_t *cr;
-    GdkWindow *binwin = gtk_widget_get_window(widget);
-
-    cr = gdk_cairo_create (binwin);
-    cairo_set_source_surface (cr, GNUCASH_CURSOR(widget)->surface, 0, 0);
-    cairo_paint (cr);
-    cairo_destroy (cr);
-
-    return TRUE;
 }
 
-
 static void
 gnucash_cursor_set_block (GnucashCursor *cursor, VirtualCellLocation vcell_loc)
 {
@@ -283,9 +207,6 @@ gnucash_cursor_set (GnucashCursor *cursor, VirtualLocation virt_loc)
 
     sheet = cursor->sheet;
 
-    gtk_widget_queue_draw_area(GTK_WIDGET(sheet->grid), cursor->x, cursor->y,
-        cursor->w, cursor->h);
-
     gnucash_cursor_set_block (cursor, virt_loc.vcell_loc);
     gnucash_cursor_set_cell (cursor,
                              virt_loc.phys_row_offset,
@@ -297,38 +218,6 @@ gnucash_cursor_set (GnucashCursor *cursor, VirtualLocation virt_loc)
                   "cursor_name",
                   cursor->style->cursor->cursor_name,
                   NULL);
-
-    gnucash_cursor_request_redraw (cursor);
-}
-
-
-static void
-gnucash_cursor_realize (GtkWidget *widget)
-{
-    GdkWindow *window;
-
-    if (GTK_WIDGET_CLASS (gnucash_cursor_parent_class)->realize)
-        (GTK_WIDGET_CLASS
-         (gnucash_cursor_parent_class)->realize)(widget);
-
-    window = gtk_widget_get_window (widget);
-    gdk_window_set_back_pixmap (window, NULL, FALSE);
-    gnucash_cursor_draw_offscreen(GNUCASH_CURSOR(widget));
-}
-
-
-static void
-gnucash_cursor_unrealize (GtkWidget *widget)
-{
-    GnucashCursor *cursor = GNUCASH_CURSOR (widget);
-
-    if (cursor->surface)
-        cairo_surface_destroy (cursor->surface);
-    cursor->surface = NULL;
-
-    if (GTK_WIDGET_CLASS (gnucash_cursor_parent_class)->unrealize)
-        (GTK_WIDGET_CLASS
-         (gnucash_cursor_parent_class)->unrealize)(widget);
 }
 
 
@@ -383,10 +272,8 @@ static void
 gnucash_cursor_class_init (GnucashCursorClass *klass)
 {
     GObjectClass  *object_class;
-    GtkWidgetClass *widget_class;
 
     object_class = G_OBJECT_CLASS (klass);
-    widget_class = GTK_WIDGET_CLASS (klass);
 
     gnucash_cursor_parent_class = g_type_class_peek_parent (klass);
 
@@ -394,11 +281,6 @@ gnucash_cursor_class_init (GnucashCursorClass *klass)
     object_class->set_property = gnucash_cursor_set_property;
     object_class->get_property = gnucash_cursor_get_property;
 
-    /* GtkWidget method overrides */
-    widget_class->realize     = gnucash_cursor_realize;
-    widget_class->unrealize   = gnucash_cursor_unrealize;
-    widget_class->expose_event = gnucash_cursor_draw;
-
     /* properties */
     g_object_class_install_property
     (object_class,
@@ -432,7 +314,7 @@ gnucash_cursor_get_type (void)
         };
 
         gnucash_cursor_type =
-            g_type_register_static (GTK_TYPE_DRAWING_AREA,
+            g_type_register_static (G_TYPE_OBJECT,
                                     "GnucashCursor",
                                     &gnucash_cursor_info, 0);
     }
@@ -441,22 +323,13 @@ gnucash_cursor_get_type (void)
 }
 
 
-GtkWidget *
+GnucashCursor *
 gnucash_cursor_new (GnucashSheet *sheet)
 {
-    GnucashCursor *cursor;
-
-    cursor = GNUCASH_CURSOR(
+    return GNUCASH_CURSOR(
         g_object_new (gnucash_cursor_get_type(),
                       "sheet", sheet,
                       NULL));
-/* FIXME doesn't seem to work as it should...
-    gtk_widget_set_app_paintable(GTK_WIDGET(cursor), TRUE);*/
-    gtk_layout_put (GTK_LAYOUT(sheet), GTK_WIDGET(cursor), 0, 0);
-
-    gtk_widget_show (GTK_WIDGET (cursor));
-
-    return GTK_WIDGET (cursor);
 }
 
 
diff --git a/src/register/register-gnome/gnucash-cursor.h b/src/register/register-gnome/gnucash-cursor.h
index fd341ad..dc0b95c 100644
--- a/src/register/register-gnome/gnucash-cursor.h
+++ b/src/register/register-gnome/gnucash-cursor.h
@@ -21,7 +21,7 @@
 #ifndef GNUCASH_CURSOR_H
 #define GNUCASH_CURSOR_H
 
-#include <gtk/gtk.h>
+#include <glib-2.0/glib.h>
 #include "gnucash-sheet.h"
 
 /** @ingroup Register
@@ -56,8 +56,6 @@ enum
 
 typedef struct
 {
-    gint type;
-
     gint row;
     gint col;
 
@@ -68,7 +66,7 @@ typedef struct
 
 typedef struct
 {
-    GtkDrawingArea area;
+    GObject obj;
 
     GnucashCursorCell cell;
     GnucashSheet *sheet;
@@ -78,17 +76,16 @@ typedef struct
     /* precomputed pixel coords for the block cursor*/
     gint x, y, w, h;
 
-    cairo_surface_t *surface;
     SheetBlockStyle *style;
 } GnucashCursor;
 
 typedef struct
 {
-    GtkDrawingAreaClass parent_class;
+    GObjectClass parent_class;
 } GnucashCursorClass;
 
 
-GtkWidget *gnucash_cursor_new (GnucashSheet *sheet);
+GnucashCursor *gnucash_cursor_new (GnucashSheet *sheet);
 
 void gnucash_cursor_get_virt (GnucashCursor *cursor,
                               VirtualLocation *virt_loc);
diff --git a/src/register/register-gnome/gnucash-sheet-private.c b/src/register/register-gnome/gnucash-sheet-private.c
index a59581b..82279a2 100644
--- a/src/register/register-gnome/gnucash-sheet-private.c
+++ b/src/register/register-gnome/gnucash-sheet-private.c
@@ -670,3 +670,29 @@ gnucash_sheet_draw_internal (GnucashSheet *sheet, cairo_t *cr,
 
     return TRUE;
 }
+
+
+void
+gnucash_sheet_draw_cursor (GnucashCursor *cursor, cairo_t *cr)
+{
+    GnucashCursorCell *cc = &(cursor->cell);
+    cairo_rgb fg_color;
+
+    to_cairo_rgb(&gn_black, &fg_color);
+
+    /* draw the rectangle around the entire active
+     *    virtual *row */
+    cairo_rectangle (cr, cursor->x + 0.5, cursor->y + 0.5,
+                     cursor->w - 1.0, cursor->h - 1.0);
+    cairo_move_to (cr, cursor->x, cursor->y + cursor->h - 1.5);
+    cairo_rel_line_to (cr, cursor->w, 0);
+    cairo_set_source_rgb (cr, fg_color.red, fg_color.green, fg_color.blue);
+    cairo_set_line_width (cr, 1.0);
+    cairo_stroke (cr);
+
+    cairo_rectangle (cr, cc->x + 0.5, cursor->y + cc->y + 0.5,
+                     cc->w - 1.0, cc->h - 1.0);
+    cairo_set_source_rgb (cr, fg_color.red, fg_color.green, fg_color.blue);
+    cairo_set_line_width (cr, 1.0);
+    cairo_stroke (cr);
+}
diff --git a/src/register/register-gnome/gnucash-sheet.c b/src/register/register-gnome/gnucash-sheet.c
index 4c495ea..9fcb53a 100644
--- a/src/register/register-gnome/gnucash-sheet.c
+++ b/src/register/register-gnome/gnucash-sheet.c
@@ -149,7 +149,15 @@ gnucash_sheet_cursor_set (GnucashSheet *sheet, VirtualLocation virt_loc)
     g_return_if_fail (virt_loc.vcell_loc.virt_col >= 0 ||
                       virt_loc.vcell_loc.virt_col <= sheet->num_virt_cols);
 
+    gtk_widget_queue_draw_area (GTK_WIDGET(sheet),
+                                sheet->cursor->x, sheet->cursor->y,
+                                sheet->cursor->w, sheet->cursor->h);
+
     gnucash_cursor_set (GNUCASH_CURSOR(sheet->cursor), virt_loc);
+
+    gtk_widget_queue_draw_area (GTK_WIDGET(sheet),
+                                sheet->cursor->x, sheet->cursor->y,
+                                sheet->cursor->w, sheet->cursor->h);
 }
 
 void
@@ -1125,6 +1133,9 @@ gnucash_sheet_draw (GtkWidget *widget, GdkEventExpose *event)
 
     cr = gdk_cairo_create (binwin);
     result = gnucash_sheet_draw_internal (sheet, cr, x, y, width, height);
+
+    gnucash_sheet_draw_cursor (sheet->cursor, cr);
+
     cairo_destroy(cr);
 
     return result;
diff --git a/src/register/register-gnome/gnucash-sheetP.h b/src/register/register-gnome/gnucash-sheetP.h
index 245348b..498b143 100644
--- a/src/register/register-gnome/gnucash-sheetP.h
+++ b/src/register/register-gnome/gnucash-sheetP.h
@@ -24,6 +24,7 @@
 #include <gtk/gtk.h>
 #include "gnucash-sheet.h"
 #include "gnucash-item-edit.h"
+#include "gnucash-cursor.h"
 
 /** @ingroup Register
  * @addtogroup Gnome
@@ -50,7 +51,7 @@ struct _GnucashSheet
     gint num_virt_cols;
 
     GtkWidget *header_item;
-    GtkWidget *cursor;
+    GnucashCursor *cursor;
 
     GHashTable *cursor_styles;
 
@@ -158,7 +159,8 @@ GncItemEdit *gnucash_sheet_get_item_edit (GnucashSheet *sheet);
 gboolean   gnucash_sheet_find_loc_by_pixel (GnucashSheet *sheet, gint x, gint y,
                                            VirtualLocation *vcell_loc);
 gboolean gnucash_sheet_draw_internal (GnucashSheet *sheet, cairo_t *cr,
-                            int x, int y, int width, int height);
+                                      int x, int y, int width, int height);
+void gnucash_sheet_draw_cursor (GnucashCursor *cursor, cairo_t *cr);
 
 
 /** @} */

commit c54cf61cce67760e4bcb649ebe761dc805b1da58
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Tue Mar 7 18:01:48 2017 +0100

    Rework gnucash-cursor
    
    - drop lots of unneeded complexity
    - use cairo instead of gdk_gc to draw
    
    Issue still to fix: the cursor widget has a grey background instead
    of being transparent. I'm not sure this can be fixed before switching
    to gtk3

diff --git a/src/register/register-gnome/gnucash-cursor.c b/src/register/register-gnome/gnucash-cursor.c
index 6da92cd..e4ee440 100644
--- a/src/register/register-gnome/gnucash-cursor.c
+++ b/src/register/register-gnome/gnucash-cursor.c
@@ -37,7 +37,6 @@
 #include "gnucash-style.h"
 
 static GtkDrawingArea *gnucash_cursor_parent_class;
-static GtkDrawingArea *gnucash_item_cursor_parent_class;
 
 enum
 {
@@ -52,17 +51,14 @@ gnucash_cursor_get_pixel_coords (GnucashCursor *cursor,
                                  gint *w, gint *h)
 {
     GnucashSheet *sheet = cursor->sheet;
-    GnucashItemCursor *item_cursor;
     VirtualCellLocation vcell_loc;
     CellDimensions *cd;
     VirtualCell *vcell;
     SheetBlock *block;
     gint col;
 
-    item_cursor = cursor->cursor[GNUCASH_CURSOR_BLOCK];
-
-    vcell_loc.virt_row = item_cursor->row;
-    vcell_loc.virt_col = item_cursor->col;
+    vcell_loc.virt_row = cursor->row;
+    vcell_loc.virt_col = cursor->col;
 
     block = gnucash_sheet_get_block (sheet, vcell_loc);
     if (!block)
@@ -111,13 +107,8 @@ gnucash_cursor_get_pixel_coords (GnucashCursor *cursor,
 static void
 gnucash_cursor_request_redraw (GnucashCursor *cursor)
 {
-    GnucashItemCursor *ic;
     gtk_widget_queue_draw_area (GTK_WIDGET(cursor),
                                 cursor->x, cursor->y, cursor->w, cursor->h);
-    ic = cursor->cursor[GNUCASH_CURSOR_BLOCK];
-    gtk_widget_queue_draw_area (GTK_WIDGET(ic), ic->x, ic->y, ic->w, ic->h);
-    ic = cursor->cursor[GNUCASH_CURSOR_CELL];
-    gtk_widget_queue_draw_area (GTK_WIDGET(ic), ic->x, ic->y, ic->w, ic->h);
 }
 
 
@@ -137,19 +128,62 @@ gnucash_cursor_get_virt (GnucashCursor *cursor, VirtualLocation *virt_loc)
     g_return_if_fail (cursor != NULL);
     g_return_if_fail (GNUCASH_IS_CURSOR (cursor));
 
-    virt_loc->vcell_loc.virt_row = cursor->cursor[GNUCASH_CURSOR_BLOCK]->row;
-    virt_loc->vcell_loc.virt_col = cursor->cursor[GNUCASH_CURSOR_BLOCK]->col;
+    virt_loc->vcell_loc.virt_row = cursor->row;
+    virt_loc->vcell_loc.virt_col = cursor->col;
+
+    virt_loc->phys_row_offset = cursor->cell.row;
+    virt_loc->phys_col_offset = cursor->cell.col;
+}
 
-    virt_loc->phys_row_offset = cursor->cursor[GNUCASH_CURSOR_CELL]->row;
-    virt_loc->phys_col_offset = cursor->cursor[GNUCASH_CURSOR_CELL]->col;
+static void
+gnucash_cursor_draw_offscreen (GnucashCursor *cursor)
+{
+    GnucashCursorCell *cc = &(cursor->cell);
+    gint cx, cy;
+    cairo_rgb fg_color;
+    cairo_t *cr;
+
+    if (cursor->surface)
+        cairo_surface_destroy (cursor->surface);
+    cursor->surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
+                                                  cursor->w, cursor->h);
+
+    cr = cairo_create (cursor->surface);
+    to_cairo_rgb(&gn_black, &fg_color);
+
+    /* Clear the background area.
+     * FIXME doesn't work as written */
+    cairo_save (cr);
+    cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
+    cairo_paint (cr);
+    cairo_restore (cr);
+
+    /* draw the rectangle around the entire active
+     virtual *row */
+    cairo_rectangle (cr, 0.5, 0.5, cursor->w - 1.0, cursor->h - 1.0);
+    cairo_move_to (cr, 0, cursor->h - 1.5);
+    cairo_rel_line_to (cr, cursor->w, 0);
+    cairo_set_source_rgb (cr, fg_color.red, fg_color.green, fg_color.blue);
+    cairo_set_line_width (cr, 1.0);
+    cairo_stroke (cr);
+
+
+    // Draw the cursor's cell frame
+    cx = cc->x - cursor->x;
+    cy = cc->y - cursor->y;
+
+    cairo_rectangle (cr, cx + 0.5, cy + 0.5, cc->w - 1.0, cc->h - 1.0);
+    cairo_set_source_rgb (cr, fg_color.red, fg_color.green, fg_color.blue);
+    cairo_set_line_width (cr, 1.0);
+    cairo_stroke (cr);
+
+    cairo_destroy (cr);
 }
 
 
 void
 gnucash_cursor_configure (GnucashCursor *cursor)
 {
-    GnucashItemCursor *block_cursor;
-    GnucashItemCursor *cell_cursor;
     GtkLayout *layout;
     gint x, y, w, h;
 
@@ -166,85 +200,34 @@ gnucash_cursor_configure (GnucashCursor *cursor)
     cursor->x = x;
     cursor->y = y;
     cursor->w = w;
-    cursor->h = h + 1;
+    cursor->h = h + 2;
 
     gtk_layout_move (layout, GTK_WIDGET(cursor), cursor->x, cursor->y);
     gtk_widget_set_size_request(GTK_WIDGET(cursor), cursor->w, cursor->h);
 
-    block_cursor = cursor->cursor[GNUCASH_CURSOR_BLOCK];
-    block_cursor->x = cursor->x;
-    block_cursor->y = cursor->y;
-    block_cursor->w = cursor->w;
-    block_cursor->h = cursor->h;
-
-    gtk_layout_move (layout, GTK_WIDGET(block_cursor),
-                     block_cursor->x, block_cursor->y);
-    gtk_widget_set_size_request(GTK_WIDGET(block_cursor),
-                                block_cursor->w, block_cursor->h);
-
-    cell_cursor = cursor->cursor[GNUCASH_CURSOR_CELL];
     gnucash_sheet_style_get_cell_pixel_rel_coords (cursor->style,
-            cell_cursor->row,  cell_cursor->col,
+            cursor->cell.row,  cursor->cell.col,
             &x, &y, &w, &h);
-    cell_cursor->x = x - block_cursor->x;
-    cell_cursor->y = y;
-    cell_cursor->w = w;
-    cell_cursor->h = h;
-
-    gtk_layout_move (layout, GTK_WIDGET(cell_cursor),
-                     cell_cursor->x, cell_cursor->y);
-    gtk_widget_set_size_request(GTK_WIDGET(cell_cursor),
-                                cell_cursor->w, cell_cursor->h);
+    cursor->cell.x = x - cursor->x;
+    cursor->cell.y = y;
+    cursor->cell.w = w;
+    cursor->cell.h = h;
+
+    gnucash_cursor_draw_offscreen (cursor);
 }
 
 
 static gboolean
-gnucash_item_cursor_draw (GtkWidget *widget, GdkEventExpose *event)
+gnucash_cursor_draw (GtkWidget *widget, GdkEventExpose *event)
 {
-    GnucashItemCursor *item_cursor = GNUCASH_ITEM_CURSOR(widget);
-    GnucashCursor *cursor = GNUCASH_CURSOR(item_cursor->parent);
-    gint dx, dy, dw, dh;
-    int x = event->area.x;
-    int y = event->area.y;
-    GdkDrawable *drawable = GDK_DRAWABLE (gtk_layout_get_bin_window (GTK_LAYOUT(widget)));
-
-    switch (item_cursor->type)
-    {
-    case GNUCASH_CURSOR_BLOCK:
-        dx = item_cursor->x - x;
-        dy = item_cursor->y - y;
-        dw = item_cursor->w;
-        dh = item_cursor->h;
-
-        /* draw the rectangle around the entire active
-           virtual row */
-        gdk_gc_set_line_attributes (cursor->gc, 1,
-                                    GDK_LINE_SOLID, GDK_CAP_NOT_LAST, GDK_JOIN_MITER);
-
-        gdk_gc_set_foreground (cursor->gc, &gn_black);
-
-        gdk_draw_rectangle (drawable, cursor->gc, FALSE,
-                            dx, dy, dw, dh - 1);
-        gdk_draw_line (drawable, cursor->gc,
-                       dx, dy + dh, dx + dw, dy + dh);
-
-        break;
-
-    case GNUCASH_CURSOR_CELL:
-        dx = item_cursor->x - x;
-        dy = item_cursor->y - y;
-        dw = item_cursor->w;
-        dh = item_cursor->h;
+    cairo_t *cr;
+    GdkWindow *binwin = gtk_widget_get_window(widget);
 
-        gdk_gc_set_line_attributes (cursor->gc, 1,
-                                    GDK_LINE_SOLID, GDK_CAP_NOT_LAST, GDK_JOIN_MITER);
+    cr = gdk_cairo_create (binwin);
+    cairo_set_source_surface (cr, GNUCASH_CURSOR(widget)->surface, 0, 0);
+    cairo_paint (cr);
+    cairo_destroy (cr);
 
-        gdk_gc_set_foreground (cursor->gc, &gn_black);
-
-        gdk_draw_rectangle (drawable, cursor->gc, FALSE,
-                            dx, dy, dw, dh);
-        break;
-    }
     return TRUE;
 }
 
@@ -253,13 +236,11 @@ static void
 gnucash_cursor_set_block (GnucashCursor *cursor, VirtualCellLocation vcell_loc)
 {
     GnucashSheet *sheet;
-    GnucashItemCursor *item_cursor;
 
     g_return_if_fail (cursor != NULL);
     g_return_if_fail (GNUCASH_IS_CURSOR (cursor));
 
     sheet = cursor->sheet;
-    item_cursor = cursor->cursor[GNUCASH_CURSOR_BLOCK];
 
     if (vcell_loc.virt_row < 0 ||
             vcell_loc.virt_row >= sheet->num_virt_rows ||
@@ -268,30 +249,27 @@ gnucash_cursor_set_block (GnucashCursor *cursor, VirtualCellLocation vcell_loc)
         return;
 
     cursor->style = gnucash_sheet_get_style (sheet, vcell_loc);
-
-    item_cursor->row = vcell_loc.virt_row;
-    item_cursor->col = vcell_loc.virt_col;
+    cursor->row = vcell_loc.virt_row;
+    cursor->col = vcell_loc.virt_col;
 }
 
 
 static void
 gnucash_cursor_set_cell (GnucashCursor *cursor, gint cell_row, gint cell_col)
 {
-    GnucashItemCursor *item_cursor;
     SheetBlockStyle *style;
 
     g_return_if_fail (cursor != NULL);
     g_return_if_fail (GNUCASH_IS_CURSOR (cursor));
 
-    item_cursor = cursor->cursor[GNUCASH_CURSOR_CELL];
     style = cursor->style;
 
     if (cell_row < 0 || cell_row >= style->nrows ||
             cell_col < 0 || cell_col >= style->ncols)
         return;
 
-    item_cursor->row = cell_row;
-    item_cursor->col = cell_col;
+    cursor->cell.row = cell_row;
+    cursor->cell.col = cell_col;
 }
 
 
@@ -305,7 +283,8 @@ gnucash_cursor_set (GnucashCursor *cursor, VirtualLocation virt_loc)
 
     sheet = cursor->sheet;
 
-    gnucash_cursor_request_redraw (cursor);
+    gtk_widget_queue_draw_area(GTK_WIDGET(sheet->grid), cursor->x, cursor->y,
+        cursor->w, cursor->h);
 
     gnucash_cursor_set_block (cursor, virt_loc.vcell_loc);
     gnucash_cursor_set_cell (cursor,
@@ -324,17 +303,8 @@ gnucash_cursor_set (GnucashCursor *cursor, VirtualLocation virt_loc)
 
 
 static void
-gnucash_item_cursor_init (GnucashItemCursor *cursor)
-{
-    cursor->col = 0;
-    cursor->row   = 0;
-}
-
-
-static void
 gnucash_cursor_realize (GtkWidget *widget)
 {
-    GnucashCursor *cursor = GNUCASH_CURSOR (widget);
     GdkWindow *window;
 
     if (GTK_WIDGET_CLASS (gnucash_cursor_parent_class)->realize)
@@ -342,8 +312,8 @@ gnucash_cursor_realize (GtkWidget *widget)
          (gnucash_cursor_parent_class)->realize)(widget);
 
     window = gtk_widget_get_window (widget);
-
-    cursor->gc = gdk_gc_new (window);
+    gdk_window_set_back_pixmap (window, NULL, FALSE);
+    gnucash_cursor_draw_offscreen(GNUCASH_CURSOR(widget));
 }
 
 
@@ -352,11 +322,9 @@ gnucash_cursor_unrealize (GtkWidget *widget)
 {
     GnucashCursor *cursor = GNUCASH_CURSOR (widget);
 
-    if (cursor->gc != NULL)
-    {
-        g_object_unref (cursor->gc);
-        cursor->gc = NULL;
-    }
+    if (cursor->surface)
+        cairo_surface_destroy (cursor->surface);
+    cursor->surface = NULL;
 
     if (GTK_WIDGET_CLASS (gnucash_cursor_parent_class)->unrealize)
         (GTK_WIDGET_CLASS
@@ -365,50 +333,6 @@ gnucash_cursor_unrealize (GtkWidget *widget)
 
 
 static void
-gnucash_item_cursor_class_init (GnucashItemCursorClass *klass)
-{
-    GtkWidgetClass *widget_class;
-
-    widget_class = GTK_WIDGET_CLASS (klass);
-
-    gnucash_item_cursor_parent_class = g_type_class_peek_parent (klass);
-
-    /* Widget method overrides */
-    widget_class->expose_event = gnucash_item_cursor_draw;
-}
-
-
-GType
-gnucash_item_cursor_get_type (void)
-{
-    static GType gnucash_item_cursor_type = 0;
-
-    if (!gnucash_item_cursor_type)
-    {
-        static const GTypeInfo gnucash_item_cursor_info =
-        {
-            sizeof (GnucashItemCursorClass),
-            NULL,		/* base_init */
-            NULL,		/* base_finalize */
-            (GClassInitFunc) gnucash_item_cursor_class_init,
-            NULL,		/* class_finalize */
-            NULL,		/* class_data */
-            sizeof (GnucashItemCursor),
-            0,		/* n_preallocs */
-            (GInstanceInitFunc) gnucash_item_cursor_init
-        };
-
-        gnucash_item_cursor_type =
-            g_type_register_static (GTK_TYPE_DRAWING_AREA,
-                                    "GnucashItemCursor",
-                                    &gnucash_item_cursor_info, 0);
-    }
-
-    return gnucash_item_cursor_type;
-}
-
-
-static void
 gnucash_cursor_set_property (GObject         *object,
                              guint            prop_id,
                              const GValue    *value,
@@ -473,6 +397,7 @@ gnucash_cursor_class_init (GnucashCursorClass *klass)
     /* GtkWidget method overrides */
     widget_class->realize     = gnucash_cursor_realize;
     widget_class->unrealize   = gnucash_cursor_unrealize;
+    widget_class->expose_event = gnucash_cursor_draw;
 
     /* properties */
     g_object_class_install_property
@@ -520,28 +445,16 @@ GtkWidget *
 gnucash_cursor_new (GnucashSheet *sheet)
 {
     GnucashCursor *cursor;
-    GnucashItemCursor *item_cursor;
 
     cursor = GNUCASH_CURSOR(
         g_object_new (gnucash_cursor_get_type(),
                       "sheet", sheet,
                       NULL));
+/* FIXME doesn't seem to work as it should...
+    gtk_widget_set_app_paintable(GTK_WIDGET(cursor), TRUE);*/
     gtk_layout_put (GTK_LAYOUT(sheet), GTK_WIDGET(cursor), 0, 0);
 
-    item_cursor = GNUCASH_ITEM_CURSOR (
-        g_object_new (gnucash_item_cursor_get_type(), NULL));
-    item_cursor->type = GNUCASH_CURSOR_CELL;
-    item_cursor->parent = GTK_WIDGET(cursor);
-    gtk_layout_put (GTK_LAYOUT(sheet), GTK_WIDGET(item_cursor), 0, 0);
-    cursor->cursor[GNUCASH_CURSOR_CELL] = item_cursor;
-
-
-    item_cursor = GNUCASH_ITEM_CURSOR (
-        g_object_new (gnucash_item_cursor_get_type(), NULL));
-    item_cursor->type = GNUCASH_CURSOR_BLOCK;
-    item_cursor->parent = GTK_WIDGET(cursor);
-    gtk_layout_put (GTK_LAYOUT(sheet), GTK_WIDGET(item_cursor), 0, 0);
-    cursor->cursor[GNUCASH_CURSOR_BLOCK] = item_cursor;
+    gtk_widget_show (GTK_WIDGET (cursor));
 
     return GTK_WIDGET (cursor);
 }
diff --git a/src/register/register-gnome/gnucash-cursor.h b/src/register/register-gnome/gnucash-cursor.h
index 324d5ec..fd341ad 100644
--- a/src/register/register-gnome/gnucash-cursor.h
+++ b/src/register/register-gnome/gnucash-cursor.h
@@ -56,9 +56,6 @@ enum
 
 typedef struct
 {
-    GtkDrawingArea area;
-    GtkWidget *parent;
-
     gint type;
 
     gint row;
@@ -66,30 +63,25 @@ typedef struct
 
     /* precomputed pixel coords for the item cursor*/
     gint x, y, w, h;
-} GnucashItemCursor;
+} GnucashCursorCell;
 
 
 typedef struct
 {
     GtkDrawingArea area;
 
-    GnucashItemCursor *cursor[GNUCASH_CURSOR_NUM];
+    GnucashCursorCell cell;
     GnucashSheet *sheet;
 
+    gint row;
+    gint col;
     /* precomputed pixel coords for the block cursor*/
     gint x, y, w, h;
 
-    GdkGC *gc;
+    cairo_surface_t *surface;
     SheetBlockStyle *style;
 } GnucashCursor;
 
-
-typedef struct
-{
-    GtkDrawingAreaClass parent_class;
-} GnucashItemCursorClass;
-
-
 typedef struct
 {
     GtkDrawingAreaClass parent_class;
diff --git a/src/register/register-gnome/gnucash-item-edit.c b/src/register/register-gnome/gnucash-item-edit.c
index f700fa6..acc17de 100644
--- a/src/register/register-gnome/gnucash-item-edit.c
+++ b/src/register/register-gnome/gnucash-item-edit.c
@@ -754,9 +754,9 @@ void
 gnc_item_edit_configure (GncItemEdit *item_edit)
 {
     GnucashSheet *sheet = item_edit->sheet;
-    GnucashItemCursor *cursor;
+    GnucashCursor *cursor;
 
-    cursor = GNUCASH_CURSOR(sheet->cursor)->cursor[GNUCASH_CURSOR_BLOCK];
+    cursor = GNUCASH_CURSOR(sheet->cursor);
 
     if (item_edit->virt_loc.vcell_loc.virt_row != cursor->row)
     {
@@ -774,17 +774,16 @@ gnc_item_edit_configure (GncItemEdit *item_edit)
         gnucash_sheet_get_style (item_edit->sheet,
                                  item_edit->virt_loc.vcell_loc);
 
-    cursor = GNUCASH_CURSOR(sheet->cursor)->cursor[GNUCASH_CURSOR_CELL];
 
-    if (item_edit->virt_loc.phys_row_offset != cursor->row)
+    if (item_edit->virt_loc.phys_row_offset != cursor->cell.row)
     {
-        item_edit->virt_loc.phys_row_offset = cursor->row;
+        item_edit->virt_loc.phys_row_offset = cursor->cell.row;
         item_edit->reset_pos = TRUE;
     }
 
-    if (item_edit->virt_loc.phys_col_offset != cursor->col)
+    if (item_edit->virt_loc.phys_col_offset != cursor->cell.col)
     {
-        item_edit->virt_loc.phys_col_offset = cursor->col;
+        item_edit->virt_loc.phys_col_offset = cursor->cell.col;
         item_edit->reset_pos = TRUE;
     }
 

commit 6c06336d3e2ad6dd8e1c3d83e9c46dad4fad4fa9
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Sat Mar 11 17:56:11 2017 +0100

    Reduce grid object from a complete widget to only two utility functions
    
    There was no added value in it being a full widget. It only served two functions really
    - speed draw the visible and non-editable part of a register window
    - locating a cell starting from a pixel
    
    Both are used exclusively by the sheet object, so
    I have made them private functions of the sheet.
    They are still kept in a separate file though for length considerations.

diff --git a/po/POTFILES.in b/po/POTFILES.in
index f4fd55f..1c2af10 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -554,12 +554,12 @@ src/register/register-gnome/gncmod-register-gnome.c
 src/register/register-gnome/gnucash-color.c
 src/register/register-gnome/gnucash-cursor.c
 src/register/register-gnome/gnucash-date-picker.c
-src/register/register-gnome/gnucash-grid.c
 src/register/register-gnome/gnucash-header.c
 src/register/register-gnome/gnucash-item-edit.c
 src/register/register-gnome/gnucash-item-list.c
 src/register/register-gnome/gnucash-scrolled-window.c
 src/register/register-gnome/gnucash-sheet.c
+src/register/register-gnome/gnucash-sheet-private.c
 src/register/register-gnome/gnucash-style.c
 src/register/register-gnome/pricecell-gnome.c
 src/register/register-gnome/quickfillcell-gnome.c
diff --git a/src/register/register-gnome/CMakeLists.txt b/src/register/register-gnome/CMakeLists.txt
index 2fd73dc..a92a3fd 100644
--- a/src/register/register-gnome/CMakeLists.txt
+++ b/src/register/register-gnome/CMakeLists.txt
@@ -8,11 +8,11 @@ SET (register_gnome_SOURCES
   gnucash-color.c
   gnucash-cursor.c
   gnucash-date-picker.c
-  gnucash-grid.c
   gnucash-header.c
   gnucash-item-edit.c
   gnucash-item-list.c
   gnucash-scrolled-window.c
+  gnucash-sheet-private.c
   gnucash-sheet.c
   gnucash-style.c
   pricecell-gnome.c
@@ -25,7 +25,6 @@ SET (register_gnome_noinst_HEADERS
   gnucash-color.h
   gnucash-cursor.h
   gnucash-date-picker.h
-  gnucash-grid.h
   gnucash-header.h
   gnucash-item-edit.h
   gnucash-item-list.h
diff --git a/src/register/register-gnome/Makefile.am b/src/register/register-gnome/Makefile.am
index 2c0564d..3ddc4d8 100644
--- a/src/register/register-gnome/Makefile.am
+++ b/src/register/register-gnome/Makefile.am
@@ -23,11 +23,11 @@ libgncmod_register_gnome_la_SOURCES = \
   gnucash-color.c \
   gnucash-cursor.c \
   gnucash-date-picker.c \
-  gnucash-grid.c \
   gnucash-header.c \
   gnucash-item-edit.c \
   gnucash-item-list.c \
   gnucash-scrolled-window.c \
+  gnucash-sheet-private.c \
   gnucash-sheet.c \
   gnucash-style.c \
   pricecell-gnome.c \
@@ -39,7 +39,6 @@ noinst_HEADERS = \
   gnucash-color.h \
   gnucash-cursor.h \
   gnucash-date-picker.h \
-  gnucash-grid.h \
   gnucash-header.h \
   gnucash-item-edit.h \
   gnucash-item-list.h \
diff --git a/src/register/register-gnome/gnucash-cursor.c b/src/register/register-gnome/gnucash-cursor.c
index a69cd21..6da92cd 100644
--- a/src/register/register-gnome/gnucash-cursor.c
+++ b/src/register/register-gnome/gnucash-cursor.c
@@ -32,7 +32,6 @@
 
 #include "gnucash-color.h"
 #include "gnucash-cursor.h"
-#include "gnucash-grid.h"
 #include "gnucash-sheet.h"
 #include "gnucash-sheetP.h"
 #include "gnucash-style.h"
diff --git a/src/register/register-gnome/gnucash-cursor.h b/src/register/register-gnome/gnucash-cursor.h
index acf4b7d..324d5ec 100644
--- a/src/register/register-gnome/gnucash-cursor.h
+++ b/src/register/register-gnome/gnucash-cursor.h
@@ -22,7 +22,6 @@
 #define GNUCASH_CURSOR_H
 
 #include <gtk/gtk.h>
-#include "gnucash-grid.h"
 #include "gnucash-sheet.h"
 
 /** @ingroup Register
diff --git a/src/register/register-gnome/gnucash-grid.h b/src/register/register-gnome/gnucash-grid.h
deleted file mode 100644
index f0ab88d..0000000
--- a/src/register/register-gnome/gnucash-grid.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/********************************************************************\
- * 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 at gnu.org                   *
- *                                                                  *
-\********************************************************************/
-
-#ifndef GNUCASH_GRID_H
-#define GNUCASH_GRID_H
-
-#include <gtk/gtk.h>
-#include "table-allgui.h"
-#include "gnucash-sheet.h"
-
-/** @ingroup Register
- * @addtogroup Gnome
- * @{
- */
-/** @file gnucash-grid.h
- * @brief GnucashGrid declarations
- */
-
-#define GNUCASH_TYPE_GRID     (gnucash_grid_get_type ())
-#define GNUCASH_GRID(obj)     (G_TYPE_CHECK_INSTANCE_CAST((obj), GNUCASH_TYPE_GRID, GnucashGrid))
-#define GNUCASH_GRID_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GNUCASH_TYPE_GRID, GnucashGridClass))
-#define GNUCASH_IS_GRID(o)    (G_TYPE_CHECK_INSTANCE_TYPE((o), GNUCASH_TYPE_GRID))
-
-typedef struct _GnucashGrid GnucashGrid;
-typedef struct _GnucashGridClass GnucashGridClass;
-
-
-GType      gnucash_grid_get_type (void);
-GtkWidget *gnucash_grid_new 	 (GnucashSheet *sheet);
-
-gboolean   gnucash_grid_find_loc_by_pixel (GnucashGrid *grid, gint x, gint y,
-        VirtualLocation *vcell_loc);
-
-void       gnucash_draw_hatching (cairo_t *cr,
-                                  double x, double y, double width, double height);
-void       gnc_grid_configure (GtkWidget *widget);
-/** @} */
-#endif /* GNUCASH_GRID_H */
diff --git a/src/register/register-gnome/gnucash-header.c b/src/register/register-gnome/gnucash-header.c
index deb2911..4b5801d 100644
--- a/src/register/register-gnome/gnucash-header.c
+++ b/src/register/register-gnome/gnucash-header.c
@@ -34,7 +34,6 @@
 #include "gnucash-sheetP.h"
 #include "gnucash-color.h"
 #include "gnucash-style.h"
-#include "gnucash-grid.h"
 #include "gnucash-cursor.h"
 #include "gnucash-item-edit.h"
 
diff --git a/src/register/register-gnome/gnucash-item-edit.c b/src/register/register-gnome/gnucash-item-edit.c
index 4146e23..f700fa6 100644
--- a/src/register/register-gnome/gnucash-item-edit.c
+++ b/src/register/register-gnome/gnucash-item-edit.c
@@ -35,7 +35,6 @@
 #include "gnucash-color.h"
 #include "gnucash-cursor.h"
 #include "gnucash-item-edit.h"
-#include "gnucash-grid.h"
 #include "gnucash-sheet.h"
 #include "gnucash-sheetP.h"
 #include "gnucash-style.h"
diff --git a/src/register/register-gnome/gnucash-grid.c b/src/register/register-gnome/gnucash-sheet-private.c
similarity index 69%
rename from src/register/register-gnome/gnucash-grid.c
rename to src/register/register-gnome/gnucash-sheet-private.c
index d948835..a59581b 100644
--- a/src/register/register-gnome/gnucash-grid.c
+++ b/src/register/register-gnome/gnucash-sheet-private.c
@@ -19,12 +19,18 @@
 \********************************************************************/
 
 /*
- * The Gnucash Grid Canvas Item
+ * The Gnucash Grid drawing functions
  *
- *  Based heavily (i.e., cut and pasted from) on the Gnumeric ItemGrid.
+ * The gnucash grid used to be a fully fledged object. However it has no
+ * intelligence of its own, so instead I have reduced it to just a complex
+ * drawing function.
+ * It specializes in drawing the non-editable parts of a gnucash sheet, that is
+ * - the rows and columns with proper backgrounds and borders
+ * - the text for each cell in the table
+ * - dividing lines (red and blue)
  *
- * Author:
- *     Heath Martin <martinh at pegasus.cc.ucf.edu>
+ * This could have been addedi directly into gnucash_sheet.c, but is kept
+ * separate to not oversize that file.
  */
 
 #include "config.h"
@@ -33,76 +39,9 @@
 
 #include "gnucash-sheet.h"
 #include "gnucash-sheetP.h"
-#include "gnucash-grid.h"
 #include "gnucash-color.h"
 #include "gnucash-style.h"
 
-
-struct _GnucashGrid
-{
-    GtkDrawingArea area;
-
-    GnucashSheet *sheet;
-};
-
-
-struct _GnucashGridClass
-{
-    GtkDrawingAreaClass parent_class;
-};
-
-static GtkDrawingAreaClass *gnucash_grid_parent_class;
-
-/* Our arguments */
-enum
-{
-    PROP_0,
-    PROP_SHEET
-};
-
-
-static gboolean
-gnc_grid_configure_cb (GtkWidget *widget,
-                       G_GNUC_UNUSED GdkEventConfigure *event)
-{
-    gnc_grid_configure (widget);
-
-    return TRUE;
-}
-
-void
-gnc_grid_configure (GtkWidget *widget)
-{
-    GnucashGrid *grid = GNUCASH_GRID(widget);
-    GtkRequisition cur_rec;
-    gint cur_x, cur_y;
-    guint w , h;
-
-    gtk_container_child_get(GTK_CONTAINER(grid->sheet),
-                            widget,
-                            "x", &cur_x, "y", &cur_y, NULL);
-    if ((cur_x != 0) || (cur_y != 0))
-        gtk_layout_move (GTK_LAYOUT(grid->sheet),
-                         GTK_WIDGET(grid), 0, 0);
-
-    gtk_layout_get_size (GTK_LAYOUT(grid->sheet), &w, &h);
-    gtk_widget_get_requisition(GTK_WIDGET(grid), &cur_rec);
-    if ((cur_rec.height != h) || (cur_rec.width != w))
-        gtk_widget_set_size_request(GTK_WIDGET(grid), w, h);
-
-}
-
-static void
-gnucash_grid_realize (GtkWidget *widget)
-{
-
-    if (GTK_WIDGET_CLASS (gnucash_grid_parent_class)->realize)
-        (GTK_WIDGET_CLASS
-         (gnucash_grid_parent_class)->realize)(widget);
-
-    gnc_grid_configure (widget);
-}
-
 /*
  * Sets virt_row, virt_col to the block coordinates for the
  * block containing pixel (x, y).  Also sets o_x, o_y, to the
@@ -113,9 +52,9 @@ gnucash_grid_realize (GtkWidget *widget)
  * All coordinates are with respect to the canvas origin.
  */
 static SheetBlock *
-gnucash_grid_find_block_by_pixel (GnucashGrid *grid,
-                                  gint x, gint y,
-                                  VirtualCellLocation *vcell_loc)
+find_block_by_pixel (GnucashSheet *sheet,
+                     gint x, gint y,
+                     VirtualCellLocation *vcell_loc)
 {
     SheetBlock *block;
     VirtualCellLocation vc_loc = { 1, 0 };
@@ -125,7 +64,7 @@ gnucash_grid_find_block_by_pixel (GnucashGrid *grid,
 
     do
     {
-        block = gnucash_sheet_get_block (grid->sheet, vc_loc);
+        block = gnucash_sheet_get_block (sheet, vc_loc);
         if (!block)
             return NULL;
 
@@ -139,14 +78,14 @@ gnucash_grid_find_block_by_pixel (GnucashGrid *grid,
         }
         vc_loc.virt_row++;
     }
-    while (vc_loc.virt_row < grid->sheet->num_virt_rows);
+    while (vc_loc.virt_row < sheet->num_virt_rows);
 
-    if (vc_loc.virt_row == grid->sheet->num_virt_rows)
+    if (vc_loc.virt_row == sheet->num_virt_rows)
         return NULL;
 
     do
     {
-        block = gnucash_sheet_get_block (grid->sheet, vc_loc);
+        block = gnucash_sheet_get_block (sheet, vc_loc);
         if (!block)
             return NULL;
 
@@ -160,17 +99,17 @@ gnucash_grid_find_block_by_pixel (GnucashGrid *grid,
         }
         vc_loc.virt_col++;
     }
-    while (vc_loc.virt_col < grid->sheet->num_virt_cols);
+    while (vc_loc.virt_col < sheet->num_virt_cols);
 
-    if (vc_loc.virt_col == grid->sheet->num_virt_cols)
+    if (vc_loc.virt_col == sheet->num_virt_cols)
         return NULL;
 
     return block;
 }
 
 static gboolean
-gnucash_grid_find_cell_by_pixel (GnucashGrid *grid, gint x, gint y,
-                                 VirtualLocation *virt_loc)
+find_cell_by_pixel (GnucashSheet *sheet, gint x, gint y,
+                    VirtualLocation *virt_loc)
 {
     SheetBlock *block;
     SheetBlockStyle *style;
@@ -180,7 +119,7 @@ gnucash_grid_find_cell_by_pixel (GnucashGrid *grid, gint x, gint y,
 
     g_return_val_if_fail (virt_loc != NULL, FALSE);
 
-    block = gnucash_sheet_get_block (grid->sheet, virt_loc->vcell_loc);
+    block = gnucash_sheet_get_block (sheet, virt_loc->vcell_loc);
     if (block == NULL)
         return FALSE;
 
@@ -229,62 +168,20 @@ gnucash_grid_find_cell_by_pixel (GnucashGrid *grid, gint x, gint y,
 }
 
 gboolean
-gnucash_grid_find_loc_by_pixel (GnucashGrid *grid, gint x, gint y,
-                                VirtualLocation *virt_loc)
+gnucash_sheet_find_loc_by_pixel (GnucashSheet *sheet, gint x, gint y,
+                                 VirtualLocation *virt_loc)
 {
     SheetBlock *block;
 
     if (virt_loc == NULL)
         return FALSE;
 
-    block = gnucash_grid_find_block_by_pixel (grid, x, y,
+    block = find_block_by_pixel (sheet, x, y,
             &virt_loc->vcell_loc);
     if (block == NULL)
         return FALSE;
 
-    return gnucash_grid_find_cell_by_pixel (grid, x, y, virt_loc);
-}
-
-G_INLINE_FUNC void
-draw_cell_line (cairo_t *cr, cairo_rgb *bg_color,
-                double x1, double y1, double x2, double y2,
-                PhysicalCellBorderLineStyle style);
-
-void
-draw_cell_line (cairo_t *cr, cairo_rgb *bg_color,
-                double x1, double y1, double x2, double y2,
-                PhysicalCellBorderLineStyle style)
-{
-    cairo_rgb fg_color;
-
-    switch (style)
-    {
-    case CELL_BORDER_LINE_NONE:
-        fg_color = *bg_color;
-        break;
-
-    case CELL_BORDER_LINE_LIGHT:
-        to_cairo_rgb (&gn_light_gray, &fg_color);
-        break;
-
-    case CELL_BORDER_LINE_NORMAL:
-    case CELL_BORDER_LINE_HEAVY:
-        to_cairo_rgb (&gn_black, &fg_color);
-        break;
-
-    case CELL_BORDER_LINE_HIGHLIGHT:
-        to_cairo_rgb (&gn_red, &fg_color);
-        break;
-
-    default:
-        return;
-    }
-
-    cairo_set_line_width (cr, 1.0);
-    cairo_set_source_rgb (cr, fg_color.red, fg_color.green, fg_color.blue);
-    cairo_move_to (cr, x1, y1);
-    cairo_line_to (cr, x2, y2);
-    cairo_stroke (cr);
+    return find_cell_by_pixel (sheet, x, y, virt_loc);
 }
 
 static void
@@ -331,57 +228,6 @@ get_cell_borders (GnucashSheet *sheet, VirtualLocation virt_loc,
     }
 }
 
-void
-gnucash_draw_hatching (cairo_t *cr,
-                       double x, double y, G_GNUC_UNUSED double width, double height)
-{
-    cairo_rgb fg_color;
-    double h_x = x + 2.5;
-    double h_y = y + 2.5;
-    double h_size = height / 3 - 1;
-
-    cairo_set_line_width (cr, 1.0);
-    to_cairo_rgb(&gn_light_gray, &fg_color);
-    cairo_set_source_rgb (cr, fg_color.red, fg_color.green, fg_color.blue);
-
-    cairo_rectangle (cr, h_x, h_y, h_size, h_size);
-
-    cairo_move_to (cr, h_x, h_y);
-    cairo_rel_line_to (cr, h_size, h_size);
-
-    cairo_rel_move_to (cr, -h_x, 0);
-    cairo_rel_line_to (cr, h_size, -h_size);
-    cairo_stroke (cr);
-}
-
-static void
-grid_draw_divider_line (cairo_t *cr, VirtualLocation virt_loc,
-                        int div_row, int n_phys_rows, cairo_rgb *fg_color,
-                        double x, double y, double width, double height)
-{
-    double offset;
-    if (div_row < 0)
-        return;
-
-    /* Test if divider line should be drawn before the current row */
-    if ((virt_loc.phys_row_offset == 0) &&
-        (virt_loc.vcell_loc.virt_row == div_row))
-        offset = 0.0;
-    /* Test if divider line should be drawn after the current row */
-    else if ((virt_loc.phys_row_offset == n_phys_rows - 1) &&
-        (virt_loc.vcell_loc.virt_row == div_row - 1))
-        offset = height;
-    else
-        return;
-
-    cairo_set_source_rgb (cr, fg_color->red, fg_color->green, fg_color->blue);
-
-    cairo_set_line_width (cr, 3.0);
-    cairo_move_to (cr, x, y + 0.5 + offset);
-    cairo_rel_line_to (cr, width, 0);
-    cairo_stroke (cr);
-}
-
 
 #ifdef READONLY_LINES_WITH_CHANGED_FG_COLOR
 /** For a given byte value, multiply the difference to 0xFF by a rational number,
@@ -434,14 +280,109 @@ static guint32 dec_intensity_10percent(guint32 argb)
     return result;
 }
 
+/* Actual drawing routines */
+
+G_INLINE_FUNC void
+draw_cell_line (cairo_t *cr, cairo_rgb *bg_color,
+                double x1, double y1, double x2, double y2,
+                PhysicalCellBorderLineStyle style);
+
+void
+draw_cell_line (cairo_t *cr, cairo_rgb *bg_color,
+                double x1, double y1, double x2, double y2,
+                PhysicalCellBorderLineStyle style)
+{
+    cairo_rgb fg_color;
+
+    switch (style)
+    {
+        case CELL_BORDER_LINE_NONE:
+            fg_color = *bg_color;
+            break;
+
+        case CELL_BORDER_LINE_LIGHT:
+            to_cairo_rgb (&gn_light_gray, &fg_color);
+            break;
+
+        case CELL_BORDER_LINE_NORMAL:
+        case CELL_BORDER_LINE_HEAVY:
+            to_cairo_rgb (&gn_black, &fg_color);
+            break;
+
+        case CELL_BORDER_LINE_HIGHLIGHT:
+            to_cairo_rgb (&gn_red, &fg_color);
+            break;
+
+        default:
+            return;
+    }
+
+    cairo_set_line_width (cr, 1.0);
+    cairo_set_source_rgb (cr, fg_color.red, fg_color.green, fg_color.blue);
+    cairo_move_to (cr, x1, y1);
+    cairo_line_to (cr, x2, y2);
+    cairo_stroke (cr);
+}
+
 static void
-draw_cell (GnucashGrid *grid,
+draw_hatching (cairo_t *cr,
+               double x, double y, G_GNUC_UNUSED double width, double height)
+{
+    cairo_rgb fg_color;
+    double h_x = x + 2.5;
+    double h_y = y + 2.5;
+    double h_size = height / 3 - 1;
+
+    cairo_set_line_width (cr, 1.0);
+    to_cairo_rgb(&gn_light_gray, &fg_color);
+    cairo_set_source_rgb (cr, fg_color.red, fg_color.green, fg_color.blue);
+
+    cairo_rectangle (cr, h_x, h_y, h_size, h_size);
+
+    cairo_move_to (cr, h_x, h_y);
+    cairo_rel_line_to (cr, h_size, h_size);
+
+    cairo_rel_move_to (cr, -h_x, 0);
+    cairo_rel_line_to (cr, h_size, -h_size);
+    cairo_stroke (cr);
+}
+
+static void
+draw_divider_line (cairo_t *cr, VirtualLocation virt_loc,
+                   int div_row, int n_phys_rows, cairo_rgb *fg_color,
+                   double x, double y, double width, double height)
+{
+    double offset;
+    if (div_row < 0)
+        return;
+
+    /* Test if divider line should be drawn before the current row */
+    if ((virt_loc.phys_row_offset == 0) &&
+        (virt_loc.vcell_loc.virt_row == div_row))
+        offset = 0.0;
+    /* Test if divider line should be drawn after the current row */
+    else if ((virt_loc.phys_row_offset == n_phys_rows - 1) &&
+        (virt_loc.vcell_loc.virt_row == div_row - 1))
+        offset = height;
+    else
+        return;
+
+    cairo_set_source_rgb (cr, fg_color->red, fg_color->green, fg_color->blue);
+
+    cairo_set_line_width (cr, 3.0);
+    cairo_move_to (cr, x, y + 0.5 + offset);
+    cairo_rel_line_to (cr, width, 0);
+    cairo_stroke (cr);
+}
+
+static void
+draw_cell (GnucashSheet *sheet,
            SheetBlock *block,
            VirtualLocation virt_loc,
            cairo_t *cr,
            int x, int y, int width, int height)
 {
-    Table *table = grid->sheet->table;
+    Table *table = sheet->table;
     PhysicalCellBorders borders;
     const char *text;
     PangoLayout *layout;
@@ -455,11 +396,11 @@ draw_cell (GnucashGrid *grid,
     guint32 argb, color_type;
     int x_offset;
 
-    if (grid->sheet->use_theme_colors)
+    if (sheet->use_theme_colors)
     {
         color_type = gnc_table_get_gtkrc_bg_color (table, virt_loc,
                      &hatching);
-        gdk_bg_color = get_gtkrc_color(grid->sheet, color_type);
+        gdk_bg_color = get_gtkrc_color(sheet, color_type);
     }
     else
     {
@@ -479,7 +420,7 @@ draw_cell (GnucashGrid *grid,
     cairo_rectangle (cr, x, y, width, height);
     cairo_fill (cr);
 
-    get_cell_borders (grid->sheet, virt_loc, &borders);
+    get_cell_borders (sheet, virt_loc, &borders);
 
     /* top */
     draw_cell_line (cr, &bg_color,
@@ -518,38 +459,38 @@ draw_cell (GnucashGrid *grid,
                     borders.right);
 
     if (hatching)
-        gnucash_draw_hatching (cr,
+        draw_hatching (cr,
                                x, y, width, height);
 
     /* dividing line upper (red) */
     to_cairo_rgb (&gn_red, &fg_color);
-    grid_draw_divider_line(cr, virt_loc,
+    draw_divider_line(cr, virt_loc,
                            table->model->dividing_row_upper, block->style->nrows,
                            &fg_color, x, y, width, height);
 
     /* dividing line (blue) */
     to_cairo_rgb (&gn_blue, &fg_color);
-    grid_draw_divider_line(cr, virt_loc,
+    draw_divider_line(cr, virt_loc,
                            table->model->dividing_row, block->style->nrows,
                            &fg_color, x, y, width, height);
 
     /* dividing line lower (blue) */
-    grid_draw_divider_line(cr, virt_loc,
+    draw_divider_line(cr, virt_loc,
                            table->model->dividing_row_lower, block->style->nrows,
                            &fg_color, x, y, width, height);
 
     text = gnc_table_get_entry (table, virt_loc);
 
-    layout = gtk_widget_create_pango_layout (GTK_WIDGET (grid), text);
+    layout = gtk_widget_create_pango_layout (GTK_WIDGET (sheet), text);
     // We don't need word wrap or line wrap
     pango_layout_set_width (layout, -1);
     context = pango_layout_get_context (layout);
     font = pango_font_description_copy (pango_context_get_font_description (context));
 
-    if (grid->sheet->use_theme_colors)
+    if (sheet->use_theme_colors)
     {
         color_type = gnc_table_get_gtkrc_fg_color (table, virt_loc);
-        gdk_fg_color = get_gtkrc_color(grid->sheet, color_type);
+        gdk_fg_color = get_gtkrc_color(sheet, color_type);
     }
     else
     {
@@ -637,7 +578,7 @@ exit:
 }
 
 static void
-draw_block (GnucashGrid *grid,
+draw_block (GnucashSheet *sheet,
             SheetBlock *block,
             VirtualLocation virt_loc,
             cairo_t *cr,
@@ -681,41 +622,35 @@ draw_block (GnucashGrid *grid,
             if (y_paint + h < y)
                 continue;
 
-            draw_cell (grid, block, virt_loc, cr,
+            draw_cell (sheet, block, virt_loc, cr,
                        x_paint, y_paint, w, h);
         }
     }
 }
 
-static gboolean
-gnucash_grid_draw (GtkWidget *widget, GdkEventExpose *event)
+gboolean
+gnucash_sheet_draw_internal (GnucashSheet *sheet, cairo_t *cr,
+                             int x, int y, int width, int height)
 {
-    GnucashGrid *grid = GNUCASH_GRID (widget);
     VirtualLocation virt_loc;
     SheetBlock *sheet_block;
-    int x = event->area.x;
-    int y = event->area.y;
-    int width = event->area.width;
-    int height = event->area.height;
-    GdkWindow *binwin = gtk_widget_get_window(widget);
-    cairo_t *cr = gdk_cairo_create (binwin);
 
     if (x < 0 || y < 0)
         return FALSE;
 
     /* compute our initial values where we start drawing */
-    sheet_block = gnucash_grid_find_block_by_pixel (grid, x, y,
+    sheet_block = find_block_by_pixel (sheet, x, y,
                   &virt_loc.vcell_loc);
     if (!sheet_block || !sheet_block->style)
         return FALSE;
 
-    for ( ; virt_loc.vcell_loc.virt_row < grid->sheet->num_virt_rows;
+    for ( ; virt_loc.vcell_loc.virt_row < sheet->num_virt_rows;
             virt_loc.vcell_loc.virt_row++ )
     {
         while (TRUE)
         {
             sheet_block = gnucash_sheet_get_block
-                          (grid->sheet, virt_loc.vcell_loc);
+                          (sheet, virt_loc.vcell_loc);
 
             if (!sheet_block || !sheet_block->style)
                 return TRUE;
@@ -729,133 +664,9 @@ gnucash_grid_draw (GtkWidget *widget, GdkEventExpose *event)
         if (y + height < sheet_block->origin_y)
             return TRUE;
 
-        draw_block (grid, sheet_block, virt_loc, cr,
+        draw_block (sheet, sheet_block, virt_loc, cr,
                     x, y, width, height);
     }
 
-//     cairo_set_source_surface (cr, surface, 0, 0);
-//     cairo_paint (cr);
-    cairo_destroy (cr);
-
     return TRUE;
 }
-
-
-static void
-gnucash_grid_init (GnucashGrid *grid)
-{
-    grid->sheet = NULL;
-}
-
-
-static void
-gnucash_grid_set_property (GObject         *object,
-                           guint            prop_id,
-                           const GValue    *value,
-                           GParamSpec      *pspec)
-{
-    GnucashGrid *grid = GNUCASH_GRID (object);
-
-    switch (prop_id)
-    {
-    case PROP_SHEET:
-        if (grid->sheet)
-            gtk_container_remove(GTK_CONTAINER(grid->sheet), GTK_WIDGET(grid));
-        grid->sheet =
-            GNUCASH_SHEET (g_value_get_object (value));
-        if (grid->sheet)
-            gtk_layout_put (GTK_LAYOUT(grid->sheet), GTK_WIDGET(grid), 0, 0);
-        break;
-    default:
-        break;
-    }
-}
-
-
-/* Note that g_value_set_object() refs the object, as does
- * g_object_get(). But g_object_get() only unrefs once when it disgorges
- * the object, leaving an unbalanced ref, which leaks. So instead of
- * using g_value_set_object(), use g_value_take_object() which doesn't
- * ref the object when used in get_property().
- */
-static void
-gnucash_grid_get_property (GObject         *object,
-                           guint            prop_id,
-                           GValue          *value,
-                           GParamSpec      *pspec)
-{
-    GnucashGrid *grid = GNUCASH_GRID (object);
-
-    switch (prop_id)
-    {
-    case PROP_SHEET:
-        g_value_take_object (value, grid->sheet);
-        break;
-    default:
-        break;
-    }
-}
-
-
-static void
-gnucash_grid_class_init (GnucashGridClass *klass)
-{
-    GObjectClass  *object_class;
-    GtkWidgetClass *widget_class;
-
-    object_class = G_OBJECT_CLASS (klass);
-    widget_class = GTK_WIDGET_CLASS (klass);
-
-    gnucash_grid_parent_class = g_type_class_peek_parent (klass);
-
-    /* GObject method overrides */
-    object_class->set_property = gnucash_grid_set_property;
-    object_class->get_property = gnucash_grid_get_property;
-
-    /* GtkWidget method overrides */
-//    widget_class->configure_event = gnc_grid_configure_cb;
-    widget_class->realize      = gnucash_grid_realize;
-    widget_class->expose_event = gnucash_grid_draw;
-
-    /* properties */
-    g_object_class_install_property
-    (object_class,
-     PROP_SHEET,
-     g_param_spec_object ("sheet",
-                          "Sheet Value",
-                          "Sheet Value",
-                          GNUCASH_TYPE_SHEET,
-                          G_PARAM_READWRITE));
-}
-
-
-GType
-gnucash_grid_get_type (void)
-{
-    static GType gnucash_grid_type = 0;
-
-    if (!gnucash_grid_type)
-    {
-        static const GTypeInfo gnucash_grid_info =
-        {
-            sizeof (GnucashGridClass),
-            NULL,		/* base_init */
-            NULL,		/* base_finalize */
-            (GClassInitFunc) gnucash_grid_class_init,
-            NULL,		/* class_finalize */
-            NULL,		/* class_data */
-            sizeof (GnucashGrid),
-            0,		/* n_preallocs */
-            (GInstanceInitFunc) gnucash_grid_init
-        };
-
-        gnucash_grid_type =
-            g_type_register_static (GTK_TYPE_DRAWING_AREA,
-                                    "GnucashGrid",
-                                    &gnucash_grid_info, 0);
-    }
-
-    return gnucash_grid_type;
-}
-
-
diff --git a/src/register/register-gnome/gnucash-sheet.c b/src/register/register-gnome/gnucash-sheet.c
index 35c445d..4c495ea 100644
--- a/src/register/register-gnome/gnucash-sheet.c
+++ b/src/register/register-gnome/gnucash-sheet.c
@@ -39,7 +39,6 @@
 #include "dialog-utils.h"
 #include "gnc-prefs.h"
 #include "gnucash-color.h"
-#include "gnucash-grid.h"
 #include "gnucash-cursor.h"
 #include "gnucash-style.h"
 #include "gnucash-header.h"
@@ -1112,6 +1111,25 @@ gnucash_sheet_delete_cb (GtkWidget *widget,
     g_string_free (new_text_gs, TRUE);
 }
 
+static gboolean
+gnucash_sheet_draw (GtkWidget *widget, GdkEventExpose *event)
+{
+    GnucashSheet *sheet = GNUCASH_SHEET (widget);
+    int x = event->area.x;
+    int y = event->area.y;
+    int width = event->area.width;
+    int height = event->area.height;
+    GdkWindow *binwin = gtk_layout_get_bin_window(GTK_LAYOUT(sheet));
+    cairo_t *cr;
+    gboolean result;
+
+    cr = gdk_cairo_create (binwin);
+    result = gnucash_sheet_draw_internal (sheet, cr, x, y, width, height);
+    cairo_destroy(cr);
+
+    return result;
+}
+
 
 static void
 gnucash_sheet_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
@@ -1435,7 +1453,7 @@ gnucash_button_press_event (GtkWidget *widget, GdkEventButton *event)
 
     gnucash_cursor_get_virt (GNUCASH_CURSOR(sheet->cursor), &cur_virt_loc);
 
-    if (!gnucash_grid_find_loc_by_pixel(GNUCASH_GRID(sheet->grid),
+    if (!gnucash_sheet_find_loc_by_pixel(sheet,
                                         event->x, event->y, &new_virt_loc))
         return TRUE;
 
@@ -2448,9 +2466,6 @@ gnucash_sheet_set_scroll_region (GnucashSheet *sheet)
 
     if (new_w != old_w || new_h != old_h)
         gtk_layout_set_size (GTK_LAYOUT(sheet), new_w, new_h);
-
-    if (sheet->grid)
-        gnc_grid_configure (sheet->grid);
 }
 
 static void
@@ -2768,6 +2783,8 @@ gnucash_sheet_class_init (GnucashSheetClass *klass)
     widget_class->motion_notify_event = gnucash_motion_event;
     widget_class->scroll_event = gnucash_scroll_event;
 
+    widget_class->expose_event = gnucash_sheet_draw;
+
 }
 
 
@@ -2866,12 +2883,6 @@ gnucash_sheet_new (Table *table)
 
     sheet = gnucash_sheet_create (table);
 
-    /* The grid */
-    sheet->grid = g_object_new (GNUCASH_TYPE_GRID,
-                                  "sheet", sheet,
-                                  NULL);
-    gtk_widget_show (sheet->grid);
-
     /* The cursor */
     sheet->cursor = gnucash_cursor_new (sheet);
 
diff --git a/src/register/register-gnome/gnucash-sheetP.h b/src/register/register-gnome/gnucash-sheetP.h
index 3d4906f..245348b 100644
--- a/src/register/register-gnome/gnucash-sheetP.h
+++ b/src/register/register-gnome/gnucash-sheetP.h
@@ -51,7 +51,6 @@ struct _GnucashSheet
 
     GtkWidget *header_item;
     GtkWidget *cursor;
-    GtkWidget *grid;
 
     GHashTable *cursor_styles;
 
@@ -156,5 +155,11 @@ GncItemEdit *gnucash_sheet_get_item_edit (GnucashSheet *sheet);
 //gint         gnucash_sheet_get_num_virt_rows (GnucashSheet *sheet);
 //gint         gnucash_sheet_get_num_virt_cols (GnucashSheet *sheet);
 
+gboolean   gnucash_sheet_find_loc_by_pixel (GnucashSheet *sheet, gint x, gint y,
+                                           VirtualLocation *vcell_loc);
+gboolean gnucash_sheet_draw_internal (GnucashSheet *sheet, cairo_t *cr,
+                            int x, int y, int width, int height);
+
+
 /** @} */
 #endif
diff --git a/src/register/register-gnome/gnucash-style.c b/src/register/register-gnome/gnucash-style.c
index d20782e..2566806 100644
--- a/src/register/register-gnome/gnucash-style.c
+++ b/src/register/register-gnome/gnucash-style.c
@@ -24,7 +24,6 @@
 
 #include "config.h"
 #include "gnucash-color.h"
-#include "gnucash-grid.h"
 #include "gnucash-item-edit.h"
 #include "gnucash-sheet.h"
 #include "gnucash-sheetP.h"
@@ -166,7 +165,6 @@ static void
 set_dimensions_pass_one (GnucashSheet *sheet, CellBlock *cursor,
                          BlockDimensions *dimensions)
 {
-    /* GdkFont *font = GNUCASH_GRID(sheet->grid)->normal_font; */
     CellDimensions *cd;
     int row, col;
     gint max_height = -1;
@@ -291,8 +289,6 @@ set_dimensions_pass_two (GnucashSheet *sheet, int default_width)
         }
     else if (width > default_width && width == sheet->window_width)
     {
-        /*GdkFont *font = GNUCASH_GRID(sheet->grid)->normal_font;*/
-
         for (col = 0; col < num_cols; col++)
         {
             BasicCell *cell;

commit 3025e30e4a375ac1f1de6d347d4215817fbf3f25
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Sat Mar 11 15:53:47 2017 +0100

    Refactor divider line drawing some more to reduce duplicate code

diff --git a/src/register/register-gnome/gnucash-grid.c b/src/register/register-gnome/gnucash-grid.c
index 2a730b2..d948835 100644
--- a/src/register/register-gnome/gnucash-grid.c
+++ b/src/register/register-gnome/gnucash-grid.c
@@ -355,17 +355,34 @@ gnucash_draw_hatching (cairo_t *cr,
 }
 
 static void
-gnucash_draw_divider_line (cairo_t *cr,
-                           double x, double y, double width, cairo_rgb *fg_color)
+grid_draw_divider_line (cairo_t *cr, VirtualLocation virt_loc,
+                        int div_row, int n_phys_rows, cairo_rgb *fg_color,
+                        double x, double y, double width, double height)
 {
+    double offset;
+    if (div_row < 0)
+        return;
+
+    /* Test if divider line should be drawn before the current row */
+    if ((virt_loc.phys_row_offset == 0) &&
+        (virt_loc.vcell_loc.virt_row == div_row))
+        offset = 0.0;
+    /* Test if divider line should be drawn after the current row */
+    else if ((virt_loc.phys_row_offset == n_phys_rows - 1) &&
+        (virt_loc.vcell_loc.virt_row == div_row - 1))
+        offset = height;
+    else
+        return;
+
     cairo_set_source_rgb (cr, fg_color->red, fg_color->green, fg_color->blue);
 
     cairo_set_line_width (cr, 3.0);
-    cairo_move_to (cr, x, y);
-    cairo_line_to (cr, x + width, y);
+    cairo_move_to (cr, x, y + 0.5 + offset);
+    cairo_rel_line_to (cr, width, 0);
     cairo_stroke (cr);
 }
 
+
 #ifdef READONLY_LINES_WITH_CHANGED_FG_COLOR
 /** For a given byte value, multiply the difference to 0xFF by a rational number,
 specified by numerator and denominator. This is some simple integer arithmetics
@@ -506,53 +523,20 @@ draw_cell (GnucashGrid *grid,
 
     /* dividing line upper (red) */
     to_cairo_rgb (&gn_red, &fg_color);
-    if ((virt_loc.phys_row_offset == 0) &&
-            (table->model->dividing_row_upper >= 0) &&
-            (virt_loc.vcell_loc.virt_row == table->model->dividing_row_upper))
-    {
-        gnucash_draw_divider_line(cr, x, y + 0.5, x + width, &fg_color);
-    }
-
-    if ((virt_loc.phys_row_offset == (block->style->nrows - 1)) &&
-            (table->model->dividing_row_upper >= 0) &&
-            (virt_loc.vcell_loc.virt_row ==
-                (table->model->dividing_row_upper - 1)))
-    {
-        gnucash_draw_divider_line(cr, x, y + height + 0.5, x + width, &fg_color);
-    }
+    grid_draw_divider_line(cr, virt_loc,
+                           table->model->dividing_row_upper, block->style->nrows,
+                           &fg_color, x, y, width, height);
 
     /* dividing line (blue) */
     to_cairo_rgb (&gn_blue, &fg_color);
-    if ((virt_loc.phys_row_offset == 0) &&
-            (table->model->dividing_row >= 0) &&
-            (virt_loc.vcell_loc.virt_row == table->model->dividing_row))
-    {
-        gnucash_draw_divider_line(cr, x, y + 0.5, x + width, &fg_color);
-    }
-
-    if ((virt_loc.phys_row_offset == (block->style->nrows - 1)) &&
-            (table->model->dividing_row >= 0) &&
-            (virt_loc.vcell_loc.virt_row ==
-                (table->model->dividing_row - 1)))
-    {
-        gnucash_draw_divider_line(cr, x, y + height + 0.5, x + width, &fg_color);
-    }
+    grid_draw_divider_line(cr, virt_loc,
+                           table->model->dividing_row, block->style->nrows,
+                           &fg_color, x, y, width, height);
 
     /* dividing line lower (blue) */
-    if ((virt_loc.phys_row_offset == 0) &&
-            (table->model->dividing_row_lower >= 0) &&
-            (virt_loc.vcell_loc.virt_row == table->model->dividing_row_lower))
-    {
-        gnucash_draw_divider_line(cr, x, y + 0.5, x + width, &fg_color);
-    }
-
-    if ((virt_loc.phys_row_offset == (block->style->nrows - 1)) &&
-            (table->model->dividing_row_lower >= 0) &&
-            (virt_loc.vcell_loc.virt_row ==
-                (table->model->dividing_row_lower - 1)))
-    {
-        gnucash_draw_divider_line(cr, x, y + height + 0.5, x + width, &fg_color);
-    }
+    grid_draw_divider_line(cr, virt_loc,
+                           table->model->dividing_row_lower, block->style->nrows,
+                           &fg_color, x, y, width, height);
 
     text = gnc_table_get_entry (table, virt_loc);
 

commit 93a03d19ee878f6e1de4a65ed8d99c6fe56ea5df
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Sat Mar 11 14:51:12 2017 +0100

    Use cairo to redraw the grid widget

diff --git a/src/register/register-gnome/gnucash-grid.c b/src/register/register-gnome/gnucash-grid.c
index f756c1b..2a730b2 100644
--- a/src/register/register-gnome/gnucash-grid.c
+++ b/src/register/register-gnome/gnucash-grid.c
@@ -43,22 +43,6 @@ struct _GnucashGrid
     GtkDrawingArea area;
 
     GnucashSheet *sheet;
-
-    /* The first and last displayed block */
-    int        top_block;
-    int        bottom_block;
-
-    /* Offset from spreadsheet origin in units */
-    long       top_offset;
-    long       left_offset;
-
-    GdkGC      *grid_gc;    /* Draw grid gc */
-    GdkGC      *fill_gc;    /* Default background fill gc */
-    GdkGC      *gc;     /* Color used for the cell */
-
-    GdkColor   background;
-    GdkColor   grid_color;
-    GdkColor   default_color;
 };
 
 
@@ -111,65 +95,12 @@ gnc_grid_configure (GtkWidget *widget)
 static void
 gnucash_grid_realize (GtkWidget *widget)
 {
-    GdkWindow *window;
-    GnucashGrid *gnucash_grid;
-    GdkGC *gc;
 
     if (GTK_WIDGET_CLASS (gnucash_grid_parent_class)->realize)
         (GTK_WIDGET_CLASS
          (gnucash_grid_parent_class)->realize)(widget);
 
-    gnucash_grid = GNUCASH_GRID (widget);
-    window = gtk_widget_get_window (widget);
-
-    /* Configure the default grid gc */
-    gnucash_grid->grid_gc = gc = gdk_gc_new (window);
-    gnucash_grid->fill_gc = gdk_gc_new (window);
-    gnucash_grid->gc = gdk_gc_new (window);
-
-    /* Allocate the default colors */
-    gnucash_grid->background = gn_white;
-    gnucash_grid->grid_color = gn_black;
-    gnucash_grid->default_color = gn_black;
-
-    gdk_gc_set_foreground (gc, &gnucash_grid->grid_color);
-    gdk_gc_set_background (gc, &gnucash_grid->background);
-
-    gdk_gc_set_foreground (gnucash_grid->fill_gc,
-                           &gnucash_grid->background);
-    gdk_gc_set_background (gnucash_grid->fill_gc,
-                           &gnucash_grid->grid_color);
-
-    gnc_grid_configure_cb (widget, NULL);
-}
-
-
-static void
-gnucash_grid_unrealize (GtkWidget *widget)
-{
-    GnucashGrid *gnucash_grid = GNUCASH_GRID (widget);
-
-    if (gnucash_grid->grid_gc != NULL)
-    {
-        g_object_unref(gnucash_grid->grid_gc);
-        gnucash_grid->grid_gc = NULL;
-    }
-
-    if (gnucash_grid->fill_gc != NULL)
-    {
-        g_object_unref(gnucash_grid->fill_gc);
-        gnucash_grid->fill_gc = NULL;
-    }
-
-    if (gnucash_grid->gc != NULL)
-    {
-        g_object_unref(gnucash_grid->gc);
-        gnucash_grid->gc = NULL;
-    }
-
-    if (GTK_WIDGET_CLASS (gnucash_grid_parent_class)->unrealize)
-        (GTK_WIDGET_CLASS
-         (gnucash_grid_parent_class)->unrealize)(widget);
+    gnc_grid_configure (widget);
 }
 
 /*
@@ -315,44 +246,45 @@ gnucash_grid_find_loc_by_pixel (GnucashGrid *grid, gint x, gint y,
 }
 
 G_INLINE_FUNC void
-draw_cell_line (GdkDrawable *drawable,
-                GdkGC *gc, GdkColor *bg_color,
-                int x1, int y1, int x2, int y2,
+draw_cell_line (cairo_t *cr, cairo_rgb *bg_color,
+                double x1, double y1, double x2, double y2,
                 PhysicalCellBorderLineStyle style);
 
 void
-draw_cell_line (GdkDrawable *drawable,
-                GdkGC *gc, GdkColor *bg_color,
-                int x1, int y1, int x2, int y2,
+draw_cell_line (cairo_t *cr, cairo_rgb *bg_color,
+                double x1, double y1, double x2, double y2,
                 PhysicalCellBorderLineStyle style)
 {
-    GdkColor *fg_color;
+    cairo_rgb fg_color;
 
     switch (style)
     {
     case CELL_BORDER_LINE_NONE:
-        fg_color = bg_color;
+        fg_color = *bg_color;
         break;
 
     case CELL_BORDER_LINE_LIGHT:
-        fg_color = &gn_light_gray;
+        to_cairo_rgb (&gn_light_gray, &fg_color);
         break;
 
     case CELL_BORDER_LINE_NORMAL:
     case CELL_BORDER_LINE_HEAVY:
-        fg_color = &gn_black;
+        to_cairo_rgb (&gn_black, &fg_color);
         break;
 
     case CELL_BORDER_LINE_HIGHLIGHT:
-        fg_color = &gn_red;
+        to_cairo_rgb (&gn_red, &fg_color);
         break;
 
     default:
         return;
     }
 
-    gdk_gc_set_foreground (gc, fg_color);
-    gdk_draw_line (drawable, gc, x1, y1, x2, y2);
+    cairo_set_line_width (cr, 1.0);
+    cairo_set_source_rgb (cr, fg_color.red, fg_color.green, fg_color.blue);
+    cairo_move_to (cr, x1, y1);
+    cairo_line_to (cr, x2, y2);
+    cairo_stroke (cr);
 }
 
 static void
@@ -400,19 +332,38 @@ get_cell_borders (GnucashSheet *sheet, VirtualLocation virt_loc,
 }
 
 void
-gnucash_draw_hatching (GdkDrawable *drawable, GdkGC *gc,
-                       int x, int y, int width, int height)
+gnucash_draw_hatching (cairo_t *cr,
+                       double x, double y, G_GNUC_UNUSED double width, double height)
 {
-    gdk_gc_set_foreground (gc, &gn_light_gray);
+    cairo_rgb fg_color;
+    double h_x = x + 2.5;
+    double h_y = y + 2.5;
+    double h_size = height / 3 - 1;
+
+    cairo_set_line_width (cr, 1.0);
+    to_cairo_rgb(&gn_light_gray, &fg_color);
+    cairo_set_source_rgb (cr, fg_color.red, fg_color.green, fg_color.blue);
 
-    gdk_draw_rectangle (drawable, gc, FALSE,
-                        x + 2, y + 2, height / 3, height / 3);
+    cairo_rectangle (cr, h_x, h_y, h_size, h_size);
+
+    cairo_move_to (cr, h_x, h_y);
+    cairo_rel_line_to (cr, h_size, h_size);
+
+    cairo_rel_move_to (cr, -h_x, 0);
+    cairo_rel_line_to (cr, h_size, -h_size);
+    cairo_stroke (cr);
+}
 
-    gdk_draw_line (drawable, gc,
-                   x + 2, y + 2 + height / 3, x + 2 + height / 3, y + 2);
+static void
+gnucash_draw_divider_line (cairo_t *cr,
+                           double x, double y, double width, cairo_rgb *fg_color)
+{
+    cairo_set_source_rgb (cr, fg_color->red, fg_color->green, fg_color->blue);
 
-    gdk_draw_line (drawable, gc,
-                   x + 2, y + 2, x + 2 + height / 3, y + 2 + height / 3);
+    cairo_set_line_width (cr, 3.0);
+    cairo_move_to (cr, x, y);
+    cairo_line_to (cr, x + width, y);
+    cairo_stroke (cr);
 }
 
 #ifdef READONLY_LINES_WITH_CHANGED_FG_COLOR
@@ -470,7 +421,7 @@ static void
 draw_cell (GnucashGrid *grid,
            SheetBlock *block,
            VirtualLocation virt_loc,
-           GdkDrawable *drawable,
+           cairo_t *cr,
            int x, int y, int width, int height)
 {
     Table *table = grid->sheet->table;
@@ -480,21 +431,18 @@ draw_cell (GnucashGrid *grid,
     PangoContext *context;
     PangoFontDescription *font;
     PangoRectangle logical_rect;
-    GdkColor *bg_color;
-    GdkColor *fg_color;
-    /*        gint x_offset, y_offset;*/
+    GdkColor *gdk_bg_color, *gdk_fg_color;
+    cairo_rgb bg_color, fg_color;
     GdkRectangle rect;
     gboolean hatching;
     guint32 argb, color_type;
     int x_offset;
 
-    gdk_gc_set_background (grid->gc, &gn_white);
-
     if (grid->sheet->use_theme_colors)
     {
         color_type = gnc_table_get_gtkrc_bg_color (table, virt_loc,
                      &hatching);
-        bg_color = get_gtkrc_color(grid->sheet, color_type);
+        gdk_bg_color = get_gtkrc_color(grid->sheet, color_type);
     }
     else
     {
@@ -506,140 +454,104 @@ draw_cell (GnucashGrid *grid,
         {
             argb = dec_intensity_10percent(argb);
         }
-        bg_color = gnucash_color_argb_to_gdk (argb);
+        gdk_bg_color = gnucash_color_argb_to_gdk (argb);
     }
+    to_cairo_rgb(gdk_bg_color, &bg_color);
 
-    gdk_gc_set_foreground (grid->gc, bg_color);
-    gdk_draw_rectangle (drawable, grid->gc, TRUE,
-                        x + 1, y + 1, width - 1, height - 1);
+    cairo_set_source_rgb (cr, bg_color.red, bg_color.green, bg_color.blue);
+    cairo_rectangle (cr, x, y, width, height);
+    cairo_fill (cr);
 
     get_cell_borders (grid->sheet, virt_loc, &borders);
 
     /* top */
-    draw_cell_line (drawable, grid->gc, bg_color,
-                    borders.top >= borders.left ? x : x + 1,
-                    y,
+    draw_cell_line (cr, &bg_color,
+                    (borders.top >= borders.left ? x : x + 1.0),
+                    y + 0.5,
                     (borders.top >= borders.right ?
                      x + width : x + width - 1),
-                    y,
+                    y + 0.5,
                     borders.top);
 
     /* bottom */
-    draw_cell_line (drawable, grid->gc, bg_color,
-                    borders.bottom >= borders.left ? x : x + 1,
-                    y + height,
+    draw_cell_line (cr, &bg_color,
+                    (borders.bottom >= borders.left ? x : x + 1),
+                    y + height + 0.5,
                     (borders.bottom >= borders.right ?
                      x + width : x + width - 1),
-                    y + height,
+                    y + height + 0.5,
                     borders.bottom);
 
     /* left */
-    draw_cell_line (drawable, grid->gc, bg_color,
-                    x,
-                    borders.left > borders.top ? y : y + 1,
-                    x,
+    draw_cell_line (cr, &bg_color,
+                    x + 0.5,
+                    (borders.left > borders.top ? y : y + 1),
+                    x + 0.5,
                     (borders.left > borders.bottom ?
                      y + height : y + height - 1),
                     borders.left);
 
     /* right */
-    draw_cell_line (drawable, grid->gc, bg_color,
-                    x + width,
-                    borders.right > borders.top ? y : y + 1,
-                    x + width,
+    draw_cell_line (cr, &bg_color,
+                    x + width + 0.5,
+                    (borders.right > borders.top ? y : y + 1),
+                    x + width + 0.5,
                     (borders.right > borders.bottom ?
                      y + height : y + height - 1),
                     borders.right);
 
     if (hatching)
-        gnucash_draw_hatching (drawable, grid->gc,
+        gnucash_draw_hatching (cr,
                                x, y, width, height);
 
     /* dividing line upper (red) */
+    to_cairo_rgb (&gn_red, &fg_color);
     if ((virt_loc.phys_row_offset == 0) &&
-            (table->model->dividing_row_upper >= 0))
+            (table->model->dividing_row_upper >= 0) &&
+            (virt_loc.vcell_loc.virt_row == table->model->dividing_row_upper))
     {
-        if (virt_loc.vcell_loc.virt_row == table->model->dividing_row_upper)
-        {
-            gdk_gc_set_foreground (grid->gc, &gn_red);
-            gdk_draw_line (drawable, grid->gc, x, y - 1, x + width, y - 1);
-            gdk_draw_line (drawable, grid->gc, x, y,   x + width, y);
-            gdk_draw_line (drawable, grid->gc, x, y + 1, x + width, y + 1);
-        }
+        gnucash_draw_divider_line(cr, x, y + 0.5, x + width, &fg_color);
     }
 
     if ((virt_loc.phys_row_offset == (block->style->nrows - 1)) &&
-            (table->model->dividing_row_upper >= 0))
+            (table->model->dividing_row_upper >= 0) &&
+            (virt_loc.vcell_loc.virt_row ==
+                (table->model->dividing_row_upper - 1)))
     {
-        if (virt_loc.vcell_loc.virt_row ==
-                (table->model->dividing_row_upper - 1))
-        {
-            gdk_gc_set_foreground (grid->gc, &gn_red);
-            gdk_draw_line (drawable, grid->gc, x, y + height - 1,
-                           x + width, y + height - 1);
-            gdk_draw_line (drawable, grid->gc, x, y + height,
-                           x + width, y + height);
-            gdk_draw_line (drawable, grid->gc, x, y + height + 1,
-                           x + width, y + height + 1);
-        }
+        gnucash_draw_divider_line(cr, x, y + height + 0.5, x + width, &fg_color);
     }
 
     /* dividing line (blue) */
+    to_cairo_rgb (&gn_blue, &fg_color);
     if ((virt_loc.phys_row_offset == 0) &&
-            (table->model->dividing_row >= 0))
+            (table->model->dividing_row >= 0) &&
+            (virt_loc.vcell_loc.virt_row == table->model->dividing_row))
     {
-        if (virt_loc.vcell_loc.virt_row == table->model->dividing_row)
-        {
-            gdk_gc_set_foreground (grid->gc, &gn_blue);
-            gdk_draw_line (drawable, grid->gc, x, y - 1, x + width, y - 1);
-            gdk_draw_line (drawable, grid->gc, x, y,   x + width, y);
-            gdk_draw_line (drawable, grid->gc, x, y + 1, x + width, y + 1);
-        }
+        gnucash_draw_divider_line(cr, x, y + 0.5, x + width, &fg_color);
     }
 
     if ((virt_loc.phys_row_offset == (block->style->nrows - 1)) &&
-            (table->model->dividing_row >= 0))
+            (table->model->dividing_row >= 0) &&
+            (virt_loc.vcell_loc.virt_row ==
+                (table->model->dividing_row - 1)))
     {
-        if (virt_loc.vcell_loc.virt_row ==
-                (table->model->dividing_row - 1))
-        {
-            gdk_gc_set_foreground (grid->gc, &gn_blue);
-            gdk_draw_line (drawable, grid->gc, x, y + height - 1,
-                           x + width, y + height - 1);
-            gdk_draw_line (drawable, grid->gc, x, y + height,
-                           x + width, y + height);
-            gdk_draw_line (drawable, grid->gc, x, y + height + 1,
-                           x + width, y + height + 1);
-        }
+        gnucash_draw_divider_line(cr, x, y + height + 0.5, x + width, &fg_color);
     }
 
     /* dividing line lower (blue) */
     if ((virt_loc.phys_row_offset == 0) &&
-            (table->model->dividing_row_lower >= 0))
+            (table->model->dividing_row_lower >= 0) &&
+            (virt_loc.vcell_loc.virt_row == table->model->dividing_row_lower))
     {
-        if (virt_loc.vcell_loc.virt_row == table->model->dividing_row_lower)
-        {
-            gdk_gc_set_foreground (grid->gc, &gn_blue);
-            gdk_draw_line (drawable, grid->gc, x, y - 1, x + width, y - 1);
-            gdk_draw_line (drawable, grid->gc, x, y,   x + width, y);
-            gdk_draw_line (drawable, grid->gc, x, y + 1, x + width, y + 1);
-        }
+        gnucash_draw_divider_line(cr, x, y + 0.5, x + width, &fg_color);
     }
 
     if ((virt_loc.phys_row_offset == (block->style->nrows - 1)) &&
-            (table->model->dividing_row_lower >= 0))
+            (table->model->dividing_row_lower >= 0) &&
+            (virt_loc.vcell_loc.virt_row ==
+                (table->model->dividing_row_lower - 1)))
     {
-        if (virt_loc.vcell_loc.virt_row ==
-                (table->model->dividing_row_lower - 1))
-        {
-            gdk_gc_set_foreground (grid->gc, &gn_blue);
-            gdk_draw_line (drawable, grid->gc, x, y + height - 1,
-                           x + width, y + height - 1);
-            gdk_draw_line (drawable, grid->gc, x, y + height,
-                           x + width, y + height);
-            gdk_draw_line (drawable, grid->gc, x, y + height + 1,
-                           x + width, y + height + 1);
-        }
+        gnucash_draw_divider_line(cr, x, y + height + 0.5, x + width, &fg_color);
     }
 
     text = gnc_table_get_entry (table, virt_loc);
@@ -653,7 +565,7 @@ draw_cell (GnucashGrid *grid,
     if (grid->sheet->use_theme_colors)
     {
         color_type = gnc_table_get_gtkrc_fg_color (table, virt_loc);
-        fg_color = get_gtkrc_color(grid->sheet, color_type);
+        gdk_fg_color = get_gtkrc_color(grid->sheet, color_type);
     }
     else
     {
@@ -667,10 +579,10 @@ draw_cell (GnucashGrid *grid,
             argb = inc_intensity_10percent(argb);
         }
 #endif
-        fg_color = gnucash_color_argb_to_gdk (argb);
+        gdk_fg_color = gnucash_color_argb_to_gdk (argb);
     }
 
-    gdk_gc_set_foreground (grid->gc, fg_color);
+    to_cairo_rgb (gdk_fg_color, &fg_color);
 
     /* If this is the currently open transaction and
        there is no text in this cell */
@@ -681,21 +593,18 @@ draw_cell (GnucashGrid *grid,
         text = gnc_table_get_label (table, virt_loc);
         if ((text == NULL) || (*text == '\0'))
             goto exit;
-        gdk_gc_set_foreground (grid->gc, &gn_light_gray);
+        to_cairo_rgb (&gn_light_gray, &fg_color);
         pango_layout_set_text (layout, text, strlen (text));
         pango_font_description_set_style (font, PANGO_STYLE_ITALIC);
         pango_context_set_font_description (context, font);
     }
+    cairo_set_source_rgb (cr, fg_color.red, fg_color.green, fg_color.blue);
 
     if ((text == NULL) || (*text == '\0'))
     {
         goto exit;
     }
 
-    /*y_offset = ((height / 2) +
-                (((font->ascent + font->descent) / 2) - font->descent));
-    y_offset++;*/
-
     pango_layout_get_pixel_extents(layout,
                                    NULL,
                                    &logical_rect);
@@ -705,8 +614,9 @@ draw_cell (GnucashGrid *grid,
     rect.width  = MAX (0, width - (2 * CELL_HPADDING));
     rect.height = height - 2;
 
-    gdk_gc_set_clip_rectangle (grid->gc, &rect);
-
+    cairo_save (cr);
+    cairo_rectangle (cr, rect.x, rect.y, rect.width, rect.height);
+    cairo_clip (cr);
 
     switch (gnc_table_get_align (table, virt_loc))
     {
@@ -730,13 +640,10 @@ draw_cell (GnucashGrid *grid,
 
 
 
-    gdk_draw_layout (drawable,
-                     grid->gc,
-                     x + CELL_HPADDING + x_offset,
-                     y + CELL_VPADDING + 1,
-                     layout);
+    cairo_move_to (cr, rect.x + x_offset, rect.y + 1);
+    pango_cairo_show_layout (cr, layout);
 
-    gdk_gc_set_clip_rectangle (grid->gc, NULL);
+    cairo_restore (cr);
 
 exit:
     pango_font_description_set_style (font, PANGO_STYLE_NORMAL);
@@ -749,7 +656,7 @@ static void
 draw_block (GnucashGrid *grid,
             SheetBlock *block,
             VirtualLocation virt_loc,
-            GdkDrawable *drawable,
+            cairo_t *cr,
             int x, int y, int width, int height)
 {
     CellDimensions *cd;
@@ -790,7 +697,7 @@ draw_block (GnucashGrid *grid,
             if (y_paint + h < y)
                 continue;
 
-            draw_cell (grid, block, virt_loc, drawable,
+            draw_cell (grid, block, virt_loc, cr,
                        x_paint, y_paint, w, h);
         }
     }
@@ -806,7 +713,8 @@ gnucash_grid_draw (GtkWidget *widget, GdkEventExpose *event)
     int y = event->area.y;
     int width = event->area.width;
     int height = event->area.height;
-    GdkDrawable *drawable = GDK_DRAWABLE (gtk_widget_get_window (widget));
+    GdkWindow *binwin = gtk_widget_get_window(widget);
+    cairo_t *cr = gdk_cairo_create (binwin);
 
     if (x < 0 || y < 0)
         return FALSE;
@@ -837,10 +745,14 @@ gnucash_grid_draw (GtkWidget *widget, GdkEventExpose *event)
         if (y + height < sheet_block->origin_y)
             return TRUE;
 
-        draw_block (grid, sheet_block, virt_loc, drawable,
+        draw_block (grid, sheet_block, virt_loc, cr,
                     x, y, width, height);
     }
 
+//     cairo_set_source_surface (cr, surface, 0, 0);
+//     cairo_paint (cr);
+    cairo_destroy (cr);
+
     return TRUE;
 }
 
@@ -848,9 +760,7 @@ gnucash_grid_draw (GtkWidget *widget, GdkEventExpose *event)
 static void
 gnucash_grid_init (GnucashGrid *grid)
 {
-    grid->top_block  = 0;
-    grid->top_offset = 0;
-    grid->left_offset = 0;
+    grid->sheet = NULL;
 }
 
 
@@ -921,7 +831,6 @@ gnucash_grid_class_init (GnucashGridClass *klass)
     /* GtkWidget method overrides */
 //    widget_class->configure_event = gnc_grid_configure_cb;
     widget_class->realize      = gnucash_grid_realize;
-    widget_class->unrealize    = gnucash_grid_unrealize;
     widget_class->expose_event = gnucash_grid_draw;
 
     /* properties */
diff --git a/src/register/register-gnome/gnucash-grid.h b/src/register/register-gnome/gnucash-grid.h
index ff5c8df..f0ab88d 100644
--- a/src/register/register-gnome/gnucash-grid.h
+++ b/src/register/register-gnome/gnucash-grid.h
@@ -48,8 +48,8 @@ GtkWidget *gnucash_grid_new 	 (GnucashSheet *sheet);
 gboolean   gnucash_grid_find_loc_by_pixel (GnucashGrid *grid, gint x, gint y,
         VirtualLocation *vcell_loc);
 
-void       gnucash_draw_hatching (GdkDrawable *drawable, GdkGC *gc,
-                                  int x, int y, int width, int height);
+void       gnucash_draw_hatching (cairo_t *cr,
+                                  double x, double y, double width, double height);
 void       gnc_grid_configure (GtkWidget *widget);
 /** @} */
 #endif /* GNUCASH_GRID_H */

commit 4888d34554239f927ec32b48607d3dd503d06974
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Wed Mar 1 11:36:37 2017 +0100

    Replace all other uses of GnomeCanvas with standard gtk widgets
    
    Most are converted to GtkLayout/GtkiDrawingArea widgets as these
    most closely approach the GnomeCanvas concept.
    
    This currently builds and runs but has the following issues still:
    - item edit isn't drawn properly (margin and offset issues)
    - cursor is not handled properly yet
    
    These will be handled in subsequent commits.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7343b9d..577beed 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -169,7 +169,6 @@ GNC_PKG_CHECK_MODULES (GMODULE REQUIRED gmodule-2.0>=2.20)
 GNC_PKG_CHECK_MODULES (GTHREAD REQUIRED gthread-2.0>=2.20)
 
 GNC_PKG_CHECK_MODULES (LIBXML2 REQUIRED libxml-2.0>=2.7.0)
-GNC_PKG_CHECK_MODULES (GNOMECANVAS REQUIRED libgnomecanvas-2.0)
 GNC_PKG_CHECK_MODULES (LIBXSLT REQUIRED libxslt)
 GNC_PKG_CHECK_MODULES (WEBKIT REQUIRED webkit-1.0>=1.2)
 IF (WITH_GNUCASH)
diff --git a/configure.ac b/configure.ac
index 433c039..65f560c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1344,10 +1344,6 @@ then
   AC_SUBST(GTK_CFLAGS)
   AC_SUBST(GTK_LIBS)
 
-  PKG_CHECK_MODULES(GNOMECANVAS, libgnomecanvas-2.0)
-  AC_SUBST(GNOMECANVAS_CFLAGS)
-  AC_SUBST(GNOMECANVAS_LIBS)
-
   PKG_CHECK_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0)
   AC_SUBST(GDK_PIXBUF_CFLAGS)
   AC_SUBST(GDK_PIXBUF_LIBS)
diff --git a/src/register/register-gnome/CMakeLists.txt b/src/register/register-gnome/CMakeLists.txt
index 1ce703c..2fd73dc 100644
--- a/src/register/register-gnome/CMakeLists.txt
+++ b/src/register/register-gnome/CMakeLists.txt
@@ -43,13 +43,13 @@ SET_SOURCE_FILES_PROPERTIES (${register_gnome_SOURCES} PROPERTIES OBJECT_DEPENDS
 
 ADD_LIBRARY (gncmod-register-gnome ${register_gnome_SOURCES} ${register_gnome_noinst_HEADERS})
 
-TARGET_LINK_LIBRARIES(gncmod-register-gnome gncmod-register-core gnc-qof ${GNOMECANVAS_LDFLAGS} ${GTK2_LDFLAGS})
+TARGET_LINK_LIBRARIES(gncmod-register-gnome gncmod-register-core gnc-qof ${GTK2_LDFLAGS})
 
 TARGET_COMPILE_DEFINITIONS(gncmod-register-gnome PRIVATE -DG_LOG_DOMAIN=\"gnc.register.gnome\")
 
 TARGET_INCLUDE_DIRECTORIES(gncmod-register-gnome
     PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
-    PRIVATE ${CMAKE_SOURCE_DIR}/src/register/ledger-core ${GNOMECANVAS_INCLUDE_DIRS}
+    PRIVATE ${CMAKE_SOURCE_DIR}/src/register/ledger-core ${GTK2_INCLUDE_DIRS}
 )
 
 INSTALL(TARGETS gncmod-register-gnome
diff --git a/src/register/register-gnome/Makefile.am b/src/register/register-gnome/Makefile.am
index be74c1d..2c0564d 100644
--- a/src/register/register-gnome/Makefile.am
+++ b/src/register/register-gnome/Makefile.am
@@ -13,7 +13,7 @@ libgncmod_register_gnome_la_LIBADD = \
   ${top_builddir}/src/gnome-utils/libgncmod-gnome-utils.la \
   ${top_builddir}/src/libqof/qof/libgnc-qof.la \
   ${GLIB_LIBS} \
-  ${GNOMECANVAS_LIBS}
+  ${GTK_LIBS}
 
 libgncmod_register_gnome_la_SOURCES = \
   gncmod-register-gnome.c \
@@ -62,7 +62,7 @@ AM_CPPFLAGS = \
   -I${top_srcdir}/src/register/register-core \
   -I${top_srcdir}/src/libqof/qof \
   ${GLIB_CFLAGS} \
-  ${GTK_XIM_FLAGS} \
-  ${GNOMECANVAS_CFLAGS}
+  ${GTK_CFLAGS} \
+  ${GTK_XIM_FLAGS}
 
 AM_CPPFLAGS += -DG_LOG_DOMAIN=\"gnc.register.gnome\"
diff --git a/src/register/register-gnome/combocell-gnome.c b/src/register/register-gnome/combocell-gnome.c
index 6899ebf..797cf21 100644
--- a/src/register/register-gnome/combocell-gnome.c
+++ b/src/register/register-gnome/combocell-gnome.c
@@ -756,6 +756,8 @@ gnc_combo_cell_gui_realize (BasicCell *bcell, gpointer data)
         box->item_list = gnc_item_edit_new_list(box->item_edit, cell->shared_store);
     else
         box->item_list = gnc_item_edit_new_list(box->item_edit, box->tmp_store);
+    gtk_layout_put (GTK_LAYOUT(sheet),
+                    GTK_WIDGET(box->item_list), 0, 0);
     g_object_ref_sink(box->item_list);
 
     /* to mark cell as realized, remove the realize method */
@@ -782,7 +784,7 @@ gnc_combo_cell_gui_move (BasicCell *bcell)
 }
 
 static int
-get_popup_height (GnomeCanvasItem *item,
+get_popup_height (G_GNUC_UNUSED GtkWidget *widget,
                   int space_available,
                   int row_height,
                   gpointer user_data)
@@ -795,7 +797,7 @@ get_popup_height (GnomeCanvasItem *item,
 }
 
 static int
-popup_autosize (GnomeCanvasItem *item,
+popup_autosize (GtkWidget *widget,
                 int max_width,
                 gpointer user_data)
 {
@@ -804,37 +806,37 @@ popup_autosize (GnomeCanvasItem *item,
     if (!box || !box->autosize)
         return max_width;
 
-    return gnc_item_list_autosize (GNC_ITEM_LIST (item)) + 20;
+    return gnc_item_list_autosize (GNC_ITEM_LIST (widget)) + 20;
 }
 
 static void
-popup_set_focus (GnomeCanvasItem *item,
-                 gpointer user_data)
+popup_set_focus (GtkWidget *widget,
+                 G_GNUC_UNUSED gpointer user_data)
 {
-    gtk_widget_grab_focus (GTK_WIDGET (GNC_ITEM_LIST (item)->tree_view));
+    gtk_widget_grab_focus (GTK_WIDGET (GNC_ITEM_LIST (widget)->tree_view));
 }
 
 static void
-popup_post_show (GnomeCanvasItem *item,
-                 gpointer user_data)
+popup_post_show (GtkWidget *widget,
+                 G_GNUC_UNUSED gpointer user_data)
 {
     /* What the hell is this doing here? Well, under gtk+ 1.2.9,
      * the scrollbars never appear without it. Why does it work?
      * Why are you asking so many questions? There's nothing to
      * see here. These aren't the droids you're looking for.
      * Move along. */
-    gtk_widget_size_request (GNC_ITEM_LIST (item)->frame, NULL);
+    gtk_widget_size_request (widget, NULL);
 
-    gnc_item_list_autosize (GNC_ITEM_LIST (item));
-    gnc_item_list_show_selected (GNC_ITEM_LIST (item));
+    gnc_item_list_autosize (GNC_ITEM_LIST (widget));
+    gnc_item_list_show_selected (GNC_ITEM_LIST (widget));
 }
 
 static int
-popup_get_width (GnomeCanvasItem *item,
-                 gpointer user_data)
+popup_get_width (GtkWidget *widget,
+                 G_GNUC_UNUSED gpointer user_data)
 {
     GtkAllocation alloc;
-    gtk_widget_get_allocation (GTK_WIDGET (GNC_ITEM_LIST (item)->tree_view), &alloc);
+    gtk_widget_get_allocation (GTK_WIDGET (GNC_ITEM_LIST (widget)->tree_view), &alloc);
     return alloc.width;
 }
 
@@ -856,7 +858,7 @@ gnc_combo_cell_enter (BasicCell *bcell,
         return FALSE;
 
     gnc_item_edit_set_popup (box->item_edit,
-                             GNOME_CANVAS_ITEM (box->item_list),
+                             GTK_WIDGET(box->item_list),
                              get_popup_height, popup_autosize,
                              popup_set_focus, popup_post_show,
                              popup_get_width, box);
diff --git a/src/register/register-gnome/datecell-gnome.c b/src/register/register-gnome/datecell-gnome.c
index fbb4973..2fc7036 100644
--- a/src/register/register-gnome/datecell-gnome.c
+++ b/src/register/register-gnome/datecell-gnome.c
@@ -608,6 +608,8 @@ gnc_date_cell_realize (BasicCell *bcell, gpointer data)
     box->sheet = sheet;
     box->item_edit = item_edit;
     box->date_picker = gnc_item_edit_new_date_picker (box->item_edit);
+    gtk_layout_put (GTK_LAYOUT(sheet),
+                    GTK_WIDGET(box->date_picker), 0, 0);
     g_object_ref_sink(box->date_picker);
 
     /* to mark cell as realized, remove the realize method */
@@ -631,12 +633,12 @@ gnc_date_cell_move (BasicCell *bcell)
 }
 
 static int
-get_popup_height (GnomeCanvasItem *item,
-                  int space_available,
-                  int row_height,
-                  gpointer user_data)
+get_popup_height (GtkWidget *widget,
+                  G_GNUC_UNUSED int space_available,
+                  G_GNUC_UNUSED int row_height,
+                  G_GNUC_UNUSED gpointer user_data)
 {
-    GtkWidget *cal = GTK_WIDGET (GNC_DATE_PICKER (item)->calendar);
+    GtkWidget *cal = GTK_WIDGET (GNC_DATE_PICKER (widget)->calendar);
     GtkRequisition req;
 
     req.height = 0;
@@ -648,22 +650,22 @@ get_popup_height (GnomeCanvasItem *item,
 }
 
 static void
-popup_set_focus (GnomeCanvasItem *item,
-                 gpointer user_data)
+popup_set_focus (GtkWidget *widget,
+                 G_GNUC_UNUSED gpointer user_data)
 {
-    gtk_widget_grab_focus (GTK_WIDGET (GNC_DATE_PICKER (item)->calendar));
+    gtk_widget_grab_focus (GTK_WIDGET (GNC_DATE_PICKER (widget)->calendar));
 }
 
 static gboolean
 gnc_date_cell_enter (BasicCell *bcell,
-                     int *cursor_position,
+                     G_GNUC_UNUSED int *cursor_position,
                      int *start_selection,
                      int *end_selection)
 {
     DateCell *cell = (DateCell *) bcell;
     PopBox *box = bcell->gui_private;
 
-    gnc_item_edit_set_popup (box->item_edit, GNOME_CANVAS_ITEM (box->date_picker),
+    gnc_item_edit_set_popup (box->item_edit, GTK_WIDGET (box->date_picker),
                              get_popup_height, NULL, popup_set_focus,
                              NULL, NULL, NULL);
 
diff --git a/src/register/register-gnome/gnucash-cursor.c b/src/register/register-gnome/gnucash-cursor.c
index 28de50c..a69cd21 100644
--- a/src/register/register-gnome/gnucash-cursor.c
+++ b/src/register/register-gnome/gnucash-cursor.c
@@ -29,7 +29,6 @@
  */
 
 #include "config.h"
-#include <libgnomecanvas/libgnomecanvas.h>
 
 #include "gnucash-color.h"
 #include "gnucash-cursor.h"
@@ -38,14 +37,13 @@
 #include "gnucash-sheetP.h"
 #include "gnucash-style.h"
 
-static GnomeCanvasItem *gnucash_cursor_parent_class;
-static GnomeCanvasItem *gnucash_item_cursor_parent_class;
+static GtkDrawingArea *gnucash_cursor_parent_class;
+static GtkDrawingArea *gnucash_item_cursor_parent_class;
 
 enum
 {
     PROP_0,
     PROP_SHEET,
-    PROP_GRID,
 };
 
 
@@ -62,8 +60,7 @@ gnucash_cursor_get_pixel_coords (GnucashCursor *cursor,
     SheetBlock *block;
     gint col;
 
-    item_cursor =
-        GNUCASH_ITEM_CURSOR(cursor->cursor[GNUCASH_CURSOR_BLOCK]);
+    item_cursor = cursor->cursor[GNUCASH_CURSOR_BLOCK];
 
     vcell_loc.virt_row = item_cursor->row;
     vcell_loc.virt_col = item_cursor->col;
@@ -115,15 +112,13 @@ gnucash_cursor_get_pixel_coords (GnucashCursor *cursor,
 static void
 gnucash_cursor_request_redraw (GnucashCursor *cursor)
 {
-    GnomeCanvas *canvas = GNOME_CANVAS_ITEM(cursor)->canvas;
-    int x, y, w, h;
-
-    x = cursor->x;
-    y = cursor->y;
-    w = cursor->w;
-    h = cursor->h;
-
-    gnome_canvas_request_redraw (canvas, x, y, x + w + 1, y + h + 1);
+    GnucashItemCursor *ic;
+    gtk_widget_queue_draw_area (GTK_WIDGET(cursor),
+                                cursor->x, cursor->y, cursor->w, cursor->h);
+    ic = cursor->cursor[GNUCASH_CURSOR_BLOCK];
+    gtk_widget_queue_draw_area (GTK_WIDGET(ic), ic->x, ic->y, ic->w, ic->h);
+    ic = cursor->cursor[GNUCASH_CURSOR_CELL];
+    gtk_widget_queue_draw_area (GTK_WIDGET(ic), ic->x, ic->y, ic->w, ic->h);
 }
 
 
@@ -143,94 +138,76 @@ gnucash_cursor_get_virt (GnucashCursor *cursor, VirtualLocation *virt_loc)
     g_return_if_fail (cursor != NULL);
     g_return_if_fail (GNUCASH_IS_CURSOR (cursor));
 
-    virt_loc->vcell_loc.virt_row =
-        GNUCASH_ITEM_CURSOR(cursor->cursor[GNUCASH_CURSOR_BLOCK])->row;
-    virt_loc->vcell_loc.virt_col =
-        GNUCASH_ITEM_CURSOR(cursor->cursor[GNUCASH_CURSOR_BLOCK])->col;
+    virt_loc->vcell_loc.virt_row = cursor->cursor[GNUCASH_CURSOR_BLOCK]->row;
+    virt_loc->vcell_loc.virt_col = cursor->cursor[GNUCASH_CURSOR_BLOCK]->col;
 
-    virt_loc->phys_row_offset =
-        GNUCASH_ITEM_CURSOR(cursor->cursor[GNUCASH_CURSOR_CELL])->row;
-    virt_loc->phys_col_offset =
-        GNUCASH_ITEM_CURSOR(cursor->cursor[GNUCASH_CURSOR_CELL])->col;
+    virt_loc->phys_row_offset = cursor->cursor[GNUCASH_CURSOR_CELL]->row;
+    virt_loc->phys_col_offset = cursor->cursor[GNUCASH_CURSOR_CELL]->col;
 }
 
 
 void
 gnucash_cursor_configure (GnucashCursor *cursor)
 {
-    GnomeCanvasItem *item;
     GnucashItemCursor *block_cursor;
     GnucashItemCursor *cell_cursor;
-    GnomeCanvas *canvas;
+    GtkLayout *layout;
     gint x, y, w, h;
-    double wx, wy;
 
     g_return_if_fail (cursor != NULL);
     g_return_if_fail (GNUCASH_IS_CURSOR (cursor));
 
-    canvas = GNOME_CANVAS(GNOME_CANVAS_ITEM(cursor)->canvas);
+    if (!cursor->sheet)
+        return;
 
-    item = GNOME_CANVAS_ITEM (cursor);
+    g_return_if_fail (GTK_IS_LAYOUT (cursor->sheet));
+    layout = GTK_LAYOUT(cursor->sheet);
 
     gnucash_cursor_get_pixel_coords (cursor, &x, &y, &w, &h);
-    gnome_canvas_item_set (GNOME_CANVAS_ITEM(cursor),
-                           "GnomeCanvasGroup::x", (double)x,
-                           "GnomeCanvasGroup::y", (double)y,
-                           NULL);
-
+    cursor->x = x;
+    cursor->y = y;
     cursor->w = w;
     cursor->h = h + 1;
 
-    item->x1 = cursor->x = x;
-    item->y1 = cursor->y = y;
-    item->x2 = x + w;
-    item->y2 = y + h + 1;
-
-    item = cursor->cursor[GNUCASH_CURSOR_BLOCK];
-    block_cursor = GNUCASH_ITEM_CURSOR (item);
-
-    wx = 0;
-    wy = 0;
-
-    gnome_canvas_item_i2w (item, &wx, &wy);
-    gnome_canvas_w2c (canvas, wx, wy, &block_cursor->x, &block_cursor->y);
-    block_cursor->w = w;
-    block_cursor->h = h + 1;
+    gtk_layout_move (layout, GTK_WIDGET(cursor), cursor->x, cursor->y);
+    gtk_widget_set_size_request(GTK_WIDGET(cursor), cursor->w, cursor->h);
 
-    item->x1 = block_cursor->x;
-    item->y1 = block_cursor->y;
-    item->x2 = block_cursor->x + w;
-    item->y2 = block_cursor->y + h + 1;
+    block_cursor = cursor->cursor[GNUCASH_CURSOR_BLOCK];
+    block_cursor->x = cursor->x;
+    block_cursor->y = cursor->y;
+    block_cursor->w = cursor->w;
+    block_cursor->h = cursor->h;
 
-    item = cursor->cursor[GNUCASH_CURSOR_CELL];
-    cell_cursor = GNUCASH_ITEM_CURSOR(item);
+    gtk_layout_move (layout, GTK_WIDGET(block_cursor),
+                     block_cursor->x, block_cursor->y);
+    gtk_widget_set_size_request(GTK_WIDGET(block_cursor),
+                                block_cursor->w, block_cursor->h);
 
+    cell_cursor = cursor->cursor[GNUCASH_CURSOR_CELL];
     gnucash_sheet_style_get_cell_pixel_rel_coords (cursor->style,
-            cell_cursor->row,
-            cell_cursor->col,
+            cell_cursor->row,  cell_cursor->col,
             &x, &y, &w, &h);
-    wx = x - block_cursor->x;
-    wy = y;
-
-    gnome_canvas_item_i2w (item, &wx, &wy);
-    gnome_canvas_w2c (canvas, wx, wy, &cell_cursor->x, &cell_cursor->y);
+    cell_cursor->x = x - block_cursor->x;
+    cell_cursor->y = y;
     cell_cursor->w = w;
     cell_cursor->h = h;
 
-    item->x1 = cell_cursor->x;
-    item->y1 = cell_cursor->y;
-    item->x2 = cell_cursor->x + w;
-    item->y2 = cell_cursor->y + h;
+    gtk_layout_move (layout, GTK_WIDGET(cell_cursor),
+                     cell_cursor->x, cell_cursor->y);
+    gtk_widget_set_size_request(GTK_WIDGET(cell_cursor),
+                                cell_cursor->w, cell_cursor->h);
 }
 
 
-static void
-gnucash_item_cursor_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
-                          int x, int y, int width, int height)
+static gboolean
+gnucash_item_cursor_draw (GtkWidget *widget, GdkEventExpose *event)
 {
-    GnucashItemCursor *item_cursor = GNUCASH_ITEM_CURSOR (item);
-    GnucashCursor *cursor = GNUCASH_CURSOR(item->parent);
+    GnucashItemCursor *item_cursor = GNUCASH_ITEM_CURSOR(widget);
+    GnucashCursor *cursor = GNUCASH_CURSOR(item_cursor->parent);
     gint dx, dy, dw, dh;
+    int x = event->area.x;
+    int y = event->area.y;
+    GdkDrawable *drawable = GDK_DRAWABLE (gtk_layout_get_bin_window (GTK_LAYOUT(widget)));
 
     switch (item_cursor->type)
     {
@@ -269,6 +246,7 @@ gnucash_item_cursor_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
                             dx, dy, dw, dh);
         break;
     }
+    return TRUE;
 }
 
 
@@ -282,8 +260,7 @@ gnucash_cursor_set_block (GnucashCursor *cursor, VirtualCellLocation vcell_loc)
     g_return_if_fail (GNUCASH_IS_CURSOR (cursor));
 
     sheet = cursor->sheet;
-    item_cursor =
-        GNUCASH_ITEM_CURSOR(cursor->cursor[GNUCASH_CURSOR_BLOCK]);
+    item_cursor = cursor->cursor[GNUCASH_CURSOR_BLOCK];
 
     if (vcell_loc.virt_row < 0 ||
             vcell_loc.virt_row >= sheet->num_virt_rows ||
@@ -307,7 +284,7 @@ gnucash_cursor_set_cell (GnucashCursor *cursor, gint cell_row, gint cell_col)
     g_return_if_fail (cursor != NULL);
     g_return_if_fail (GNUCASH_IS_CURSOR (cursor));
 
-    item_cursor = GNUCASH_ITEM_CURSOR(cursor->cursor[GNUCASH_CURSOR_CELL]);
+    item_cursor = cursor->cursor[GNUCASH_CURSOR_CELL];
     style = cursor->style;
 
     if (cell_row < 0 || cell_row >= style->nrows ||
@@ -350,38 +327,31 @@ gnucash_cursor_set (GnucashCursor *cursor, VirtualLocation virt_loc)
 static void
 gnucash_item_cursor_init (GnucashItemCursor *cursor)
 {
-    GnomeCanvasItem *item = GNOME_CANVAS_ITEM (cursor);
-
-    item->x1 = 0;
-    item->y1 = 0;
-    item->x2 = 1;
-    item->y2 = 1;
-
     cursor->col = 0;
     cursor->row   = 0;
 }
 
 
 static void
-gnucash_cursor_realize (GnomeCanvasItem *item)
+gnucash_cursor_realize (GtkWidget *widget)
 {
-    GnucashCursor *cursor = GNUCASH_CURSOR (item);
+    GnucashCursor *cursor = GNUCASH_CURSOR (widget);
     GdkWindow *window;
 
-    if (GNOME_CANVAS_ITEM_CLASS (gnucash_cursor_parent_class)->realize)
-        (*GNOME_CANVAS_ITEM_CLASS
-         (gnucash_cursor_parent_class)->realize)(item);
+    if (GTK_WIDGET_CLASS (gnucash_cursor_parent_class)->realize)
+        (GTK_WIDGET_CLASS
+         (gnucash_cursor_parent_class)->realize)(widget);
 
-    window = gtk_widget_get_window (GTK_WIDGET (item->canvas));
+    window = gtk_widget_get_window (widget);
 
     cursor->gc = gdk_gc_new (window);
 }
 
 
 static void
-gnucash_cursor_unrealize (GnomeCanvasItem *item)
+gnucash_cursor_unrealize (GtkWidget *widget)
 {
-    GnucashCursor *cursor = GNUCASH_CURSOR (item);
+    GnucashCursor *cursor = GNUCASH_CURSOR (widget);
 
     if (cursor->gc != NULL)
     {
@@ -389,23 +359,23 @@ gnucash_cursor_unrealize (GnomeCanvasItem *item)
         cursor->gc = NULL;
     }
 
-    if (GNOME_CANVAS_ITEM_CLASS (gnucash_cursor_parent_class)->unrealize)
-        (*GNOME_CANVAS_ITEM_CLASS
-         (gnucash_cursor_parent_class)->unrealize)(item);
+    if (GTK_WIDGET_CLASS (gnucash_cursor_parent_class)->unrealize)
+        (GTK_WIDGET_CLASS
+         (gnucash_cursor_parent_class)->unrealize)(widget);
 }
 
 
 static void
 gnucash_item_cursor_class_init (GnucashItemCursorClass *klass)
 {
-    GnomeCanvasItemClass *item_class;
+    GtkWidgetClass *widget_class;
 
-    item_class = GNOME_CANVAS_ITEM_CLASS (klass);
+    widget_class = GTK_WIDGET_CLASS (klass);
 
     gnucash_item_cursor_parent_class = g_type_class_peek_parent (klass);
 
-    /* GnomeCanvasItem method overrides */
-    item_class->draw = gnucash_item_cursor_draw;
+    /* Widget method overrides */
+    widget_class->expose_event = gnucash_item_cursor_draw;
 }
 
 
@@ -430,7 +400,7 @@ gnucash_item_cursor_get_type (void)
         };
 
         gnucash_item_cursor_type =
-            g_type_register_static (gnome_canvas_item_get_type (),
+            g_type_register_static (GTK_TYPE_DRAWING_AREA,
                                     "GnucashItemCursor",
                                     &gnucash_item_cursor_info, 0);
     }
@@ -455,10 +425,6 @@ gnucash_cursor_set_property (GObject         *object,
         cursor->sheet =
             GNUCASH_SHEET (g_value_get_object (value));
         break;
-    case PROP_GRID:
-        cursor->grid =
-            GNUCASH_GRID (g_value_get_object (value));
-        break;
     default:
         break;
     }
@@ -484,9 +450,6 @@ gnucash_cursor_get_property (GObject         *object,
     case PROP_SHEET:
         g_value_take_object (value, cursor->sheet);
         break;
-    case PROP_GRID:
-        g_value_take_object (value, cursor->grid);
-        break;
     default:
         break;
     }
@@ -494,25 +457,13 @@ gnucash_cursor_get_property (GObject         *object,
 
 
 static void
-gnucash_cursor_init (GnucashCursor *cursor)
-{
-    GnomeCanvasItem *item = GNOME_CANVAS_ITEM (cursor);
-
-    item->x1 = 0;
-    item->y1 = 0;
-    item->x2 = 1;
-    item->y2 = 1;
-}
-
-
-static void
 gnucash_cursor_class_init (GnucashCursorClass *klass)
 {
     GObjectClass  *object_class;
-    GnomeCanvasItemClass *item_class;
+    GtkWidgetClass *widget_class;
 
     object_class = G_OBJECT_CLASS (klass);
-    item_class = GNOME_CANVAS_ITEM_CLASS (klass);
+    widget_class = GTK_WIDGET_CLASS (klass);
 
     gnucash_cursor_parent_class = g_type_class_peek_parent (klass);
 
@@ -520,9 +471,9 @@ gnucash_cursor_class_init (GnucashCursorClass *klass)
     object_class->set_property = gnucash_cursor_set_property;
     object_class->get_property = gnucash_cursor_get_property;
 
-    /* GnomeCanvasItem method overrides */
-    item_class->realize     = gnucash_cursor_realize;
-    item_class->unrealize   = gnucash_cursor_unrealize;
+    /* GtkWidget method overrides */
+    widget_class->realize     = gnucash_cursor_realize;
+    widget_class->unrealize   = gnucash_cursor_unrealize;
 
     /* properties */
     g_object_class_install_property
@@ -533,14 +484,6 @@ gnucash_cursor_class_init (GnucashCursorClass *klass)
                           "Sheet Value",
                           GNUCASH_TYPE_SHEET,
                           G_PARAM_READWRITE));
-    g_object_class_install_property
-    (object_class,
-     PROP_GRID,
-     g_param_spec_object ("grid",
-                          "Grid Value",
-                          "Grid Value",
-                          GNUCASH_TYPE_GRID,
-                          G_PARAM_READWRITE));
 }
 
 
@@ -561,11 +504,11 @@ gnucash_cursor_get_type (void)
             NULL,		/* class_data */
             sizeof (GnucashCursor),
             0,		/* n_preallocs */
-            (GInstanceInitFunc) gnucash_cursor_init
+            NULL        /* instance intialization */
         };
 
         gnucash_cursor_type =
-            g_type_register_static (gnome_canvas_group_get_type (),
+            g_type_register_static (GTK_TYPE_DRAWING_AREA,
                                     "GnucashCursor",
                                     &gnucash_cursor_info, 0);
     }
@@ -574,42 +517,34 @@ gnucash_cursor_get_type (void)
 }
 
 
-GnomeCanvasItem *
-gnucash_cursor_new (GnomeCanvasGroup *parent)
+GtkWidget *
+gnucash_cursor_new (GnucashSheet *sheet)
 {
-    GnomeCanvasItem *item;
-    GnomeCanvasItem *cursor_item;
     GnucashCursor *cursor;
     GnucashItemCursor *item_cursor;
 
-    g_return_val_if_fail (parent != NULL, NULL);
-    g_return_val_if_fail (GNOME_IS_CANVAS_GROUP(parent), NULL);
-
-    item = gnome_canvas_item_new (parent,
-                                  gnucash_cursor_get_type(),
-                                  NULL);
-
-    cursor = GNUCASH_CURSOR(item);
+    cursor = GNUCASH_CURSOR(
+        g_object_new (gnucash_cursor_get_type(),
+                      "sheet", sheet,
+                      NULL));
+    gtk_layout_put (GTK_LAYOUT(sheet), GTK_WIDGET(cursor), 0, 0);
 
-    cursor_item = gnome_canvas_item_new (GNOME_CANVAS_GROUP(item),
-                                         gnucash_item_cursor_get_type(),
-                                         NULL);
-
-    item_cursor = GNUCASH_ITEM_CURSOR (cursor_item);
+    item_cursor = GNUCASH_ITEM_CURSOR (
+        g_object_new (gnucash_item_cursor_get_type(), NULL));
     item_cursor->type = GNUCASH_CURSOR_CELL;
+    item_cursor->parent = GTK_WIDGET(cursor);
+    gtk_layout_put (GTK_LAYOUT(sheet), GTK_WIDGET(item_cursor), 0, 0);
+    cursor->cursor[GNUCASH_CURSOR_CELL] = item_cursor;
 
-    cursor->cursor[GNUCASH_CURSOR_CELL] = cursor_item;
-
-    cursor_item = gnome_canvas_item_new (GNOME_CANVAS_GROUP(item),
-                                         gnucash_item_cursor_get_type(),
-                                         NULL);
 
-    item_cursor = GNUCASH_ITEM_CURSOR (cursor_item);
+    item_cursor = GNUCASH_ITEM_CURSOR (
+        g_object_new (gnucash_item_cursor_get_type(), NULL));
     item_cursor->type = GNUCASH_CURSOR_BLOCK;
+    item_cursor->parent = GTK_WIDGET(cursor);
+    gtk_layout_put (GTK_LAYOUT(sheet), GTK_WIDGET(item_cursor), 0, 0);
+    cursor->cursor[GNUCASH_CURSOR_BLOCK] = item_cursor;
 
-    cursor->cursor[GNUCASH_CURSOR_BLOCK] = cursor_item;
-
-    return item;
+    return GTK_WIDGET (cursor);
 }
 
 
diff --git a/src/register/register-gnome/gnucash-cursor.h b/src/register/register-gnome/gnucash-cursor.h
index d3b1f4b..acf4b7d 100644
--- a/src/register/register-gnome/gnucash-cursor.h
+++ b/src/register/register-gnome/gnucash-cursor.h
@@ -21,9 +21,9 @@
 #ifndef GNUCASH_CURSOR_H
 #define GNUCASH_CURSOR_H
 
+#include <gtk/gtk.h>
 #include "gnucash-grid.h"
 #include "gnucash-sheet.h"
-#include <libgnomecanvas/libgnomecanvas.h>
 
 /** @ingroup Register
  * @addtogroup Gnome
@@ -57,7 +57,8 @@ enum
 
 typedef struct
 {
-    GnomeCanvasItem canvas_item;
+    GtkDrawingArea area;
+    GtkWidget *parent;
 
     gint type;
 
@@ -71,12 +72,10 @@ typedef struct
 
 typedef struct
 {
-    GnomeCanvasGroup canvas_group;
-
-    GnomeCanvasItem *cursor[GNUCASH_CURSOR_NUM];
+    GtkDrawingArea area;
 
+    GnucashItemCursor *cursor[GNUCASH_CURSOR_NUM];
     GnucashSheet *sheet;
-    GnucashGrid *grid;
 
     /* precomputed pixel coords for the block cursor*/
     gint x, y, w, h;
@@ -88,17 +87,17 @@ typedef struct
 
 typedef struct
 {
-    GnomeCanvasItemClass parent_class;
+    GtkDrawingAreaClass parent_class;
 } GnucashItemCursorClass;
 
 
 typedef struct
 {
-    GnomeCanvasGroupClass parent_class;
+    GtkDrawingAreaClass parent_class;
 } GnucashCursorClass;
 
 
-GnomeCanvasItem *gnucash_cursor_new (GnomeCanvasGroup *parent);
+GtkWidget *gnucash_cursor_new (GnucashSheet *sheet);
 
 void gnucash_cursor_get_virt (GnucashCursor *cursor,
                               VirtualLocation *virt_loc);
diff --git a/src/register/register-gnome/gnucash-date-picker.c b/src/register/register-gnome/gnucash-date-picker.c
index 0bad9d6..b4fb569 100644
--- a/src/register/register-gnome/gnucash-date-picker.c
+++ b/src/register/register-gnome/gnucash-date-picker.c
@@ -25,7 +25,6 @@
  */
 
 #include "config.h"
-#include <libgnomecanvas/libgnomecanvas.h>
 #include <gdk/gdkkeysyms.h>
 #include "gnucash-date-picker.h"
 
@@ -35,11 +34,10 @@ enum
 {
     DATE_SELECTED,
     DATE_PICKED,
-    KEY_PRESS_EVENT,
     LAST_SIGNAL
 };
 
-static GnomeCanvasWidgetClass *gnc_date_picker_parent_class;
+static GtkHBox *gnc_date_picker_parent_class;
 static guint gnc_date_picker_signals[LAST_SIGNAL];
 
 
@@ -110,8 +108,7 @@ gnc_date_picker_key_event(GtkWidget *widget, GdkEventKey *event, gpointer data)
     /* These go to the sheet */
     g_signal_stop_emission_by_name (widget, "key_press_event");
 
-    g_signal_emit (date_picker,
-                   gnc_date_picker_signals[KEY_PRESS_EVENT], 0, event);
+    g_signal_emit_by_name (date_picker, "key_press_event", 0, event);
 
     return TRUE;
 }
@@ -144,19 +141,8 @@ gnc_date_picker_class_init (GNCDatePickerClass *date_picker_class)
                      g_cclosure_marshal_VOID__VOID,
                      G_TYPE_NONE, 0);
 
-    gnc_date_picker_signals[KEY_PRESS_EVENT] =
-        g_signal_new ("key_press_event",
-                      G_TYPE_FROM_CLASS(object_class),
-                      G_SIGNAL_RUN_LAST,
-                      G_STRUCT_OFFSET(GNCDatePickerClass, key_press_event),
-                      NULL, NULL,
-                      g_cclosure_marshal_VOID__BOXED,
-                      G_TYPE_NONE, 1,
-                      GDK_TYPE_EVENT);
-
     date_picker_class->date_selected = NULL;
     date_picker_class->date_picked = NULL;
-    date_picker_class->key_press_event = NULL;
 }
 
 GType
@@ -180,7 +166,7 @@ gnc_date_picker_get_type (void)
         };
 
         gnc_date_picker_type =
-            g_type_register_static (gnome_canvas_widget_get_type(),
+            g_type_register_static (GTK_TYPE_HBOX,
                                     "GNCDatePicker",
                                     &type_info, 0);
     }
@@ -202,46 +188,29 @@ day_selected_double_click (GtkCalendar *calendar, GNCDatePicker *gdp)
 }
 
 
-GnomeCanvasItem *
-gnc_date_picker_new (GnomeCanvasGroup *parent)
+GtkWidget *
+gnc_date_picker_new (void)
 {
     GtkWidget *calendar;
-    GnomeCanvasItem *item;
     GNCDatePicker *date_picker;
+    GtkAllocation allocation;
+    GtkRequisition requisition;
 
-    calendar = gtk_calendar_new ();
-
-    {
-        GtkWidget *hbox;
-        GtkAllocation allocation;
-        GtkRequisition requisition;
-
-        hbox = gtk_hbox_new (FALSE, 0);
-
-        gtk_widget_set_direction (hbox, GTK_TEXT_DIR_LTR);
-        gtk_box_pack_start (GTK_BOX(hbox), calendar, TRUE, TRUE, 0);
-
-        item = gnome_canvas_item_new (parent, gnc_date_picker_get_type (),
-                                      "widget", hbox,
-                                      "size_pixels", TRUE,
-                                      "x", -10000.0,
-                                      "y", -10000.0,
-                                      NULL);
-        gtk_widget_show_all( hbox );
+    date_picker = g_object_new (GNC_TYPE_DATE_PICKER,
+                                "homogeneous", FALSE,
+                                NULL);
 
-        gtk_widget_size_request (calendar, &requisition);
-
-        allocation.x = 0;
-        allocation.y = 0;
-        allocation.width = requisition.width;
-        allocation.height = requisition.height;
-
-        gtk_widget_size_allocate (calendar, &allocation);
-    }
+    calendar = gtk_calendar_new ();
+    date_picker->calendar = GTK_CALENDAR (calendar);
 
-    date_picker = GNC_DATE_PICKER (item);
+    gtk_box_pack_start (GTK_BOX(date_picker), calendar, TRUE, TRUE, 0);
 
-    date_picker->calendar = GTK_CALENDAR (calendar);
+    gtk_widget_size_request (calendar, &requisition);
+    allocation.x = 0;
+    allocation.y = 0;
+    allocation.width = requisition.width;
+    allocation.height = requisition.height;
+    gtk_widget_size_allocate (calendar, &allocation);
 
     g_signal_connect_after (calendar, "button_press_event",
                             G_CALLBACK (gnc_date_picker_button_event),
@@ -259,5 +228,5 @@ gnc_date_picker_new (GnomeCanvasGroup *parent)
                       G_CALLBACK (day_selected_double_click),
                       date_picker);
 
-    return item;
+    return GTK_WIDGET(date_picker);
 }
diff --git a/src/register/register-gnome/gnucash-date-picker.h b/src/register/register-gnome/gnucash-date-picker.h
index 175c000..b9850b9 100644
--- a/src/register/register-gnome/gnucash-date-picker.h
+++ b/src/register/register-gnome/gnucash-date-picker.h
@@ -23,7 +23,8 @@
 #ifndef GNUCASH_DATE_PICKER_H
 #define GNUCASH_DATE_PICKER_H
 
-#include <libgnomecanvas/libgnomecanvas.h>
+#include <gtk/gtk.h>
+
 /** @ingroup Register
  * @addtogroup Gnome
  * @{
@@ -31,6 +32,7 @@
 /** @file gnucash-date-picker.h
  * @brief Public declarations for GncDatePicker class
  */
+#define GNC_TYPE_DATE_PICKER      (gnc_date_picker_get_type ())
 #define GNC_DATE_PICKER(obj)      G_TYPE_CHECK_INSTANCE_CAST((obj), gnc_date_picker_get_type (), GNCDatePicker)
 #define GNC_DATE_PICKER_CLASS(k)  G_TYPE_CHECK_CLASS_CAST((k), gnc_date_picker_get_type (), GNCDatePickerClass)
 #define IS_GNC_DATE_PICKER(o)     G_TYPE_CHECK_INSTANCE_TYPE((o), gnc_date_picker_get_type ())
@@ -38,7 +40,7 @@
 
 typedef struct
 {
-    GnomeCanvasWidget canvas_widget;
+    GtkHBox hbox;
 
     GtkCalendar *calendar;
 } GNCDatePicker;
@@ -46,7 +48,7 @@ typedef struct
 
 GType gnc_date_picker_get_type (void);
 
-GnomeCanvasItem *gnc_date_picker_new (GnomeCanvasGroup *parent);
+GtkWidget *gnc_date_picker_new (void);
 
 /* days are 1-31, mon is 0-11, year 1900 == 1900 */
 void gnc_date_picker_set_date (GNCDatePicker *date_picker,
@@ -57,15 +59,12 @@ void gnc_date_picker_get_date (GNCDatePicker *date_picker,
 
 typedef struct
 {
-    GnomeCanvasWidgetClass parent_class;
+    GtkHBoxClass parent_class;
 
     void (*date_selected) (GNCDatePicker *date_picker);
 
     void (*date_picked) (GNCDatePicker *date_picker);
 
-    void (*key_press_event) (GNCDatePicker *date_picker,
-                             GdkEventKey *event);
-
 } GNCDatePickerClass;
 
 /** @} */
diff --git a/src/register/register-gnome/gnucash-grid.c b/src/register/register-gnome/gnucash-grid.c
index 25ba9db..f756c1b 100644
--- a/src/register/register-gnome/gnucash-grid.c
+++ b/src/register/register-gnome/gnucash-grid.c
@@ -30,7 +30,6 @@
 #include "config.h"
 
 #include <string.h>
-#include <libgnomecanvas/libgnomecanvas.h>
 
 #include "gnucash-sheet.h"
 #include "gnucash-sheetP.h"
@@ -41,7 +40,7 @@
 
 struct _GnucashGrid
 {
-    GnomeCanvasItem canvas_item;
+    GtkDrawingArea area;
 
     GnucashSheet *sheet;
 
@@ -65,10 +64,10 @@ struct _GnucashGrid
 
 struct _GnucashGridClass
 {
-    GnomeCanvasItemClass parent_class;
+    GtkDrawingAreaClass parent_class;
 };
 
-static GnomeCanvasItem *gnucash_grid_parent_class;
+static GtkDrawingAreaClass *gnucash_grid_parent_class;
 
 /* Our arguments */
 enum
@@ -78,19 +77,50 @@ enum
 };
 
 
+static gboolean
+gnc_grid_configure_cb (GtkWidget *widget,
+                       G_GNUC_UNUSED GdkEventConfigure *event)
+{
+    gnc_grid_configure (widget);
+
+    return TRUE;
+}
+
+void
+gnc_grid_configure (GtkWidget *widget)
+{
+    GnucashGrid *grid = GNUCASH_GRID(widget);
+    GtkRequisition cur_rec;
+    gint cur_x, cur_y;
+    guint w , h;
+
+    gtk_container_child_get(GTK_CONTAINER(grid->sheet),
+                            widget,
+                            "x", &cur_x, "y", &cur_y, NULL);
+    if ((cur_x != 0) || (cur_y != 0))
+        gtk_layout_move (GTK_LAYOUT(grid->sheet),
+                         GTK_WIDGET(grid), 0, 0);
+
+    gtk_layout_get_size (GTK_LAYOUT(grid->sheet), &w, &h);
+    gtk_widget_get_requisition(GTK_WIDGET(grid), &cur_rec);
+    if ((cur_rec.height != h) || (cur_rec.width != w))
+        gtk_widget_set_size_request(GTK_WIDGET(grid), w, h);
+
+}
+
 static void
-gnucash_grid_realize (GnomeCanvasItem *item)
+gnucash_grid_realize (GtkWidget *widget)
 {
     GdkWindow *window;
     GnucashGrid *gnucash_grid;
     GdkGC *gc;
 
-    if (GNOME_CANVAS_ITEM_CLASS (gnucash_grid_parent_class)->realize)
-        (GNOME_CANVAS_ITEM_CLASS
-         (gnucash_grid_parent_class)->realize)(item);
+    if (GTK_WIDGET_CLASS (gnucash_grid_parent_class)->realize)
+        (GTK_WIDGET_CLASS
+         (gnucash_grid_parent_class)->realize)(widget);
 
-    gnucash_grid = GNUCASH_GRID (item);
-    window = gtk_widget_get_window (GTK_WIDGET (item->canvas));
+    gnucash_grid = GNUCASH_GRID (widget);
+    window = gtk_widget_get_window (widget);
 
     /* Configure the default grid gc */
     gnucash_grid->grid_gc = gc = gdk_gc_new (window);
@@ -109,13 +139,15 @@ gnucash_grid_realize (GnomeCanvasItem *item)
                            &gnucash_grid->background);
     gdk_gc_set_background (gnucash_grid->fill_gc,
                            &gnucash_grid->grid_color);
+
+    gnc_grid_configure_cb (widget, NULL);
 }
 
 
 static void
-gnucash_grid_unrealize (GnomeCanvasItem *item)
+gnucash_grid_unrealize (GtkWidget *widget)
 {
-    GnucashGrid *gnucash_grid = GNUCASH_GRID (item);
+    GnucashGrid *gnucash_grid = GNUCASH_GRID (widget);
 
     if (gnucash_grid->grid_gc != NULL)
     {
@@ -135,27 +167,11 @@ gnucash_grid_unrealize (GnomeCanvasItem *item)
         gnucash_grid->gc = NULL;
     }
 
-    if (GNOME_CANVAS_ITEM_CLASS (gnucash_grid_parent_class)->unrealize)
-        (*GNOME_CANVAS_ITEM_CLASS
-         (gnucash_grid_parent_class)->unrealize)(item);
+    if (GTK_WIDGET_CLASS (gnucash_grid_parent_class)->unrealize)
+        (GTK_WIDGET_CLASS
+         (gnucash_grid_parent_class)->unrealize)(widget);
 }
 
-
-static void
-gnucash_grid_update (GnomeCanvasItem *item, double *affine,
-                     ArtSVP *clip_path, int flags)
-{
-    if (GNOME_CANVAS_ITEM_CLASS (gnucash_grid_parent_class)->update)
-        (* GNOME_CANVAS_ITEM_CLASS (gnucash_grid_parent_class)->update)
-        (item, affine, clip_path, flags);
-
-    item->x1 = 0;
-    item->y1 = 0;
-    item->x2 = INT_MAX / 2 - 1;
-    item->y2 = INT_MAX / 2 - 1;
-}
-
-
 /*
  * Sets virt_row, virt_col to the block coordinates for the
  * block containing pixel (x, y).  Also sets o_x, o_y, to the
@@ -628,7 +644,7 @@ draw_cell (GnucashGrid *grid,
 
     text = gnc_table_get_entry (table, virt_loc);
 
-    layout = gtk_widget_create_pango_layout (GTK_WIDGET (grid->sheet), text);
+    layout = gtk_widget_create_pango_layout (GTK_WIDGET (grid), text);
     // We don't need word wrap or line wrap
     pango_layout_set_width (layout, -1);
     context = pango_layout_get_context (layout);
@@ -775,27 +791,31 @@ draw_block (GnucashGrid *grid,
                 continue;
 
             draw_cell (grid, block, virt_loc, drawable,
-                       x_paint - x, y_paint - y, w, h);
+                       x_paint, y_paint, w, h);
         }
     }
 }
 
-static void
-gnucash_grid_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
-                   int x, int y, int width, int height)
+static gboolean
+gnucash_grid_draw (GtkWidget *widget, GdkEventExpose *event)
 {
-    GnucashGrid *grid = GNUCASH_GRID (item);
+    GnucashGrid *grid = GNUCASH_GRID (widget);
     VirtualLocation virt_loc;
     SheetBlock *sheet_block;
+    int x = event->area.x;
+    int y = event->area.y;
+    int width = event->area.width;
+    int height = event->area.height;
+    GdkDrawable *drawable = GDK_DRAWABLE (gtk_widget_get_window (widget));
 
     if (x < 0 || y < 0)
-        return;
+        return FALSE;
 
     /* compute our initial values where we start drawing */
     sheet_block = gnucash_grid_find_block_by_pixel (grid, x, y,
                   &virt_loc.vcell_loc);
     if (!sheet_block || !sheet_block->style)
-        return;
+        return FALSE;
 
     for ( ; virt_loc.vcell_loc.virt_row < grid->sheet->num_virt_rows;
             virt_loc.vcell_loc.virt_row++ )
@@ -806,7 +826,7 @@ gnucash_grid_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
                           (grid->sheet, virt_loc.vcell_loc);
 
             if (!sheet_block || !sheet_block->style)
-                return;
+                return TRUE;
 
             if (sheet_block->visible)
                 break;
@@ -815,24 +835,19 @@ gnucash_grid_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
         }
 
         if (y + height < sheet_block->origin_y)
-            return;
+            return TRUE;
 
         draw_block (grid, sheet_block, virt_loc, drawable,
                     x, y, width, height);
     }
+
+    return TRUE;
 }
 
 
 static void
 gnucash_grid_init (GnucashGrid *grid)
 {
-    GnomeCanvasItem *item = GNOME_CANVAS_ITEM (grid);
-
-    item->x1 = 0;
-    item->y1 = 0;
-    item->x2 = 0;
-    item->y2 = 0;
-
     grid->top_block  = 0;
     grid->top_offset = 0;
     grid->left_offset = 0;
@@ -850,8 +865,12 @@ gnucash_grid_set_property (GObject         *object,
     switch (prop_id)
     {
     case PROP_SHEET:
+        if (grid->sheet)
+            gtk_container_remove(GTK_CONTAINER(grid->sheet), GTK_WIDGET(grid));
         grid->sheet =
             GNUCASH_SHEET (g_value_get_object (value));
+        if (grid->sheet)
+            gtk_layout_put (GTK_LAYOUT(grid->sheet), GTK_WIDGET(grid), 0, 0);
         break;
     default:
         break;
@@ -888,10 +907,10 @@ static void
 gnucash_grid_class_init (GnucashGridClass *klass)
 {
     GObjectClass  *object_class;
-    GnomeCanvasItemClass *item_class;
+    GtkWidgetClass *widget_class;
 
     object_class = G_OBJECT_CLASS (klass);
-    item_class = GNOME_CANVAS_ITEM_CLASS (klass);
+    widget_class = GTK_WIDGET_CLASS (klass);
 
     gnucash_grid_parent_class = g_type_class_peek_parent (klass);
 
@@ -899,11 +918,11 @@ gnucash_grid_class_init (GnucashGridClass *klass)
     object_class->set_property = gnucash_grid_set_property;
     object_class->get_property = gnucash_grid_get_property;
 
-    /* GnomeCanvasItem method overrides */
-    item_class->update      = gnucash_grid_update;
-    item_class->realize     = gnucash_grid_realize;
-    item_class->unrealize   = gnucash_grid_unrealize;
-    item_class->draw        = gnucash_grid_draw;
+    /* GtkWidget method overrides */
+//    widget_class->configure_event = gnc_grid_configure_cb;
+    widget_class->realize      = gnucash_grid_realize;
+    widget_class->unrealize    = gnucash_grid_unrealize;
+    widget_class->expose_event = gnucash_grid_draw;
 
     /* properties */
     g_object_class_install_property
@@ -938,7 +957,7 @@ gnucash_grid_get_type (void)
         };
 
         gnucash_grid_type =
-            g_type_register_static (gnome_canvas_item_get_type (),
+            g_type_register_static (GTK_TYPE_DRAWING_AREA,
                                     "GnucashGrid",
                                     &gnucash_grid_info, 0);
     }
diff --git a/src/register/register-gnome/gnucash-grid.h b/src/register/register-gnome/gnucash-grid.h
index 8efdcdd..ff5c8df 100644
--- a/src/register/register-gnome/gnucash-grid.h
+++ b/src/register/register-gnome/gnucash-grid.h
@@ -21,6 +21,7 @@
 #ifndef GNUCASH_GRID_H
 #define GNUCASH_GRID_H
 
+#include <gtk/gtk.h>
 #include "table-allgui.h"
 #include "gnucash-sheet.h"
 
@@ -49,5 +50,6 @@ gboolean   gnucash_grid_find_loc_by_pixel (GnucashGrid *grid, gint x, gint y,
 
 void       gnucash_draw_hatching (GdkDrawable *drawable, GdkGC *gc,
                                   int x, int y, int width, int height);
+void       gnc_grid_configure (GtkWidget *widget);
 /** @} */
 #endif /* GNUCASH_GRID_H */
diff --git a/src/register/register-gnome/gnucash-header.h b/src/register/register-gnome/gnucash-header.h
index b49b92b..096e80e 100644
--- a/src/register/register-gnome/gnucash-header.h
+++ b/src/register/register-gnome/gnucash-header.h
@@ -21,6 +21,8 @@
 #ifndef GNUCASH_HEADER_H
 #define GNUCASH_HEADER_H
 
+#include <gtk/gtk.h>
+
 /** @ingroup Register
  * @addtogroup Gnome
  * @{
diff --git a/src/register/register-gnome/gnucash-item-edit.c b/src/register/register-gnome/gnucash-item-edit.c
index ed7ad2b..4146e23 100644
--- a/src/register/register-gnome/gnucash-item-edit.c
+++ b/src/register/register-gnome/gnucash-item-edit.c
@@ -62,7 +62,7 @@ enum
     TARGET_COMPOUND_TEXT
 };
 
-static GnomeCanvasItemClass *gnc_item_edit_parent_class;
+static GtkDrawingArea *gnc_item_edit_parent_class;
 static GdkAtom clipboard_atom = GDK_NONE;
 
 
@@ -239,7 +239,7 @@ gnc_item_edit_draw_info (GncItemEdit *item_edit, int x, int y, TextDrawInfo *inf
         cursor_byte_pos = g_utf8_offset_to_pointer (text, cursor_pos) - text;
     }
 
-    info->layout = gtk_widget_create_pango_layout (GTK_WIDGET (item_edit->sheet), text);
+    info->layout = gtk_widget_create_pango_layout (GTK_WIDGET (item_edit), text);
 
     /* IMContext attributes*/
     if (sheet->preedit_length && sheet->preedit_attrs != NULL)
@@ -283,16 +283,16 @@ gnc_item_edit_draw_info (GncItemEdit *item_edit, int x, int y, TextDrawInfo *inf
     dx = xd - x;
     dy = yd - y;
 
-    info->bg_rect.x      = dx + CELL_HPADDING;
-    info->bg_rect.y      = dy + 1;
+    info->bg_rect.x      = CELL_HPADDING;
+    info->bg_rect.y      = 1;
     info->bg_rect.width  = wd - (2 * CELL_HPADDING);
     info->bg_rect.height = hd - 2;
 
     toggle_space = item_edit->is_popup ?
                    item_edit->popup_toggle.toggle_offset : 0;
 
-    info->text_rect.x      = dx;
-    info->text_rect.y      = dy + 1;
+    info->text_rect.x      = 0;
+    info->text_rect.y      = 1;
     info->text_rect.width  = wd - toggle_space;
     info->text_rect.height = hd - 2;
 
@@ -304,15 +304,15 @@ gnc_item_edit_draw_info (GncItemEdit *item_edit, int x, int y, TextDrawInfo *inf
 
     pango_layout_get_cursor_pos (info->layout, cursor_byte_pos, &strong_pos, NULL);
 
-    info->cursor_rect.x = dx + PANGO_PIXELS (strong_pos.x);
-    info->cursor_rect.y = dy + PANGO_PIXELS (strong_pos.y);
+    info->cursor_rect.x = PANGO_PIXELS (strong_pos.x);
+    info->cursor_rect.y = PANGO_PIXELS (strong_pos.y);
     info->cursor_rect.width = PANGO_PIXELS (strong_pos.width);
     info->cursor_rect.height = PANGO_PIXELS (strong_pos.height);
 
     if (info->hatching)
     {
-        info->hatch_rect.x = dx;
-        info->hatch_rect.y = dy;
+        info->hatch_rect.x = 0;
+        info->hatch_rect.y = 0;
         info->hatch_rect.width = wd;
         info->hatch_rect.height = hd;
     }
@@ -323,8 +323,12 @@ gnc_item_edit_draw_info (GncItemEdit *item_edit, int x, int y, TextDrawInfo *inf
     {
         gint xoff, yoff;
         GdkRectangle rect;
+        GtkAdjustment *adj;
         rect = info->cursor_rect;
-        gnome_canvas_get_scroll_offsets(GNOME_CANVAS(sheet), &xoff, &yoff);
+        adj = gtk_layout_get_hadjustment(GTK_LAYOUT(sheet));
+        xoff = gtk_adjustment_get_value(adj);
+        adj = gtk_layout_get_vadjustment(GTK_LAYOUT(sheet));
+        yoff = gtk_adjustment_get_value(adj);
         rect.x += (x - xoff + item_edit->x_offset);
         rect.y += (y - yoff);
         gtk_im_context_set_cursor_location (sheet->im_context, &rect);
@@ -341,17 +345,19 @@ gnc_item_edit_free_draw_info_members(TextDrawInfo *info)
     g_object_unref (info->layout);
 }
 
-static void
-gnc_item_edit_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
-                    int x, int y, int width, int height)
+static gboolean
+gnc_item_edit_draw (GtkWidget *widget, GdkEventExpose *event)
 {
-    GncItemEdit *item_edit = GNC_ITEM_EDIT (item);
+    GncItemEdit *item_edit = GNC_ITEM_EDIT (widget);
     TextDrawInfo info;
+    int x = event->area.x;
+    int y = event->area.y;
+    GdkDrawable *drawable = GDK_DRAWABLE (gtk_widget_get_window (widget));
 
     /* be sure we're valid */
     if (item_edit->virt_loc.vcell_loc.virt_row < 0 ||
             item_edit->virt_loc.vcell_loc.virt_col < 0)
-        return;
+        return TRUE;
 
     /* Get the measurements for drawing */
     gnc_item_edit_draw_info (item_edit, x, y, &info);
@@ -390,24 +396,7 @@ gnc_item_edit_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
     gdk_gc_set_clip_rectangle (item_edit->gc, NULL);
 
     gnc_item_edit_free_draw_info_members (&info);
-}
-
-
-static double
-gnc_item_edit_point (GnomeCanvasItem *item, double c_x, double c_y, int cx, int cy,
-                     GnomeCanvasItem **actual_item)
-{
-    int x, y, w, h;
-
-    gnc_item_edit_get_pixel_coords (GNC_ITEM_EDIT (item), &x, &y, &w, &h);
-
-    *actual_item = NULL;
-    if ((cx < x) || (cy < y) || (cx > x + w) || (cy > y + w))
-        return 10000.0;
-
-    *actual_item = item;
-
-    return 0.0;
+    return TRUE;
 }
 
 
@@ -419,23 +408,24 @@ gnc_item_edit_get_toggle_offset (int row_height)
 }
 
 static void
-gnc_item_edit_update (GnomeCanvasItem *item, double *affine, ArtSVP *clip_path,
-                      int flags)
+gnc_item_edit_update (GncItemEdit *item_edit)
 {
-    GncItemEdit *item_edit = GNC_ITEM_EDIT (item);
+    GtkRequisition cur_rec;
     gint toggle_x, toggle_y, toggle_width, toggle_height;
-    gint x, y, w, h;
-
-    if (GNOME_CANVAS_ITEM_CLASS (gnc_item_edit_parent_class)->update)
-        (*GNOME_CANVAS_ITEM_CLASS(gnc_item_edit_parent_class)->update)
-        (item, affine, clip_path, flags);
+    gint x, y, w, h, cur_x, cur_y;
 
     gnc_item_edit_get_pixel_coords (item_edit, &x, &y, &w, &h);
 
-    item->x1 = x;
-    item->y1 = y;
-    item->x2 = x + w;
-    item->y2 = y + h;
+    gtk_container_child_get(GTK_CONTAINER(item_edit->sheet),
+                            GTK_WIDGET(item_edit),
+                            "x", &cur_x, "y", &cur_y, NULL);
+    if ((cur_x != x) || (cur_y != y))
+        gtk_layout_move (GTK_LAYOUT(item_edit->sheet),
+                         GTK_WIDGET(item_edit), x, y);
+
+    gtk_widget_get_requisition(GTK_WIDGET(item_edit), &cur_rec);
+    if ((cur_rec.height != h) || (cur_rec.width != w))
+        gtk_widget_set_size_request(GTK_WIDGET(item_edit), w, h);
 
     if (!item_edit->is_popup)
         return;
@@ -457,29 +447,31 @@ gnc_item_edit_update (GnomeCanvasItem *item, double *affine, ArtSVP *clip_path,
 
 
 static void
-gnc_item_edit_realize (GnomeCanvasItem *item)
+gnc_item_edit_realize (GtkWidget *widget)
 {
-    GnomeCanvas *canvas = item->canvas;
     GdkWindow *window;
-    GncItemEdit *item_edit;
+    GncItemEdit *item_edit = GNC_ITEM_EDIT (widget);
 
-    if (GNOME_CANVAS_ITEM_CLASS (gnc_item_edit_parent_class)->realize)
-        (*GNOME_CANVAS_ITEM_CLASS
-         (gnc_item_edit_parent_class)->realize) (item);
-
-    item_edit = GNC_ITEM_EDIT (item);
-    window = gtk_widget_get_window (GTK_WIDGET (canvas));
+    if (GTK_WIDGET_CLASS (gnc_item_edit_parent_class)->realize)
+        (GTK_WIDGET_CLASS
+         (gnc_item_edit_parent_class)->realize) (widget);
 
+    window = gtk_widget_get_window (widget);
     item_edit->gc = gdk_gc_new (window);
 }
 
 
 static void
-gnc_item_edit_unrealize (GnomeCanvasItem *item)
+gnc_item_edit_unrealize (GtkWidget *widget)
 {
-    if (GNOME_CANVAS_ITEM_CLASS (gnc_item_edit_parent_class)->unrealize)
-        (*GNOME_CANVAS_ITEM_CLASS
-         (gnc_item_edit_parent_class)->unrealize) (item);
+    GncItemEdit *item_edit = GNC_ITEM_EDIT (widget);
+    if (item_edit->gc)
+        gdk_gc_destroy(item_edit->gc);
+    item_edit->gc = NULL;
+
+    if (GTK_WIDGET_CLASS (gnc_item_edit_parent_class)->unrealize)
+        (GTK_WIDGET_CLASS
+        (gnc_item_edit_parent_class)->unrealize) (widget);
 }
 
 void
@@ -564,24 +556,15 @@ gnc_item_edit_reset_offset (GncItemEdit *item_edit)
 static void
 gnc_item_edit_init (GncItemEdit *item_edit)
 {
-    GnomeCanvasItem *item = GNOME_CANVAS_ITEM (item_edit);
-
-    item->x1 = 0;
-    item->y1 = 0;
-    item->x2 = 1;
-    item->y2 = 1;
-
     /* Set invalid values so that we know when we have been fully
     	   initialized */
     item_edit->sheet = NULL;
-    item_edit->parent = NULL;
     item_edit->editor = NULL;
 
     item_edit->is_popup = FALSE;
     item_edit->show_popup = FALSE;
 
     item_edit->popup_toggle.toggle_button = NULL;
-    item_edit->popup_toggle.toggle_button_item = NULL;
     item_edit->popup_toggle.toggle_offset = 0;
     item_edit->popup_toggle.arrow = NULL;
     item_edit->popup_toggle.signals_connected = FALSE;
@@ -606,12 +589,7 @@ gnc_item_edit_init (GncItemEdit *item_edit)
 static void
 queue_sync (GncItemEdit *item_edit)
 {
-    GnomeCanvas *canvas = GNOME_CANVAS_ITEM (item_edit)->canvas;
-    int x, y, w, h;
-
-    gnc_item_edit_get_pixel_coords (item_edit, &x, &y, &w, &h);
-
-    gnome_canvas_request_redraw (canvas, x, y, x + w + 1, y + h + 1);
+    gtk_widget_queue_draw(GTK_WIDGET(item_edit));
 }
 
 void
@@ -764,14 +742,22 @@ gnc_item_edit_set_editor (GncItemEdit *item_edit, void *data)
 }
 
 
+static gboolean
+gnc_item_edit_configure_cb (GtkWidget *widget,
+                            G_GNUC_UNUSED GdkEventConfigure *event)
+{
+    g_return_val_if_fail(GNC_IS_ITEM_EDIT(widget), FALSE);
+    gnc_item_edit_configure (GNC_ITEM_EDIT(widget));
+    return TRUE;
+}
+
 void
 gnc_item_edit_configure (GncItemEdit *item_edit)
 {
     GnucashSheet *sheet = item_edit->sheet;
     GnucashItemCursor *cursor;
 
-    cursor = GNUCASH_ITEM_CURSOR
-             (GNUCASH_CURSOR(sheet->cursor)->cursor[GNUCASH_CURSOR_BLOCK]);
+    cursor = GNUCASH_CURSOR(sheet->cursor)->cursor[GNUCASH_CURSOR_BLOCK];
 
     if (item_edit->virt_loc.vcell_loc.virt_row != cursor->row)
     {
@@ -789,8 +775,7 @@ gnc_item_edit_configure (GncItemEdit *item_edit)
         gnucash_sheet_get_style (item_edit->sheet,
                                  item_edit->virt_loc.vcell_loc);
 
-    cursor = GNUCASH_ITEM_CURSOR
-             (GNUCASH_CURSOR(sheet->cursor)->cursor[GNUCASH_CURSOR_CELL]);
+    cursor = GNUCASH_CURSOR(sheet->cursor)->cursor[GNUCASH_CURSOR_CELL];
 
     if (item_edit->virt_loc.phys_row_offset != cursor->row)
     {
@@ -808,7 +793,7 @@ gnc_item_edit_configure (GncItemEdit *item_edit)
         gnc_item_edit_set_popup (item_edit, NULL, NULL, NULL,
                                  NULL, NULL, NULL, NULL);
 
-    gnc_item_edit_update (GNOME_CANVAS_ITEM(item_edit), NULL, NULL, 0);
+    gnc_item_edit_update (item_edit);
 }
 
 
@@ -911,18 +896,14 @@ gnc_item_edit_show_popup_toggle (GncItemEdit *item_edit,
                                  gint width, gint height,
                                  GtkAnchorType anchor)
 {
+    GtkWidget *toggle;
     g_return_if_fail (GNC_IS_ITEM_EDIT (item_edit));
 
-    gnome_canvas_item_raise_to_top
-    (item_edit->popup_toggle.toggle_button_item);
-
-    gnome_canvas_item_set (item_edit->popup_toggle.toggle_button_item,
-                           "x", (gdouble) x,
-                           "y", (gdouble) y,
-                           "width", (gdouble) width,
-                           "height", (gdouble) height,
-                           "anchor", anchor,
-                           NULL);
+    toggle = GTK_WIDGET(item_edit->popup_toggle.toggle_button);
+    gtk_layout_move(GTK_LAYOUT(item_edit->sheet), toggle, x, y);
+    gtk_widget_set_size_request(toggle, width, height);
+    gtk_widget_show_all (toggle);
+    // FIXME What was the anchortype used for in GnomeCanvas ?
 }
 
 
@@ -931,9 +912,8 @@ gnc_item_edit_hide_popup_toggle (GncItemEdit *item_edit)
 {
     g_return_if_fail (GNC_IS_ITEM_EDIT(item_edit));
 
-    /* safely out of the way */
-    gnome_canvas_item_set (item_edit->popup_toggle.toggle_button_item,
-                           "x", -10000.0, NULL);
+    if (item_edit->popup_toggle.toggle_button)
+        gtk_widget_hide (GTK_WIDGET(item_edit->popup_toggle.toggle_button));
 }
 
 
@@ -1116,12 +1096,12 @@ static void
 gnc_item_edit_class_init (GncItemEditClass *gnc_item_edit_class)
 {
     GObjectClass  *object_class;
-    GnomeCanvasItemClass *item_class;
+    GtkWidgetClass *widget_class;
 
     gnc_item_edit_parent_class = g_type_class_peek_parent (gnc_item_edit_class);
 
     object_class = G_OBJECT_CLASS (gnc_item_edit_class);
-    item_class = GNOME_CANVAS_ITEM_CLASS (gnc_item_edit_class);
+    widget_class = GTK_WIDGET_CLASS (gnc_item_edit_class);
 
     object_class->get_property = gnc_item_edit_get_property;
     object_class->set_property = gnc_item_edit_set_property;
@@ -1143,13 +1123,11 @@ gnc_item_edit_class_init (GncItemEditClass *gnc_item_edit_class)
                                              GTK_TYPE_ENTRY,
                                              G_PARAM_READWRITE));
 
-    /* GnomeCanvasItem method overrides */
-    item_class->update      = gnc_item_edit_update;
-    item_class->draw        = gnc_item_edit_draw;
-    item_class->point       = gnc_item_edit_point;
-    item_class->realize     = gnc_item_edit_realize;
-    item_class->unrealize   = gnc_item_edit_unrealize;
-    //item_class->event       = gnc_item_edit_event;
+    /* GtkWidget method overrides */
+    widget_class->configure_event = gnc_item_edit_configure_cb;
+    widget_class->expose_event    = gnc_item_edit_draw;
+    widget_class->realize         = gnc_item_edit_realize;
+    widget_class->unrealize       = gnc_item_edit_unrealize;
 }
 
 
@@ -1175,7 +1153,7 @@ gnc_item_edit_get_type (void)
         };
 
         gnc_item_edit_type =
-            g_type_register_static(gnome_canvas_item_get_type (),
+            g_type_register_static(GTK_TYPE_DRAWING_AREA,
                                    "GncItemEdit",
                                    &gnc_item_edit_info, 0);
     }
@@ -1185,30 +1163,27 @@ gnc_item_edit_get_type (void)
 
 
 static void
-create_popup_toggle(GnomeCanvasGroup *parent, PopupToggle *pt)
+create_popup_toggle(GncItemEdit *item_edit)
 {
-    GtkWidget *button, *arrow;
-
-    arrow = gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_IN);
-    gtk_misc_set_alignment(GTK_MISC(arrow), 0.5, 0.5);
-    pt->arrow = GTK_ARROW(arrow);
+    GnucashSheet *sheet = item_edit->sheet;
 
-    button = gtk_toggle_button_new();
-    pt->toggle_button = GTK_TOGGLE_BUTTON(button);
-    gtk_container_add(GTK_CONTAINER(button), arrow);
+    item_edit->popup_toggle.arrow = GTK_ARROW(gtk_arrow_new(GTK_ARROW_DOWN,
+                                                            GTK_SHADOW_IN));
+    gtk_misc_set_alignment(GTK_MISC(item_edit->popup_toggle.arrow), 0.5, 0.5);
 
-    gtk_widget_show_all( GTK_WIDGET(pt->toggle_button) );
+    item_edit->popup_toggle.toggle_button =
+        GTK_TOGGLE_BUTTON(gtk_toggle_button_new());
+    gtk_container_add(GTK_CONTAINER(item_edit->popup_toggle.toggle_button),
+                      GTK_WIDGET(item_edit->popup_toggle.arrow));
+    gtk_widget_set_no_show_all(GTK_WIDGET(item_edit->popup_toggle.toggle_button), TRUE);
 
-    pt->toggle_button_item =
-        gnome_canvas_item_new(parent, gnome_canvas_widget_get_type(),
-                              "widget", button,
-                              "size-pixels", TRUE,
-                              NULL);
+    gtk_layout_put(GTK_LAYOUT(sheet),
+                   GTK_WIDGET(item_edit->popup_toggle.toggle_button), 0, 0);
 }
 
 
-GnomeCanvasItem *
-gnc_item_edit_new (GnomeCanvasGroup *parent, GnucashSheet *sheet, GtkWidget *entry)
+GtkWidget *
+gnc_item_edit_new (GnucashSheet *sheet)
 {
     static const GtkTargetEntry targets[] =
     {
@@ -1219,20 +1194,15 @@ gnc_item_edit_new (GnomeCanvasGroup *parent, GnucashSheet *sheet, GtkWidget *ent
     };
     static const gint n_targets = sizeof(targets) / sizeof(targets[0]);
 
-    GnomeCanvasItem *item;
-    GncItemEdit *item_edit;
-
-    item = gnome_canvas_item_new (parent,
-                                  GNC_TYPE_ITEM_EDIT,
-                                  "sheet", sheet,
-                                  "editor", sheet->entry,
-                                  NULL);
-
-    item_edit = GNC_ITEM_EDIT(item);
-
-    item_edit->parent = parent;
+    GncItemEdit *item_edit =
+            g_object_new (GNC_TYPE_ITEM_EDIT,
+                           "sheet", sheet,
+                           "editor", sheet->entry,
+                           NULL);
+    gtk_layout_put (GTK_LAYOUT(sheet), GTK_WIDGET(item_edit), 0, 0);
+    gtk_widget_set_no_show_all(GTK_WIDGET(item_edit), TRUE);
 
-    create_popup_toggle (parent, &item_edit->popup_toggle);
+    create_popup_toggle (item_edit);
 
     if (clipboard_atom == GDK_NONE)
         clipboard_atom = gdk_atom_intern ("CLIPBOARD", FALSE);
@@ -1245,7 +1215,7 @@ gnc_item_edit_new (GnomeCanvasGroup *parent, GnucashSheet *sheet, GtkWidget *ent
                                clipboard_atom,
                                targets, n_targets);
 
-    return item;
+    return GTK_WIDGET(item_edit);
 }
 
 
@@ -1256,8 +1226,7 @@ gnc_item_edit_new_list (GncItemEdit *item_edit, GtkListStore *shared_store)
 
     g_return_val_if_fail (GNC_IS_ITEM_EDIT(item_edit), NULL);
 
-    item_list = GNC_ITEM_LIST (gnc_item_list_new (item_edit->parent,
-                               shared_store));
+    item_list = GNC_ITEM_LIST (gnc_item_list_new (shared_store));
 
     return item_list;
 }
@@ -1269,7 +1238,7 @@ gnc_item_edit_new_date_picker (GncItemEdit *item_edit)
 
     g_return_val_if_fail (GNC_IS_ITEM_EDIT (item_edit), NULL);
 
-    gdp = GNC_DATE_PICKER (gnc_date_picker_new (item_edit->parent));
+    gdp = GNC_DATE_PICKER (gnc_date_picker_new ());
 
     return gdp;
 }
@@ -1279,14 +1248,15 @@ void
 gnc_item_edit_show_popup (GncItemEdit *item_edit)
 {
     GtkToggleButton *toggle;
+    GtkAdjustment *vadj;
     GtkAnchorType popup_anchor;
     GtkAllocation alloc;
     GnucashSheet *sheet;
     gint x, y, w, h;
     gint y_offset;
     gint popup_x, popup_y;
-    gint popup_width;
-    gint popup_height;
+    gint popup_w;
+    gint popup_h;
     gint popup_max_width;
     gint view_height;
     gint view_width;
@@ -1305,7 +1275,8 @@ gnc_item_edit_show_popup (GncItemEdit *item_edit)
     view_height = alloc.height;
     view_width  = alloc.width;
 
-    gnome_canvas_get_scroll_offsets (GNOME_CANVAS(sheet), NULL, &y_offset);
+    vadj = gtk_layout_get_vadjustment(GTK_LAYOUT(sheet));
+    y_offset = gtk_adjustment_get_value(vadj);
     gnc_item_edit_get_pixel_coords (item_edit, &x, &y, &w, &h);
 
     popup_x = x;
@@ -1317,45 +1288,34 @@ gnc_item_edit_show_popup (GncItemEdit *item_edit)
     {
         popup_y = y;
         popup_anchor = GTK_ANCHOR_SW;
-        popup_height = up_height;
+        popup_h = up_height;
     }
     else
     {
         popup_y = y + h;
         popup_anchor = GTK_ANCHOR_NW;
-        popup_height = down_height;
+        popup_h = down_height;
     }
 
     popup_max_width = view_width - popup_x;
 
     if (item_edit->get_popup_height)
-        popup_height = item_edit->get_popup_height
-                       (item_edit->popup_item, popup_height, h,
+        popup_h = item_edit->get_popup_height
+                       (item_edit->popup_item, popup_h, h,
                         item_edit->popup_user_data);
 
     if (item_edit->popup_autosize)
-        popup_width =
+        popup_w =
             item_edit->popup_autosize (item_edit->popup_item,
                                        popup_max_width,
                                        item_edit->popup_user_data);
     else
-        popup_width = 0;
-
-    if (popup_width > 0)
-        gnome_canvas_item_set (item_edit->popup_item,
-                               "x", (gdouble) popup_x,
-                               "y", (gdouble) popup_y,
-                               "height", (gdouble) popup_height,
-                               "width", (gdouble) popup_width,
-                               "anchor", popup_anchor,
-                               NULL);
-    else
-        gnome_canvas_item_set (item_edit->popup_item,
-                               "x", (gdouble) popup_x,
-                               "y", (gdouble) popup_y,
-                               "height", (gdouble) popup_height,
-                               "anchor", popup_anchor,
-                               NULL);
+        popup_w = -1;
+
+    gtk_layout_move (GTK_LAYOUT(sheet), item_edit->popup_item,
+                     popup_x, popup_y);
+    gtk_widget_set_size_request(item_edit->popup_item, popup_w, popup_h);
+    // FIXME what about the GtkAnchorType that the GNOME_CANVAS_ITEM used ?
 
     toggle = item_edit->popup_toggle.toggle_button;
 
@@ -1389,10 +1349,8 @@ gnc_item_edit_show_popup (GncItemEdit *item_edit)
         {
             popup_x -= popup_width - popup_max_width;
             popup_x = MAX (0, popup_x);
-
-            gnome_canvas_item_set (item_edit->popup_item,
-                                   "x", (gdouble) popup_x,
-                                   NULL);
+            gtk_layout_move (GTK_LAYOUT(sheet), item_edit->popup_item,
+                             popup_x, popup_y);
         }
     }
 }
@@ -1407,7 +1365,7 @@ gnc_item_edit_hide_popup (GncItemEdit *item_edit)
     if (!item_edit->is_popup)
         return;
 
-    gnome_canvas_item_set (item_edit->popup_item, "x", -10000.0, NULL);
+    gtk_widget_hide (item_edit->popup_item);
 
     gtk_arrow_set (item_edit->popup_toggle.arrow,
                    GTK_ARROW_DOWN, GTK_SHADOW_IN);
@@ -1419,14 +1377,14 @@ gnc_item_edit_hide_popup (GncItemEdit *item_edit)
 }
 
 void
-gnc_item_edit_set_popup (GncItemEdit        *item_edit,
-                         GnomeCanvasItem *popup_item,
-                         GetPopupHeight   get_popup_height,
-                         PopupAutosize    popup_autosize,
-                         PopupSetFocus    popup_set_focus,
-                         PopupPostShow    popup_post_show,
-                         PopupGetWidth    popup_get_width,
-                         gpointer         popup_user_data)
+gnc_item_edit_set_popup (GncItemEdit    *item_edit,
+                         GtkWidget      *popup_item,
+                         GetPopupHeight  get_popup_height,
+                         PopupAutosize   popup_autosize,
+                         PopupSetFocus   popup_set_focus,
+                         PopupPostShow   popup_post_show,
+                         PopupGetWidth   popup_get_width,
+                         gpointer        popup_user_data)
 {
     g_return_if_fail (GNC_IS_ITEM_EDIT(item_edit));
 
@@ -1453,7 +1411,7 @@ gnc_item_edit_set_popup (GncItemEdit        *item_edit,
         gnc_item_edit_hide_popup_toggle (item_edit);
     }
 
-    gnc_item_edit_update (GNOME_CANVAS_ITEM (item_edit), NULL, NULL, 0);
+    gnc_item_edit_update (item_edit);
 }
 
 void
diff --git a/src/register/register-gnome/gnucash-item-edit.h b/src/register/register-gnome/gnucash-item-edit.h
index 4c310ff..5ab0d95 100644
--- a/src/register/register-gnome/gnucash-item-edit.h
+++ b/src/register/register-gnome/gnucash-item-edit.h
@@ -21,7 +21,7 @@
 #ifndef GNUCASH_ITEM_EDIT_H
 #define GNUCASH_ITEM_EDIT_H
 
-
+#include <gtk/gtk.h>
 #include "gnucash-date-picker.h"
 #include "gnucash-item-list.h"
 #include "gnucash-sheet.h"
@@ -38,44 +38,37 @@
 #define GNC_IS_ITEM_EDIT(o)       (G_TYPE_CHECK_INSTANCE_TYPE((o), GNC_TYPE_ITEM_EDIT))
 
 
-typedef int (*GetPopupHeight) (GnomeCanvasItem *item,
+typedef int (*GetPopupHeight) (GtkWidget *item,
                                int space_available,
                                int row_height,
                                gpointer user_data);
 
-typedef int (*PopupAutosize) (GnomeCanvasItem *item,
+typedef int (*PopupAutosize) (GtkWidget *item,
                               int max_width,
                               gpointer user_data);
 
-typedef void (*PopupSetFocus) (GnomeCanvasItem *item,
+typedef void (*PopupSetFocus) (GtkWidget *item,
                                gpointer user_data);
 
-typedef void (*PopupPostShow) (GnomeCanvasItem *item,
+typedef void (*PopupPostShow) (GtkWidget *item,
                                gpointer user_data);
 
-typedef int (*PopupGetWidth) (GnomeCanvasItem *item,
+typedef int (*PopupGetWidth) (GtkWidget *item,
                               gpointer user_data);
 
 typedef struct _PopupToggle PopupToggle;
 struct _PopupToggle
 {
     GtkToggleButton *toggle_button;
-    GnomeCanvasItem *toggle_button_item;
-
     gint toggle_offset;
-
     GtkArrow *arrow;
-
     gboolean signals_connected;
 };
 
 
 typedef struct
 {
-    GnomeCanvasItem canvas_item;
-
-    GnomeCanvasGroup *parent;
-
+    GtkDrawingArea edit_area;
     GnucashSheet *sheet;
 
     /* The editor whose status we reflect on the sheet */
@@ -88,7 +81,7 @@ typedef struct
 
     PopupToggle popup_toggle;
 
-    GnomeCanvasItem *popup_item;
+    GtkWidget *popup_item;
     GetPopupHeight   get_popup_height;
     PopupAutosize    popup_autosize;
     PopupSetFocus    popup_set_focus;
@@ -110,7 +103,7 @@ typedef struct
 
 typedef struct
 {
-    GnomeCanvasItemClass parent_class;
+    GtkDrawingAreaClass parent_class;
 } GncItemEditClass;
 
 
@@ -122,20 +115,19 @@ void gnc_item_edit_get_pixel_coords (GncItemEdit *item_edit,
                                      int *x, int *y,
                                      int *w, int *h);
 
-GnomeCanvasItem *gnc_item_edit_new (GnomeCanvasGroup *parent,
-                                    GnucashSheet *sheet, GtkWidget *entry);
+GtkWidget *gnc_item_edit_new (GnucashSheet *sheet);
 
 GncItemList * gnc_item_edit_new_list (GncItemEdit *item_edit, GtkListStore *shared_store);
 GNCDatePicker * gnc_item_edit_new_date_picker (GncItemEdit *item_edit);
 
-void gnc_item_edit_set_popup (GncItemEdit     *item_edit,
-                              GnomeCanvasItem *popup_item,
-                              GetPopupHeight   get_popup_height,
-                              PopupAutosize    popup_autosize,
-                              PopupSetFocus    popup_set_focus,
-                              PopupPostShow    popup_post_show,
-                              PopupGetWidth    popup_get_width,
-                              gpointer         popup_user_data);
+void gnc_item_edit_set_popup (GncItemEdit    *item_edit,
+                              GtkWidget      *popup_item,
+                              GetPopupHeight  get_popup_height,
+                              PopupAutosize   popup_autosize,
+                              PopupSetFocus   popup_set_focus,
+                              PopupPostShow   popup_post_show,
+                              PopupGetWidth   popup_get_width,
+                              gpointer        popup_user_data);
 
 void gnc_item_edit_show_popup (GncItemEdit *item_edit);
 void gnc_item_edit_hide_popup (GncItemEdit *item_edit);
diff --git a/src/register/register-gnome/gnucash-item-list.c b/src/register/register-gnome/gnucash-item-list.c
index 1cdc036..3f09722 100644
--- a/src/register/register-gnome/gnucash-item-list.c
+++ b/src/register/register-gnome/gnucash-item-list.c
@@ -31,7 +31,6 @@
 
 #include <glib/gi18n.h>
 #include <gdk/gdkkeysyms.h>
-#include <libgnomecanvas/libgnomecanvas.h>
 
 #include "gnc-engine.h"
 #include "gnucash-item-list.h"
@@ -43,11 +42,10 @@ enum
     SELECT_ITEM,
     CHANGE_ITEM,
     ACTIVATE_ITEM,
-    KEY_PRESS_EVENT,
     LAST_SIGNAL
 };
 
-static GnomeCanvasWidgetClass *gnc_item_list_parent_class;
+static GtkFrame *gnc_item_list_parent_class;
 static guint gnc_item_list_signals[LAST_SIGNAL];
 
 gboolean _gnc_item_find_selection(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data);
@@ -239,7 +237,6 @@ gnc_item_list_init (GncItemList *item_list)
 {
     item_list->tree_view = NULL;
     item_list->list_store = NULL;
-    item_list->frame = NULL;
 }
 
 
@@ -333,8 +330,7 @@ gnc_item_list_key_event (GtkWidget *widget, GdkEventKey *event, gpointer data)
     /* These go to the sheet */
     g_signal_stop_emission_by_name (G_OBJECT (widget), "key_press_event");
 
-    g_signal_emit (G_OBJECT (item_list),
-                   gnc_item_list_signals[KEY_PRESS_EVENT], 0, event);
+    g_signal_emit_by_name (G_OBJECT (item_list), "key_press_event", 0, event);
 
     return TRUE;
 }
@@ -378,20 +374,9 @@ gnc_item_list_class_init (GncItemListClass *item_list_class)
                       G_TYPE_NONE, 1,
                       G_TYPE_POINTER);
 
-    gnc_item_list_signals[KEY_PRESS_EVENT] =
-        g_signal_new ("key_press_event",
-                      G_OBJECT_CLASS_TYPE (object_class),
-                      G_SIGNAL_RUN_LAST,
-                      G_STRUCT_OFFSET(GncItemListClass, key_press_event),
-                      NULL, NULL,
-                      g_cclosure_marshal_VOID__BOXED,
-                      G_TYPE_NONE, 1,
-                      GDK_TYPE_EVENT);
-
     item_list_class->select_item = NULL;
     item_list_class->change_item = NULL;
     item_list_class->activate_item = NULL;
-    item_list_class->key_press_event = NULL;
 }
 
 
@@ -416,7 +401,7 @@ gnc_item_list_get_type (void)
         };
 
         gnc_item_list_type =
-            g_type_register_static (gnome_canvas_widget_get_type(), "GncItemList",
+            g_type_register_static (GTK_TYPE_FRAME, "GncItemList",
                                     &gnc_item_list_info, 0);
     }
 
@@ -446,21 +431,20 @@ tree_view_selection_changed (GtkTreeSelection *selection,
     g_free (string);
 }
 
-GnomeCanvasItem *
-gnc_item_list_new(GnomeCanvasGroup *parent, GtkListStore *list_store)
+GtkWidget *
+gnc_item_list_new(GtkListStore *list_store)
 {
-    GtkWidget *frame;
     GtkWidget *tree_view;
     GtkWidget *scrollwin;
     GtkCellRenderer *renderer;
     GtkTreeViewColumn *column;
-    GnomeCanvasItem *item;
-    GncItemList *item_list;
 
-    frame = gtk_frame_new (NULL);
+    GncItemList *item_list =
+        GNC_ITEM_LIST(g_object_new (GNC_TYPE_ITEM_LIST,
+                                    NULL));
 
     scrollwin = gnc_scrolled_window_new ();
-    gtk_container_add (GTK_CONTAINER (frame), scrollwin);
+    gtk_container_add (GTK_CONTAINER (item_list), scrollwin);
 
     gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin),
                                     GTK_POLICY_AUTOMATIC,
@@ -489,20 +473,9 @@ gnc_item_list_new(GnomeCanvasGroup *parent, GtkListStore *list_store)
     gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
 
     gtk_container_add (GTK_CONTAINER (scrollwin), tree_view);
-    gtk_widget_show_all (frame);
-
-    item = gnome_canvas_item_new (parent, gnc_item_list_get_type(),
-                                  "widget", frame,
-                                  "size_pixels", TRUE,
-                                  "x", -10000.0,
-                                  "y", -10000.0,
-                                  NULL);
-
-    item_list = GNC_ITEM_LIST (item);
 
     item_list->tree_view = GTK_TREE_VIEW (tree_view);
     item_list->list_store = list_store;
-    item_list->frame = frame;
 
     g_signal_connect (G_OBJECT(tree_view), "button_press_event",
                       G_CALLBACK (gnc_item_list_button_event), item_list);
@@ -513,7 +486,7 @@ gnc_item_list_new(GnomeCanvasGroup *parent, GtkListStore *list_store)
     g_signal_connect (G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view))), "changed",
                       G_CALLBACK (tree_view_selection_changed), item_list);
 
-    return item;
+    return GTK_WIDGET(item_list);
 }
 
 
diff --git a/src/register/register-gnome/gnucash-item-list.h b/src/register/register-gnome/gnucash-item-list.h
index d14fb8d..e8f4887 100644
--- a/src/register/register-gnome/gnucash-item-list.h
+++ b/src/register/register-gnome/gnucash-item-list.h
@@ -23,7 +23,8 @@
 #ifndef GNUCASH_ITEM_LIST_H
 #define GNUCASH_ITEM_LIST_H
 
-#include <libgnomecanvas/libgnomecanvas.h>
+#include <gtk/gtk.h>
+
 /** @ingroup Register
  * @addtogroup Gnome
  * @{
@@ -38,16 +39,15 @@
 
 typedef struct
 {
-    GnomeCanvasWidget canvas_widget;
+    GtkFrame frame;
 
     GtkTreeView *tree_view;
     GtkListStore *list_store; /* Contains the list items */
-    GtkWidget *frame;         /* frame around everything */
 } GncItemList;
 
 typedef struct
 {
-    GnomeCanvasWidgetClass parent_class;
+    GtkFrameClass parent_class;
 
     void (*select_item) (GncItemList *item_list,
                          char        *item_string);
@@ -58,15 +58,12 @@ typedef struct
     void (*activate_item) (GncItemList *item_list,
                            char        *item_string);
 
-    void (*key_press_event) (GncItemList *item_list,
-                             GdkEventKey *event);
-
 } GncItemListClass;
 
 
 GType gnc_item_list_get_type (void);
 
-GnomeCanvasItem *gnc_item_list_new (GnomeCanvasGroup *parent, GtkListStore *shared_store);
+GtkWidget *gnc_item_list_new (GtkListStore *shared_store);
 
 gint gnc_item_list_num_entries (GncItemList *item_list);
 
diff --git a/src/register/register-gnome/gnucash-sheet.c b/src/register/register-gnome/gnucash-sheet.c
index 6409ae3..35c445d 100644
--- a/src/register/register-gnome/gnucash-sheet.c
+++ b/src/register/register-gnome/gnucash-sheet.c
@@ -32,7 +32,6 @@
 #include <glib.h>
 #include <glib/gprintf.h>
 #include <gdk/gdkkeysyms.h>
-#include <libgnomecanvas/libgnomecanvas.h>
 
 #include "gnucash-sheet.h"
 #include "gnucash-sheetP.h"
@@ -72,8 +71,8 @@ enum
 
 /* This static indicates the debugging module that this .o belongs to. */
 static QofLogModule log_module = GNC_MOD_REGISTER;
-static GnomeCanvasClass *sheet_parent_class;
-static GtkTableClass *register_parent_class;
+static GtkLayout *sheet_parent_class;
+static GtkTable *register_parent_class;
 static guint register_signals[LAST_SIGNAL];
 
 
@@ -195,7 +194,7 @@ gnucash_sheet_hide_editing_cursor (GnucashSheet *sheet)
     if (sheet->item_editor == NULL)
         return;
 
-    gnome_canvas_item_hide (GNOME_CANVAS_ITEM (sheet->item_editor));
+    gtk_widget_hide (sheet->item_editor);
     gnc_item_edit_hide_popup (GNC_ITEM_EDIT(sheet->item_editor));
 }
 
@@ -348,7 +347,7 @@ gnucash_sheet_cursor_move (GnucashSheet *sheet, VirtualLocation virt_loc)
     gnucash_sheet_make_cell_visible (sheet, virt_loc);
 
     changed_cells = !virt_loc_equal (virt_loc, old_virt_loc);
-    
+
     /* If we've changed cells, redraw the headers */
     if (changed_cells)
         gnc_header_request_redraw (GNC_HEADER(sheet->header_item));
@@ -390,6 +389,7 @@ gnucash_sheet_compute_visible_range (GnucashSheet *sheet)
 {
     VirtualCellLocation vcell_loc;
     GtkAllocation alloc;
+    GtkAdjustment *adj;
     gint height;
     gint cy;
     gint old_visible_blocks, old_visible_rows;
@@ -400,7 +400,8 @@ gnucash_sheet_compute_visible_range (GnucashSheet *sheet)
     gtk_widget_get_allocation (GTK_WIDGET(sheet), &alloc);
     height = alloc.height;
 
-    gnome_canvas_get_scroll_offsets (GNOME_CANVAS(sheet), NULL, &cy);
+    adj = gtk_layout_get_vadjustment(GTK_LAYOUT(sheet));
+    cy = gtk_adjustment_get_value(adj);
 
     sheet->top_block = gnucash_sheet_y_pixel_to_block (sheet, cy);
 
@@ -452,6 +453,7 @@ gnucash_sheet_show_row (GnucashSheet *sheet, gint virt_row)
     VirtualCellLocation vcell_loc = { virt_row, 0 };
     SheetBlock *block;
     GtkAllocation alloc;
+    GtkAdjustment *adj;
     gint block_height;
     gint height;
     gint cx, cy;
@@ -465,7 +467,10 @@ gnucash_sheet_show_row (GnucashSheet *sheet, gint virt_row)
     vcell_loc.virt_row = MIN (vcell_loc.virt_row,
                               sheet->num_virt_rows - 1);
 
-    gnome_canvas_get_scroll_offsets (GNOME_CANVAS(sheet), &cx, &cy);
+    adj = gtk_layout_get_hadjustment(GTK_LAYOUT(sheet));
+    cx = gtk_adjustment_get_value(adj);
+    adj = gtk_layout_get_vadjustment(GTK_LAYOUT(sheet));
+    cy = gtk_adjustment_get_value(adj);
     x = cx;
 
     gtk_widget_get_allocation (GTK_WIDGET(sheet), &alloc);
@@ -524,6 +529,7 @@ gnucash_sheet_show_range (GnucashSheet *sheet,
     SheetBlock *start_block;
     SheetBlock *end_block;
     GtkAllocation alloc;
+    GtkAdjustment *adj;
     gint block_height;
     gint height;
     gint cx, cy;
@@ -540,7 +546,10 @@ gnucash_sheet_show_range (GnucashSheet *sheet,
     end_loc.virt_row = MIN (end_loc.virt_row,
                             sheet->num_virt_rows - 1);
 
-    gnome_canvas_get_scroll_offsets (GNOME_CANVAS(sheet), &cx, &cy);
+    adj = gtk_layout_get_hadjustment(GTK_LAYOUT(sheet));
+    cx = gtk_adjustment_get_value(adj);
+    adj = gtk_layout_get_vadjustment(GTK_LAYOUT(sheet));
+    cy = gtk_adjustment_get_value(adj);
     x = cx;
 
     gtk_widget_get_allocation (GTK_WIDGET(sheet), &alloc);
@@ -644,8 +653,7 @@ gnucash_sheet_redraw_all (GnucashSheet *sheet)
     g_return_if_fail (sheet != NULL);
     g_return_if_fail (GNUCASH_IS_SHEET(sheet));
 
-    gnome_canvas_request_redraw (GNOME_CANVAS (sheet), 0, 0,
-                                 sheet->width + 1, sheet->height + 1);
+    gtk_widget_queue_draw (GTK_WIDGET (sheet));
 
     g_signal_emit_by_name (sheet->reg, "redraw_all");
 }
@@ -663,15 +671,12 @@ void
 gnucash_sheet_redraw_block (GnucashSheet *sheet, VirtualCellLocation vcell_loc)
 {
     gint x, y, w, h;
-    GnomeCanvas *canvas;
     SheetBlock *block;
     GtkAllocation alloc;
 
     g_return_if_fail (sheet != NULL);
     g_return_if_fail (GNUCASH_IS_SHEET(sheet));
 
-    canvas = GNOME_CANVAS(sheet);
-
     block = gnucash_sheet_get_block (sheet, vcell_loc);
     if (!block || !block->style)
         return;
@@ -684,7 +689,7 @@ gnucash_sheet_redraw_block (GnucashSheet *sheet, VirtualCellLocation vcell_loc)
     w = MIN(block->style->dimensions->width,
             alloc.width);
 
-    gnome_canvas_request_redraw (canvas, x, y, x + w + 1, y + h + 1);
+    gtk_widget_queue_draw_area (GTK_WIDGET(sheet), x, y, w + 1, h + 1);
 }
 
 static void
@@ -735,18 +740,14 @@ static GnucashSheet *
 gnucash_sheet_create (Table *table)
 {
     GnucashSheet *sheet;
-    GnomeCanvas  *canvas;
 
     ENTER("table=%p", table);
 
     sheet = g_object_new (GNUCASH_TYPE_SHEET, NULL);
-    canvas = GNOME_CANVAS (sheet);
-
     sheet->table = table;
     sheet->entry = NULL;
-
-    sheet->vadj = gtk_layout_get_vadjustment (GTK_LAYOUT(canvas));
-    sheet->hadj = gtk_layout_get_hadjustment (GTK_LAYOUT(canvas));
+    sheet->vadj = gtk_layout_get_vadjustment (GTK_LAYOUT(sheet));
+    sheet->hadj = gtk_layout_get_hadjustment (GTK_LAYOUT(sheet));
 
     g_signal_connect (G_OBJECT (sheet->vadj), "value_changed",
                       G_CALLBACK (gnucash_sheet_vadjustment_value_changed), sheet);
@@ -1228,7 +1229,7 @@ gnucash_sheet_start_editing_at_cursor (GnucashSheet *sheet)
     text = gnc_table_get_entry (sheet->table, virt_loc);
 
     gnc_item_edit_configure (GNC_ITEM_EDIT(sheet->item_editor));
-    gnome_canvas_item_show (GNOME_CANVAS_ITEM (sheet->item_editor));
+    gtk_widget_show (GTK_WIDGET (sheet->item_editor));
 
     gtk_entry_set_text (GTK_ENTRY(sheet->entry), text);
 
@@ -2426,10 +2427,10 @@ gnucash_sheet_col_max_width (GnucashSheet *sheet, gint virt_col, gint cell_col)
 void
 gnucash_sheet_set_scroll_region (GnucashSheet *sheet)
 {
-    int height, width;
+    guint new_h, new_w;
     GtkWidget *widget;
     GtkAllocation alloc;
-    double x, y;
+    guint old_h, old_w;
 
     if (!sheet)
         return;
@@ -2439,16 +2440,17 @@ gnucash_sheet_set_scroll_region (GnucashSheet *sheet)
     if (!sheet->header_item || !GNC_HEADER(sheet->header_item)->style)
         return;
 
-    gnome_canvas_get_scroll_region (GNOME_CANVAS(sheet),
-                                    NULL, NULL, &x, &y);
+    gtk_layout_get_size (GTK_LAYOUT(sheet), &old_w, &old_h);
 
     gtk_widget_get_allocation (GTK_WIDGET(sheet), &alloc);
-    height = MAX (sheet->height, alloc.height);
-    width  = MAX (sheet->width, alloc.width);
+    new_h = MAX (sheet->height, alloc.height);
+    new_w  = MAX (sheet->width, alloc.width);
+
+    if (new_w != old_w || new_h != old_h)
+        gtk_layout_set_size (GTK_LAYOUT(sheet), new_w, new_h);
 
-    if (width != (int)x || height != (int)y)
-        gnome_canvas_set_scroll_region (GNOME_CANVAS(sheet),
-                                        0, 0, width, height);
+    if (sheet->grid)
+        gnc_grid_configure (sheet->grid);
 }
 
 static void
@@ -2772,10 +2774,8 @@ gnucash_sheet_class_init (GnucashSheetClass *klass)
 static void
 gnucash_sheet_init (GnucashSheet *sheet)
 {
-    GnomeCanvas *canvas = GNOME_CANVAS (sheet);
-
-    gtk_widget_set_can_focus (GTK_WIDGET(canvas), TRUE);
-    gtk_widget_set_can_default (GTK_WIDGET(canvas), TRUE);
+    gtk_widget_set_can_focus (GTK_WIDGET(sheet), TRUE);
+    gtk_widget_set_can_default (GTK_WIDGET(sheet), TRUE);
 
     sheet->top_block = 1;
     sheet->bottom_block = 1;
@@ -2803,6 +2803,12 @@ gnucash_sheet_init (GnucashSheet *sheet)
                                  gnucash_sheet_block_construct,
                                  gnucash_sheet_block_destroy, NULL);
 
+    gtk_widget_add_events(GTK_WIDGET(sheet), (GDK_EXPOSURE_MASK
+    | GDK_BUTTON_PRESS_MASK
+    | GDK_BUTTON_RELEASE_MASK
+    | GDK_POINTER_MOTION_MASK
+    | GDK_POINTER_MOTION_HINT_MASK));
+
     /* setup IMContext */
     sheet->im_context = gtk_im_multicontext_new ();
     sheet->preedit_length = 0;
@@ -2843,7 +2849,7 @@ gnucash_sheet_get_type (void)
         };
 
         gnucash_sheet_type =
-            g_type_register_static (gnome_canvas_get_type (),
+            g_type_register_static (GTK_TYPE_LAYOUT,
                                     "GnucashSheet",
                                     &gnucash_sheet_info, 0);
     }
@@ -2855,34 +2861,19 @@ GtkWidget *
 gnucash_sheet_new (Table *table)
 {
     GnucashSheet *sheet;
-    GnomeCanvasItem *item;
-    GnomeCanvasGroup *sheet_group;
 
     g_return_val_if_fail (table != NULL, NULL);
 
     sheet = gnucash_sheet_create (table);
 
-    /* handy shortcuts */
-    sheet_group = gnome_canvas_root (GNOME_CANVAS(sheet));
-
     /* The grid */
-    item = gnome_canvas_item_new (sheet_group,
-                                  gnucash_grid_get_type (),
+    sheet->grid = g_object_new (GNUCASH_TYPE_GRID,
                                   "sheet", sheet,
                                   NULL);
-    sheet->grid = item;
-
-    /* some register data */
-    sheet->dimensions_hash_table = g_hash_table_new_full (g_int_hash,
-                                   g_int_equal,
-                                   g_free, NULL);
+    gtk_widget_show (sheet->grid);
 
     /* The cursor */
-    sheet->cursor = gnucash_cursor_new (sheet_group);
-    gnome_canvas_item_set (sheet->cursor,
-                           "sheet", sheet,
-                           "grid", sheet->grid,
-                           NULL);
+    sheet->cursor = gnucash_cursor_new (sheet);
 
     /* The entry widget */
     sheet->entry = gtk_entry_new ();
@@ -2891,9 +2882,12 @@ gnucash_sheet_new (Table *table)
     /*gtk_layout_put (GTK_LAYOUT (sheet), sheet->entry, 0, 0);*/
 
     /* set up the editor */
-    sheet->item_editor = gnc_item_edit_new(sheet_group, sheet, sheet->entry);
+    sheet->item_editor = gnc_item_edit_new(sheet);
 
-    gnome_canvas_item_hide (GNOME_CANVAS_ITEM(sheet->item_editor));
+    /* some register data */
+    sheet->dimensions_hash_table = g_hash_table_new_full (g_int_hash,
+                                   g_int_equal,
+                                   g_free, NULL);
 
     /* The GtkEntry must be realized in order to send events to
      * it.  We don't want to show it on the screen, but can't
diff --git a/src/register/register-gnome/gnucash-sheet.h b/src/register/register-gnome/gnucash-sheet.h
index 4eea17e..44dc24c 100644
--- a/src/register/register-gnome/gnucash-sheet.h
+++ b/src/register/register-gnome/gnucash-sheet.h
@@ -21,7 +21,6 @@
 #ifndef GNUCASH_SHEET_H
 #define GNUCASH_SHEET_H
 
-
 #include <gtk/gtk.h>
 #include "split-register-model.h"
 #include "table-allgui.h"
diff --git a/src/register/register-gnome/gnucash-sheetP.h b/src/register/register-gnome/gnucash-sheetP.h
index 0d997bc..3d4906f 100644
--- a/src/register/register-gnome/gnucash-sheetP.h
+++ b/src/register/register-gnome/gnucash-sheetP.h
@@ -21,10 +21,9 @@
 #ifndef GNUCASH_SHEETP_H
 #define GNUCASH_SHEETP_H
 
-
+#include <gtk/gtk.h>
 #include "gnucash-sheet.h"
 #include "gnucash-item-edit.h"
-#include <libgnomecanvas/libgnomecanvas.h>
 
 /** @ingroup Register
  * @addtogroup Gnome
@@ -36,7 +35,7 @@
 
 struct _GnucashSheet
 {
-    GnomeCanvas canvas;
+    GtkLayout layout;
 
     GtkWidget *window;
 
@@ -51,8 +50,8 @@ struct _GnucashSheet
     gint num_virt_cols;
 
     GtkWidget *header_item;
-    GnomeCanvasItem *cursor;
-    GnomeCanvasItem *grid;
+    GtkWidget *cursor;
+    GtkWidget *grid;
 
     GHashTable *cursor_styles;
 
@@ -61,7 +60,7 @@ struct _GnucashSheet
 
     GTable *blocks;
 
-    GnomeCanvasItem *item_editor;
+    GtkWidget *item_editor;
     GtkWidget *entry;
 
     gboolean   use_theme_colors;
@@ -128,7 +127,7 @@ struct _GnucashSheet
 
 struct _GnucashSheetClass
 {
-    GnomeCanvasClass parent_class;
+    GtkLayoutClass parent_class;
 };
 
 

commit 194634615f1bf7cd36703fd25b455a3629f1c442
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Fri Feb 24 19:20:56 2017 +0100

    Convert gnc-header from GnomeCanvas to GtkLayout
    
    Only reducing column size to less than window width needs extra
    research. The auto-expansion of the description column is not
    propagated to the header so header and body widths can go
    temporarily out of sync as of this commit.

diff --git a/src/register/register-gnome/gnucash-color.c b/src/register/register-gnome/gnucash-color.c
index a13cf88..7911c9c 100644
--- a/src/register/register-gnome/gnucash-color.c
+++ b/src/register/register-gnome/gnucash-color.c
@@ -168,4 +168,15 @@ gnucash_color_init (void)
     color_inited = 1;
 }
 
+void
+to_cairo_rgb (GdkColor *gdk_col, cairo_rgb *c_col)
+{
+    g_return_if_fail(gdk_col != NULL);
+    g_return_if_fail(c_col != NULL);
+
+    c_col->red   = gdk_col->red   / 65535.0;
+    c_col->green = gdk_col->green / 65535.0;
+    c_col->blue  = gdk_col->blue  / 65535.0;
+}
+
 
diff --git a/src/register/register-gnome/gnucash-color.h b/src/register/register-gnome/gnucash-color.h
index dcd9f6c..fd04a77 100644
--- a/src/register/register-gnome/gnucash-color.h
+++ b/src/register/register-gnome/gnucash-color.h
@@ -40,6 +40,16 @@ void      gnucash_color_alloc_name  (const char *name, GdkColor *color);
 void      gnucash_color_alloc_gdk   (GdkColor *color);
 GdkColor *gnucash_color_argb_to_gdk (guint32 argb);
 
+
+typedef struct
+{
+    double red;
+    double green;
+    double blue;
+} cairo_rgb;
+
+void to_cairo_rgb (GdkColor *gdk_col, cairo_rgb *c_col);
+
 extern GdkColor gn_white, gn_light_gray, gn_dark_gray;
 extern GdkColor gn_black, gn_blue, gn_red, gn_yellow;
 /** @} */
diff --git a/src/register/register-gnome/gnucash-cursor.c b/src/register/register-gnome/gnucash-cursor.c
index 96b41cd..28de50c 100644
--- a/src/register/register-gnome/gnucash-cursor.c
+++ b/src/register/register-gnome/gnucash-cursor.c
@@ -338,10 +338,10 @@ gnucash_cursor_set (GnucashCursor *cursor, VirtualLocation virt_loc)
 
     gnucash_cursor_configure (cursor);
 
-    gnome_canvas_item_set (GNOME_CANVAS_ITEM(sheet->header_item),
-                           "cursor_name",
-                           cursor->style->cursor->cursor_name,
-                           NULL);
+    g_object_set (G_OBJECT(sheet->header_item),
+                  "cursor_name",
+                  cursor->style->cursor->cursor_name,
+                  NULL);
 
     gnucash_cursor_request_redraw (cursor);
 }
diff --git a/src/register/register-gnome/gnucash-header.c b/src/register/register-gnome/gnucash-header.c
index dacb8db..deb2911 100644
--- a/src/register/register-gnome/gnucash-header.c
+++ b/src/register/register-gnome/gnucash-header.c
@@ -40,7 +40,7 @@
 
 #include "gnucash-header.h"
 
-static GnomeCanvasItem *parent_class;
+static GtkLayout *parent_class;
 
 enum
 {
@@ -49,40 +49,36 @@ enum
     PROP_CURSOR_NAME, /* the name of the current cursor */
 };
 
-
-static void
-gnc_header_update (GnomeCanvasItem *item, double *affine,
-                   ArtSVP *clip_path, int flags)
+static gboolean
+gnc_header_expose (GtkWidget *header,
+                   GdkEventExpose *event)
 {
-    if (GNOME_CANVAS_ITEM_CLASS (parent_class)->update)
-        (*GNOME_CANVAS_ITEM_CLASS (parent_class)->update)
-        (item, affine, clip_path, flags);
-
-    item->x1 = 0;
-    item->y1 = 0;
-    item->x2 = (INT_MAX / 2) - 1;
-    item->y2 = (INT_MAX / 2) - 1;
-}
+    cairo_t *cr;
+    GdkWindow *binwin = gtk_layout_get_bin_window(GTK_LAYOUT(header));
+
+    cr = gdk_cairo_create (binwin);
+    cairo_set_source_surface (cr, GNC_HEADER(header)->surface, 0, 0);
+    cairo_paint (cr);
+    cairo_destroy (cr);
 
+    GTK_WIDGET_CLASS (parent_class)->expose_event (header, event);
+
+    return TRUE;
+}
 
 static void
-gnc_header_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
-                 int x, int y, int width, int height)
+gnc_header_draw (GncHeader *header)
 {
-    GncHeader *header = GNC_HEADER(item);
     SheetBlockStyle *style = header->style;
     Table *table = header->sheet->table;
     VirtualLocation virt_loc;
     VirtualCell *vcell;
-    CellDimensions *cd;
-    GdkColor *bg_color, *fg_color;
-    int xpaint, ypaint;
-    const char *text;
+    GdkColor *gdk_bg_col, *gdk_fg_col;
+    cairo_rgb fg_color, bg_color;
+    int row_offset;
     CellBlock *cb;
-    guint32 argb, color_type;
-    int i, j;
-    int w, h;
-    PangoLayout *layout;
+    int i;
+    cairo_t *cr;
 
     virt_loc.vcell_loc.virt_row = 0;
     virt_loc.vcell_loc.virt_col = 0;
@@ -91,53 +87,50 @@ gnc_header_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
 
     if (header->sheet->use_theme_colors)
     {
-        color_type = gnc_table_get_gtkrc_bg_color (table, virt_loc,
-                     NULL);
-        bg_color = get_gtkrc_color(header->sheet, color_type);
+        guint32 color_type;
+        color_type = gnc_table_get_gtkrc_bg_color (table, virt_loc, NULL);
+        gdk_bg_col = get_gtkrc_color(header->sheet, color_type);
         color_type = gnc_table_get_gtkrc_fg_color (table, virt_loc);
-        fg_color = get_gtkrc_color(header->sheet, color_type);
+        gdk_fg_col = get_gtkrc_color(header->sheet, color_type);
     }
     else
     {
+        guint32 argb;
         argb = gnc_table_get_bg_color (table, virt_loc, NULL);
-        bg_color = gnucash_color_argb_to_gdk (argb);
+        gdk_bg_col = gnucash_color_argb_to_gdk (argb);
         argb = gnc_table_get_fg_color (table, virt_loc);
-        fg_color = gnucash_color_argb_to_gdk (argb);
+        gdk_fg_col = gnucash_color_argb_to_gdk (argb);
     }
 
-    h = style->dimensions->height;
-    h *= header->num_phys_rows;
-    h /= header->style->nrows;
-
-    gdk_gc_set_foreground (header->gc, bg_color);
-
-    gdk_draw_rectangle (drawable, header->gc, TRUE, 0, 0,
-                        style->dimensions->width, h);
-
-    gdk_gc_set_line_attributes (header->gc, 1, GDK_LINE_SOLID, GDK_CAP_NOT_LAST, GDK_JOIN_MITER);
-    gdk_gc_set_foreground (header->gc, fg_color);
+    to_cairo_rgb(gdk_fg_col, &fg_color);
+    to_cairo_rgb(gdk_bg_col, &bg_color);
 
-    gdk_draw_rectangle (drawable, header->gc, FALSE, -x, -y,
-                        style->dimensions->width, h);
+    if (header->surface)
+        cairo_surface_destroy (header->surface);
+    header->surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
+                                                header->width,
+                                                header->height);
 
-    gdk_draw_line (drawable, header->gc, 0, h + 1,
-                   style->dimensions->width, h + 1);
+    cr = cairo_create (header->surface);
+    cairo_rectangle (cr, 0.5, 0.5, header->width - 1.0, header->height - 1.0);
+    cairo_set_source_rgb (cr, bg_color.red, bg_color.green, bg_color.blue);
+    cairo_fill_preserve (cr);
+    cairo_set_source_rgb (cr, fg_color.red, fg_color.green, fg_color.blue);
+    cairo_set_line_width (cr, 1.0);
+    cairo_stroke (cr);
+//    cairo_set_line_width (cr, 1.0);
 
-    gdk_gc_set_line_attributes (header->gc, 1, GDK_LINE_SOLID, GDK_CAP_NOT_LAST, GDK_JOIN_MITER);
-    gdk_gc_set_background (header->gc, &gn_white);
-    gdk_gc_set_foreground (header->gc, fg_color);
     /*font = gnucash_register_font;*/
 
     vcell = gnc_table_get_virtual_cell
             (table, table->current_cursor_loc.vcell_loc);
     cb = vcell ? vcell->cellblock : NULL;
-
-    ypaint = -y;
-    h = 0;
+    row_offset = 0;
 
     for (i = 0; i < style->nrows; i++)
     {
-        xpaint = -x;
+        int col_offset = 0;
+        int h = 0, j;
         virt_loc.phys_row_offset = i;
 
         /* TODO: This routine is duplicated in several places.
@@ -147,14 +140,17 @@ gnc_header_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
 
         for (j = 0; j < style->ncols; j++)
         {
-            /*                        gint x_offset, y_offset;*/
-            GdkRectangle rect;
+            CellDimensions *cd;
+            double text_x, text_y, text_w, text_h;
             BasicCell *cell;
+            const char *text;
+            int w;
+            PangoLayout *layout;
 
             virt_loc.phys_col_offset = j;
 
             cd = gnucash_style_get_cell_dimensions (style, i, j);
-
+            h = cd->pixel_height;
             if (header->in_resize && (j == header->resize_col))
                 w = header->resize_col_width;
             else
@@ -163,14 +159,12 @@ gnc_header_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
             cell = gnc_cellblock_get_cell (cb, i, j);
             if (!cell || !cell->cell_name)
             {
-                xpaint += w;
+                col_offset += w;
                 continue;
             }
 
-            h = cd->pixel_height;
-
-            gdk_draw_rectangle (drawable, header->gc, FALSE,
-                                xpaint, ypaint, w, h);
+            cairo_rectangle (cr, col_offset + 0.5, row_offset + 0.5, w, h);
+            cairo_stroke (cr);
 
             virt_loc.vcell_loc =
                 table->current_cursor_loc.vcell_loc;
@@ -179,12 +173,6 @@ gnc_header_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
                 text = "";
 
             layout = gtk_widget_create_pango_layout (GTK_WIDGET (header->sheet), text);
-
-            /*y_offset = ((h / 2) +
-                                    (((font->ascent + font->descent) / 2) -
-                                     font->descent));
-                        y_offset++;*/
-
             switch (gnc_table_get_align (table, virt_loc))
             {
             default:
@@ -201,81 +189,57 @@ gnc_header_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
                 break;
             }
 
-            rect.x = xpaint + CELL_HPADDING;
-            rect.y = ypaint + 1;
-            rect.width = MAX (0, w - (2 * CELL_HPADDING));
-            rect.height = h - 2;
-
-            gdk_gc_set_clip_rectangle (header->gc, &rect);
-
-            gdk_draw_layout (drawable,
-                             header->gc,
-                             xpaint + CELL_HPADDING,
-                             ypaint + 1,
-                             layout);
-
+            text_x = col_offset + CELL_HPADDING;
+            text_y = row_offset + 1;
+            text_w = MAX (0, w - (2 * CELL_HPADDING));
+            text_h = h - 2;
+            cairo_save (cr);
+            cairo_rectangle (cr, text_x, text_y, text_w, text_h);
+            cairo_clip (cr);
+            cairo_move_to (cr, text_x, text_y);
+            pango_cairo_show_layout (cr, layout);
+            cairo_restore (cr);
             g_object_unref (layout);
 
-            gdk_gc_set_clip_rectangle (header->gc, NULL);
-
-            xpaint += w;
+            col_offset += w;
         }
 
-        ypaint += h;
+        row_offset += h;
     }
+
+    cairo_destroy (cr);
 }
 
 
 void
 gnc_header_request_redraw (GncHeader *header)
 {
-    GnomeCanvas *canvas = GNOME_CANVAS_ITEM(header)->canvas;
-
-    if (header->style == NULL)
+    if (!header->style)
         return;
 
-    gnome_canvas_request_redraw (canvas, 0, 0,
-                                 header->width + 1,
-                                 header->height + 1);
+    gnc_header_draw (header);
+    gtk_widget_queue_draw (GTK_WIDGET(header));
 }
 
 
 static void
-gnc_header_realize (GnomeCanvasItem *item)
+gnc_header_unrealize (GtkWidget *widget)
 {
-    GncHeader *header = GNC_HEADER (item);
-    GdkWindow *window;
-
-    if (GNOME_CANVAS_ITEM_CLASS (parent_class)->realize)
-        GNOME_CANVAS_ITEM_CLASS (parent_class)->realize (item);
+    GncHeader *header = GNC_HEADER (widget);
+    if (header->surface)
+        cairo_surface_destroy (header->surface);
+    header->surface = NULL;
 
-    window = gtk_widget_get_window (GTK_WIDGET (item->canvas));
-
-    header->gc = gdk_gc_new (window);
-}
-
-
-static void
-gnc_header_unrealize (GnomeCanvasItem *item)
-{
-    GncHeader *header = GNC_HEADER (item);
-
-    if (header->gc != NULL)
-    {
-        g_object_unref (header->gc);
-        header->gc = NULL;
-    }
-
-    if (header->resize_cursor != NULL)
+    if (header->resize_cursor)
         gdk_cursor_unref (header->resize_cursor);
     header->resize_cursor = NULL;
 
-    if (header->normal_cursor != NULL)
+    if (header->normal_cursor)
         gdk_cursor_unref (header->normal_cursor);
     header->normal_cursor = NULL;
 
-    if (GNOME_CANVAS_ITEM_CLASS (parent_class)->unrealize)
-        GNOME_CANVAS_ITEM_CLASS (parent_class)->unrealize (item);
+    if (GTK_WIDGET_CLASS (parent_class)->unrealize)
+        GTK_WIDGET_CLASS (parent_class)->unrealize (GTK_WIDGET(header));
 }
 
 
@@ -296,7 +260,6 @@ gnc_header_finalize (GObject *object)
 void
 gnc_header_reconfigure (GncHeader *header)
 {
-    GnomeCanvas *canvas;
     GnucashSheet *sheet;
     SheetBlockStyle *old_style;
     int w, h;
@@ -304,7 +267,6 @@ gnc_header_reconfigure (GncHeader *header)
     g_return_if_fail (header != NULL);
     g_return_if_fail (GNC_IS_HEADER (header));
 
-    canvas = GNOME_CANVAS_ITEM(header)->canvas;
     sheet = GNUCASH_SHEET(header->sheet);
     old_style = header->style;
 
@@ -328,12 +290,8 @@ gnc_header_reconfigure (GncHeader *header)
     {
         header->height = h;
         header->width = w;
-
-        gnome_canvas_set_scroll_region (GNOME_CANVAS(canvas),
-                                        0, 0, w, h);
-
-        gtk_widget_set_size_request (GTK_WIDGET(canvas), -1, h);
-
+        gtk_layout_set_size(GTK_LAYOUT(header), w, h);
+        gtk_widget_set_size_request(GTK_WIDGET(header), -1, h);
         gnc_header_request_redraw (header);
     }
 }
@@ -348,22 +306,13 @@ gnc_header_set_header_rows (GncHeader *header,
     header->num_phys_rows = num_phys_rows;
 }
 
-static double
-gnc_header_point (GnomeCanvasItem *item,
-                  double x, double y, int cx, int cy,
-                  GnomeCanvasItem **actual_item)
-{
-    *actual_item = item;
-    return 0.0;
-}
-
 /*
  *  Returns FALSE if pointer not on a resize line, else returns
  *  TRUE. Returns the index of the column to the left in the col
  *  argument.
  */
 static gboolean
-pointer_on_resize_line (GncHeader *header, int x, int y, int *col)
+pointer_on_resize_line (GncHeader *header, int x, G_GNUC_UNUSED int y, int *col)
 {
     SheetBlockStyle *style = header->style;
     gboolean on_the_line = FALSE;
@@ -426,11 +375,10 @@ gnc_header_resize_column (GncHeader *header, gint col, gint width)
     gnucash_cursor_configure (GNUCASH_CURSOR(sheet->cursor));
     gnc_item_edit_configure (gnucash_sheet_get_item_edit (sheet));
 
-    gnc_header_reconfigure (header);
     gnucash_sheet_set_scroll_region (sheet);
     gnucash_sheet_update_adjustments (sheet);
 
-    gnc_header_request_redraw (header);
+    gnc_header_reconfigure (header);
     gnucash_sheet_redraw_all (sheet);
 }
 
@@ -445,36 +393,22 @@ gnc_header_auto_resize_column (GncHeader *header, gint col)
 }
 
 static gint
-gnc_header_event (GnomeCanvasItem *item, GdkEvent *event)
+gnc_header_event (GtkWidget *widget, GdkEvent *event)
 {
-    GncHeader *header = GNC_HEADER(item);
-    GnomeCanvas *canvas = item->canvas;
+    GncHeader *header = GNC_HEADER(widget);
     int x, y;
     int col;
 
     switch (event->type)
     {
     case GDK_MOTION_NOTIFY:
-
-        gnome_canvas_w2c (canvas, event->motion.x, event->motion.y,
-                          &x, &y);
+        x = event->motion.x;
+        y = event->motion.y;
 
         if (header->in_resize)
         {
             int change = x - header->resize_x;
-            int new_width;
-
-            if (!header->needs_ungrab)
-            {
-                gnome_canvas_item_grab (item,
-                                        GDK_POINTER_MOTION_MASK |
-                                        GDK_BUTTON_RELEASE_MASK,
-                                        header->resize_cursor,
-                                        event->button.time);
-                header->needs_ungrab = TRUE;
-            }
-
-            new_width = header->resize_col_width + change;
+            int new_width = header->resize_col_width + change;
 
             if (new_width >= 0)
             {
@@ -488,10 +422,10 @@ gnc_header_event (GnomeCanvasItem *item, GdkEvent *event)
 
         if (pointer_on_resize_line(header, x, y, &col) &&
                 gnucash_style_col_is_resizable (header->style, col))
-            gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET(canvas)),
+            gdk_window_set_cursor (gtk_widget_get_window (widget),
                                    header->resize_cursor);
         else
-            gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET(canvas)),
+            gdk_window_set_cursor (gtk_widget_get_window (widget),
                                    header->normal_cursor);
         break;
 
@@ -502,8 +436,8 @@ gnc_header_event (GnomeCanvasItem *item, GdkEvent *event)
         if (event->button.button != 1)
             break;
 
-        gnome_canvas_w2c (canvas, event->button.x, event->button.y,
-                          &x, &y);
+        x = event->button.x;
+        y = event->button.y;
 
         if (pointer_on_resize_line (header, x, y, &col))
             col = find_resize_col (header, col);
@@ -530,22 +464,15 @@ gnc_header_event (GnomeCanvasItem *item, GdkEvent *event)
         if (event->button.button != 1)
             break;
 
-        gnome_canvas_w2c (canvas, event->button.x, event->button.y,
-                          &x, &y);
+        x = event->button.x;
+        y = event->button.y;
 
         if (header->in_resize)
         {
-            if (header->needs_ungrab)
-            {
-                gnome_canvas_item_ungrab (item,
-                                          event->button.time);
-                header->needs_ungrab = FALSE;
-
-                gnc_header_resize_column
+            gnc_header_resize_column
                 (header,
                  header->resize_col,
                  header->resize_col_width);
-            }
             header->in_resize = FALSE;
             header->resize_col = -1;
         }
@@ -562,8 +489,8 @@ gnc_header_event (GnomeCanvasItem *item, GdkEvent *event)
         if (event->button.button != 1)
             break;
 
-        gnome_canvas_w2c (canvas, event->button.x, event->button.y,
-                          &x, &y);
+        x = event->button.x;
+        y = event->button.y;
 
         on_line = pointer_on_resize_line (header, x, y, &ptr_col);
 
@@ -578,13 +505,6 @@ gnc_header_event (GnomeCanvasItem *item, GdkEvent *event)
         {
             header->in_resize = FALSE;
             header->resize_col = -1;
-            if (header->needs_ungrab)
-            {
-                gnome_canvas_item_ungrab (item,
-                                          event->button.time);
-                header->needs_ungrab = FALSE;
-            }
-
             gnc_header_auto_resize_column (header, resize_col);
         }
 
@@ -595,7 +515,7 @@ gnc_header_event (GnomeCanvasItem *item, GdkEvent *event)
         break;
     }
 
-    return TRUE;
+    return FALSE;
 }
 
 
@@ -634,7 +554,7 @@ gnc_header_set_property (GObject *object,
                          GParamSpec *pspec)
 {
     GncHeader *header = GNC_HEADER (object);
-    GtkLayout *layout = GTK_LAYOUT (GNOME_CANVAS_ITEM (header)->canvas);
+    GtkLayout *layout = GTK_LAYOUT (header);
     gboolean needs_update = FALSE;
     gchar *old_name;
 
@@ -675,6 +595,16 @@ gnc_header_init (GncHeader *header)
     header->height = 20;
     header->width = 400;
     header->style = NULL;
+
+    gtk_widget_add_events(GTK_WIDGET(header), (GDK_EXPOSURE_MASK
+                          | GDK_BUTTON_PRESS_MASK
+                          | GDK_BUTTON_RELEASE_MASK
+                          | GDK_POINTER_MOTION_MASK
+                          | GDK_POINTER_MOTION_HINT_MASK));
+
+    g_signal_connect(G_OBJECT(header), "configure_event",
+                     G_CALLBACK(gnc_header_reconfigure), NULL);
+    gtk_widget_show_all (GTK_WIDGET(header));
 }
 
 
@@ -682,7 +612,7 @@ static void
 gnc_header_class_init (GncHeaderClass *header_class)
 {
     GObjectClass  *object_class = G_OBJECT_CLASS (header_class);
-    GnomeCanvasItemClass *item_class = GNOME_CANVAS_ITEM_CLASS (header_class);
+    GtkWidgetClass *item_class = GTK_WIDGET_CLASS (header_class);
 
     parent_class = g_type_class_peek_parent (header_class);
 
@@ -706,12 +636,11 @@ gnc_header_class_init (GncHeaderClass *header_class)
                                              G_PARAM_READWRITE));
 
 
-    item_class->realize   = gnc_header_realize;
     item_class->unrealize = gnc_header_unrealize;
-    item_class->update    = gnc_header_update;
-    item_class->draw      = gnc_header_draw;
+//    item_class->update    = gnc_header_update;
+    item_class->expose_event = gnc_header_expose;
     item_class->event     = gnc_header_event;
-    item_class->point     = gnc_header_point;
+//    item_class->point     = gnc_header_point;
 }
 
 
@@ -735,7 +664,7 @@ gnc_header_get_type (void)
             (GInstanceInitFunc) gnc_header_init
         };
 
-        gnc_header_type = g_type_register_static (gnome_canvas_item_get_type (),
+        gnc_header_type = g_type_register_static (GTK_TYPE_LAYOUT,
                           "GncHeader",
                           &gnc_header_info, 0);
     }
@@ -744,40 +673,18 @@ gnc_header_get_type (void)
 }
 
 
-static void
-gnc_header_realized (GtkWidget *widget, gpointer data)
-{
-    gdk_window_set_back_pixmap (gtk_layout_get_bin_window (GTK_LAYOUT (widget)),
-                                NULL, FALSE);
-}
-
-
 GtkWidget *
 gnc_header_new (GnucashSheet *sheet)
 {
-    GnomeCanvasGroup *group;
-    GnomeCanvasItem *item;
-    GtkWidget *canvas;
-
-    canvas = gnome_canvas_new ();
-
-    g_signal_connect (G_OBJECT (canvas), "realize",
-                      G_CALLBACK (gnc_header_realized),
-                      NULL);
-
-    group = GNOME_CANVAS_GROUP (GNOME_CANVAS (canvas)->root);
-
-    item = gnome_canvas_item_new (group,
-                                  gnc_header_get_type (),
-                                  "sheet", sheet,
-                                  "cursor_name", CURSOR_HEADER,
-                                  NULL);
-
-    sheet->header_item = item;
+    GtkWidget *layout;
 
-    gtk_widget_show (canvas);
+    layout = g_object_new (GNC_TYPE_HEADER,
+                           "sheet", sheet,
+                           "cursor_name", CURSOR_HEADER,
+                           NULL);
 
-    return canvas;
+    sheet->header_item = layout;
+    return layout;
 }
 
 
diff --git a/src/register/register-gnome/gnucash-header.h b/src/register/register-gnome/gnucash-header.h
index cb94f41..b49b92b 100644
--- a/src/register/register-gnome/gnucash-header.h
+++ b/src/register/register-gnome/gnucash-header.h
@@ -37,7 +37,7 @@ GType    gnc_header_get_type (void);
 
 typedef struct
 {
-    GnomeCanvasItem canvas_item;
+    GtkLayout parent;
 
     GnucashSheet *sheet;
     SheetBlockStyle *style;
@@ -51,12 +51,10 @@ typedef struct
     int resize_x;
     int resize_col;
 
-    gboolean needs_ungrab;
-
     int height;
     int width;
 
-    GdkGC *gc;
+    cairo_surface_t *surface;
     GdkCursor *normal_cursor;
     GdkCursor *resize_cursor;
 } GncHeader;
@@ -64,7 +62,7 @@ typedef struct
 
 typedef struct
 {
-    GnomeCanvasItemClass parent_class;
+    GtkLayoutClass parent_class;
 } GncHeaderClass;
 
 
diff --git a/src/register/register-gnome/gnucash-sheet.c b/src/register/register-gnome/gnucash-sheet.c
index c884fdc..6409ae3 100644
--- a/src/register/register-gnome/gnucash-sheet.c
+++ b/src/register/register-gnome/gnucash-sheet.c
@@ -3016,7 +3016,7 @@ GtkWidget *
 gnucash_register_new (Table *table)
 {
     GnucashRegister *reg;
-    GtkWidget *header_canvas;
+    GtkWidget *header;
     GtkWidget *widget;
     GtkWidget *sheet;
     GtkWidget *scrollbar;
@@ -3029,15 +3029,14 @@ gnucash_register_new (Table *table)
     reg->sheet = sheet;
     GNUCASH_SHEET(sheet)->reg = widget;
 
-    header_canvas = gnc_header_new (GNUCASH_SHEET(sheet));
-    reg->header_canvas = header_canvas;
+    header = gnc_header_new (GNUCASH_SHEET(sheet));
 
-    gtk_table_attach (GTK_TABLE(widget), header_canvas,
+    gtk_table_attach (GTK_TABLE(widget), header,
                       0, 1, 0, 1,
                       GTK_FILL | GTK_EXPAND | GTK_SHRINK,
                       GTK_FILL,
                       0, 0);
-    gtk_widget_show(header_canvas);
+    gtk_widget_show(header);
 
     gtk_table_attach (GTK_TABLE(widget), sheet,
                       0, 1, 1, 2,
@@ -3060,7 +3059,6 @@ gnucash_register_new (Table *table)
                       GTK_FILL,
                       GTK_EXPAND | GTK_SHRINK | GTK_FILL,
                       0, 0);
-    reg->vscrollbar = scrollbar;
     gtk_widget_show(scrollbar);
 
     scrollbar = gtk_hscrollbar_new(GNUCASH_SHEET(sheet)->hadj);
diff --git a/src/register/register-gnome/gnucash-sheetP.h b/src/register/register-gnome/gnucash-sheetP.h
index b7b30bd..0d997bc 100644
--- a/src/register/register-gnome/gnucash-sheetP.h
+++ b/src/register/register-gnome/gnucash-sheetP.h
@@ -50,7 +50,7 @@ struct _GnucashSheet
     gint num_virt_rows;
     gint num_virt_cols;
 
-    GnomeCanvasItem *header_item;
+    GtkWidget *header_item;
     GnomeCanvasItem *cursor;
     GnomeCanvasItem *grid;
 
@@ -136,10 +136,8 @@ struct _GnucashRegister
 {
     GtkTable table;
 
-    GtkWidget *vscrollbar;
     GtkWidget *hscrollbar;
     GtkWidget *sheet;
-    GtkWidget *header_canvas;
     gboolean  hscrollbar_visible;
 };
 



Summary of changes:
 .travis.yml                                        |    2 +-
 AUTHORS                                            |   44 +-
 CMakeLists.txt                                     |   20 +-
 DOCUMENTERS                                        |   11 +-
 configure.ac                                       |   24 +-
 lib/goffice/go-charmap-sel.c                       |    8 +-
 lib/goffice/go-optionmenu.c                        |   46 +-
 po/POTFILES.in                                     |    4 +-
 src/app-utils/CMakeLists.txt                       |    4 +-
 src/backend/dbi/CMakeLists.txt                     |    2 +-
 src/bin/CMakeLists.txt                             |    2 +-
 src/bin/gnucash-bin.c                              |    1 -
 src/business/business-gnome/CMakeLists.txt         |    4 +-
 .../business-gnome/business-options-gnome.c        |   26 +-
 src/business/business-gnome/dialog-billterms.c     |   23 +-
 src/business/business-gnome/dialog-choose-owner.c  |    7 +-
 src/business/business-gnome/dialog-customer.c      |    7 +-
 src/business/business-gnome/dialog-date-close.c    |   21 +-
 src/business/business-gnome/dialog-employee.c      |    7 +-
 src/business/business-gnome/dialog-invoice.c       |   31 +-
 src/business/business-gnome/dialog-job.c           |    7 +-
 src/business/business-gnome/dialog-order.c         |   19 +-
 src/business/business-gnome/dialog-payment.c       |   10 +-
 src/business/business-gnome/dialog-vendor.c        |    7 +-
 src/business/business-gnome/gnc-plugin-business.c  |    4 +-
 .../business-gnome/gnc-plugin-page-invoice.c       |   46 +-
 .../business-gnome/gnc-plugin-page-owner-tree.c    |   47 +-
 .../gtkbuilder/business-options-gnome.glade        |   21 +-
 .../business-gnome/gtkbuilder/business-prefs.glade |  366 ++-
 .../gtkbuilder/dialog-billterms.glade              | 2029 ++++++++--------
 .../gtkbuilder/dialog-choose-owner.glade           |   41 +-
 .../gtkbuilder/dialog-customer.glade               |  180 +-
 .../gtkbuilder/dialog-date-close.glade             |  112 +-
 .../gtkbuilder/dialog-employee.glade               |  188 +-
 .../business-gnome/gtkbuilder/dialog-invoice.glade |  255 +-
 .../business-gnome/gtkbuilder/dialog-job.glade     |  118 +-
 .../business-gnome/gtkbuilder/dialog-order.glade   | 1121 +++++----
 .../business-gnome/gtkbuilder/dialog-payment.glade |  350 ++-
 .../business-gnome/gtkbuilder/dialog-vendor.glade  |  147 +-
 src/business/business-gnome/search-owner.c         |    6 +-
 src/business/business-ledger/CMakeLists.txt        |    2 +-
 src/business/business-ledger/gncEntryLedger.c      |    2 +-
 .../business-ledger/gncEntryLedgerControl.c        |    2 +-
 src/config.h.cmake.in                              |    5 +
 src/gnome-search/CMakeLists.txt                    |    2 +-
 src/gnome-search/dialog-search.c                   |   73 +-
 src/gnome-search/dialog-search.glade               |  146 +-
 src/gnome-search/gnc-general-search.c              |   24 +-
 src/gnome-search/gnc-general-search.h              |    4 +-
 src/gnome-search/search-account.c                  |   10 +-
 src/gnome-search/search-boolean.c                  |    3 +-
 src/gnome-search/search-date.c                     |    3 +-
 src/gnome-search/search-double.c                   |    3 +-
 src/gnome-search/search-int64.c                    |    3 +-
 src/gnome-search/search-numeric.c                  |    3 +-
 src/gnome-search/search-reconciled.c               |    3 +-
 src/gnome-search/search-string.c                   |    3 +-
 src/gnome-utils/CMakeLists.txt                     |    4 +-
 src/gnome-utils/assistant-xml-encoding.c           |   12 +-
 src/gnome-utils/cursors.c                          |    6 +-
 src/gnome-utils/dialog-account.c                   |   79 +-
 src/gnome-utils/dialog-book-close.c                |    7 +-
 src/gnome-utils/dialog-commodity.c                 |   34 +-
 src/gnome-utils/dialog-dup-trans.c                 |    7 +-
 src/gnome-utils/dialog-file-access.c               |   19 +-
 src/gnome-utils/dialog-object-references.c         |    7 +-
 src/gnome-utils/dialog-options.c                   |  193 +-
 src/gnome-utils/dialog-preferences.c               |  160 +-
 src/gnome-utils/dialog-query-view.c                |   11 +-
 src/gnome-utils/dialog-reset-warnings.c            |    7 +-
 src/gnome-utils/dialog-tax-table.c                 |   18 +-
 src/gnome-utils/dialog-totd.c                      |    3 +
 src/gnome-utils/dialog-transfer.c                  |    7 +-
 src/gnome-utils/dialog-userpass.c                  |    7 +-
 src/gnome-utils/dialog-utils.c                     |  117 +-
 src/gnome-utils/dialog-utils.h                     |   32 +-
 src/gnome-utils/gnc-account-sel.c                  |   10 +-
 src/gnome-utils/gnc-account-sel.h                  |    6 +-
 src/gnome-utils/gnc-amount-edit.c                  |    4 +
 src/gnome-utils/gnc-autosave.c                     |    5 +
 src/gnome-utils/gnc-cell-renderer-date.c           |   39 +-
 src/gnome-utils/gnc-cell-renderer-popup-entry.c    |   15 +-
 src/gnome-utils/gnc-cell-renderer-popup.c          |   60 +-
 src/gnome-utils/gnc-combott.c                      |   42 +-
 src/gnome-utils/gnc-combott.h                      |    2 +-
 src/gnome-utils/gnc-currency-edit.c                |    4 +
 src/gnome-utils/gnc-date-delta.c                   |   10 +-
 src/gnome-utils/gnc-date-delta.h                   |    4 +-
 src/gnome-utils/gnc-date-edit.c                    |   86 +-
 src/gnome-utils/gnc-date-edit.h                    |    4 +-
 src/gnome-utils/gnc-date-format.c                  |   13 +-
 src/gnome-utils/gnc-date-format.h                  |    4 +-
 src/gnome-utils/gnc-dense-cal.c                    |  197 +-
 src/gnome-utils/gnc-dense-cal.h                    |    4 +-
 src/gnome-utils/gnc-embedded-window.c              |   12 +-
 src/gnome-utils/gnc-embedded-window.h              |    4 +-
 src/gnome-utils/gnc-file.c                         |   31 +-
 src/gnome-utils/gnc-frequency.c                    |   50 +-
 src/gnome-utils/gnc-frequency.h                    |    6 +-
 src/gnome-utils/gnc-general-select.c               |   12 +-
 src/gnome-utils/gnc-general-select.h               |    4 +-
 src/gnome-utils/gnc-gnome-utils.c                  |   21 +-
 src/gnome-utils/gnc-gnome-utils.h                  |    2 +-
 src/gnome-utils/gnc-gui-query.c                    |   19 +-
 src/gnome-utils/gnc-icons.c                        |  158 +-
 src/gnome-utils/gnc-icons.h                        |   54 +-
 src/gnome-utils/gnc-main-window.c                  |  142 +-
 src/gnome-utils/gnc-period-select.c                |   24 +-
 src/gnome-utils/gnc-period-select.h                |    4 +-
 src/gnome-utils/gnc-query-view.c                   |   28 +-
 src/gnome-utils/gnc-recurrence.c                   |   45 +-
 src/gnome-utils/gnc-splash.c                       |   12 +-
 src/gnome-utils/gnc-tree-control-split-reg.c       |   12 +-
 src/gnome-utils/gnc-tree-view-account.c            |   10 +-
 src/gnome-utils/gnc-tree-view-commodity.c          |   22 +-
 src/gnome-utils/gnc-tree-view-owner.c              |    4 +-
 src/gnome-utils/gnc-tree-view-price.c              |   22 +-
 src/gnome-utils/gnc-tree-view-split-reg.c          |   41 +-
 src/gnome-utils/gnc-tree-view.c                    |   57 +-
 src/gnome-utils/gnc-tree-view.h                    |   10 +-
 src/gnome-utils/gnc-window.h                       |    2 +-
 .../gtkbuilder/assistant-xml-encoding.glade        |  442 ++--
 src/gnome-utils/gtkbuilder/dialog-account.glade    | 2459 ++++++++++----------
 src/gnome-utils/gtkbuilder/dialog-book-close.glade |   81 +-
 src/gnome-utils/gtkbuilder/dialog-commodity.glade  |  713 +++---
 .../gtkbuilder/dialog-file-access.glade            |   65 +-
 .../gtkbuilder/dialog-object-references.glade      |   23 +-
 src/gnome-utils/gtkbuilder/dialog-options.glade    |   40 +-
 .../gtkbuilder/dialog-preferences.glade            | 2064 ++++++----------
 src/gnome-utils/gtkbuilder/dialog-query-view.glade |   19 +-
 .../gtkbuilder/dialog-reset-warnings.glade         |   53 +-
 src/gnome-utils/gtkbuilder/dialog-tax-table.glade  |  625 +++--
 src/gnome-utils/gtkbuilder/dialog-totd.glade       |   43 +-
 src/gnome-utils/gtkbuilder/dialog-transfer.glade   |  462 ++--
 src/gnome-utils/gtkbuilder/dialog-userpass.glade   |   47 +-
 src/gnome-utils/gtkbuilder/gnc-date-format.glade   |  165 +-
 src/gnome-utils/gtkbuilder/gnc-frequency.glade     | 1784 +++++++-------
 src/gnome-utils/gtkbuilder/gnc-recurrence.glade    |   31 +-
 .../gtkbuilder/gnc-tree-view-owner.glade           |   92 +-
 src/gnome-utils/test/CMakeLists.txt                |    2 +-
 src/gnome-utils/window-main-summarybar.c           |    8 +-
 src/gnome/CMakeLists.txt                           |    2 +-
 src/gnome/assistant-acct-period.c                  |    9 +-
 src/gnome/assistant-hierarchy.c                    |   24 +-
 src/gnome/assistant-loan.c                         |  179 +-
 src/gnome/assistant-stock-split.c                  |   18 +-
 src/gnome/dialog-commodities.c                     |   11 +-
 src/gnome/dialog-fincalc.c                         |    7 +-
 src/gnome/dialog-find-account.c                    |   28 +-
 src/gnome/dialog-find-transactions.c               |    4 +
 src/gnome/dialog-find-transactions2.c              |    4 +
 src/gnome/dialog-imap-editor.c                     |   12 +-
 src/gnome/dialog-lot-viewer.c                      |   44 +-
 src/gnome/dialog-new-user.c                        |   11 +-
 src/gnome/dialog-price-edit-db.c                   |   15 +-
 src/gnome/dialog-price-editor.c                    |    4 +-
 src/gnome/dialog-print-check.c                     |   24 +-
 src/gnome/dialog-progress.c                        |    7 +-
 src/gnome/dialog-sx-editor.c                       |   20 +-
 src/gnome/dialog-sx-editor2.c                      |   16 +-
 src/gnome/dialog-sx-from-trans.c                   |   25 +-
 src/gnome/dialog-sx-since-last-run.c               |   10 +-
 src/gnome/dialog-tax-info.c                        |   51 +-
 src/gnome/dialog-trans-assoc.c                     |   20 +-
 src/gnome/gnc-budget-view.c                        |   23 +-
 src/gnome/gnc-plugin-basic-commands.c              |   14 +-
 src/gnome/gnc-plugin-budget.c                      |    4 +-
 src/gnome/gnc-plugin-page-account-tree.c           |   44 +-
 src/gnome/gnc-plugin-page-budget.c                 |   20 +-
 src/gnome/gnc-plugin-page-register.c               |   70 +-
 src/gnome/gnc-plugin-page-register2.c              |   72 +-
 src/gnome/gnc-plugin-page-sx-list.c                |   29 +-
 src/gnome/gnc-split-reg.c                          |   44 +-
 src/gnome/gnc-split-reg.h                          |    8 +-
 src/gnome/gnc-split-reg2.c                         |   19 +-
 src/gnome/gnc-split-reg2.h                         |    4 +-
 src/gnome/gschemas/org.gnucash.gschema.xml.in.in   |   15 +
 src/gnome/gtkbuilder/assistant-acct-period.glade   |   63 +-
 src/gnome/gtkbuilder/assistant-hierarchy.glade     |  231 +-
 src/gnome/gtkbuilder/assistant-loan.glade          |  643 +++--
 src/gnome/gtkbuilder/assistant-stock-split.glade   |  203 +-
 src/gnome/gtkbuilder/dialog-commodities.glade      |  233 +-
 src/gnome/gtkbuilder/dialog-fincalc.glade          |  690 +++---
 src/gnome/gtkbuilder/dialog-find-account.glade     |   61 +-
 src/gnome/gtkbuilder/dialog-imap-editor.glade      |   44 +-
 src/gnome/gtkbuilder/dialog-lot-viewer.glade       |  468 ++--
 src/gnome/gtkbuilder/dialog-new-user.glade         |  122 +-
 src/gnome/gtkbuilder/dialog-price.glade            |  429 +---
 src/gnome/gtkbuilder/dialog-print-check.glade      |  897 +++----
 src/gnome/gtkbuilder/dialog-progress.glade         |   35 +-
 src/gnome/gtkbuilder/dialog-sx.glade               | 1562 ++++++-------
 src/gnome/gtkbuilder/dialog-tax-info.glade         |  230 +-
 src/gnome/gtkbuilder/dialog-trans-assoc.glade      |   49 +-
 src/gnome/gtkbuilder/gnc-plugin-page-budget.glade  |  525 ++---
 .../gtkbuilder/gnc-plugin-page-register.glade      |  629 +++--
 .../gtkbuilder/gnc-plugin-page-register2.glade     |  246 +-
 src/gnome/gtkbuilder/window-autoclear.glade        |  135 +-
 src/gnome/gtkbuilder/window-reconcile.glade        |  163 +-
 src/gnome/reconcile-view.c                         |   16 +-
 src/gnome/window-autoclear.c                       |    7 +-
 src/gnome/window-reconcile.c                       |   96 +-
 src/gnome/window-reconcile2.c                      |   96 +-
 src/html/CMakeLists.txt                            |    5 +-
 src/html/gnc-html-webkit.c                         | 1828 +++++++--------
 src/html/gnc-html.c                                |    4 +-
 src/html/gnc-html.h                                |    7 +-
 src/import-export/CMakeLists.txt                   |    2 +-
 src/import-export/aqb/CMakeLists.txt               |    3 +-
 src/import-export/aqb/Makefile.am                  |    3 +-
 src/import-export/aqb/assistant-ab-initial.c       |    4 +-
 src/import-export/aqb/assistant-ab-initial.glade   |    8 +-
 src/import-export/aqb/dialog-ab-daterange.c        |    4 +-
 src/import-export/aqb/dialog-ab-pref.glade         |   93 +
 src/import-export/aqb/dialog-ab-trans.c            |    8 +-
 src/import-export/aqb/dialog-ab.glade              |   13 +-
 src/import-export/aqb/gnc-gwen-gui.c               |   18 +-
 src/import-export/aqb/gncmod-aqbanking.c           |    2 +-
 src/import-export/csv-exp/assistant-csv-export.c   |   14 +-
 .../csv-exp/assistant-csv-export.glade             |  235 +-
 src/import-export/csv-exp/csv-tree-export.c        |    4 +-
 src/import-export/csv-exp/gnc-plugin-csv-export.c  |    6 +-
 .../csv-imp/assistant-csv-account-import.c         |   33 +-
 .../csv-imp/assistant-csv-account-import.glade     |   98 +-
 .../csv-imp/assistant-csv-trans-import.cpp         |   27 +-
 .../csv-imp/assistant-csv-trans-import.glade       |  299 ++-
 src/import-export/csv-imp/csv-account-import.c     |   17 +-
 src/import-export/csv-imp/gnc-csv-gnumeric-popup.c |   40 +-
 src/import-export/csv-imp/gnc-plugin-csv-import.c  |    4 +-
 src/import-export/dialog-import.glade              |   10 +-
 src/import-export/import-account-matcher.c         |   11 +-
 src/import-export/import-format-dialog.c           |    4 +-
 src/import-export/import-main-matcher.c            |   71 +-
 src/import-export/import-match-picker.c            |    8 +-
 src/import-export/log-replay/CMakeLists.txt        |    4 +-
 .../log-replay/gnc-plugin-log-replay.c             |    2 +-
 src/import-export/ofx/gnc-plugin-ofx.c             |    2 +-
 src/import-export/qif-imp/assistant-qif-import.c   |   66 +-
 .../qif-imp/assistant-qif-import.glade             |  249 +-
 src/import-export/qif-imp/dialog-account-picker.c  |    5 +-
 .../qif-imp/dialog-account-picker.glade            |  135 +-
 src/import-export/qif-imp/gnc-plugin-qif-import.c  |    2 +-
 src/libqof/qof/CMakeLists.txt                      |    4 +-
 src/pixmaps/CMakeLists.txt                         |   10 +-
 src/pixmaps/Makefile.am                            |   72 +-
 .../16x16/actions/gnc-account-delete.png}          |  Bin
 .../16x16/actions/gnc-account-edit.png}            |  Bin
 .../16x16/actions/gnc-account-new.png}             |  Bin
 .../16x16/actions/gnc-account-open.png}            |  Bin
 .../16x16/actions/gnc-account-report.png}          |  Bin
 .../16x16/actions/gnc-account.png}                 |  Bin
 .../16x16/actions/gnc-gnome-pdf.png}               |  Bin
 .../16x16/actions/gnc-invoice-duplicate.png}       |  Bin
 .../16x16/actions/gnc-invoice-edit.png}            |  Bin
 .../16x16/actions/gnc-invoice-new.png}             |  Bin
 .../16x16/actions/gnc-invoice-pay.png}             |  Bin
 .../16x16/actions/gnc-invoice-post.png}            |  Bin
 .../16x16/actions/gnc-invoice-unpost.png}          |  Bin
 .../16x16/actions/gnc-invoice.png}                 |  Bin
 .../16x16/actions/gnc-jumpto.png}                  |  Bin
 .../16x16/actions/gnc-split-trans.png}             |  Bin
 .../16x16/actions/gnc-sx-new.png}                  |  Bin
 .../16x16/actions/gnc-transfer.png}                |  Bin
 .../24x24/actions}/gnc-account-delete.png          |  Bin
 .../24x24/actions}/gnc-account-edit.png            |  Bin
 .../24x24/actions}/gnc-account-new.png             |  Bin
 .../24x24/actions}/gnc-account-open.png            |  Bin
 .../24x24/actions}/gnc-account-report.png          |  Bin
 .../{ => hicolor/24x24/actions}/gnc-account.png    |  Bin
 .../24x24/actions/gnc-gnome-pdf.png}               |  Bin
 .../24x24/actions}/gnc-invoice-duplicate.png       |  Bin
 .../24x24/actions}/gnc-invoice-edit.png            |  Bin
 .../24x24/actions}/gnc-invoice-new.png             |  Bin
 .../24x24/actions}/gnc-invoice-pay.png             |  Bin
 .../24x24/actions}/gnc-invoice-post.png            |  Bin
 .../24x24/actions}/gnc-invoice-unpost.png          |  Bin
 .../{ => hicolor/24x24/actions}/gnc-invoice.png    |  Bin
 .../{ => hicolor/24x24/actions}/gnc-jumpto.png     |  Bin
 .../24x24/actions}/gnc-split-trans.png             |  Bin
 .../{ => hicolor/24x24/actions}/gnc-sx-new.png     |  Bin
 .../{ => hicolor/24x24/actions}/gnc-transfer.png   |  Bin
 src/plugins/bi_import/dialog-bi-import-gui.c       |   13 +-
 .../gtkbuilder/dialog-bi-import-gui.glade          |  181 +-
 .../customer_import/dialog-customer-import-gui.c   |   13 +-
 .../gtkbuilder/dialog-customer-import-gui.glade    |   62 +-
 src/register/ledger-core/CMakeLists.txt            |    2 +-
 src/register/ledger-core/split-register-control.c  |    2 +-
 src/register/register-core/table-allgui.h          |    2 +-
 src/register/register-gnome/CMakeLists.txt         |    9 +-
 src/register/register-gnome/Makefile.am            |   11 +-
 src/register/register-gnome/combocell-gnome.c      |   40 +-
 src/register/register-gnome/datecell-gnome.c       |   27 +-
 src/register/register-gnome/gnucash-color.c        |   85 +-
 src/register/register-gnome/gnucash-color.h        |   11 +-
 src/register/register-gnome/gnucash-cursor.c       |  348 +--
 src/register/register-gnome/gnucash-cursor.h       |   29 +-
 src/register/register-gnome/gnucash-date-picker.c  |   75 +-
 src/register/register-gnome/gnucash-date-picker.h  |   13 +-
 src/register/register-gnome/gnucash-grid.c         |  949 --------
 src/register/register-gnome/gnucash-grid.h         |   53 -
 src/register/register-gnome/gnucash-header.c       |  334 +--
 src/register/register-gnome/gnucash-header.h       |   10 +-
 src/register/register-gnome/gnucash-item-edit.c    | 1097 ++-------
 src/register/register-gnome/gnucash-item-edit.h    |   76 +-
 src/register/register-gnome/gnucash-item-list.c    |   50 +-
 src/register/register-gnome/gnucash-item-list.h    |   13 +-
 src/register/register-gnome/gnucash-register.c     |  595 +++++
 .../{gnucash-sheet.h => gnucash-register.h}        |   82 +-
 .../register-gnome/gnucash-sheet-private.c         |  718 ++++++
 src/register/register-gnome/gnucash-sheet.c        |  814 ++-----
 src/register/register-gnome/gnucash-sheet.h        |   44 +-
 src/register/register-gnome/gnucash-sheetP.h       |   54 +-
 src/register/register-gnome/gnucash-style.c        |    4 -
 src/register/register-gnome/table-gnome.c          |   73 +-
 src/report/report-gnome/CMakeLists.txt             |    2 +-
 src/report/report-gnome/dialog-custom-report.c     |    9 +-
 src/report/report-gnome/dialog-custom-report.glade |   26 +-
 .../report-gnome/dialog-report-column-view.c       |    4 +-
 .../report-gnome/dialog-report-style-sheet.c       |   14 +-
 src/report/report-gnome/dialog-report.glade        |  659 +++---
 src/report/report-gnome/gnc-plugin-page-report.c   |   38 +-
 src/report/report-system/CMakeLists.txt            |    4 +-
 src/report/report-system/gnc-report.c              |   19 +-
 src/report/standard-reports/CMakeLists.txt         |    2 +-
 src/report/stylesheets/CMakeLists.txt              |    2 +-
 324 files changed, 16298 insertions(+), 19512 deletions(-)
 create mode 100644 src/import-export/aqb/dialog-ab-pref.glade
 rename src/pixmaps/{gnc-account-delete-16.png => hicolor/16x16/actions/gnc-account-delete.png} (100%)
 rename src/pixmaps/{gnc-account-edit-16.png => hicolor/16x16/actions/gnc-account-edit.png} (100%)
 rename src/pixmaps/{gnc-account-new-16.png => hicolor/16x16/actions/gnc-account-new.png} (100%)
 rename src/pixmaps/{gnc-account-open-16.png => hicolor/16x16/actions/gnc-account-open.png} (100%)
 rename src/pixmaps/{gnc-account-report-16.png => hicolor/16x16/actions/gnc-account-report.png} (100%)
 rename src/pixmaps/{gnc-account-16.png => hicolor/16x16/actions/gnc-account.png} (100%)
 rename src/pixmaps/{gnc-gnome-pdf-16.png => hicolor/16x16/actions/gnc-gnome-pdf.png} (100%)
 rename src/pixmaps/{gnc-invoice-duplicate-16.png => hicolor/16x16/actions/gnc-invoice-duplicate.png} (100%)
 rename src/pixmaps/{gnc-invoice-edit-16.png => hicolor/16x16/actions/gnc-invoice-edit.png} (100%)
 rename src/pixmaps/{gnc-invoice-new-16.png => hicolor/16x16/actions/gnc-invoice-new.png} (100%)
 rename src/pixmaps/{gnc-invoice-pay-16.png => hicolor/16x16/actions/gnc-invoice-pay.png} (100%)
 rename src/pixmaps/{gnc-invoice-post-16.png => hicolor/16x16/actions/gnc-invoice-post.png} (100%)
 rename src/pixmaps/{gnc-invoice-unpost-16.png => hicolor/16x16/actions/gnc-invoice-unpost.png} (100%)
 rename src/pixmaps/{gnc-invoice-16.png => hicolor/16x16/actions/gnc-invoice.png} (100%)
 rename src/pixmaps/{gnc-jumpto-16.png => hicolor/16x16/actions/gnc-jumpto.png} (100%)
 rename src/pixmaps/{gnc-split-trans-16.png => hicolor/16x16/actions/gnc-split-trans.png} (100%)
 rename src/pixmaps/{gnc-sx-new-16.png => hicolor/16x16/actions/gnc-sx-new.png} (100%)
 rename src/pixmaps/{gnc-transfer-16.png => hicolor/16x16/actions/gnc-transfer.png} (100%)
 rename src/pixmaps/{ => hicolor/24x24/actions}/gnc-account-delete.png (100%)
 rename src/pixmaps/{ => hicolor/24x24/actions}/gnc-account-edit.png (100%)
 rename src/pixmaps/{ => hicolor/24x24/actions}/gnc-account-new.png (100%)
 rename src/pixmaps/{ => hicolor/24x24/actions}/gnc-account-open.png (100%)
 rename src/pixmaps/{ => hicolor/24x24/actions}/gnc-account-report.png (100%)
 rename src/pixmaps/{ => hicolor/24x24/actions}/gnc-account.png (100%)
 rename src/pixmaps/{gnc-gnome-pdf-24.png => hicolor/24x24/actions/gnc-gnome-pdf.png} (100%)
 rename src/pixmaps/{ => hicolor/24x24/actions}/gnc-invoice-duplicate.png (100%)
 rename src/pixmaps/{ => hicolor/24x24/actions}/gnc-invoice-edit.png (100%)
 rename src/pixmaps/{ => hicolor/24x24/actions}/gnc-invoice-new.png (100%)
 rename src/pixmaps/{ => hicolor/24x24/actions}/gnc-invoice-pay.png (100%)
 rename src/pixmaps/{ => hicolor/24x24/actions}/gnc-invoice-post.png (100%)
 rename src/pixmaps/{ => hicolor/24x24/actions}/gnc-invoice-unpost.png (100%)
 rename src/pixmaps/{ => hicolor/24x24/actions}/gnc-invoice.png (100%)
 rename src/pixmaps/{ => hicolor/24x24/actions}/gnc-jumpto.png (100%)
 rename src/pixmaps/{ => hicolor/24x24/actions}/gnc-split-trans.png (100%)
 rename src/pixmaps/{ => hicolor/24x24/actions}/gnc-sx-new.png (100%)
 rename src/pixmaps/{ => hicolor/24x24/actions}/gnc-transfer.png (100%)
 delete mode 100644 src/register/register-gnome/gnucash-grid.c
 delete mode 100644 src/register/register-gnome/gnucash-grid.h
 create mode 100644 src/register/register-gnome/gnucash-register.c
 copy src/register/register-gnome/{gnucash-sheet.h => gnucash-register.h} (55%)
 create mode 100644 src/register/register-gnome/gnucash-sheet-private.c



More information about the gnucash-changes mailing list