gnucash master: Multiple changes pushed

Geert Janssens gjanssens at code.gnucash.org
Sun Jul 9 16:01:17 EDT 2017


Updated	 via  https://github.com/Gnucash/gnucash/commit/69ef9ccc (commit)
	 via  https://github.com/Gnucash/gnucash/commit/faf895bd (commit)
	 via  https://github.com/Gnucash/gnucash/commit/8784a789 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c3e865c9 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/99645630 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e5ca36cf (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ad6ad923 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/a437e240 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/200f7baf (commit)
	 via  https://github.com/Gnucash/gnucash/commit/7d1abfa2 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/5536fb17 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3f1c2ae2 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6790066f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/f8534414 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/54019608 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d4faad8b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b52a298b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9a5b0ff9 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b098ab2e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/32c46481 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/18769d90 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3bb33a27 (commit)
	from  https://github.com/Gnucash/gnucash/commit/ff930716 (commit)



commit 69ef9ccc0b876eb1423e257159d2c427cdd74a50
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 14:37:23 2017 +0100

    Replace style strings with proper defined types

diff --git a/src/gnome-utils/gnc-dense-cal.c b/src/gnome-utils/gnc-dense-cal.c
index d958527..1415af1 100644
--- a/src/gnome-utils/gnc-dense-cal.c
+++ b/src/gnome-utils/gnc-dense-cal.c
@@ -906,7 +906,7 @@ gnc_style_context_get_background_color (GtkStyleContext *context,
 
     gtk_style_context_get (context,
                            state,
-                           "background-color", &c,
+                           GTK_STYLE_PROPERTY_BACKGROUND_COLOR, &c,
                            NULL);
     *color = *c;
     gdk_rgba_free (c);
@@ -924,7 +924,7 @@ gnc_style_context_get_border_color (GtkStyleContext *context,
 
     gtk_style_context_get (context,
                            state,
-                           "border-color", &c,
+                           GTK_STYLE_PROPERTY_BORDER_COLOR, &c,
                            NULL);
     *color = *c;
     gdk_rgba_free (c);

commit faf895bdfc05ccd793386039e2d79e0b9662f8a8
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 14:20:54 2017 +0100

    Redo the change to Gtk3.10 based glade file from current master

diff --git a/src/import-export/dialog-import.glade b/src/import-export/dialog-import.glade
index 2908cff..77d7212 100644
--- a/src/import-export/dialog-import.glade
+++ b/src/import-export/dialog-import.glade
@@ -1,7 +1,52 @@
 <?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="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>
@@ -11,11 +56,12 @@
     <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">
+      <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="GtkHButtonBox" id="dialog-action_area8">
+          <object class="GtkButtonBox" id="dialog-action_area8">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
@@ -36,12 +82,12 @@
             </child>
             <child>
               <object class="GtkButton" id="cancelbutton">
-                <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">True</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -51,12 +97,12 @@
             </child>
             <child>
               <object class="GtkButton" id="okbutton">
-                <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="receives_default">True</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -92,56 +138,6 @@
       <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>
@@ -172,22 +168,23 @@
     <property name="default_height">400</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>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area16">
+          <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">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="receives_default">True</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -209,7 +206,7 @@
             <property name="can_focus">False</property>
             <property name="label_xalign">0</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="spacing">15</property>
@@ -228,7 +225,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>
@@ -236,7 +233,6 @@
                       <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>
@@ -247,7 +243,7 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="menu_box">
+                      <object class="GtkBox" id="menu_box">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
@@ -300,47 +296,9 @@
     <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>
-          <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="GtkCheckButton" id="pref/dialogs.import.generic/enable-skip">
             <property name="label" translatable="yes">Enable skip transaction action</property>
@@ -350,16 +308,15 @@
             <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="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>
@@ -371,30 +328,29 @@
             <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="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>
+            <property name="width">2</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 name="left_attach">0</property>
+            <property name="top_attach">0</property>
+            <property name="width">2</property>
           </packing>
         </child>
         <child>
@@ -405,11 +361,8 @@
             <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">●</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">atm_fee_adj</property>
             <property name="climb_rate">1</property>
             <property name="digits">2</property>
@@ -418,11 +371,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"/>
           </packing>
         </child>
         <child>
@@ -433,11 +382,8 @@
             <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">●</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_clear_adj</property>
             <property name="climb_rate">1</property>
             <property name="snap_to_ticks">True</property>
@@ -445,11 +391,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"/>
           </packing>
         </child>
         <child>
@@ -460,11 +402,8 @@
             <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">●</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_add_adj</property>
             <property name="climb_rate">1</property>
             <property name="snap_to_ticks">True</property>
@@ -472,11 +411,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"/>
           </packing>
         </child>
         <child>
@@ -487,11 +422,8 @@
             <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">●</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">match_adj</property>
             <property name="climb_rate">1</property>
             <property name="snap_to_ticks">True</property>
@@ -499,79 +431,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"/>
           </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 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 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 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 name="x_padding">12</property>
           </packing>
         </child>
         <child>
@@ -583,16 +503,15 @@
             <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="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>
+            <property name="width">2</property>
           </packing>
         </child>
         <child>
@@ -604,15 +523,22 @@
             <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="right_attach">4</property>
-            <property name="top_attach">8</property>
-            <property name="bottom_attach">9</property>
-            <property name="x_padding">12</property>
+            <property name="left_attach">0</property>
+            <property name="top_attach">9</property>
+            <property name="width">2</property>
           </packing>
         </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
       </object>
     </child>
   </object>
@@ -623,12 +549,13 @@
     <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>
@@ -638,8 +565,8 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
-                <property name="draw_indicator">True</property>
                 <property name="active">True</property>
+                <property name="draw_indicator">True</property>
               </object>
               <packing>
                 <property name="expand">True</property>
@@ -649,12 +576,12 @@
             </child>
             <child>
               <object class="GtkButton" id="cancel_button1">
-                <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">True</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -664,12 +591,12 @@
             </child>
             <child>
               <object class="GtkButton" id="ok_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="receives_default">True</property>
-                <property name="use_stock">True</property>
+                <property name="use_underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -686,15 +613,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>
@@ -708,14 +634,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"/>
+                    </child>
                   </object>
                 </child>
               </object>
@@ -729,8 +656,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>
@@ -744,14 +669,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"/>
+                    </child>
                   </object>
                 </child>
               </object>
@@ -796,22 +722,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">_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>
                 <signal name="clicked" handler="on_matcher_help_close_clicked" swapped="no"/>
               </object>
               <packing>
@@ -829,41 +756,23 @@
           </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>
-            <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="label847790">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes"><b>Colors</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>
+                <property name="width">2</property>
               </packing>
             </child>
             <child>
@@ -891,11 +800,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>
@@ -923,11 +828,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>
@@ -955,23 +856,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">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>
@@ -982,140 +877,107 @@
                 <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="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"/>
               </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"/>
               </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"/>
               </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="halign">start</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"/>
               </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="halign">start</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"/>
               </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="halign">start</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"/>
               </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="halign">start</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"/>
               </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"/>
               </packing>
             </child>
             <child>
               <object class="GtkScrolledWindow" id="scrolledwindow35">
                 <property name="visible">True</property>
                 <property name="can_focus">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>
@@ -1136,16 +998,12 @@
                 </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>
-              <placeholder/>
-            </child>
-            <child>
               <object class="GtkEventBox" id="red">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
@@ -1153,16 +1011,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>
@@ -1173,16 +1028,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>
@@ -1193,18 +1045,21 @@
                   <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>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
           </object>
           <packing>
             <property name="expand">True</property>
@@ -1218,6 +1073,51 @@
       <action-widget response="-7">matcher_help_close</action-widget>
     </action-widgets>
   </object>
+  <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"/>
+            </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>
@@ -1226,22 +1126,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">_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_stock">True</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="on_matcher_cancel_clicked" swapped="no"/>
               </object>
               <packing>
@@ -1252,13 +1153,13 @@
             </child>
             <child>
               <object class="GtkButton" id="matcher_ok">
-                <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">True</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>
@@ -1269,12 +1170,12 @@
             </child>
             <child>
               <object class="GtkButton" id="matcher__help">
-                <property name="label">gtk-help</property>
+                <property name="label">_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>
                 <signal name="clicked" handler="on_matcher_help_clicked" swapped="no"/>
               </object>
               <packing>
@@ -1302,49 +1203,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>

commit 8784a789b95ed5604e4f37c3784a8a5c33bc421b
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 14:16:09 2017 +0100

    Remove the preference for showing an icon and label
    
    It was decided that this was not the right approach and possibly be
    based on OS and desktop. This reverts it back to original behaviour.

diff --git a/src/gnome-utils/dialog-utils.c b/src/gnome-utils/dialog-utils.c
index 7a4d213..11ae0e1 100644
--- a/src/gnome-utils/dialog-utils.c
+++ b/src/gnome-utils/dialog-utils.c
@@ -570,8 +570,7 @@ 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);
-        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, "always-show-image", TRUE, NULL);
     }
     g_object_set (button, "can-default", TRUE, NULL);
     gtk_widget_show_all(button);
diff --git a/src/gnome-utils/gtkbuilder/dialog-preferences.glade b/src/gnome-utils/gtkbuilder/dialog-preferences.glade
index 1f88eeb..451b712 100644
--- a/src/gnome-utils/gtkbuilder/dialog-preferences.glade
+++ b/src/gnome-utils/gtkbuilder/dialog-preferences.glade
@@ -1727,24 +1727,6 @@ many months before the current month:</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>
@@ -1758,7 +1740,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">5</property>
                     <property name="width">2</property>
                   </packing>
                 </child>
@@ -1776,7 +1758,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">6</property>
                     <property name="width">2</property>
                   </packing>
                 </child>
@@ -1843,6 +1825,12 @@ many months before the current month:</property>
                 <child>
                   <placeholder/>
                 </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
               </object>
               <packing>
                 <property name="position">3</property>
diff --git a/src/gnome/gschemas/org.gnucash.gschema.xml.in.in b/src/gnome/gschemas/org.gnucash.gschema.xml.in.in
index 7c09fbb..88d222e 100644
--- a/src/gnome/gschemas/org.gnucash.gschema.xml.in.in
+++ b/src/gnome/gschemas/org.gnucash.gschema.xml.in.in
@@ -125,11 +125,6 @@
       <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>

commit c3e865c929104410f46ea13ca98763c6510bb9d6
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 13:22:14 2017 +0100

    Remove setting the rules hint for tree views
    
    This has been removed in Gtk4 and is discouraged in use so it has been
    decided to remove completely.

diff --git a/src/gnome/dialog-find-account.c b/src/gnome/dialog-find-account.c
index 4c0e289..5d00d48 100644
--- a/src/gnome/dialog-find-account.c
+++ b/src/gnome/dialog-find-account.c
@@ -299,11 +299,6 @@ gnc_find_account_dialog_create (GtkWidget *parent, FindAccountDialog *facc_dialo
     g_signal_connect (facc_dialog->view, "row-activated",
                      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
-
     // 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 ());
 
diff --git a/src/gnome/dialog-imap-editor.c b/src/gnome/dialog-imap-editor.c
index 6070ce8..8897ad3 100644
--- a/src/gnome/dialog-imap-editor.c
+++ b/src/gnome/dialog-imap-editor.c
@@ -690,11 +690,6 @@ gnc_imap_dialog_create (GtkWidget *parent, ImapDialog *imap_dialog)
     filter = gtk_tree_view_get_model (GTK_TREE_VIEW(imap_dialog->view));
     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
-
     // 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 ());
 
diff --git a/src/gnome/dialog-trans-assoc.c b/src/gnome/dialog-trans-assoc.c
index c7e0d60..f9907fe 100644
--- a/src/gnome/dialog-trans-assoc.c
+++ b/src/gnome/dialog-trans-assoc.c
@@ -437,11 +437,6 @@ gnc_assoc_dialog_create (AssocDialog *assoc_dialog)
     g_signal_connect (assoc_dialog->view, "row-activated",
                       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
-
     // 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 ());
 

commit 99645630821b59dd13e00c9089f25a8a7a86804f
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 13:15:51 2017 +0100

    Fix mistake in changing button labels from stock
    
    Did not add the alt key option

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 ce3b462..bf41b53 100644
--- a/src/business/business-gnome/gnc-plugin-page-owner-tree.c
+++ b/src/business/business-gnome/gnc-plugin-page-owner-tree.c
@@ -1086,8 +1086,8 @@ gnc_plugin_page_owner_tree_cmd_delete_owner (GtkAction *action, GncPluginPageOwn
                                          "%s", message);
         g_free(message);
         gtk_dialog_add_buttons(GTK_DIALOG(dialog),
-                               _("Cancel"), GTK_RESPONSE_CANCEL,
-                               _("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 1c6243e..8257c51 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),
-                               _("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 a948de5..ec0e84c 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,
-                                       _("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 d6384fd..fcb208e 100644
--- a/src/gnome-search/dialog-search.c
+++ b/src/gnome-search/dialog-search.c
@@ -724,7 +724,7 @@ attach_element (GtkWidget *element, GNCSearchWindow *sw, int row)
     gtk_widget_set_halign (element, GTK_ALIGN_FILL);
     g_object_set (element, "margin", 0, NULL);
 
-    remove = gtk_button_new_with_label (_("Remove"));
+    remove = gtk_button_new_with_mnemonic (_("_Remove"));
     g_object_set_data (G_OBJECT (remove), "element", element);
     g_signal_connect (G_OBJECT (remove), "clicked", G_CALLBACK (remove_element), sw);
 
@@ -1175,7 +1175,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_with_label (_("Add"));
+    add = gtk_button_new_with_mnemonic (_("_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 eb9532d..faf53f2 100644
--- a/src/gnome-search/search-account.c
+++ b/src/gnome-search/search-account.c
@@ -259,8 +259,8 @@ button_clicked (GtkButton *button, GNCSearchAccount *fi)
         GTK_DIALOG(gtk_dialog_new_with_buttons(_("Select the Accounts to Compare"),
                    NULL,
                    0,
-                   _("Cancel"), GTK_RESPONSE_CANCEL,
-                   _("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 7b7d89f..ba658f9 100644
--- a/src/gnome-utils/dialog-account.c
+++ b/src/gnome-utils/dialog-account.c
@@ -644,8 +644,8 @@ verify_children_compatible (AccountWindow *aw)
                                           GTK_WINDOW(aw->dialog),
                                           GTK_DIALOG_DESTROY_WITH_PARENT |
                                           GTK_DIALOG_MODAL,
-                                          _("Cancel"), GTK_RESPONSE_CANCEL,
-                                          _("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 7ca838e..3431df2 100644
--- a/src/gnome-utils/gnc-file.c
+++ b/src/gnome-utils/gnc-file.c
@@ -85,7 +85,7 @@ gnc_file_dialog (const char * title,
     GtkWidget *file_box;
     const char *internal_name;
     char *file_name = NULL;
-    gchar * okbutton = _("Open");
+    gchar * okbutton = _("_Open");
     const gchar *ok_icon = NULL;
     GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_OPEN;
     gint response;
@@ -96,7 +96,7 @@ gnc_file_dialog (const char * title,
     {
     case GNC_FILE_DIALOG_OPEN:
         action = GTK_FILE_CHOOSER_ACTION_OPEN;
-        okbutton = _("Open");
+        okbutton = _("_Open");
         if (title == NULL)
             title = _("Open");
         break;
@@ -108,7 +108,7 @@ gnc_file_dialog (const char * title,
         break;
     case GNC_FILE_DIALOG_SAVE:
         action = GTK_FILE_CHOOSER_ACTION_SAVE;
-        okbutton = _("Save");
+        okbutton = _("_Save");
         if (title == NULL)
             title = _("Save");
         break;
@@ -126,7 +126,7 @@ gnc_file_dialog (const char * title,
                    title,
                    NULL,
                    action,
-                   _("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);
@@ -313,7 +313,7 @@ show_session_error (QofBackendError io_error,
                                         fmt,
                                         displayname);
         gtk_dialog_add_buttons(GTK_DIALOG(dialog),
-                               _("Cancel"), GTK_RESPONSE_CANCEL,
+                               _("_Cancel"), GTK_RESPONSE_CANCEL,
                                label, GTK_RESPONSE_YES,
                                NULL);
         if (parent == NULL)
@@ -611,9 +611,9 @@ gnc_file_query_save (gboolean can_cancel)
 
         if (can_cancel)
             gtk_dialog_add_button(GTK_DIALOG(dialog),
-                                  _("Cancel"), GTK_RESPONSE_CANCEL);
+                                  _("_Cancel"), GTK_RESPONSE_CANCEL);
         gtk_dialog_add_button(GTK_DIALOG(dialog),
-                              _("Save"), GTK_RESPONSE_YES);
+                              _("_Save"), GTK_RESPONSE_YES);
 
         gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_YES);
 
@@ -802,7 +802,7 @@ RESTART:
                                   "document-open", RESPONSE_OPEN);
         if (shutdown_cb)
             gtk_dialog_add_button(GTK_DIALOG(dialog),
-                                  _("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 b329629..c31a380 100644
--- a/src/gnome-utils/gnc-gui-query.c
+++ b/src/gnome-utils/gnc-gui-query.c
@@ -337,10 +337,10 @@ gnc_choose_radio_option_dialog(GtkWidget *parent,
     }
 
     if (!button_name)
-        button_name = _("OK");
+        button_name = _("_OK");
     dialog = gtk_dialog_new_with_buttons (title, GTK_WINDOW(parent),
                                           GTK_DIALOG_DESTROY_WITH_PARENT,
-                                          _("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 bd088c4..c60add5 100644
--- a/src/gnome-utils/gnc-main-window.c
+++ b/src/gnome-utils/gnc-main-window.c
@@ -1260,8 +1260,8 @@ gnc_main_window_prompt_for_save (GtkWidget *window)
     }
     gtk_dialog_add_buttons(GTK_DIALOG(dialog),
                            _("Close _Without Saving"), GTK_RESPONSE_CLOSE,
-                           _("Cancel"), GTK_RESPONSE_CANCEL,
-                           _("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 300fbee..67ff550 100644
--- a/src/gnome-utils/gnc-recurrence.c
+++ b/src/gnome-utils/gnc-recurrence.c
@@ -546,10 +546,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_with_label(_("Add")));
+    grc->buttAdd = GTK_BUTTON(gtk_button_new_with_mnemonic(_("_Add")));
     g_signal_connect(G_OBJECT(grc->buttAdd), "clicked",
                      G_CALLBACK(addClicked), grc);
-    grc->buttRemove = GTK_BUTTON(gtk_button_new_with_label(_("Remove")));
+    grc->buttRemove = GTK_BUTTON(gtk_button_new_with_mnemonic(_("_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 42a41a3..2cd0c92 100644
--- a/src/gnome-utils/gnc-tree-control-split-reg.c
+++ b/src/gnome-utils/gnc-tree-control-split-reg.c
@@ -884,7 +884,7 @@ gnc_tree_control_split_reg_reinit (GncTreeViewSplitReg *view, gpointer data)
     }
 
     gtk_dialog_add_button (GTK_DIALOG (dialog),
-                          _("Cancel"), GTK_RESPONSE_CANCEL);
+                          _("_Cancel"), GTK_RESPONSE_CANCEL);
     gnc_gtk_dialog_add_button(dialog, _("_Remove Splits"),
                               "edit-delete", GTK_RESPONSE_ACCEPT);
     response = gnc_dialog_run (GTK_DIALOG(dialog), warning);
@@ -1021,7 +1021,7 @@ gnc_tree_control_split_reg_delete (GncTreeViewSplitReg *view, gpointer data)
         }
 
         gtk_dialog_add_button (GTK_DIALOG (dialog),
-                              _("Cancel"), GTK_RESPONSE_CANCEL);
+                              _("_Cancel"), GTK_RESPONSE_CANCEL);
         gnc_gtk_dialog_add_button (dialog, _("_Delete Split"),
                                   "edit-delete", GTK_RESPONSE_ACCEPT);
         response = gnc_dialog_run (GTK_DIALOG (dialog), warning);
@@ -1061,7 +1061,7 @@ gnc_tree_control_split_reg_delete (GncTreeViewSplitReg *view, gpointer data)
             warning = GNC_PREF_WARN_REG_TRANS_DEL;
         }
         gtk_dialog_add_button (GTK_DIALOG (dialog),
-                              _("Cancel"), GTK_RESPONSE_CANCEL);
+                              _("_Cancel"), GTK_RESPONSE_CANCEL);
         gnc_gtk_dialog_add_button (dialog, _("_Delete Transaction"),
                                   "edit-delete", GTK_RESPONSE_ACCEPT);
         response =  gnc_dialog_run (GTK_DIALOG (dialog), warning);
diff --git a/src/gnome-utils/gnc-tree-view-split-reg.c b/src/gnome-utils/gnc-tree-view-split-reg.c
index cdff7e5..2dfc06e 100644
--- a/src/gnome-utils/gnc-tree-view-split-reg.c
+++ b/src/gnome-utils/gnc-tree-view-split-reg.c
@@ -2452,7 +2452,7 @@ gtv_sr_transaction_changed_confirm (GncTreeViewSplitReg *view,
                                              "%s", message);
 
     gtk_dialog_add_buttons (GTK_DIALOG(dialog),_("_Discard Changes"), GTK_RESPONSE_REJECT,
-                            _("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 7646871..b317f3b 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),
-                           _("Cancel"), GTK_RESPONSE_CANCEL,
-                           _("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 0d6c3f3..0cb8cf5 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),
-                               _("Cancel"), GTK_RESPONSE_CANCEL,
-                               _("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 230cf9d..68f9cdf 100644
--- a/src/gnome/dialog-tax-info.c
+++ b/src/gnome/dialog-tax-info.c
@@ -1138,9 +1138,9 @@ identity_edit_clicked_cb (GtkButton *button,
                                           (GtkWindow *)ti_dialog->dialog,
                                           GTK_DIALOG_MODAL |
                                           GTK_DIALOG_DESTROY_WITH_PARENT,
-                                          _("Cancel"),
+                                          _("_Cancel"),
                                           GTK_RESPONSE_CANCEL,
-                                          _("Apply"),
+                                          _("_Apply"),
                                           GTK_RESPONSE_APPLY,
                                           NULL);
 
diff --git a/src/gnome/gnc-plugin-budget.c b/src/gnome/gnc-plugin-budget.c
index 9441e57..b5750eb 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,
-                         _("OK"), GTK_RESPONSE_OK,
-                         _("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 6ff83e7..f7ec46b 100644
--- a/src/gnome/gnc-plugin-page-account-tree.c
+++ b/src/gnome/gnc-plugin-page-account-tree.c
@@ -1496,8 +1496,8 @@ gnc_plugin_page_account_tree_cmd_delete_account (GtkAction *action, GncPluginPag
                                          "%s", message);
         g_free(message);
         gtk_dialog_add_buttons(GTK_DIALOG(dialog),
-                               _("Cancel"), GTK_RESPONSE_CANCEL,
-                               _("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 97f7e16..e1a573d 100644
--- a/src/gnome/gnc-plugin-page-register.c
+++ b/src/gnome/gnc-plugin-page-register.c
@@ -1574,7 +1574,7 @@ gnc_plugin_page_register_finish_pending (GncPluginPage *page)
     gnc_gtk_dialog_add_button(dialog, _("_Discard Transaction"),
                               "edit-delete", GTK_RESPONSE_REJECT);
     gtk_dialog_add_button(GTK_DIALOG(dialog),
-                          _("Cancel"), GTK_RESPONSE_CANCEL);
+                          _("_Cancel"), GTK_RESPONSE_CANCEL);
     gnc_gtk_dialog_add_button(dialog, _("_Save Transaction"),
                               "document-save", GTK_RESPONSE_ACCEPT);
 
diff --git a/src/gnome/gnc-plugin-page-register2.c b/src/gnome/gnc-plugin-page-register2.c
index 89ad533..f01b811 100644
--- a/src/gnome/gnc-plugin-page-register2.c
+++ b/src/gnome/gnc-plugin-page-register2.c
@@ -1631,7 +1631,7 @@ gnc_plugin_page_register2_finish_pending (GncPluginPage *page) //this works
     gnc_gtk_dialog_add_button (dialog, _("_Discard Transaction"),
                               "edit-delete", GTK_RESPONSE_REJECT);
     gtk_dialog_add_button (GTK_DIALOG (dialog),
-                          _("Cancel"), GTK_RESPONSE_CANCEL);
+                          _("_Cancel"), GTK_RESPONSE_CANCEL);
     gnc_gtk_dialog_add_button (dialog, _("_Save Transaction"),
                               "document-save", GTK_RESPONSE_ACCEPT);
 
diff --git a/src/gnome/gnc-split-reg.c b/src/gnome/gnc-split-reg.c
index c76d51d..83d8822 100644
--- a/src/gnome/gnc-split-reg.c
+++ b/src/gnome/gnc-split-reg.c
@@ -870,7 +870,7 @@ gsr_default_reinit_handler( GNCSplitReg *gsr, gpointer data )
     }
 
     gtk_dialog_add_button(GTK_DIALOG(dialog),
-                          _("Cancel"), GTK_RESPONSE_CANCEL);
+                          _("_Cancel"), GTK_RESPONSE_CANCEL);
     gnc_gtk_dialog_add_button(dialog, _("_Remove Splits"),
                               "edit-delete", GTK_RESPONSE_ACCEPT);
     response = gnc_dialog_run(GTK_DIALOG(dialog), warning);
@@ -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,
-                                     _("Remove"), GTK_RESPONSE_REJECT,
-                                     _("Cancel"), GTK_RESPONSE_CANCEL,
-                                     _("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,
-                                     _("Remove"), GTK_RESPONSE_REJECT,
-                                     _("Cancel"), GTK_RESPONSE_CANCEL,
-                                     _("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,7 +1251,7 @@ gsr_default_delete_handler( GNCSplitReg *gsr, gpointer data )
         }
 
         gtk_dialog_add_button(GTK_DIALOG(dialog),
-                              _("Cancel"), GTK_RESPONSE_CANCEL);
+                              _("_Cancel"), GTK_RESPONSE_CANCEL);
         gnc_gtk_dialog_add_button(dialog, _("_Delete Split"),
                                   "edit-delete", GTK_RESPONSE_ACCEPT);
         response = gnc_dialog_run(GTK_DIALOG(dialog), warning);
@@ -1291,7 +1291,7 @@ gsr_default_delete_handler( GNCSplitReg *gsr, gpointer data )
             warning = GNC_PREF_WARN_REG_TRANS_DEL;
         }
         gtk_dialog_add_button(GTK_DIALOG(dialog),
-                              _("Cancel"), GTK_RESPONSE_CANCEL);
+                              _("_Cancel"), GTK_RESPONSE_CANCEL);
         gnc_gtk_dialog_add_button(dialog, _("_Delete Transaction"),
                                   "edit-delete", GTK_RESPONSE_ACCEPT);
         response =  gnc_dialog_run(GTK_DIALOG(dialog), warning);
diff --git a/src/import-export/csv-exp/assistant-csv-export.c b/src/import-export/csv-exp/assistant-csv-export.c
index ba645ad..cd1265a 100644
--- a/src/import-export/csv-exp/assistant-csv-export.c
+++ b/src/import-export/csv-exp/assistant-csv-export.c
@@ -921,7 +921,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_with_label (_("OK"));
+    button = gtk_button_new_with_mnemonic (_("_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 3e335ca..ed9e0b0 100644
--- a/src/import-export/csv-imp/assistant-csv-account-import.c
+++ b/src/import-export/csv-imp/assistant-csv-account-import.c
@@ -325,8 +325,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,
-                                          _("OK"), GTK_RESPONSE_ACCEPT,
-                                          _("Cancel"), GTK_RESPONSE_REJECT,
+                                          _("_OK"), GTK_RESPONSE_ACCEPT,
+                                          _("_Cancel"), GTK_RESPONSE_REJECT,
                                           NULL);
 
     content_area = gtk_dialog_get_content_area (GTK_DIALOG(dialog));
@@ -610,7 +610,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_with_label (_("OK"));
+    button = gtk_button_new_with_mnemonic (_("_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 9ecaac4..e3ac075 100644
--- a/src/plugins/bi_import/dialog-bi-import-gui.c
+++ b/src/plugins/bi_import/dialog-bi-import-gui.c
@@ -404,8 +404,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,
-                                          _("OK"), GTK_RESPONSE_ACCEPT,
-                                          _("Cancel"), GTK_RESPONSE_REJECT,
+                                          _("_OK"), GTK_RESPONSE_ACCEPT,
+                                          _("_Cancel"), GTK_RESPONSE_REJECT,
                                           NULL);
     content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
 
@@ -462,7 +462,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,
-                                          _("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 b0542ca..b87ed73 100644
--- a/src/plugins/customer_import/dialog-customer-import-gui.c
+++ b/src/plugins/customer_import/dialog-customer-import-gui.c
@@ -379,8 +379,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,
-                                          _("OK"), GTK_RESPONSE_ACCEPT,
-                                          _("Cancel"), GTK_RESPONSE_REJECT,
+                                          _("_OK"), GTK_RESPONSE_ACCEPT,
+                                          _("_Cancel"), GTK_RESPONSE_REJECT,
                                           NULL);
     content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
 
@@ -436,7 +436,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,
-                                          _("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 a9efcdd..3117dac 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,
-                           _("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 e5ca36cf55d75417e728a68a3b713de0bb59cd2a
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 11:53:37 2017 +0100

    Fix mistake in adding style context to Find Transactions dialog
    
    Added another parameter to gnc_search_dialog_create to pass a style
    class so it can be added to the search dialog which resulted in updating
     other files as well.

diff --git a/src/business/business-gnome/dialog-customer.c b/src/business/business-gnome/dialog-customer.c
index ed94f86..5009241 100644
--- a/src/business/business-gnome/dialog-customer.c
+++ b/src/business/business-gnome/dialog-customer.c
@@ -960,7 +960,8 @@ gnc_customer_search (GncCustomer *start, QofBook *book)
     return gnc_search_dialog_create (type, _("Find Customer"),
                                      params, columns, q, q2, buttons, NULL,
                                      new_customer_cb, sw, free_userdata_cb,
-                                     GNC_PREFS_GROUP_SEARCH, NULL);
+                                     GNC_PREFS_GROUP_SEARCH, NULL,
+                                     "GncFindCustomerDialog");
 }
 
 GNCSearchWindow *
diff --git a/src/business/business-gnome/dialog-employee.c b/src/business/business-gnome/dialog-employee.c
index b0a66a3..a58f8e2 100644
--- a/src/business/business-gnome/dialog-employee.c
+++ b/src/business/business-gnome/dialog-employee.c
@@ -762,7 +762,8 @@ gnc_employee_search (GncEmployee *start, QofBook *book)
                                      params, columns, q, q2,
                                      buttons, NULL, new_employee_cb,
                                      sw, free_employee_cb,
-                                     GNC_PREFS_GROUP_SEARCH, NULL);
+                                     GNC_PREFS_GROUP_SEARCH, NULL,
+                                     "GncFindEmployeeDialog");
 }
 
 GNCSearchWindow *
diff --git a/src/business/business-gnome/dialog-invoice.c b/src/business/business-gnome/dialog-invoice.c
index c39cc65..e9c39c9 100644
--- a/src/business/business-gnome/dialog-invoice.c
+++ b/src/business/business-gnome/dialog-invoice.c
@@ -3011,7 +3011,7 @@ gnc_invoice_search (GncInvoice *start, GncOwner *owner, QofBook *book)
     GncOwnerType owner_type = GNC_OWNER_CUSTOMER;
     static GList *inv_params = NULL, *bill_params = NULL, *emp_params = NULL, *params;
     static GList *columns = NULL;
-    const gchar *title, *label;
+    const gchar *title, *label, *style_class;
     static GNCSearchCallbackButton *buttons;
     static GNCSearchCallbackButton inv_buttons[] =
     {
@@ -3251,18 +3251,21 @@ gnc_invoice_search (GncInvoice *start, GncOwner *owner, QofBook *book)
     case GNC_OWNER_VENDOR:
         title = _("Find Bill");
         label = _("Bill");
+        style_class = "GncFindBillDialog";
         params = bill_params;
         buttons = bill_buttons;
         break;
     case GNC_OWNER_EMPLOYEE:
         title = _("Find Expense Voucher");
         label = _("Expense Voucher");
+        style_class = "GncFindExpenseVoucherDialog";
         params = emp_params;
         buttons = emp_buttons;
         break;
     default:
         title = _("Find Invoice");
         label = _("Invoice");
+        style_class = "GncFindInvoiceDialog";
         params = inv_params;
         buttons = inv_buttons;
         break;
@@ -3270,7 +3273,7 @@ gnc_invoice_search (GncInvoice *start, GncOwner *owner, QofBook *book)
     return gnc_search_dialog_create (type, title, params, columns, q, q2,
                                      buttons, NULL, new_invoice_cb,
                                      sw, free_invoice_cb, GNC_PREFS_GROUP_SEARCH,
-                                     label);
+                                     label, style_class);
 }
 
 DialogQueryView *
diff --git a/src/business/business-gnome/dialog-job.c b/src/business/business-gnome/dialog-job.c
index e58aca8..d14ec64 100644
--- a/src/business/business-gnome/dialog-job.c
+++ b/src/business/business-gnome/dialog-job.c
@@ -650,7 +650,8 @@ gnc_job_search (GncJob *start, GncOwner *owner, QofBook *book)
     return gnc_search_dialog_create (type, _("Find Job"),
                                      params, columns, q, q2, buttons, NULL,
                                      new_job_cb, sw, free_userdata_cb,
-                                     GNC_PREFS_GROUP_SEARCH, NULL);
+                                     GNC_PREFS_GROUP_SEARCH, NULL,
+                                     "GncFindJobDialog");
 }
 
 /* Functions for widgets for job selection */
diff --git a/src/business/business-gnome/dialog-order.c b/src/business/business-gnome/dialog-order.c
index 4157b5e..099b3ef 100644
--- a/src/business/business-gnome/dialog-order.c
+++ b/src/business/business-gnome/dialog-order.c
@@ -954,7 +954,7 @@ gnc_order_search (GncOrder *start, GncOwner *owner, QofBook *book)
                                      params, columns, q, q2,
                                      buttons, NULL, new_order_cb,
                                      sw, free_order_cb, GNC_PREFS_GROUP_SEARCH,
-                                     NULL);
+                                     NULL, "GncFindOrderDialog");
 }
 
 GNCSearchWindow *
diff --git a/src/business/business-gnome/dialog-vendor.c b/src/business/business-gnome/dialog-vendor.c
index e95f480..124a2d1 100644
--- a/src/business/business-gnome/dialog-vendor.c
+++ b/src/business/business-gnome/dialog-vendor.c
@@ -762,7 +762,8 @@ gnc_vendor_search (GncVendor *start, QofBook *book)
     return gnc_search_dialog_create (type, _("Find Vendor"),
                                      params, columns, q, q2, buttons, NULL,
                                      new_vendor_cb, sw, free_vendor_cb,
-                                     GNC_PREFS_GROUP_SEARCH, NULL);
+                                     GNC_PREFS_GROUP_SEARCH, NULL,
+                                     "GncFindVendorDialog");
 }
 
 GNCSearchWindow *
diff --git a/src/gnome-search/dialog-search.c b/src/gnome-search/dialog-search.c
index 294eda7..d6384fd 100644
--- a/src/gnome-search/dialog-search.c
+++ b/src/gnome-search/dialog-search.c
@@ -1311,7 +1311,8 @@ gnc_search_dialog_create (QofIdTypeConst obj_type, const gchar *title,
                           GNCSearchNewItemCB new_item_cb,
                           gpointer user_data, GNCSearchFree free_cb,
                           const gchar *prefs_group,
-                          const gchar *type_label)
+                          const gchar *type_label,
+                          const gchar *style_class)
 {
     GNCSearchWindow *sw = g_new0 (GNCSearchWindow, 1);
 
@@ -1348,6 +1349,12 @@ gnc_search_dialog_create (QofIdTypeConst obj_type, const gchar *title,
         gnc_restore_window_size(sw->prefs_group, GTK_WINDOW(sw->dialog));
     gtk_widget_show(sw->dialog);
 
+    // Set the style context for this dialog so it can be easily manipulated with css
+    if (style_class == NULL)
+        gnc_widget_set_style_context (GTK_WIDGET(sw->dialog), "GncSearchDialog");
+    else
+        gnc_widget_set_style_context (GTK_WIDGET(sw->dialog), style_class);
+
     /* Maybe display the original query results? */
     if (callbacks && show_start_query)
     {
@@ -1492,6 +1499,6 @@ gnc_search_dialog_test (void)
     gnc_search_dialog_create (GNC_ID_SPLIT, _("Find Transaction"),
 			      params, display,
 			      NULL, NULL, buttons, NULL, NULL, NULL, NULL,
-			      NULL, NULL);
+			      NULL, NULL, NULL);
 }
 
diff --git a/src/gnome-search/dialog-search.h b/src/gnome-search/dialog-search.h
index 2ad7fa6..ec3bc28 100644
--- a/src/gnome-search/dialog-search.h
+++ b/src/gnome-search/dialog-search.h
@@ -112,7 +112,8 @@ gnc_search_dialog_create (QofIdTypeConst obj_type, const gchar *title,
                           GNCSearchNewItemCB new_item_cb,
                           gpointer user_data, GNCSearchFree free_user_data,
                           const gchar *prefs_group,
-                          const gchar *type_label);
+                          const gchar *type_label,
+                          const gchar *style_class);
 
 void gnc_search_dialog_destroy (GNCSearchWindow *sw);
 void gnc_search_dialog_raise (GNCSearchWindow *sw);
diff --git a/src/gnome/dialog-find-transactions.c b/src/gnome/dialog-find-transactions.c
index cbd721a..26e1841 100644
--- a/src/gnome/dialog-find-transactions.c
+++ b/src/gnome/dialog-find-transactions.c
@@ -224,11 +224,8 @@ gnc_ui_find_transactions_dialog_create(GNCLedgerDisplay * orig_ledg)
     ftd->sw = gnc_search_dialog_create (type, _("Find Transaction"),
                                         params, NULL, start_q, show_q,
                                         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");
-
+                                        ftd, free_ftd_cb, GNC_PREFS_GROUP_SEARCH, NULL,
+                                        "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 f4e255b..31f9063 100644
--- a/src/gnome/dialog-find-transactions2.c
+++ b/src/gnome/dialog-find-transactions2.c
@@ -225,11 +225,8 @@ gnc_ui_find_transactions_dialog_create2 (GNCLedgerDisplay2 * orig_ledg)
     ftd->sw = gnc_search_dialog_create (type, _("Find Transaction"),
                                         params, NULL, start_q, show_q,
                                         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");
-
+                                        ftd, free_ftd_cb, GNC_PREFS_GROUP_SEARCH, NULL,
+                                        "GncFindTransDialog");
     if (!ftd->sw)
     {
         free_ftd_cb (ftd);

commit ad6ad923dfab526dde9512bd015316cbde53b912
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 09:46:07 2017 +0100

    Replace register Gtk3 deprecated functions in gnucash-sheet.c

diff --git a/src/register/register-gnome/gnucash-sheet.c b/src/register/register-gnome/gnucash-sheet.c
index 7a972ce..360a7e2 100644
--- a/src/register/register-gnome/gnucash-sheet.c
+++ b/src/register/register-gnome/gnucash-sheet.c
@@ -598,7 +598,9 @@ gnucash_sheet_update_adjustments (GnucashSheet *sheet)
     else
         gtk_adjustment_set_step_increment (vadj, 0);
 
+#if !GTK_CHECK_VERSION(3,18,0)
     gtk_adjustment_changed(vadj);
+#endif
 }
 
 
@@ -1279,13 +1281,22 @@ gnucash_sheet_check_grab (GnucashSheet *sheet)
 {
     GdkModifierType mods;
     GdkDevice *device;
+#if GTK_CHECK_VERSION(3,20,0)
+    GdkSeat *seat;
+#else
     GdkDeviceManager *device_manager;
+#endif
 
     if (!sheet->grabbed)
         return;
 
-    device_manager = gdk_display_get_device_manager(gdk_display_get_default());
+#if GTK_CHECK_VERSION(3,20,0)
+    seat = gdk_display_get_default_seat (gdk_display_get_default());
+    device = gdk_seat_get_pointer (seat);
+#else
+    device_manager = gdk_display_get_device_manager (gdk_display_get_default());
     device = gdk_device_manager_get_client_pointer (device_manager);
+#endif
 
     gdk_device_get_state (device, gtk_widget_get_window (GTK_WIDGET(sheet)),
                           0, &mods);
@@ -1371,8 +1382,12 @@ gnucash_button_press_event (GtkWidget *widget, GdkEventButton *event)
     if (virt_loc_equal (new_virt_loc, cur_virt_loc) &&
         sheet->editing && do_popup)
     {
+#if GTK_CHECK_VERSION(3,22,0)
+        gtk_menu_popup_at_pointer (GTK_MENU(sheet->popup), (GdkEvent *) event);
+#else
         gtk_menu_popup(GTK_MENU(sheet->popup), NULL, NULL, NULL,
                        sheet->popup_data, event->button, event->time);
+#endif
 
         return TRUE;
     }
@@ -1395,8 +1410,12 @@ gnucash_button_press_event (GtkWidget *widget, GdkEventButton *event)
         gnucash_sheet_check_grab (sheet);
 
     if (do_popup)
+#if GTK_CHECK_VERSION(3,22,0)
+        gtk_menu_popup_at_pointer (GTK_MENU(sheet->popup), (GdkEvent *) event);
+#else
         gtk_menu_popup(GTK_MENU(sheet->popup), NULL, NULL, NULL,
                        sheet->popup_data, event->button, event->time);
+#endif
     return button_1 || do_popup;
 }
 
@@ -2316,6 +2335,25 @@ gnucash_sheet_realize_entry (GnucashSheet *sheet, GtkWidget *entry)
  * the register is rewritten.
  */
 
+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,
+                           GTK_STYLE_PROPERTY_BACKGROUND_COLOR, &c,
+                           NULL);
+    *color = *c;
+    gdk_rgba_free (c);
+}
+
+
 /** Map a cell type to a gtkrc specified color. */
 GdkRGBA *
 get_gtkrc_color (GnucashSheet *sheet,
@@ -2379,13 +2417,13 @@ get_gtkrc_color (GnucashSheet *sheet,
     case COLOR_PRIMARY_BG:
     case COLOR_SECONDARY_BG:
     case COLOR_SPLIT_BG:
-        gtk_style_context_get_background_color(stylectxt, GTK_STATE_FLAG_NORMAL, &color);
+        gnc_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:
-        gtk_style_context_get_background_color(stylectxt, GTK_STATE_FLAG_SELECTED, &color);
+        gnc_style_context_get_background_color(stylectxt, GTK_STATE_FLAG_SELECTED, &color);
         break;
 
     case COLOR_HEADER_FG:

commit a437e2405d0f52f4015a666329513e883cd12e1b
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 09:45:00 2017 +0100

    Replace register Gtk3.14 deprecated functions related to gtk_arrow
    
    Replaced gtk_arrow with a gtk_image_from_icon and used 'go-down' and
    'go-up', may need to replace with our own.

diff --git a/src/register/register-gnome/gnucash-item-edit.c b/src/register/register-gnome/gnucash-item-edit.c
index eb3dfbe..f9e87ab 100644
--- a/src/register/register-gnome/gnucash-item-edit.c
+++ b/src/register/register-gnome/gnucash-item-edit.c
@@ -527,8 +527,11 @@ gnc_item_edit_new (GnucashSheet *sheet)
     /* 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));
+#if GTK_CHECK_VERSION(3,14,0)
+    item_edit->popup_toggle.arrow = gtk_image_new_from_icon_name ("go-down", GTK_ICON_SIZE_BUTTON);
+#else
+    item_edit->popup_toggle.arrow = GTK_WIDGET(gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_IN));
+#endif
 
     item_edit->popup_toggle.tbutton = gtk_toggle_button_new();
     gtk_toggle_button_set_mode (
@@ -642,8 +645,11 @@ gnc_item_edit_show_popup (GncItemEdit *item_edit)
         unblock_toggle_signals (item_edit);
     }
 
-    gtk_arrow_set (item_edit->popup_toggle.arrow,
-                   GTK_ARROW_UP, GTK_SHADOW_OUT);
+#if GTK_CHECK_VERSION(3,14,0)
+    item_edit->popup_toggle.arrow = gtk_image_new_from_icon_name ("go-up", GTK_ICON_SIZE_BUTTON);
+#else
+    gtk_arrow_set (GTK_ARROW(item_edit->popup_toggle.arrow), GTK_ARROW_UP, GTK_SHADOW_OUT);
+#endif
 
     if (item_edit->popup_set_focus)
         item_edit->popup_set_focus (item_edit->popup_item,
@@ -685,8 +691,11 @@ gnc_item_edit_hide_popup (GncItemEdit *item_edit)
         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);
+#if GTK_CHECK_VERSION(3,14,0)
+    item_edit->popup_toggle.arrow = gtk_image_new_from_icon_name ("go-down", GTK_ICON_SIZE_BUTTON);
+#else
+    gtk_arrow_set (GTK_ARROW(item_edit->popup_toggle.arrow), GTK_ARROW_DOWN, GTK_SHADOW_IN);
+#endif
 
     gtk_toggle_button_set_active
     (GTK_TOGGLE_BUTTON(item_edit->popup_toggle.tbutton), FALSE);
diff --git a/src/register/register-gnome/gnucash-item-edit.h b/src/register/register-gnome/gnucash-item-edit.h
index 927d113..1a6e595 100644
--- a/src/register/register-gnome/gnucash-item-edit.h
+++ b/src/register/register-gnome/gnucash-item-edit.h
@@ -61,7 +61,7 @@ struct _PopupToggle
 {
     GtkWidget *ebox;
     GtkWidget *tbutton;
-    GtkArrow *arrow;
+    GtkWidget *arrow;
     gboolean signals_connected;
 };
 

commit 200f7baf53dc6cf8605672fc72e27cc6f1736373
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 09:43:53 2017 +0100

    Replace register GTk3.16 deprecated function gdk_cursor_new

diff --git a/src/register/register-gnome/gnucash-header.c b/src/register/register-gnome/gnucash-header.c
index 022c930..e04eb7e 100644
--- a/src/register/register-gnome/gnucash-header.c
+++ b/src/register/register-gnome/gnucash-header.c
@@ -585,7 +585,11 @@ gnc_header_init (GncHeader *header)
     header->cursor_name = NULL;
     header->in_resize = FALSE;
     header->resize_col = -1;
+#if GTK_CHECK_VERSION(3,16,0)
+    header->resize_cursor = gdk_cursor_new_for_display (gdk_display_get_default (), GDK_SB_H_DOUBLE_ARROW);
+#else
     header->resize_cursor = gdk_cursor_new (GDK_SB_H_DOUBLE_ARROW);
+#endif
     header->normal_cursor = NULL;
     header->height = 20;
     header->width = 400;

commit 7d1abfa28f6630728ed3e6376e2a5647ac7c8af5
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 09:43:07 2017 +0100

    Replace deprecated Gtk3.22 function to get monitor size

diff --git a/src/gnome-utils/gnc-dense-cal.c b/src/gnome-utils/gnc-dense-cal.c
index b2a1396..d958527 100644
--- a/src/gnome-utils/gnc-dense-cal.c
+++ b/src/gnome-utils/gnc-dense-cal.c
@@ -1217,13 +1217,31 @@ static gint
 gnc_dense_cal_button_press(GtkWidget *widget,
                            GdkEventButton *evt)
 {
+#if GTK_CHECK_VERSION(3,22,0)
+    GdkWindow *win = gdk_screen_get_root_window (gtk_widget_get_screen (widget));
+    GdkMonitor *mon = gdk_display_get_monitor_at_window (gtk_widget_get_display (widget), win);
+    GdkRectangle monitor_size;
+#else
     GdkScreen *screen = gdk_screen_get_default ();
+#endif
     GtkAllocation alloc;
     gint doc;
+    gint screen_width;
+    gint screen_height;
     GncDenseCal *dcal = GNC_DENSE_CAL(widget);
     gint win_xpos = evt->x_root + 5;
     gint win_ypos = evt->y_root + 5;
 
+#if GTK_CHECK_VERSION(3,22,0)
+    gdk_monitor_get_geometry (mon, &monitor_size);
+
+    screen_width = monitor_size.width;
+    screen_height = monitor_size.height;
+#else
+    screen_width = gdk_screen_get_width (screen);
+    screen_height = gdk_screen_get_height (screen);
+#endif
+
     doc = wheres_this(dcal, evt->x, evt->y);
     dcal->showPopup = ~(dcal->showPopup);
     if (dcal->showPopup && doc >= 0)
@@ -1242,10 +1260,10 @@ gnc_dense_cal_button_press(GtkWidget *widget,
         gtk_widget_queue_resize(GTK_WIDGET(dcal->transPopup));
         gtk_widget_show_all(GTK_WIDGET(dcal->transPopup));
 
-        if (evt->x_root + 5 + alloc.width > gdk_screen_get_width(screen))
+        if (evt->x_root + 5 + alloc.width > screen_width)
             win_xpos = evt->x_root - 2 - alloc.width;
 
-        if (evt->y_root + 5 + alloc.height > gdk_screen_get_height(screen))
+        if (evt->y_root + 5 + alloc.height > screen_height)
             win_ypos = evt->y_root - 2 - alloc.height;
 
         gtk_window_move(GTK_WINDOW(dcal->transPopup), win_xpos, win_ypos);
@@ -1263,6 +1281,8 @@ gnc_dense_cal_motion_notify(GtkWidget *widget,
     GncDenseCal *dcal;
     GtkAllocation alloc;
     gint doc;
+    gint screen_width;
+    gint screen_height;
     int unused;
     GdkModifierType unused2;
     gint win_xpos = event->x_root + 5;
@@ -1275,17 +1295,33 @@ gnc_dense_cal_motion_notify(GtkWidget *widget,
     /* As per http://www.gtk.org/tutorial/sec-eventhandling.html */
     if (event->is_hint)
     {
-        GdkDeviceManager *device_manager;
-        GdkDevice *pointer;
+#if GTK_CHECK_VERSION(3,20,0)
+        GdkSeat *seat = gdk_display_get_default_seat (gdk_window_get_display (event->window));
+        GdkDevice *pointer = gdk_seat_get_pointer (seat);
+#else
+        GdkDeviceManager *device_manager = gdk_display_get_device_manager (gdk_window_get_display (event->window));
+        GdkDevice *pointer = gdk_device_manager_get_client_pointer (device_manager);
+#endif
 
-        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)
     {
+#if GTK_CHECK_VERSION(3,22,0)
+        GdkWindow *win = gdk_screen_get_root_window (gtk_widget_get_screen (widget));
+        GdkMonitor *mon = gdk_display_get_monitor_at_window (gtk_widget_get_display (widget), win);
+        GdkRectangle monitor_size;
+                
+        gdk_monitor_get_geometry (mon, &monitor_size);
+
+        screen_width = monitor_size.width;
+        screen_height = monitor_size.height;
+#else
+        screen_width = gdk_screen_get_width (screen);
+        screen_height = gdk_screen_get_height (screen);
+#endif
         populate_hover_window(dcal, doc);
         gtk_widget_queue_resize(GTK_WIDGET(dcal->transPopup));
 
@@ -1293,10 +1329,10 @@ gnc_dense_cal_motion_notify(GtkWidget *widget,
 
         gtk_widget_show_all(GTK_WIDGET(dcal->transPopup));      
 
-        if (event->x_root + 5 + alloc.width > gdk_screen_get_width(screen))
+        if (event->x_root + 5 + alloc.width > screen_width)
             win_xpos = event->x_root - 2 - alloc.width;
 
-        if (event->y_root + 5 + alloc.height > gdk_screen_get_height(screen))
+        if (event->y_root + 5 + alloc.height > screen_height)
             win_ypos = event->y_root - 2 - alloc.height;
 
         gtk_window_move(GTK_WINDOW(dcal->transPopup), win_xpos, win_ypos);

commit 5536fb175d0ccd6cc4a4e98bd4d50e2bf0aafad7
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 09:40:31 2017 +0100

    Replace Gtk3.20 deprecated functions in gnc-cell-renderer-popup.c
    
    This still needs a couple of changes but it still works

diff --git a/src/gnome-utils/gnc-cell-renderer-popup.c b/src/gnome-utils/gnc-cell-renderer-popup.c
index 7cbec35..1c28af6 100644
--- a/src/gnome-utils/gnc-cell-renderer-popup.c
+++ b/src/gnome-utils/gnc-cell-renderer-popup.c
@@ -216,20 +216,45 @@ gcrp_grab_on_window (GdkWindow *window,
 		     guint32    activate_time)
 {
     GdkDisplay *display = gdk_display_get_default ();
-    GdkDeviceManager *dm = gdk_display_get_device_manager (display);
-    GdkDevice *device = gdk_device_manager_get_client_pointer (dm);
-
+#if GTK_CHECK_VERSION(3,20,0)
+    GdkSeat *seat;
+#else
+    GdkDeviceManager *device_manager;
+#endif
+    GdkDevice *device;
+
+GdkEvent *event = gtk_get_current_event ();
+
+#if GTK_CHECK_VERSION(3,20,0)
+    seat = gdk_display_get_default_seat (display);
+    device = gdk_seat_get_pointer (seat);
+#else
+    device_manager = gdk_display_get_device_manager (display);
+    device = gdk_device_manager_get_client_pointer (device_manager);
+#endif
+
+#if GTK_CHECK_VERSION(3,22,0)
+    if ((gdk_seat_grab (seat, window, GDK_SEAT_CAPABILITY_POINTER, TRUE, NULL,
+                        event, NULL, NULL) == GDK_GRAB_SUCCESS )) {
+        if (gdk_seat_grab (seat, window, GDK_SEAT_CAPABILITY_KEYBOARD, TRUE, NULL,
+                        event, NULL, NULL) == GDK_GRAB_SUCCESS )
+#else
     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)) {
+                          NULL, activate_time) == GDK_GRAB_SUCCESS)) {
 
         if (gdk_device_grab (device, window, GDK_OWNERSHIP_WINDOW, TRUE,
                              GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK,
-			     NULL, activate_time) == 0)
+			     NULL, activate_time) == GDK_GRAB_SUCCESS)
+#endif
             return TRUE;
         else {
+#if GTK_CHECK_VERSION(3,22,0)
+            gdk_seat_ungrab (seat);
+#else
             gdk_device_ungrab (device, activate_time);
+#endif
             return FALSE;
         }
     }
@@ -244,6 +269,11 @@ gcrp_show_popup (GncCellRendererPopup *cell,
 		 gint                 x2,
 		 gint                 y2)
 {
+#if GTK_CHECK_VERSION(3,22,0)
+        GdkWindow *win;
+        GdkMonitor *mon;
+        GdkRectangle monitor_size;
+#endif
 	GtkAllocation alloc;
 	gint          x, y;
 	gint          screen_height, screen_width;
@@ -265,10 +295,19 @@ gcrp_show_popup (GncCellRendererPopup *cell,
 	y = y2;
 
 	button_height = y2 - y1;
-	
-	screen_height = gdk_screen_height () - y;
-	screen_width = gdk_screen_width ();
 
+#if GTK_CHECK_VERSION(3,22,0)
+        win = gdk_screen_get_root_window (gtk_window_get_screen (GTK_WINDOW (cell->popup_window)));
+        mon = gdk_display_get_monitor_at_window (gtk_widget_get_display (GTK_WIDGET(cell->popup_window)), win);
+        gdk_monitor_get_geometry (mon, &monitor_size);
+
+        screen_width = monitor_size.width;
+        screen_height = monitor_size.height - y;
+#else
+        screen_width = gdk_screen_width();
+        screen_height = gdk_screen_height() - y;
+#endif
+	
 	/* Check if it fits in the available height. */
 	if (alloc.height > screen_height) {
 		/* It doesn't fit, so we see if we have the minimum space needed. */

commit 3f1c2ae26a3ff76618e9a35c208d955dae505763
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 09:39:42 2017 +0100

    Replace Gtk3.22 deprecated functions to do with monitor size

diff --git a/src/gnome-utils/dialog-utils.c b/src/gnome-utils/dialog-utils.c
index c0757c1..7a4d213 100644
--- a/src/gnome-utils/dialog-utils.c
+++ b/src/gnome-utils/dialog-utils.c
@@ -120,9 +120,21 @@ gnc_restore_window_size(const char *group, GtkWindow *window)
     geometry = gnc_prefs_get_value (group, GNC_PREF_LAST_GEOMETRY);
     if (g_variant_is_of_type (geometry, (const GVariantType *) "(iiii)") )
     {
-        gint screen_width = gdk_screen_width();
-        gint screen_height = gdk_screen_height();
+        gint screen_width;
+        gint screen_height;
+#if GTK_CHECK_VERSION(3,22,0)
+        GdkWindow *win = gdk_screen_get_root_window (gtk_window_get_screen (window));
+        GdkMonitor *mon = gdk_display_get_monitor_at_window (gtk_widget_get_display (GTK_WIDGET(window)), win);
+        GdkRectangle monitor_size;
 
+        gdk_monitor_get_geometry (mon, &monitor_size);
+
+        screen_width = monitor_size.width;
+        screen_height = monitor_size.height;
+#else
+        screen_width = gdk_screen_width(); //default screen
+        screen_height = gdk_screen_height(); //default screen
+#endif
         g_variant_get (geometry, "(iiii)",
                        &wpos[0],  &wpos[1],
                        &wsize[0], &wsize[1]);
@@ -194,6 +206,11 @@ gnc_save_window_size(const char *group, GtkWindow *window)
 void
 gnc_window_adjust_for_screen(GtkWindow * window)
 {
+#if GTK_CHECK_VERSION(3,22,0)
+    GdkWindow *win;
+    GdkMonitor *mon;
+    GdkRectangle monitor_size;
+#endif
     gint screen_width;
     gint screen_height;
     gint width;
@@ -206,8 +223,17 @@ gnc_window_adjust_for_screen(GtkWindow * window)
     if (gtk_widget_get_window (GTK_WIDGET(window)) == NULL)
         return;
 
+#if GTK_CHECK_VERSION(3,22,0)
+    win = gdk_screen_get_root_window (gtk_window_get_screen (window));
+    mon = gdk_display_get_monitor_at_window (gtk_widget_get_display (GTK_WIDGET(window)), win);
+    gdk_monitor_get_geometry (mon, &monitor_size);
+
+    screen_width = monitor_size.width;
+    screen_height = monitor_size.height;
+#else
     screen_width = gdk_screen_width();
     screen_height = gdk_screen_height();
+#endif
     width = gdk_window_get_width (gtk_widget_get_window (GTK_WIDGET(window)));
     height = gdk_window_get_height (gtk_widget_get_window (GTK_WIDGET(window)));
 

commit 6790066ff4d95f6d8e149bb328eb36ee1fb9bc4a
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 09:38:51 2017 +0100

    Replace Gtk3.20 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 3c1874d..dfe32e0 100644
--- a/src/gnome-utils/gnc-date-edit.c
+++ b/src/gnome-utils/gnc-date-edit.c
@@ -148,20 +148,33 @@ gnc_strtok_r (char *s, const char *delim, char **save_ptr)
 static void
 gnc_date_edit_popdown(GNCDateEdit *gde)
 {
-    GdkDeviceManager *manager;
+#if GTK_CHECK_VERSION(3,20,0)
+    GdkSeat *seat;
+#else
+    GdkDeviceManager *device_manager;
+#endif
     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);
+#if GTK_CHECK_VERSION(3,20,0)
+    seat = gdk_display_get_default_seat (gdk_display_get_default());
+    pointer = gdk_seat_get_pointer (seat);
+#else
+    device_manager = gdk_display_get_device_manager (gdk_display_get_default());
+    pointer = gdk_device_manager_get_client_pointer (device_manager);
+#endif
 
     gtk_grab_remove (gde->cal_popup);
     gtk_widget_hide (gde->cal_popup);
     if (pointer)
+#if GTK_CHECK_VERSION(3,20,0)
+        gdk_seat_ungrab (seat);
+#else
         gdk_device_ungrab (pointer, GDK_CURRENT_TIME);
+#endif
 
     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gde->date_button),
                                   FALSE);
@@ -253,27 +266,42 @@ popup_grab_on_window (GdkWindow *window,
                       GdkDevice *pointer,
                       guint32    activate_time)
 {
-  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 (keyboard)
-        gdk_device_ungrab (keyboard, activate_time);
+#if GTK_CHECK_VERSION(3,20,0)
+    GdkDisplay *display = gdk_display_get_default ();
+    GdkSeat *seat = gdk_display_get_default_seat (display);
+    GdkEvent *event = gtk_get_current_event ();
 
-      return FALSE;
-    }
+    if (keyboard && gdk_seat_grab (seat, window, GDK_SEAT_CAPABILITY_KEYBOARD, TRUE, NULL,
+                                   event, NULL, NULL) != GDK_GRAB_SUCCESS )
+#else
+    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)
+#endif
+        return FALSE;
 
-  return TRUE;
+#if GTK_CHECK_VERSION(3,20,0)
+    if (pointer && gdk_seat_grab (seat, window, GDK_SEAT_CAPABILITY_POINTER, TRUE, NULL,
+                                  event, NULL, NULL) != GDK_GRAB_SUCCESS )
+#else
+    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)
+#endif
+    {
+        if (keyboard)
+#if GTK_CHECK_VERSION(3,20,0)
+            gdk_seat_ungrab (seat);
+#else
+            gdk_device_ungrab (keyboard, activate_time);
+#endif
+        return FALSE;
+    }
+    return TRUE;
 }
 
 

commit f8534414022563257ca8c84d8af842bd247ca2fb
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 09:37:59 2017 +0100

    Replace Gtk3.22 deprecated function gtk_menu_popup

diff --git a/src/gnome-utils/gnc-combott.c b/src/gnome-utils/gnc-combott.c
index fc9bf27..33b6f18 100644
--- a/src/gnome-utils/gnc-combott.c
+++ b/src/gnome-utils/gnc-combott.c
@@ -92,11 +92,13 @@ static void gctt_get_property (GObject *object,
 
 static void gctt_finalize (GObject *object);
 
+#if !GTK_CHECK_VERSION(3,22,0)
 static void gctt_combott_menu_position (GtkMenu *menu,
                                         gint *x,
                                         gint *y,
                                         gint *push_in,
                                         gpointer user_data);
+#endif
 
 static void gctt_changed (GncCombott *combott);
 static void gctt_set_model (GncCombott *combott, GtkTreeModel *model);
@@ -474,6 +476,7 @@ gctt_changed(GncCombott *combott)
 }
 
 
+#if !GTK_CHECK_VERSION(3,22,0)
 static void
 gctt_combott_menu_position (GtkMenu  *menu,
                             gint     *x,
@@ -525,6 +528,7 @@ gctt_combott_menu_position (GtkMenu  *menu,
 
     *push_in = FALSE;
 }
+#endif
 
 
 static void
@@ -591,10 +595,18 @@ button_press_cb (GtkWidget *widget, GdkEvent *event, gpointer *user_data )
         {
             GdkEventButton *bevent = (GdkEventButton *) event;
 
+#if GTK_CHECK_VERSION(3,22,0)
+            gtk_menu_popup_at_widget (GTK_MENU(priv->menu),
+                                      widget,
+                                      GDK_GRAVITY_SOUTH_WEST,
+                                      GDK_GRAVITY_NORTH_WEST,
+                                      event);
+#else
             gtk_menu_popup (GTK_MENU (priv->menu),
                             NULL, NULL,
                             gctt_combott_menu_position, combott,
                             bevent->button, bevent->time);
+#endif
 
             /* Tell calling code that we have handled this event; the buck
              * stops here. */

commit 54019608eef9cd7f34af9e270f6e00ba52ea7055
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 09:37:19 2017 +0100

    Replace Gtk3.22 deprecated function gtk_menu_popup

diff --git a/src/gnome-utils/gnc-main-window.c b/src/gnome-utils/gnc-main-window.c
index 6021477..bd088c4 100644
--- a/src/gnome-utils/gnc-main-window.c
+++ b/src/gnome-utils/gnc-main-window.c
@@ -761,14 +761,15 @@ gnc_main_window_restore_window (GncMainWindow *window, GncMainWindowSaveData *da
         g_warning("invalid number of values for group %s key %s",
                   window_group, WINDOW_POSITION);
     }
-    else if ((pos[0] + (geom ? geom[0] : 0) < 0) ||
-             (pos[0] > gdk_screen_width()) ||
-             (pos[1] + (geom ? geom[1] : 0) < 0) ||
-             (pos[1] > gdk_screen_height()))
-    {
+// This does not do any thing ?
+//    else if ((pos[0] + (geom ? geom[0] : 0) < 0) ||
+//             (pos[0] > gdk_screen_width()) ||
+//             (pos[1] + (geom ? geom[1] : 0) < 0) ||
+//             (pos[1] > gdk_screen_height()))
+//    {
 //    g_debug("position %dx%d, size%dx%d is offscreen; will not move",
 //	    pos[0], pos[1], geom[0], geom[1]);
-    }
+//    }
     else
     {
         gtk_window_move(GTK_WINDOW(window), pos[0], pos[1]);
@@ -4714,8 +4715,11 @@ do_popup_menu(GncPluginPage *page, GdkEventButton *event)
         button = 0;
         event_time = gtk_get_current_event_time ();
     }
-
+#if GTK_CHECK_VERSION(3,22,0)
+    gtk_menu_popup_at_pointer (GTK_MENU(menu), (GdkEvent *) event);
+#else
     gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, button, event_time);
+#endif
     LEAVE(" ");
 }
 

commit d4faad8bf6aad8c63aed87a549435dca640319e8
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 09:36:33 2017 +0100

    Replace Gtk3.22 deprecated function gtk_menu_popup

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 c60ea63..cbc38df 100644
--- a/src/import-export/csv-imp/gnc-csv-gnumeric-popup.c
+++ b/src/import-export/csv-imp/gnc-csv-gnumeric-popup.c
@@ -211,7 +211,11 @@ gnumeric_popup_menu (GtkMenu *menu, GdkEventButton *event)
      * instead pass 0.  Otherwise bringing up a menu with
      * the right button will disable clicking on the menu with the left.
      */
+#if GTK_CHECK_VERSION(3,22,0)
+    gtk_menu_popup_at_pointer (GTK_MENU(menu), (GdkEvent *) event);
+#else
     gtk_menu_popup (menu, NULL, NULL, NULL, NULL, 0,
                     (event != NULL) ? event->time
                     : gtk_get_current_event_time());
+#endif
 }

commit b52a298b0df995c304bce6c8fb46fdc82c7d1681
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 09:35:12 2017 +0100

    Replace Gtk3.22 deprecated function gtk_menu_popup

diff --git a/src/gnome/window-reconcile.c b/src/gnome/window-reconcile.c
index d6b6c66..ce7fe1d 100644
--- a/src/gnome/window-reconcile.c
+++ b/src/gnome/window-reconcile.c
@@ -945,7 +945,11 @@ do_popup_menu(RecnWindow *recnData, GdkEventButton *event)
         event_time = gtk_get_current_event_time ();
     }
 
+#if GTK_CHECK_VERSION(3,22,0)
+    gtk_menu_popup_at_pointer (GTK_MENU(menu), (GdkEvent *) event);
+#else
     gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, button, event_time);
+#endif
 }
 
 
diff --git a/src/gnome/window-reconcile2.c b/src/gnome/window-reconcile2.c
index 5f5409c..e01eb5d 100644
--- a/src/gnome/window-reconcile2.c
+++ b/src/gnome/window-reconcile2.c
@@ -908,7 +908,11 @@ do_popup_menu (RecnWindow2 *recnData, GdkEventButton *event)
         event_time = gtk_get_current_event_time ();
     }
 
-    gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, button, event_time);
+#if GTK_CHECK_VERSION(3,22,0)
+    gtk_menu_popup_at_pointer (GTK_MENU(menu), (GdkEvent *) event);
+#else
+    gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, button, event_time);
+#endif
 }
 
 

commit 9a5b0ff97203c40472f24ee0c9ec8131d3f6ff75
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 09:34:32 2017 +0100

    Replace Gtk3.22 deprecated function to get monitor size

diff --git a/src/gnome/reconcile-view.c b/src/gnome/reconcile-view.c
index e3e2d57..1732893 100644
--- a/src/gnome/reconcile-view.c
+++ b/src/gnome/reconcile-view.c
@@ -193,9 +193,13 @@ gnc_reconcile_view_tooltip_cb (GNCQueryView *qview, gint x, gint y,
 
                 if (GTK_IS_WINDOW (tip_win))
                 {
+#if GTK_CHECK_VERSION(3,22,0)
+                    GdkMonitor *mon;
+#else
+                    gint monitor_num;
+#endif
                     GdkRectangle monitor;
                     GtkRequisition requisition;
-                    gint monitor_num;
                     gint x, y;
 
                     gtk_widget_get_preferred_size (GTK_WIDGET (tip_win), &requisition, NULL);
@@ -203,8 +207,13 @@ gnc_reconcile_view_tooltip_cb (GNCQueryView *qview, gint x, gint y,
                     x = root_x + cur_x + 10;
                     y = root_y + cur_y + 10;
 
+#if GTK_CHECK_VERSION(3,22,0)
+                    mon = gdk_display_get_monitor_at_point (gdk_display_get_default(), x, y);
+                    gdk_monitor_get_geometry (mon, &monitor);
+#else
                     monitor_num = gdk_screen_get_monitor_at_point (screen, x, y);
                     gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor);
+#endif
 
                     if (x + requisition.width > monitor.x + monitor.width)
                         x -= x - (monitor.x + monitor.width) + requisition.width;

commit b098ab2e44460d1e202350e32803e4a54d27da1c
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 09:33:50 2017 +0100

    Replace Gtk3.20 deprecated functions based on device_manager

diff --git a/src/gnome/reconcile-view.c b/src/gnome/reconcile-view.c
index 8eec038..e3e2d57 100644
--- a/src/gnome/reconcile-view.c
+++ b/src/gnome/reconcile-view.c
@@ -150,7 +150,11 @@ gnc_reconcile_view_tooltip_cb (GNCQueryView *qview, gint x, gint y,
 
             if (keyboard_mode == FALSE)
             {
+#if GTK_CHECK_VERSION(3,20,0)
+                GdkSeat *seat;
+#else
                 GdkDeviceManager *device_manager;
+#endif
                 GdkDevice *pointer;
                 GdkScreen *screen;
                 GtkWindow *tip_win = NULL;
@@ -159,8 +163,13 @@ gnc_reconcile_view_tooltip_cb (GNCQueryView *qview, gint x, gint y,
 
                 parent_window = gtk_widget_get_parent_window (GTK_WIDGET (qview));
 
+#if GTK_CHECK_VERSION(3,20,0)
+                seat = gdk_display_get_default_seat (gdk_window_get_display (parent_window));
+                pointer = gdk_seat_get_pointer (seat);
+#else
                 device_manager = gdk_display_get_device_manager (gdk_window_get_display (parent_window));
                 pointer = gdk_device_manager_get_client_pointer (device_manager);
+#endif
 
                 gdk_window_get_device_position (parent_window, pointer, &cur_x, &cur_y, NULL);
 

commit 32c46481b112170ddfb194904d17fe72c2a745f1
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 09:33:11 2017 +0100

    Replace Gtk3.22 deprecated function gtk_menu_popup

diff --git a/src/gnome-utils/gnc-tree-view.c b/src/gnome-utils/gnc-tree-view.c
index fd36ca5..009030a 100644
--- a/src/gnome-utils/gnc-tree-view.c
+++ b/src/gnome-utils/gnc-tree-view.c
@@ -1372,8 +1372,12 @@ gnc_tree_view_select_column_cb (GtkTreeViewColumn *column,
     gtk_widget_show_all(menu);
 
     /* Pop the menu up at the button */
+#if GTK_CHECK_VERSION(3,22,0)
+    gtk_menu_popup_at_pointer (GTK_MENU(priv->column_menu), NULL);
+#else
     gtk_menu_popup(GTK_MENU(priv->column_menu), NULL, GTK_WIDGET(menu),
                    NULL, NULL, 0, gtk_get_current_event_time());
+#endif
 }
 
 

commit 18769d90f8f255b2a33c037bb83911f1535bac66
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 09:32:32 2017 +0100

    Replace Gtk3.22 deprecated function gtk_menu_popup

diff --git a/lib/goffice/go-optionmenu.c b/lib/goffice/go-optionmenu.c
index 6b4ff22..5a49ccd 100644
--- a/lib/goffice/go-optionmenu.c
+++ b/lib/goffice/go-optionmenu.c
@@ -106,6 +106,7 @@ static void go_option_menu_select_item(GOOptionMenu *option_menu,
     go_option_menu_update_contents(option_menu);
 }
 
+#if !GTK_CHECK_VERSION(3,22,0)
 static void go_option_menu_position(GtkMenu *menu, gint *x, gint *y,
         gboolean *push_in, gpointer user_data)
 {
@@ -164,6 +165,7 @@ static void go_option_menu_position(GtkMenu *menu, gint *x, gint *y,
     *y = menu_ypos;
     *push_in = TRUE;
 }
+#endif
 
 static gint go_option_menu_button_press(GtkWidget *widget,
         GdkEventButton *event)
@@ -177,10 +179,18 @@ static gint go_option_menu_button_press(GtkWidget *widget,
 
     if (event->type == GDK_BUTTON_PRESS && event->button == 1)
     {
+#if GTK_CHECK_VERSION(3,22,0)
+        gtk_menu_popup_at_widget (GTK_MENU(option_menu->menu),
+                                  widget,
+                                  GDK_GRAVITY_SOUTH_WEST,
+                                  GDK_GRAVITY_NORTH_WEST,
+                                  (GdkEvent *) event);
+#else
         gtk_menu_popup(GTK_MENU(option_menu->menu), NULL, NULL,
                 go_option_menu_position, option_menu, event->button,
                 event->time);
 
+#endif
         return TRUE;
     }
 
@@ -195,8 +205,16 @@ static gint go_option_menu_key_press(GtkWidget *widget, GdkEventKey *event)
     {
     case GDK_KEY_KP_Space:
     case GDK_KEY_space:
+#if GTK_CHECK_VERSION(3,22,0)
+        gtk_menu_popup_at_widget (GTK_MENU(option_menu->menu),
+                                  widget,
+                                  GDK_GRAVITY_SOUTH_WEST,
+                                  GDK_GRAVITY_NORTH_WEST,
+                                  (GdkEvent *) event);
+#else
         gtk_menu_popup(GTK_MENU(option_menu->menu), NULL, NULL,
                 go_option_menu_position, option_menu, 0, event->time);
+#endif
         return TRUE;
     }
 

commit 3bb33a2796e183de6997944a8b7660f67eaa3b1b
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Sun Jul 9 09:31:51 2017 +0100

    Replace Gtk3.22 deprecated gtk_show_uri

diff --git a/src/gnome-utils/gnc-gnome-utils.c b/src/gnome-utils/gnc-gnome-utils.c
index c85d449..d4de6ba 100644
--- a/src/gnome-utils/gnc-gnome-utils.c
+++ b/src/gnome-utils/gnc-gnome-utils.c
@@ -390,7 +390,11 @@ gnc_gnome_help (const char *file_name, const char *anchor)
         uri = g_strconcat ("ghelp:", file_name, NULL);
 
     DEBUG ("Attempting to opening help uri %s", uri);
+#if GTK_CHECK_VERSION(3,22,0)
+    success = gtk_show_uri_on_window (NULL, uri, gtk_get_current_event_time (), &error);
+#else
     success = gtk_show_uri (NULL, uri, gtk_get_current_event_time (), &error);
+#endif
     g_free (uri);
     if (success)
         return;
@@ -480,7 +484,11 @@ gnc_launch_assoc (const char *uri)
         return;
 
     DEBUG ("Attempting to open uri %s", uri);
+#if GTK_CHECK_VERSION(3,22,0)
+    success = gtk_show_uri_on_window (NULL, uri, gtk_get_current_event_time (), &error);
+#else
     success = gtk_show_uri (NULL, uri, gtk_get_current_event_time (), &error);
+#endif
     if (success)
         return;
 



Summary of changes:
 lib/goffice/go-optionmenu.c                        |  18 +
 src/business/business-gnome/dialog-customer.c      |   3 +-
 src/business/business-gnome/dialog-employee.c      |   3 +-
 src/business/business-gnome/dialog-invoice.c       |   7 +-
 src/business/business-gnome/dialog-job.c           |   3 +-
 src/business/business-gnome/dialog-order.c         |   2 +-
 src/business/business-gnome/dialog-vendor.c        |   3 +-
 .../business-gnome/gnc-plugin-page-owner-tree.c    |   4 +-
 src/business/business-ledger/gncEntryLedger.c      |   2 +-
 .../business-ledger/gncEntryLedgerControl.c        |   2 +-
 src/gnome-search/dialog-search.c                   |  15 +-
 src/gnome-search/dialog-search.h                   |   3 +-
 src/gnome-search/search-account.c                  |   4 +-
 src/gnome-utils/dialog-account.c                   |   4 +-
 src/gnome-utils/dialog-utils.c                     |  33 +-
 src/gnome-utils/gnc-cell-renderer-popup.c          |  55 +-
 src/gnome-utils/gnc-combott.c                      |  12 +
 src/gnome-utils/gnc-date-edit.c                    |  70 ++-
 src/gnome-utils/gnc-dense-cal.c                    |  56 ++-
 src/gnome-utils/gnc-file.c                         |  16 +-
 src/gnome-utils/gnc-gnome-utils.c                  |   8 +
 src/gnome-utils/gnc-gui-query.c                    |   4 +-
 src/gnome-utils/gnc-main-window.c                  |  22 +-
 src/gnome-utils/gnc-recurrence.c                   |   4 +-
 src/gnome-utils/gnc-tree-control-split-reg.c       |   6 +-
 src/gnome-utils/gnc-tree-view-split-reg.c          |   2 +-
 src/gnome-utils/gnc-tree-view.c                    |   4 +
 .../gtkbuilder/dialog-preferences.glade            |  28 +-
 src/gnome/dialog-commodities.c                     |   4 +-
 src/gnome/dialog-find-account.c                    |   5 -
 src/gnome/dialog-find-transactions.c               |   7 +-
 src/gnome/dialog-find-transactions2.c              |   7 +-
 src/gnome/dialog-imap-editor.c                     |   5 -
 src/gnome/dialog-price-edit-db.c                   |   4 +-
 src/gnome/dialog-tax-info.c                        |   4 +-
 src/gnome/dialog-trans-assoc.c                     |   5 -
 src/gnome/gnc-plugin-budget.c                      |   4 +-
 src/gnome/gnc-plugin-page-account-tree.c           |   4 +-
 src/gnome/gnc-plugin-page-register.c               |   2 +-
 src/gnome/gnc-plugin-page-register2.c              |   2 +-
 src/gnome/gnc-split-reg.c                          |  18 +-
 src/gnome/gschemas/org.gnucash.gschema.xml.in.in   |   5 -
 src/gnome/reconcile-view.c                         |  20 +-
 src/gnome/window-reconcile.c                       |   4 +
 src/gnome/window-reconcile2.c                      |   6 +-
 src/import-export/csv-exp/assistant-csv-export.c   |   2 +-
 .../csv-imp/assistant-csv-account-import.c         |   6 +-
 src/import-export/csv-imp/gnc-csv-gnumeric-popup.c |   4 +
 src/import-export/dialog-import.glade              | 554 ++++++++-------------
 src/plugins/bi_import/dialog-bi-import-gui.c       |   6 +-
 .../customer_import/dialog-customer-import-gui.c   |   6 +-
 src/register/ledger-core/split-register-control.c  |   2 +-
 src/register/register-gnome/gnucash-header.c       |   4 +
 src/register/register-gnome/gnucash-item-edit.c    |  21 +-
 src/register/register-gnome/gnucash-item-edit.h    |   2 +-
 src/register/register-gnome/gnucash-sheet.c        |  44 +-
 56 files changed, 619 insertions(+), 531 deletions(-)



More information about the gnucash-changes mailing list