[gnumeric] Eradicated GtkTable from dialogs.



commit 6ed714b0b2563332e5f1ad244daf1303332604b6
Author: Jean Brefort <jean brefort normalesup org>
Date:   Fri Mar 1 15:03:04 2013 +0100

    Eradicated GtkTable from dialogs.

 ChangeLog                           |   11 +
 INSTALL                             |    9 +-
 src/dialogs/ChangeLog               |   35 +
 src/dialogs/chi-squared.ui          |   13 +-
 src/dialogs/dialog-preferences.c    |  124 ++--
 src/dialogs/dialog-search-replace.c |   23 +-
 src/dialogs/dialog-search.c         |   24 +-
 src/dialogs/dialog-sheet-order.c    |    8 +-
 src/dialogs/dialog-so-list.c        |    4 +-
 src/dialogs/dialog-solver.c         |   59 +-
 src/dialogs/dialog-tabulate.c       |  100 +--
 src/dialogs/exp-smoothing.ui        |   36 +-
 src/dialogs/search-replace.ui       | 1510 +++++++++++++++++++----------------
 src/dialogs/search.ui               |  964 ++++++++++++-----------
 src/dialogs/sheet-order.ui          |  479 ++++++------
 src/dialogs/sheetobject-size.ui     |  403 +++++-----
 src/dialogs/so-button.ui            |   48 +-
 src/dialogs/so-checkbox.ui          |   47 +-
 src/dialogs/so-list.ui              |   87 ++-
 src/dialogs/so-radiobutton.ui       |  102 ++-
 src/dialogs/so-scrollbar.ui         |  216 +++---
 src/dialogs/solver.ui               |  630 +++++++--------
 src/dialogs/tabulate.ui             |  569 +++++++-------
 src/dialogs/workbook-attr.ui        |   84 ++-
 src/sheet-object-widget.c           |   40 +-
 src/wbc-gtk.c                       |    2 -
 26 files changed, 2970 insertions(+), 2657 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index c794f11..b2b77c3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2013-03-01  Jean Brefort  <jean brefort normalesup org>
+
+       reviewed by: <delete if not using a buddy>
+
+       * INSTALL:
+       * src/sheet-object-widget.c (sheet_widget_button_user_config),
+       (sheet_widget_adjustment_user_config_impl),
+       (sheet_widget_checkbox_user_config),
+       (sheet_widget_radio_button_user_config):
+       * src/wbc-gtk.c (wbc_gtk_init):
+
 2013-02-28  Morten Welinder  <terra gnome org>
 
        * configure.ac: remove the DISABLE_DEPRECATED defines even from
diff --git a/INSTALL b/INSTALL
index 7d1c323..a1e89e1 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,8 +1,8 @@
 Installation Instructions
 *************************
 
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
+Inc.
 
    Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -226,6 +226,11 @@ order to use an ANSI C compiler:
 
 and if that doesn't work, install pre-built binaries of GCC for HP-UX.
 
+   HP-UX `make' updates targets which have the same time stamps as
+their prerequisites, which makes it generally unusable when shipped
+generated files such as `configure' are involved.  Use GNU `make'
+instead.
+
    On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
 parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
 a workaround.  If GNU CC is not installed, it is therefore recommended
diff --git a/src/dialogs/ChangeLog b/src/dialogs/ChangeLog
index 32ea002..0250145 100644
--- a/src/dialogs/ChangeLog
+++ b/src/dialogs/ChangeLog
@@ -1,3 +1,38 @@
+2013-03-01  Jean Brefort  <jean brefort normalesup org>
+
+       * chi-squared.ui: fixed layout.
+       * dialog-preferences.c (pref_create_label),
+       (bool_pref_create_widget), (enum_pref_create_widget),
+       (int_pref_create_widget), (double_pref_create_widget),
+       (wordlist_pref_create_widget), (pref_undo_page_initializer),
+       (pref_sort_page_initializer), (pref_window_page_initializer),
+       (custom_pref_create_widget_ecd), (pref_file_page_initializer),
+       (pref_screen_page_initializer), (pref_tool_page_initializer),
+       (pref_copypaste_page_initializer),
+       (pref_autocorrect_general_page_initializer),
+       (pref_autocorrect_initialcaps_page_initializer),
+       (pref_autocorrect_firstletter_page_initializer):
+       * dialog-search-replace.c (dialog_search_replace): GtkTable to GtkGrid.
+       * dialog-search.c (dialog_search): ditto.
+       * dialog-sheet-order.c (dialog_sheet_order): ditto.
+       * dialog-so-list.c (init_entry): ditto.
+       * dialog-solver.c (run_solver), (dialog_init): ditto.
+       * dialog-tabulate.c (get_grid_float_entry), (tabulate_ok_clicked),
+       (dialog_tabulate): ditto.
+       * exp-smoothing.ui: fixed layout.
+       * search-replace.ui: GtkTable to GtkGrid.
+       * search.ui: ditto.
+       * sheet-order.ui: ditto.
+       * sheetobject-size.ui: ditto.
+       * so-button.ui: ditto.
+       * so-checkbox.ui: ditto.
+       * so-list.ui: ditto.
+       * so-radiobutton.ui: ditto.
+       * so-scrollbar.ui: ditto.
+       * solver.ui: ditto.
+       * tabulate.ui: ditto.
+       * workbook-attr.ui: ditto.
+
 2013-03-01  Morten Welinder  <terra gnome org>
 
        * dialog-recent.c (age_renderer_func): Use a time format without
diff --git a/src/dialogs/chi-squared.ui b/src/dialogs/chi-squared.ui
index 731a9cc..a70af8f 100644
--- a/src/dialogs/chi-squared.ui
+++ b/src/dialogs/chi-squared.ui
@@ -286,6 +286,7 @@
                       <object class="GtkSeparator" id="hseparator1">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
                       </object>
                       <packing>
                         <property name="left_attach">0</property>
@@ -341,7 +342,17 @@
                       <placeholder/>
                     </child>
                     <child>
-                      <placeholder/>
+                      <object class="GtkLabel" id="label1">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
                     </child>
                   </object>
                   <packing>
diff --git a/src/dialogs/dialog-preferences.c b/src/dialogs/dialog-preferences.c
index 958eaea..46bead4 100644
--- a/src/dialogs/dialog-preferences.c
+++ b/src/dialogs/dialog-preferences.c
@@ -129,7 +129,7 @@ connect_notification (GOConfNode *node, GOConfMonitorFunc func,
 /*************************************************************************/
 
 static void
-pref_create_label (GOConfNode *node, GtkWidget *table,
+pref_create_label (GOConfNode *node, GtkWidget *grid,
                   gint row, gchar const *default_label, GtkWidget *w)
 {
        GtkWidget *label;
@@ -142,9 +142,8 @@ pref_create_label (GOConfNode *node, GtkWidget *table,
 
        gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
        gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
-       gtk_table_attach (GTK_TABLE (table), label, 0, 1, row, row + 1,
-               GTK_FILL | GTK_EXPAND,
-               GTK_FILL | GTK_SHRINK, 5, 2);
+       gtk_widget_set_hexpand (label, TRUE);
+       gtk_grid_attach (GTK_GRID (grid), label, 0, row, 1, 1);
 
        gtk_label_set_mnemonic_widget (GTK_LABEL (label), w);
        go_atk_setup_label (label, w);
@@ -179,7 +178,7 @@ bool_pref_conf_to_widget (GOConfNode *node, G_GNUC_UNUSED char const *key,
 }
 
 static void
-bool_pref_create_widget (GOConfNode *node, GtkWidget *table,
+bool_pref_create_widget (GOConfNode *node, GtkWidget *grid,
                         gint row, gboolean_conf_setter_t setter,
                         gboolean_conf_getter_t getter,
                         char const *default_label)
@@ -194,12 +193,10 @@ bool_pref_create_widget (GOConfNode *node, GtkWidget *table,
        g_signal_connect (G_OBJECT (item), "toggled",
                          G_CALLBACK (bool_pref_widget_to_conf),
                          (gpointer) setter);
-       gtk_table_attach (GTK_TABLE (table), item,
-               0, 2, row, row + 1,
-               GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
+       gtk_grid_attach (GTK_GRID (grid), item, 0, row, 2, 1);
 
        connect_notification (node, (GOConfMonitorFunc)bool_pref_conf_to_widget,
-                             item, table);
+                             item, grid);
        set_tip (node, item);
 }
 
@@ -263,7 +260,7 @@ enum_pref_conf_to_widget (GOConfNode *node, G_GNUC_UNUSED char const *key,
 }
 
 static void
-enum_pref_create_widget (GOConfNode *node, GtkWidget *table,
+enum_pref_create_widget (GOConfNode *node, GtkWidget *grid,
                         gint row, GType enum_type,
                         enum_conf_setter_t setter,
                         enum_conf_getter_t getter,
@@ -300,16 +297,14 @@ enum_pref_create_widget (GOConfNode *node, GtkWidget *table,
 
        gtk_combo_box_set_active (GTK_COMBO_BOX (combo), current_index);
 
-       gtk_table_attach (GTK_TABLE (table), combo,
-               1, 2, row, row + 1,
-               GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
+       gtk_grid_attach (GTK_GRID (grid), combo, 1, row, 1, 1);
 
        g_signal_connect (G_OBJECT (combo), "changed",
                G_CALLBACK (cb_enum_changed), (gpointer) setter);
        connect_notification (node, (GOConfMonitorFunc)enum_pref_conf_to_widget,
-                             combo, table);
+                             combo, grid);
 
-       pref_create_label (node, table, row, default_label, combo);
+       pref_create_label (node, grid, row, default_label, combo);
        set_tip (node, combo);
 }
 
@@ -342,7 +337,7 @@ int_pref_conf_to_widget (GOConfNode *node, G_GNUC_UNUSED char const *key,
 }
 
 static GtkWidget *
-int_pref_create_widget (GOConfNode *node, GtkWidget *table,
+int_pref_create_widget (GOConfNode *node, GtkWidget *grid,
                        gint row, gint val, gint from, gint to, gint step,
                        gint_conf_setter_t setter,  gint_conf_getter_t getter,
                        char const *default_label)
@@ -354,18 +349,17 @@ int_pref_create_widget (GOConfNode *node, GtkWidget *table,
        gtk_spin_button_set_value (GTK_SPIN_BUTTON (w), (gdouble) getter ());
 
        g_object_set_data (G_OBJECT (w), "node", node);
-       gtk_table_attach (GTK_TABLE (table), w,
-               1, 2, row, row + 1,
-               GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_SHRINK, 5, 2);
+       gtk_widget_set_hexpand (w, TRUE);
+       gtk_grid_attach (GTK_GRID (grid), w, 1, row, 1, 1);
 
        g_object_set_data (G_OBJECT (w), "getter", getter);
        g_signal_connect (G_OBJECT (w), "value-changed",
                          G_CALLBACK (int_pref_widget_to_conf),
                          (gpointer) setter);
        connect_notification (node, (GOConfMonitorFunc)int_pref_conf_to_widget,
-                             w, table);
+                             w, grid);
 
-       pref_create_label (node, table, row, default_label, w);
+       pref_create_label (node, grid, row, default_label, w);
        set_tip (node, w);
        return w;
 }
@@ -424,7 +418,7 @@ double_pref_conf_to_widget (GOConfNode *node, G_GNUC_UNUSED char const *key,
                gtk_spin_button_set_value (button, val_in_conf);
 }
 static void
-double_pref_create_widget (GOConfNode *node, GtkWidget *table,
+double_pref_create_widget (GOConfNode *node, GtkWidget *grid,
                           gint row, gnm_float val, gnm_float from, gnm_float to,
                           gnm_float step, gint digits,
                           double_conf_setter_t setter,
@@ -436,18 +430,17 @@ double_pref_create_widget (GOConfNode *node, GtkWidget *table,
                1, digits);
        gtk_spin_button_set_value (GTK_SPIN_BUTTON (w), getter ());
        g_object_set_data (G_OBJECT (w), "node", node);
-       gtk_table_attach (GTK_TABLE (table), w,
-               1, 2, row, row + 1,
-               GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_SHRINK, 5, 2);
+       gtk_widget_set_hexpand (w, TRUE);
+       gtk_grid_attach (GTK_GRID (grid), w, 1, row, 1, 1);
 
        g_object_set_data (G_OBJECT (w), "getter", getter);
        g_signal_connect (G_OBJECT (w), "value-changed",
                G_CALLBACK (double_pref_widget_to_conf), (gpointer) setter);
        connect_notification (node,
                              (GOConfMonitorFunc)double_pref_conf_to_widget,
-                             w, table);
+                             w, grid);
 
-       pref_create_label (node, table, row, default_label, w);
+       pref_create_label (node, grid, row, default_label, w);
        set_tip (node, w);
 }
 
@@ -532,14 +525,14 @@ wordlist_pref_update_remove_button (GtkTreeSelection *selection, GtkButton *butt
 }
 
 static GtkWidget *
-wordlist_pref_create_widget (GOConfNode *node, GtkWidget *table,
+wordlist_pref_create_widget (GOConfNode *node, GtkWidget *grid,
                             gint row, wordlist_conf_setter_t setter,
                             wordlist_conf_getter_t getter,
                             char const *default_label)
 {
-       GtkWidget *w= gtk_table_new (5, 2, FALSE);
-       GtkWidget *sw= gtk_scrolled_window_new (NULL, NULL);
-       GtkWidget *tv= gtk_tree_view_new ();
+       GtkWidget *w = gtk_grid_new ();
+       GtkWidget *sw = gtk_scrolled_window_new (NULL, NULL);
+       GtkWidget *tv = gtk_tree_view_new ();
        GtkWidget *entry = gtk_entry_new ();
        GtkWidget *add_button = gtk_button_new_from_stock (GTK_STOCK_ADD);
        GtkWidget *remove_button = gtk_button_new_from_stock (GTK_STOCK_REMOVE);
@@ -553,21 +546,16 @@ wordlist_pref_create_widget (GOConfNode *node, GtkWidget *table,
        gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (tv), FALSE);
        gtk_container_add (GTK_CONTAINER (sw), tv);
 
-       gtk_table_attach (GTK_TABLE (table), w,
-               0, 2, row, row + 1,
-               GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, 5, 2);
-       gtk_table_attach (GTK_TABLE (w), sw,
-               0, 1, 1, 4,
-               GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, 5, 2);
-       gtk_table_attach (GTK_TABLE (w), entry,
-               0, 1, 4, 5,
-               GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_SHRINK, 5, 2);
-       gtk_table_attach (GTK_TABLE (w), remove_button,
-               1, 2, 3, 4,
-               GTK_FILL | GTK_SHRINK, GTK_SHRINK, 0, 2);
-       gtk_table_attach (GTK_TABLE (w), add_button,
-               1, 2, 4, 5,
-               GTK_FILL | GTK_SHRINK, GTK_SHRINK, 0, 2);
+       g_object_set (w, "column-spacing", 12, "row-spacing", 6, 
+                     "hexpand", TRUE, "vexpand", TRUE, NULL);
+       gtk_grid_attach (GTK_GRID (grid), w, 0, row, 2, 1);
+       g_object_set (sw, "hexpand", TRUE, "vexpand", TRUE, NULL);
+       gtk_grid_attach (GTK_GRID (w), sw, 0, 1, 1, 3);
+       gtk_widget_set_hexpand (entry, TRUE);
+       gtk_grid_attach (GTK_GRID (w), entry, 0, 4, 1, 1);
+       gtk_widget_set_valign (remove_button, GTK_ALIGN_END);
+       gtk_grid_attach (GTK_GRID (w), remove_button, 1, 3, 1, 1);
+       gtk_grid_attach (GTK_GRID (w), add_button, 1, 4, 1, 1);
 
        gtk_tree_view_set_model (GTK_TREE_VIEW (tv),
                                 GTK_TREE_MODEL (model));
@@ -596,7 +584,7 @@ wordlist_pref_create_widget (GOConfNode *node, GtkWidget *table,
                                            GTK_BUTTON (remove_button));
 
        connect_notification (node, (GOConfMonitorFunc)wordlist_pref_conf_to_widget,
-                             model, table);
+                             model, grid);
 
        pref_create_label (node, w, 0, default_label, tv);
        set_tip (node, tv);
@@ -731,9 +719,11 @@ pref_undo_page_initializer (PrefState *state,
                            G_GNUC_UNUSED GtkNotebook *notebook,
                            G_GNUC_UNUSED gint page_num)
 {
-       GtkWidget *page = gtk_table_new (4, 2, FALSE);
+       GtkWidget *page = gtk_grid_new ();
        gint row = 0;
 
+       g_object_set (page, "column-spacing", 12, "row-spacing", 6, 
+                     "vexpand", TRUE, NULL);
        int_pref_create_widget (gnm_conf_get_undo_max_descriptor_width_node (),
                                page, row++, 5, 5, 200, 1,
                                gnm_conf_set_undo_max_descriptor_width,
@@ -769,9 +759,11 @@ pref_sort_page_initializer (PrefState *state,
                            G_GNUC_UNUSED GtkNotebook *notebook,
                            G_GNUC_UNUSED gint page_num)
 {
-       GtkWidget *page = gtk_table_new (3, 2, FALSE);
+       GtkWidget *page = gtk_grid_new ();
        gint row = 0;
 
+       g_object_set (page, "column-spacing", 12, "row-spacing", 6, 
+                     "vexpand", TRUE, NULL);
        int_pref_create_widget (gnm_conf_get_core_sort_dialog_max_initial_clauses_node (),
                                page, row++, 10, 0, 50, 1,
                                gnm_conf_set_core_sort_dialog_max_initial_clauses,
@@ -807,10 +799,12 @@ pref_window_page_initializer (PrefState *state,
                              G_GNUC_UNUSED GtkNotebook *notebook,
                              G_GNUC_UNUSED gint page_num)
 {
-       GtkWidget *page = gtk_table_new (7, 2, FALSE);
+       GtkWidget *page = gtk_grid_new ();
        gint row = 0;
        GtkWidget *w;
 
+       g_object_set (page, "column-spacing", 12, "row-spacing", 6, 
+                     "vexpand", TRUE, NULL);
        double_pref_create_widget (gnm_conf_get_core_gui_window_y_node (),
                                   page, row++, 0.75, 0.25, 1, 0.05, 2,
                                   gnm_conf_set_core_gui_window_y,
@@ -905,7 +899,7 @@ custom_pref_conf_to_widget_ecd (GOConfNode *node, G_GNUC_UNUSED char const *key,
                gtk_toggle_button_set_active (button, val_in_conf);
 }
 static void
-custom_pref_create_widget_ecd (GOConfNode *node, GtkWidget *table,
+custom_pref_create_widget_ecd (GOConfNode *node, GtkWidget *grid,
                               gint row, gboolean_conf_setter_t setter,
                               gboolean_conf_getter_t getter,
                               char const *default_label)
@@ -918,12 +912,10 @@ custom_pref_create_widget_ecd (GOConfNode *node, GtkWidget *table,
        g_signal_connect (G_OBJECT (item), "toggled",
                          G_CALLBACK (bool_pref_widget_to_conf),
                          (gpointer) setter);
-       gtk_table_attach (GTK_TABLE (table), item,
-               0, 2, row, row + 1,
-               GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
+       gtk_grid_attach (GTK_GRID (grid), item, 0, row, 2, 1);
 
        connect_notification (node, (GOConfMonitorFunc)custom_pref_conf_to_widget_ecd,
-                             item, table);
+                             item, grid);
 }
 
 
@@ -935,9 +927,11 @@ pref_file_page_initializer (PrefState *state,
                            G_GNUC_UNUSED GtkNotebook *notebook,
                            G_GNUC_UNUSED gint page_num)
 {
-       GtkWidget *page = gtk_table_new (2, 2, FALSE);
+       GtkWidget *page = gtk_grid_new ();
        gint row = 0;
 
+       g_object_set (page, "column-spacing", 12, "row-spacing", 6, 
+                     "vexpand", TRUE, NULL);
        int_pref_create_widget (gnm_conf_get_core_xml_compression_level_node (),
                                page, row++, 9, 0, 9, 1,
                                gnm_conf_set_core_xml_compression_level,
@@ -985,9 +979,11 @@ pref_screen_page_initializer (PrefState *state,
                              G_GNUC_UNUSED GtkNotebook *notebook,
                              G_GNUC_UNUSED gint page_num)
 {
-       GtkWidget *page = gtk_table_new (2, 2, FALSE);
+       GtkWidget *page = gtk_grid_new ();
        gint row = 0;
 
+       g_object_set (page, "column-spacing", 12, "row-spacing", 6, 
+                     "vexpand", TRUE, NULL);
        double_pref_create_widget (gnm_conf_get_core_gui_screen_horizontaldpi_node (),
                                   page, row++, 96, 50, 250, 1, 1,
                                   gnm_conf_set_core_gui_screen_horizontaldpi,
@@ -1013,9 +1009,11 @@ pref_tool_page_initializer (PrefState *state,
                            G_GNUC_UNUSED GtkNotebook *notebook,
                            G_GNUC_UNUSED gint page_num)
 {
-       GtkWidget *page = gtk_table_new (2, 2, FALSE);
+       GtkWidget *page = gtk_grid_new ();
        gint row = 0;
 
+       g_object_set (page, "column-spacing", 12, "row-spacing", 6, 
+                     "vexpand", TRUE, NULL);
        enum_pref_create_widget (gnm_conf_get_core_gui_editing_enter_moves_dir_node (),
                                 page, row++,
                                 GO_TYPE_DIRECTION,
@@ -1075,9 +1073,11 @@ pref_copypaste_page_initializer (PrefState *state,
                                 G_GNUC_UNUSED GtkNotebook *notebook,
                                 G_GNUC_UNUSED gint page_num)
 {
-       GtkWidget *page = gtk_table_new (2, 2, FALSE);
+       GtkWidget *page = gtk_grid_new ();
        gint row = 0;
 
+       g_object_set (page, "column-spacing", 12, "row-spacing", 6, 
+                     "vexpand", TRUE, NULL);
        bool_pref_create_widget (gnm_conf_get_cut_and_paste_prefer_clipboard_node (),
                                 page, row++,
                                 gnm_conf_set_cut_and_paste_prefer_clipboard,
@@ -1100,7 +1100,7 @@ pref_autocorrect_general_page_initializer (PrefState *state,
                                 G_GNUC_UNUSED GtkNotebook *notebook,
                                 G_GNUC_UNUSED gint page_num)
 {
-       GtkWidget *page = gtk_table_new (2, 2, FALSE);
+       GtkWidget *page = gtk_grid_new ();
        gint row = 0;
 
        bool_pref_create_widget (gnm_conf_get_autocorrect_names_of_days_node (),
@@ -1123,7 +1123,7 @@ pref_autocorrect_initialcaps_page_initializer (PrefState *state,
                                 G_GNUC_UNUSED GtkNotebook *notebook,
                                 G_GNUC_UNUSED gint page_num)
 {
-       GtkWidget *page = gtk_table_new (2, 2, FALSE);
+       GtkWidget *page = gtk_grid_new ();
        gint row = 0;
 
        bool_pref_create_widget (gnm_conf_get_autocorrect_init_caps_node (),
@@ -1150,7 +1150,7 @@ pref_autocorrect_firstletter_page_initializer (PrefState *state,
                                 G_GNUC_UNUSED GtkNotebook *notebook,
                                 G_GNUC_UNUSED gint page_num)
 {
-       GtkWidget *page = gtk_table_new (2, 2, FALSE);
+       GtkWidget *page = gtk_grid_new ();
        gint row = 0;
 
        bool_pref_create_widget (gnm_conf_get_autocorrect_first_letter_node (),
diff --git a/src/dialogs/dialog-search-replace.c b/src/dialogs/dialog-search-replace.c
index a601538..c580ba7 100644
--- a/src/dialogs/dialog-search-replace.c
+++ b/src/dialogs/dialog-search-replace.c
@@ -233,7 +233,7 @@ dialog_search_replace (WBCGtk *wbcg,
        GtkBuilder *gui;
        GtkDialog *dialog;
        DialogState *dd;
-       GtkTable *table;
+       GtkGrid *grid;
        char *selection_text;
 
        g_return_if_fail (wbcg != NULL);
@@ -260,30 +260,23 @@ dialog_search_replace (WBCGtk *wbcg,
        dd->cb = cb;
        dd->dialog = dialog;
 
-       table = GTK_TABLE (go_gtk_builder_get_widget (gui, "search_table"));
+       grid = GTK_GRID (go_gtk_builder_get_widget (gui, "normal-grid"));
        dd->search_text = GTK_ENTRY (gtk_entry_new ());
-       gtk_table_attach (table, GTK_WIDGET (dd->search_text),
-                         1, 4, 0, 1,
-                         GTK_EXPAND | GTK_FILL, 0,
-                         0, 0);
+       gtk_widget_set_hexpand (GTK_WIDGET (dd->search_text), TRUE);
+       gtk_grid_attach (grid, GTK_WIDGET (dd->search_text), 1, 1, 2, 1);
        gnumeric_editable_enters (GTK_WINDOW (dialog),
                                  GTK_WIDGET (dd->search_text));
 
        dd->replace_text = GTK_ENTRY (gtk_entry_new ());
-       gtk_table_attach (table, GTK_WIDGET (dd->replace_text),
-                         1, 4, 1, 2,
-                         GTK_EXPAND | GTK_FILL, 0,
-                         0, 0);
+       gtk_widget_set_hexpand (GTK_WIDGET (dd->replace_text), TRUE);
+       gtk_grid_attach (grid, GTK_WIDGET (dd->replace_text), 1, 2, 2, 1);
        gnumeric_editable_enters (GTK_WINDOW (dialog),
                                  GTK_WIDGET (dd->replace_text));
 
-       table = GTK_TABLE (go_gtk_builder_get_widget (gui, "scope_table"));
        dd->rangetext = gnm_expr_entry_new (wbcg, TRUE);
        gnm_expr_entry_set_flags (dd->rangetext, 0, GNM_EE_MASK);
-       gtk_table_attach (table, GTK_WIDGET (dd->rangetext),
-                         1, 2, 2, 3,
-                         GTK_EXPAND | GTK_FILL, 0,
-                         0, 0);
+       gtk_widget_set_hexpand (GTK_WIDGET (dd->rangetext), TRUE);
+       gtk_grid_attach (grid, GTK_WIDGET (dd->rangetext), 1, 9, 2, 1);
        selection_text = selection_to_string (
                wb_control_cur_sheet_view (WORKBOOK_CONTROL (wbcg)),
                TRUE);
diff --git a/src/dialogs/dialog-search.c b/src/dialogs/dialog-search.c
index e06e1a4..3f9655f 100644
--- a/src/dialogs/dialog-search.c
+++ b/src/dialogs/dialog-search.c
@@ -478,15 +478,13 @@ dialog_search (WBCGtk *wbcg)
        GtkBuilder *gui;
        GtkDialog *dialog;
        DialogState *dd;
-       GtkTable *table;
+       GtkGrid *grid;
 
        g_return_if_fail (wbcg != NULL);
 
-#ifdef USE_GURU
        /* Only one guru per workbook. */
        if (wbc_gtk_get_guru (wbcg))
                return;
-#endif
 
        gui = gnm_gtk_builder_load ("search.ui", NULL, GO_CMD_CONTEXT (wbcg));
         if (gui == NULL)
@@ -508,17 +506,11 @@ dialog_search (WBCGtk *wbcg)
                gtk_notebook_page_num (dd->notebook,
                                       go_gtk_builder_get_widget (gui, "matches_tab"));
 
-#ifdef USE_GURU
        dd->rangetext = gnm_expr_entry_new (wbcg, TRUE);
-#else
-       dd->rangetext = gnm_expr_entry_new (wbcg, FALSE);
-#endif
        gnm_expr_entry_set_flags (dd->rangetext, 0, GNM_EE_MASK);
-       table = GTK_TABLE (gtk_builder_get_object (gui, "page1-table"));
-       gtk_table_attach (table, GTK_WIDGET (dd->rangetext),
-                         1, 2, 6, 7,
-                         GTK_EXPAND | GTK_FILL, 0,
-                         0, 0);
+       grid = GTK_GRID (gtk_builder_get_object (gui, "normal-grid"));
+       gtk_widget_set_hexpand (GTK_WIDGET (dd->rangetext), TRUE);
+       gtk_grid_attach (grid, GTK_WIDGET (dd->rangetext), 1, 6, 1, 1);
        {
                char *selection_text =
                        selection_to_string (
@@ -529,10 +521,8 @@ dialog_search (WBCGtk *wbcg)
        }
 
        dd->gentry = GTK_ENTRY (gtk_entry_new ());
-       gtk_table_attach (table, GTK_WIDGET (dd->gentry),
-                         1, 2, 0, 1,
-                         GTK_EXPAND | GTK_FILL, 0,
-                         0, 0);
+       gtk_widget_set_hexpand (GTK_WIDGET (dd->gentry), TRUE);
+       gtk_grid_attach (grid, GTK_WIDGET (dd->gentry), 1, 0, 1, 1);
        gtk_widget_grab_focus (GTK_WIDGET (dd->gentry));
        gnumeric_editable_enters (GTK_WINDOW (dialog), GTK_WIDGET (dd->gentry));
 
@@ -599,9 +589,7 @@ dialog_search (WBCGtk *wbcg)
        go_gtk_builder_signal_connect (gui, "scope_range", "toggled",
                G_CALLBACK (cb_focus_on_entry), dd->rangetext);
 
-#ifdef USE_GURU
        wbc_gtk_attach_guru_with_unfocused_rs (wbcg, GTK_WIDGET (dialog), dd->rangetext);
-#endif
        g_object_set_data_full (G_OBJECT (dialog),
                "state", dd, (GDestroyNotify) free_state);
        gnm_dialog_setup_destroy_handlers (dialog, wbcg,
diff --git a/src/dialogs/dialog-sheet-order.c b/src/dialogs/dialog-sheet-order.c
index 87e82d1..04c8f12 100644
--- a/src/dialogs/dialog-sheet-order.c
+++ b/src/dialogs/dialog-sheet-order.c
@@ -1431,7 +1431,7 @@ dialog_sheet_order (WBCGtk *wbcg)
 {
        SheetManager *state;
        GtkBuilder *gui;
-       GtkTable *table;
+       GtkGrid *grid;
        GOColorGroup *cg;
        Workbook *wb;
 
@@ -1498,7 +1498,7 @@ dialog_sheet_order (WBCGtk *wbcg)
                "sheet_deleted", G_CALLBACK (cb_sheet_deleted),
                state);
 
-       table = GTK_TABLE (go_gtk_builder_get_widget (gui,"sheet_order_buttons_table"));
+       grid = GTK_GRID (go_gtk_builder_get_widget (gui,"main-grid"));
        cg = go_color_group_fetch ("back_color_group",
                wb_control_view (WORKBOOK_CONTROL (wbcg)));
        state->ccombo_back = go_combo_color_new (
@@ -1507,7 +1507,7 @@ dialog_sheet_order (WBCGtk *wbcg)
        g_object_unref (cg);
        go_combo_color_set_instant_apply (
                GO_COMBO_COLOR (state->ccombo_back), TRUE);
-       gtk_table_attach (table, state->ccombo_back, 0, 1, 4, 5, GTK_FILL, GTK_FILL, 0, 0);
+       gtk_grid_attach (grid, state->ccombo_back, 1, 4, 1, 1);
        gtk_widget_set_sensitive (state->ccombo_back, FALSE);
 
        cg = go_color_group_fetch ("fore_color_group",
@@ -1518,7 +1518,7 @@ dialog_sheet_order (WBCGtk *wbcg)
        g_object_unref (cg);
        go_combo_color_set_instant_apply (
                GO_COMBO_COLOR (state->ccombo_fore), TRUE);
-       gtk_table_attach (table, state->ccombo_fore, 1, 2, 4, 5, GTK_FILL, GTK_FILL, 0, 0);
+       gtk_grid_attach (grid, state->ccombo_fore, 2, 4, 1, 1);
        gtk_widget_set_sensitive (state->ccombo_fore, FALSE);
 
        create_sheet_list (state);
diff --git a/src/dialogs/dialog-so-list.c b/src/dialogs/dialog-so-list.c
index 45fb449..4a58b30 100644
--- a/src/dialogs/dialog-so-list.c
+++ b/src/dialogs/dialog-so-list.c
@@ -57,13 +57,13 @@ init_entry (GnmDialogSOList *state, GtkBuilder *gui, int col, int row,
 {
        GnmExprEntry *gee = gnm_expr_entry_new (state->wbcg, TRUE);
        GtkWidget *w = GTK_WIDGET (gee);
-       GtkTable *table = GTK_TABLE (gtk_builder_get_object (gui, "table"));
+       GtkGrid *grid = GTK_GRID (gtk_builder_get_object (gui, "main-grid"));
        Sheet *sheet = sheet_object_get_sheet (state->so);
        GnmParsePos pp;
 
        g_return_val_if_fail (w != NULL, NULL);
 
-       gtk_table_attach (table, w, col, col + 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0);
+       gtk_grid_attach (grid, w, col, row, 1, 1);
        gnm_expr_entry_set_flags (gee, GNM_EE_FORCE_ABS_REF |
                                  GNM_EE_SHEET_OPTIONAL |
                                  GNM_EE_SINGLE_RANGE, GNM_EE_MASK);
diff --git a/src/dialogs/dialog-solver.c b/src/dialogs/dialog-solver.c
index 03d4e7c..2418c01 100644
--- a/src/dialogs/dialog-solver.c
+++ b/src/dialogs/dialog-solver.c
@@ -643,7 +643,7 @@ static GnmSolverResult *
 run_solver (SolverState *state, GnmSolverParameters *param)
 {
        GtkDialog *dialog;
-       GtkWidget *table;
+       GtkWidget *grid;
        int dialog_res;
        GError *err = NULL;
        gboolean ok;
@@ -695,7 +695,12 @@ run_solver (SolverState *state, GnmSolverParameters *param)
                                          GTK_STOCK_OK,
                                          GTK_RESPONSE_YES);
 
-       table = gtk_table_new (4, 2, FALSE);
+       grid = gtk_grid_new ();
+       g_object_set (grid,
+                     "column-spacing", 12,
+                     "row-spacing", 6,
+                     "border-width", 6,
+                     NULL);
        for (y = 0; y < 4; y++) {
                static const char *ltxt[4] = {
                        N_("Solver Status:"),
@@ -703,15 +708,16 @@ run_solver (SolverState *state, GnmSolverParameters *param)
                        N_("Objective Value:"),
                        N_("Elapsed Time:")
                };
-               GtkWidget *w, *a;
+               GtkWidget *w;
                PangoContext *context =
                        gtk_widget_get_pango_context (state->dialog);
 
                w = gtk_label_new (_(ltxt[y]));
-               a = gtk_alignment_new (1.0, 0.5, 0.0, 0.0);
-               gtk_container_add (GTK_CONTAINER(a), w);
-               gtk_table_attach_defaults (GTK_TABLE (table),
-                                          a, 0, 1, y, y + 1);
+               g_object_set (w,
+                             "halign", GTK_ALIGN_END,
+                             "valign", GTK_ALIGN_CENTER,
+                             NULL);
+               gtk_grid_attach (GTK_GRID (grid), w, 0, y, 1, 1);
                w = gtk_label_new ("");
                ctxt = gtk_widget_get_style_context (w);
                gtk_widget_set_size_request
@@ -721,8 +727,7 @@ run_solver (SolverState *state, GnmSolverParameters *param)
                          gtk_style_context_get_font (ctxt, GTK_STATE_FLAG_NORMAL),
                          "0") * (5 + GNM_DIG),
                         -1);
-               gtk_table_attach_defaults (GTK_TABLE (table),
-                                          w, 1, 2, y, y + 1);
+               gtk_grid_attach (GTK_GRID (grid), w, 1, y, 1, 1);
                switch (y) {
                case 0: state->run.status_widget = w; break;
                case 1: state->run.problem_status_widget = w; break;
@@ -733,7 +738,7 @@ run_solver (SolverState *state, GnmSolverParameters *param)
        }
 
        gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (dialog)),
-                           table, TRUE, TRUE, 0);
+                           grid, TRUE, TRUE, 0);
        gtk_widget_show_all (GTK_WIDGET (dialog));
 
        state->run.sig_notify_status =
@@ -964,7 +969,7 @@ do {                                                                        \
 static gboolean
 dialog_init (SolverState *state)
 {
-       GtkTable *table;
+       GtkGrid *grid;
        GnmSolverParameters *param;
        GtkCellRenderer *renderer;
        GtkListStore *store;
@@ -1014,16 +1019,15 @@ dialog_init (SolverState *state)
                          G_CALLBACK (cb_dialog_delete_clicked), state);
 
        /* target_entry */
-       table = GTK_TABLE (go_gtk_builder_get_widget (state->gui,
-                                                "parameter_table"));
+       grid = GTK_GRID (go_gtk_builder_get_widget (state->gui,
+                                                "parameter-grid"));
        state->target_entry = gnm_expr_entry_new (state->wbcg, TRUE);
        gnm_expr_entry_set_flags (state->target_entry,
                GNM_EE_SINGLE_RANGE |
                GNM_EE_FORCE_ABS_REF |
                GNM_EE_SHEET_OPTIONAL, GNM_EE_MASK);
-       gtk_table_attach (table, GTK_WIDGET (state->target_entry),
-                         1, 2, 0, 1,
-                         GTK_EXPAND | GTK_FILL, 0, 0, 0);
+       gtk_widget_set_hexpand (GTK_WIDGET (state->target_entry), TRUE);
+       gtk_grid_attach (grid, GTK_WIDGET (state->target_entry), 1, 0, 1, 1);
        gnumeric_editable_enters (GTK_WINDOW (state->dialog),
                                  GTK_WIDGET (state->target_entry));
        gtk_widget_show (GTK_WIDGET (state->target_entry));
@@ -1032,16 +1036,14 @@ dialog_init (SolverState *state)
                                state);
 
        /* change_cell_entry */
-       table = GTK_TABLE (go_gtk_builder_get_widget (state->gui,
-                                                "parameter_table"));
        state->change_cell_entry = gnm_expr_entry_new (state->wbcg, TRUE);
        gnm_expr_entry_set_flags (state->change_cell_entry,
                GNM_EE_SINGLE_RANGE |
                GNM_EE_FORCE_ABS_REF |
                GNM_EE_SHEET_OPTIONAL, GNM_EE_MASK);
-       gtk_table_attach (table, GTK_WIDGET (state->change_cell_entry),
-                         1, 2, 2, 3,
-                         GTK_EXPAND | GTK_FILL, 0, 0, 0);
+       gtk_widget_set_hexpand (GTK_WIDGET (state->change_cell_entry), TRUE);
+       gtk_grid_attach (grid,
+                        GTK_WIDGET (state->change_cell_entry), 1, 2, 1, 1);
        gnumeric_editable_enters (GTK_WINDOW (state->dialog),
                                  GTK_WIDGET (state->change_cell_entry));
        gtk_widget_show (GTK_WIDGET (state->change_cell_entry));
@@ -1080,16 +1082,15 @@ dialog_init (SolverState *state)
                                   param->options.max_time_sec);
 
        /* lhs_entry */
-       table = GTK_TABLE (go_gtk_builder_get_widget (state->gui, "edit-table"));
+       grid = GTK_GRID (go_gtk_builder_get_widget (state->gui,
+                                                   "constraints-grid"));
        state->lhs.entry = gnm_expr_entry_new (state->wbcg, TRUE);
        gnm_expr_entry_set_flags (state->lhs.entry,
                GNM_EE_SINGLE_RANGE |
                GNM_EE_FORCE_ABS_REF |
                GNM_EE_SHEET_OPTIONAL, GNM_EE_MASK);
-       gtk_table_attach (table, GTK_WIDGET (state->lhs.entry),
-                         0, 1, 1, 2,
-                         GTK_EXPAND | GTK_FILL, 0,
-                         0, 0);
+       gtk_widget_set_hexpand (GTK_WIDGET (state->lhs.entry), TRUE);
+       gtk_grid_attach (grid, GTK_WIDGET (state->lhs.entry), 0, 4, 1, 1);
        state->lhs.label = go_gtk_builder_get_widget (state->gui, "lhs_label");
        gtk_label_set_mnemonic_widget (GTK_LABEL (state->lhs.label),
                GTK_WIDGET (state->lhs.entry));
@@ -1102,7 +1103,6 @@ dialog_init (SolverState *state)
                "activate", G_CALLBACK (cb_dialog_add_clicked), state);
 
        /* rhs_entry */
-       table = GTK_TABLE (go_gtk_builder_get_widget (state->gui, "edit-table"));
        state->rhs.entry = gnm_expr_entry_new (state->wbcg, TRUE);
        gnm_expr_entry_set_flags (state->rhs.entry,
                                  GNM_EE_SINGLE_RANGE |
@@ -1110,9 +1110,8 @@ dialog_init (SolverState *state)
                                  GNM_EE_SHEET_OPTIONAL |
                                  GNM_EE_CONSTANT_ALLOWED,
                                  GNM_EE_MASK);
-       gtk_table_attach (table, GTK_WIDGET (state->rhs.entry),
-                         2, 3, 1, 2,
-                         GTK_EXPAND | GTK_FILL, 0, 0, 0);
+       gtk_widget_set_hexpand (GTK_WIDGET (state->rhs.entry), TRUE);
+       gtk_grid_attach (grid, GTK_WIDGET (state->rhs.entry), 2, 4, 1, 1);
        gtk_widget_show (GTK_WIDGET (state->rhs.entry));
        state->rhs.label = go_gtk_builder_get_widget (state->gui, "rhs_label");
        gtk_label_set_mnemonic_widget (
diff --git a/src/dialogs/dialog-tabulate.c b/src/dialogs/dialog-tabulate.c
index 00b68ad..970f989 100644
--- a/src/dialogs/dialog-tabulate.c
+++ b/src/dialogs/dialog-tabulate.c
@@ -67,7 +67,7 @@ typedef struct {
        GtkBuilder *gui;
        GtkDialog *dialog;
 
-       GtkTable *source_table;
+       GtkGrid *grid;
        GnmExprEntry *resultrangetext;
 } DialogState;
 
@@ -110,66 +110,22 @@ single_cell (Sheet *sheet, GnmExprEntry *gee)
                return NULL;
 }
 
-static GnmExprEntry *
-get_table_expr_entry (GtkTable *t, int y, int x)
-{
-       GList *l;
-       GList *children = gtk_container_get_children (GTK_CONTAINER (t));
-       GnmExprEntry *res = NULL;
-
-       for (l = children; l; l = l->next) {
-               GtkWidget *w = l->data;
-               int left_attach, top_attach;
-
-               gtk_container_child_get (GTK_CONTAINER (t), w,
-                                        "left-attach", &left_attach,
-                                        "top-attach", &top_attach,
-                                        NULL);
-
-               if (left_attach == x && top_attach == y &&
-                   IS_GNM_EXPR_ENTRY (w)) {
-                       res = GNM_EXPR_ENTRY (w);
-                       break;
-               }
-       }
-
-       g_list_free (children);
-       return res;
-}
-
 static int
-get_table_float_entry (GtkTable *t, int y, int x, GnmCell *cell, gnm_float *number,
+get_grid_float_entry (GtkGrid *g, int y, int x, GnmCell *cell, gnm_float *number,
                       GtkEntry **wp, gboolean with_default, gnm_float default_float)
 {
-       GList *l;
        GOFormat const *format;
-       GList *children = gtk_container_get_children (GTK_CONTAINER (t));
-       int res = 3;
-
-       *wp = NULL;
-       for (l = children; l; l = l->next) {
-               GtkWidget *w = l->data;
-               int left_attach, top_attach;
-
-               gtk_container_child_get (GTK_CONTAINER (t), w,
-                                        "left-attach", &left_attach,
-                                        "top-attach", &top_attach,
-                                        NULL);
-
-               if (left_attach == x && top_attach == y && GTK_IS_ENTRY (w)) {
-                       GtkEntry *e = *wp = GTK_ENTRY (w);
-                       format = gnm_style_get_format (gnm_cell_get_style (cell));
-                       res = (with_default
-                              ? entry_to_float_with_format_default
-                              (e, number, TRUE, format, default_float)
-                              : entry_to_float_with_format
-                              (e, number, TRUE, format));
-                       break;
-               }
-       }
-       g_list_free (children);
+       GtkWidget *w = gtk_grid_get_child_at (g, x, y + 2);
+
+       g_return_val_if_fail (GTK_IS_ENTRY (w), 3);
+
+       *wp = GTK_ENTRY (w);
+       format = gnm_style_get_format (gnm_cell_get_style (cell));
 
-       return res;
+       return (with_default?
+               entry_to_float_with_format_default (*wp, number, TRUE, format,
+                                                   default_float):
+                       entry_to_float_with_format (*wp, number, TRUE, format));
 }
 
 static void
@@ -196,11 +152,11 @@ tabulate_ok_clicked (G_GNUC_UNUSED GtkWidget *widget, DialogState *dd)
        int row;
        gboolean with_coordinates;
        GnmTabulateInfo *data;
-       int nrows;
+       /* we might get the 4 below from the positon of some of the widgets inside the grid */
+       int nrows = 4;
        GnmCell **cells;
        gnm_float *minima, *maxima, *steps;
 
-       gtk_table_get_size (dd->source_table, &nrows, NULL);
        cells = g_new (GnmCell *, nrows);
        minima = g_new (gnm_float, nrows);
        maxima = g_new (gnm_float, nrows);
@@ -208,7 +164,7 @@ tabulate_ok_clicked (G_GNUC_UNUSED GtkWidget *widget, DialogState *dd)
 
        for (row = 1; row < nrows; row++) {
                GtkEntry *e_w;
-               GnmExprEntry *w = get_table_expr_entry (dd->source_table, row, COL_CELL);
+               GnmExprEntry *w = GNM_EXPR_ENTRY (gtk_grid_get_child_at (dd->grid, COL_CELL, row + 2));
 
                if (!w || gnm_expr_entry_is_blank (w))
                        continue;
@@ -229,7 +185,7 @@ tabulate_ok_clicked (G_GNUC_UNUSED GtkWidget *widget, DialogState *dd)
                        goto error;
                }
 
-               if (get_table_float_entry (dd->source_table, row, COL_MIN, cells[dims],
+               if (get_grid_float_entry (dd->grid, row, COL_MIN, cells[dims],
                                           &(minima[dims]), &e_w, FALSE, 0.0)) {
                        go_gtk_notice_dialog (GTK_WINDOW (dd->dialog),
                                         GTK_MESSAGE_ERROR,
@@ -238,7 +194,7 @@ tabulate_ok_clicked (G_GNUC_UNUSED GtkWidget *widget, DialogState *dd)
                        goto error;
                }
 
-               if (get_table_float_entry (dd->source_table, row, COL_MAX, cells[dims],
+               if (get_grid_float_entry (dd->grid, row, COL_MAX, cells[dims],
                                           &(maxima[dims]), &e_w, FALSE, 0.0)) {
                        go_gtk_notice_dialog (GTK_WINDOW (dd->dialog),
                                         GTK_MESSAGE_ERROR,
@@ -255,7 +211,7 @@ tabulate_ok_clicked (G_GNUC_UNUSED GtkWidget *widget, DialogState *dd)
                        goto error;
                }
 
-               if (get_table_float_entry (dd->source_table, row, COL_STEP, cells[dims],
+               if (get_grid_float_entry (dd->grid, row, COL_STEP, cells[dims],
                                           &(steps[dims]), &e_w, TRUE, 1.0)) {
                        go_gtk_notice_dialog (GTK_WINDOW (dd->dialog),
                                         GTK_MESSAGE_ERROR,
@@ -336,7 +292,6 @@ dialog_tabulate (WBCGtk *wbcg, Sheet *sheet)
        GtkDialog *dialog;
        DialogState *dd;
        int i;
-       int nrows;
 
        g_return_if_fail (wbcg != NULL);
 
@@ -358,20 +313,16 @@ dialog_tabulate (WBCGtk *wbcg, Sheet *sheet)
        dd->dialog = dialog;
        dd->sheet = sheet;
 
-       dd->source_table = GTK_TABLE (go_gtk_builder_get_widget (gui, "source_table"));
-       gtk_table_get_size (dd->source_table, &nrows, NULL);
-       for (i = 1; i < nrows; i++) {
+       dd->grid = GTK_GRID (go_gtk_builder_get_widget (gui, "main-grid"));
+       /* we might get the 4 below from the positon of some of the widgets inside the grid */
+       for (i = 1; i < 4; i++) {
                GnmExprEntry *ge = gnm_expr_entry_new (wbcg, TRUE);
                gnm_expr_entry_set_flags (ge,
                        GNM_EE_SINGLE_RANGE | GNM_EE_SHEET_OPTIONAL,
                        GNM_EE_MASK);
 
-               gtk_table_attach (dd->source_table,
-                                 GTK_WIDGET (ge),
-                                 COL_CELL, COL_CELL + 1,
-                                 i, i + 1,
-                                 GTK_FILL, GTK_FILL,
-                                 0, 0);
+               gtk_grid_attach (dd->grid, GTK_WIDGET (ge), COL_CELL, i + 1, 1, 1);
+               gtk_widget_set_margin_left (GTK_WIDGET (ge), 18);
                gtk_widget_show (GTK_WIDGET (ge));
        }
 
@@ -379,9 +330,8 @@ dialog_tabulate (WBCGtk *wbcg, Sheet *sheet)
        gnm_expr_entry_set_flags (dd->resultrangetext,
                GNM_EE_SINGLE_RANGE | GNM_EE_SHEET_OPTIONAL,
                GNM_EE_MASK);
-       gtk_box_pack_start (GTK_BOX (go_gtk_builder_get_widget (gui, "result_hbox")),
-                           GTK_WIDGET (dd->resultrangetext),
-                           TRUE, TRUE, 0);
+       gtk_grid_attach (dd->grid, GTK_WIDGET (dd->resultrangetext), 0, 6, 4, 1);
+       gtk_widget_set_margin_left (GTK_WIDGET (dd->resultrangetext), 18);
        gtk_widget_show (GTK_WIDGET (dd->resultrangetext));
 
        g_signal_connect (G_OBJECT (go_gtk_builder_get_widget (gui, "ok_button")),
diff --git a/src/dialogs/exp-smoothing.ui b/src/dialogs/exp-smoothing.ui
index 04e9a92..6869453 100644
--- a/src/dialogs/exp-smoothing.ui
+++ b/src/dialogs/exp-smoothing.ui
@@ -476,11 +476,12 @@
                       <object class="GtkSeparator" id="hseparator3">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
                       </object>
                       <packing>
                         <property name="left_attach">0</property>
                         <property name="top_attach">4</property>
-                        <property name="width">2</property>
+                        <property name="width">3</property>
                         <property name="height">1</property>
                       </packing>
                     </child>
@@ -492,7 +493,7 @@
                       <packing>
                         <property name="left_attach">0</property>
                         <property name="top_attach">7</property>
-                        <property name="width">2</property>
+                        <property name="width">3</property>
                         <property name="height">1</property>
                       </packing>
                     </child>
@@ -637,6 +638,37 @@
                         <property name="height">1</property>
                       </packing>
                     </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label10">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
                   </object>
                   <packing>
                     <property name="position">1</property>
diff --git a/src/dialogs/search-replace.ui b/src/dialogs/search-replace.ui
index 70122bb..2b48cb9 100644
--- a/src/dialogs/search-replace.ui
+++ b/src/dialogs/search-replace.ui
@@ -19,6 +19,7 @@
             <child>
               <object class="GtkButton" id="qd_cancel">
                 <property name="label">gtk-cancel</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -36,6 +37,7 @@
             <child>
               <object class="GtkButton" id="qd_no">
                 <property name="label">gtk-no</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -53,6 +55,7 @@
             <child>
               <object class="GtkButton" id="qd_yes">
                 <property name="label">gtk-yes</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="has_focus">True</property>
@@ -78,26 +81,27 @@
           </packing>
         </child>
         <child>
-          <object class="GtkLabel" id="label8">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label" translatable="yes">Search and Replace</property>
-            <property name="justify">center</property>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkTable" id="table3">
+          <object class="GtkGrid" id="query-grid">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="n_rows">3</property>
-            <property name="n_columns">2</property>
-            <property name="column_spacing">4</property>
-            <property name="row_spacing">4</property>
+            <property name="border_width">6</property>
+            <property name="row_spacing">6</property>
+            <property name="column_spacing">12</property>
+            <child>
+              <object class="GtkLabel" id="label8">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Search and Replace</property>
+                <property name="justify">center</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">2</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
             <child>
               <object class="GtkLabel" id="label15">
                 <property name="visible">True</property>
@@ -109,8 +113,10 @@
                 <property name="mnemonic_widget">qd_location</property>
               </object>
               <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
@@ -124,10 +130,10 @@
                 <property name="mnemonic_widget">qd_old_text</property>
               </object>
               <packing>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">2</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
@@ -141,75 +147,100 @@
                 <property name="mnemonic_widget">qd_new_text</property>
               </object>
               <packing>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">3</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkEntry" id="qd_old_text">
+              <object class="GtkCheckButton" id="qd_query">
+                <property name="label" translatable="yes">_Query</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="has_tooltip">True</property>
+                <property name="tooltip_markup" translatable="yes">Ask before each change</property>
+                <property name="tooltip_text" translatable="yes">Ask before each change</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_underline">True</property>
+                <property name="xalign">0</property>
+                <property name="draw_indicator">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">4</property>
+                <property name="width">2</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <object class="GtkEntry" id="qd_location">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
                 <property name="editable">False</property>
+                <property name="invisible_char">●</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="y_options"></property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkEntry" id="qd_new_text">
+              <object class="GtkEntry" id="qd_old_text">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
+                <property name="can_focus">True</property>
                 <property name="editable">False</property>
+                <property name="invisible_char">●</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="y_options"></property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkEntry" id="qd_location">
+              <object class="GtkEntry" id="qd_new_text">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
+                <property name="can_focus">True</property>
                 <property name="editable">False</property>
+                <property name="invisible_char">●</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="y_options"></property>
+                <property name="top_attach">3</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
           </object>
           <packing>
             <property name="expand">False</property>
             <property name="fill">True</property>
-            <property name="position">3</property>
+            <property name="position">1</property>
           </packing>
         </child>
         <child>
-          <object class="GtkCheckButton" id="qd_query">
-            <property name="label" translatable="yes">_Query</property>
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">False</property>
-            <property name="tooltip_text" translatable="yes">Ask before each change</property>
-            <property name="use_action_appearance">False</property>
-            <property name="use_underline">True</property>
-            <property name="draw_indicator">True</property>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">4</property>
-          </packing>
+          <placeholder/>
         </child>
       </object>
     </child>
@@ -238,6 +269,7 @@
             <child>
               <object class="GtkButton" id="help_button">
                 <property name="label">gtk-help</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -254,6 +286,7 @@
             <child>
               <object class="GtkButton" id="cancel_button">
                 <property name="label">gtk-cancel</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -270,6 +303,7 @@
             <child>
               <object class="GtkButton" id="apply_button">
                 <property name="label">gtk-apply</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
@@ -285,6 +319,7 @@
             <child>
               <object class="GtkButton" id="ok_button">
                 <property name="label">gtk-ok</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -311,260 +346,307 @@
           <object class="GtkNotebook" id="notebook1">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
+            <property name="vexpand">True</property>
             <property name="border_width">5</property>
             <child>
-              <object class="GtkBox" id="vbox6">
+              <object class="GtkGrid" id="normal-grid">
                 <property name="visible">True</property>
-                <property name="orientation">vertical</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">12</property>
-                <property name="spacing">6</property>
+                <property name="row_spacing">6</property>
+                <property name="column_spacing">12</property>
+                <child>
+                  <object class="GtkLabel" id="label3">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Search</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">2</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="margin_left">18</property>
+                    <property name="xalign">0</property>
+                    <property name="xpad">4</property>
+                    <property name="label" translatable="yes">_Search for</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="margin_left">18</property>
+                    <property name="xalign">0</property>
+                    <property name="xpad">4</property>
+                    <property name="label" translatable="yes">_Replace by</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkSeparator" id="hseparator1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="margin_left">18</property>
+                    <property name="hexpand">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">3</property>
+                    <property name="width">3</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="ignore_case">
+                    <property name="label" translatable="yes">_Ignore case</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">When set, do not distinguish between 
upper and lower case letters</property>
+                    <property name="tooltip_text" translatable="yes">When set, do not distinguish between 
upper and lower case letters</property>
+                    <property name="margin_left">18</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">4</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="preserve_case">
+                    <property name="label" translatable="yes">_Preserve case</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Attempt to preserve case of text when 
replacing</property>
+                    <property name="tooltip_text" translatable="yes">Attempt to preserve case of text when 
replacing</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">4</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="query">
+                    <property name="label" translatable="yes">_Query</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Ask before each change</property>
+                    <property name="tooltip_text" translatable="yes">Ask before each change</property>
+                    <property name="margin_left">18</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">5</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
                 <child>
-                  <object class="GtkFrame" id="frame6">
+                  <object class="GtkCheckButton" id="match_words">
+                    <property name="label" translatable="yes">Ma_tch whole words only</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Do not consider matches in the middle 
of words</property>
+                    <property name="tooltip_text" translatable="yes">Do not consider matches in the middle 
of words</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">5</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label4">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label_xalign">0</property>
-                    <child>
-                      <object class="GtkTable" id="search_table">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="border_width">5</property>
-                        <property name="n_rows">5</property>
-                        <property name="n_columns">4</property>
-                        <property name="column_spacing">4</property>
-                        <property name="row_spacing">4</property>
-                        <child>
-                          <object class="GtkLabel" id="label2">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="xalign">0</property>
-                            <property name="xpad">4</property>
-                            <property name="label" translatable="yes">_Replace by</property>
-                            <property name="use_underline">True</property>
-                            <property name="justify">center</property>
-                          </object>
-                          <packing>
-                            <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label1">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="xalign">0</property>
-                            <property name="xpad">4</property>
-                            <property name="label" translatable="yes">_Search for</property>
-                            <property name="use_underline">True</property>
-                            <property name="justify">center</property>
-                          </object>
-                          <packing>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkSeparator" id="hseparator1">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                          </object>
-                          <packing>
-                            <property name="right_attach">4</property>
-                            <property name="top_attach">2</property>
-                            <property name="bottom_attach">3</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkCheckButton" id="ignore_case">
-                            <property name="label" translatable="yes">_Ignore case</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="tooltip_text" translatable="yes">When set, do not distinguish 
between upper and lower case letters</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_underline">True</property>
-                            <property name="active">True</property>
-                            <property name="draw_indicator">True</property>
-                          </object>
-                          <packing>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">3</property>
-                            <property name="bottom_attach">4</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkCheckButton" id="query">
-                            <property name="label" translatable="yes">_Query</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="tooltip_text" translatable="yes">Ask before each 
change</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_underline">True</property>
-                            <property name="draw_indicator">True</property>
-                          </object>
-                          <packing>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">4</property>
-                            <property name="bottom_attach">5</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkCheckButton" id="match_words">
-                            <property name="label" translatable="yes">Ma_tch whole words only</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="tooltip_text" translatable="yes">Do not consider matches in the 
middle of words</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_underline">True</property>
-                            <property name="draw_indicator">True</property>
-                          </object>
-                          <packing>
-                            <property name="left_attach">2</property>
-                            <property name="right_attach">4</property>
-                            <property name="top_attach">4</property>
-                            <property name="bottom_attach">5</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkCheckButton" id="preserve_case">
-                            <property name="label" translatable="yes">_Preserve case</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="tooltip_text" translatable="yes">Attempt to preserve case of 
text when replacing</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_underline">True</property>
-                            <property name="draw_indicator">True</property>
-                          </object>
-                          <packing>
-                            <property name="left_attach">2</property>
-                            <property name="right_attach">4</property>
-                            <property name="top_attach">3</property>
-                            <property name="bottom_attach">4</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </object>
-                    </child>
-                    <child type="label">
-                      <object class="GtkLabel" id="label3">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Search</property>
-                      </object>
-                    </child>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Scope</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">6</property>
+                    <property name="width">3</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="scope_workbook">
+                    <property name="label" translatable="yes">_Entire workbook</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Search and replace in all cells in 
the workbook</property>
+                    <property name="tooltip_text" translatable="yes">Search and replace in all cells in the 
workbook</property>
+                    <property name="margin_left">18</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">7</property>
+                    <property name="width">2</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="scope_sheet">
+                    <property name="label" translatable="yes">_Current sheet</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Search and replace in current sheet 
only</property>
+                    <property name="tooltip_text" translatable="yes">Search and replace in current sheet 
only</property>
+                    <property name="margin_left">18</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">scope_workbook</property>
                   </object>
                   <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">8</property>
+                    <property name="width">2</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkFrame" id="frame1">
+                  <object class="GtkRadioButton" id="scope_range">
+                    <property name="label" translatable="yes">Ra_nge</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Search and replace in specified range 
only</property>
+                    <property name="tooltip_text" translatable="yes">Search and replace in specified range 
only</property>
+                    <property name="margin_left">18</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">scope_workbook</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">9</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label14">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label_xalign">0</property>
-                    <child>
-                      <object class="GtkTable" id="scope_table">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="border_width">5</property>
-                        <property name="n_rows">3</property>
-                        <property name="column_spacing">4</property>
-                        <property name="row_spacing">4</property>
-                        <child>
-                          <object class="GtkRadioButton" id="scope_workbook">
-                            <property name="label" translatable="yes">_Entire workbook</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="tooltip_text" translatable="yes">Search and replace in all cells 
in the workbook</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_underline">True</property>
-                            <property name="active">True</property>
-                            <property name="draw_indicator">True</property>
-                          </object>
-                          <packing>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkRadioButton" id="scope_sheet">
-                            <property name="label" translatable="yes">_Current sheet</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="tooltip_text" translatable="yes">Search and replace in current 
sheet only</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_underline">True</property>
-                            <property name="draw_indicator">True</property>
-                            <property name="group">scope_workbook</property>
-                          </object>
-                          <packing>
-                            <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkRadioButton" id="scope_range">
-                            <property name="label" translatable="yes">Ra_nge</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="tooltip_text" translatable="yes">Search and replace in specified 
range only</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_underline">True</property>
-                            <property name="draw_indicator">True</property>
-                            <property name="group">scope_workbook</property>
-                          </object>
-                          <packing>
-                            <property name="top_attach">2</property>
-                            <property name="bottom_attach">3</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
-                    <child type="label">
-                      <object class="GtkLabel" id="label4">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Scope</property>
-                      </object>
-                    </child>
+                    <property name="hexpand">True</property>
                   </object>
                   <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
               </object>
             </child>
             <child type="tab">
@@ -579,325 +661,339 @@
               </packing>
             </child>
             <child>
-              <object class="GtkBox" id="vbox7">
+              <object class="GtkGrid" id="advanced-grid">
                 <property name="visible">True</property>
-                <property name="orientation">vertical</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">12</property>
-                <property name="spacing">12</property>
+                <property name="row_spacing">6</property>
+                <property name="column_spacing">12</property>
+                <child>
+                  <object class="GtkLabel" id="label9">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;span weight="bold"&gt;Change Cells 
Containing&lt;/span&gt;</property>
+                    <property name="use_markup">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="search_string">
+                    <property name="label" translatable="yes">_Strings</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Perform changes within string 
values</property>
+                    <property name="tooltip_text" translatable="yes">Perform changes within string 
values</property>
+                    <property name="margin_left">18</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="search_other">
+                    <property name="label" translatable="yes">_Other values</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Perform changes within non-string 
values</property>
+                    <property name="tooltip_text" translatable="yes">Perform changes within non-string 
values</property>
+                    <property name="margin_left">18</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
                 <child>
-                  <object class="GtkTable" id="table2">
+                  <object class="GtkCheckButton" id="search_expr">
+                    <property name="label" translatable="yes">_Expressions</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Perform changes within 
expressions</property>
+                    <property name="tooltip_text" translatable="yes">Perform changes within 
expressions</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="search_comments">
+                    <property name="label" translatable="yes">_Comments</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Perform changes within cell 
comments</property>
+                    <property name="tooltip_text" translatable="yes">Perform changes within cell 
comments</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label11">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="n_rows">3</property>
-                    <property name="n_columns">3</property>
-                    <property name="column_spacing">6</property>
-                    <property name="row_spacing">6</property>
-                    <child>
-                      <object class="GtkCheckButton" id="search_other">
-                        <property name="label" translatable="yes">_Other values</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">Perform changes within non-string 
values</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="active">True</property>
-                        <property name="draw_indicator">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkCheckButton" id="search_comments">
-                        <property name="label" translatable="yes">_Comments</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">Perform changes within cell 
comments</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="draw_indicator">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkCheckButton" id="search_expr">
-                        <property name="label" translatable="yes">_Expressions</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">Perform changes within 
expressions</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="active">True</property>
-                        <property name="draw_indicator">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkCheckButton" id="search_string">
-                        <property name="label" translatable="yes">_Strings</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">Perform changes within string 
values</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="active">True</property>
-                        <property name="draw_indicator">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label9">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">&lt;span weight="bold"&gt;Change Cells 
Containing&lt;/span&gt;</property>
-                        <property name="use_markup">True</property>
-                      </object>
-                      <packing>
-                        <property name="right_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label10">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                      </object>
-                      <packing>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options"></property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;span weight="bold"&gt;Search Text 
Type&lt;/span&gt;</property>
+                    <property name="use_markup">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">3</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="search_type_text">
+                    <property name="label" translatable="yes">_Plain text</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">The search text is taken 
literally.</property>
+                    <property name="tooltip_text" translatable="yes">The search text is taken 
literally.</property>
+                    <property name="margin_left">18</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">4</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkTable" id="table4">
+                  <object class="GtkRadioButton" id="search_type_regexp">
+                    <property name="label" translatable="yes">Re_gular expression</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">The search text is a regular 
expression</property>
+                    <property name="tooltip_text" translatable="yes">The search text is a regular 
expression</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">search_type_text</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">4</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label13">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="n_rows">2</property>
-                    <property name="n_columns">3</property>
-                    <property name="column_spacing">6</property>
-                    <property name="row_spacing">6</property>
-                    <child>
-                      <object class="GtkRadioButton" id="search_type_text">
-                        <property name="label" translatable="yes">_Plain text</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">The search text is taken 
literally.</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="active">True</property>
-                        <property name="draw_indicator">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkRadioButton" id="search_type_regexp">
-                        <property name="label" translatable="yes">Re_gular expression</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">The search text is a regular 
expression</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="draw_indicator">True</property>
-                        <property name="group">search_type_text</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label11">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">&lt;span weight="bold"&gt;Search Text 
Type&lt;/span&gt;</property>
-                        <property name="use_markup">True</property>
-                      </object>
-                      <packing>
-                        <property name="right_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label12">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                      </object>
-                      <packing>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options"></property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;span 
weight="bold"&gt;Miscellaneous&lt;/span&gt;</property>
+                    <property name="use_markup">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">5</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="row_major">
+                    <property name="label" translatable="yes">_Row major</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Search line by line</property>
+                    <property name="tooltip_text" translatable="yes">Search line by line</property>
+                    <property name="margin_left">18</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">6</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="column_major">
+                    <property name="label" translatable="yes">_Column major</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Search column by column</property>
+                    <property name="tooltip_text" translatable="yes">Search column by column</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">row_major</property>
                   </object>
                   <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">1</property>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">6</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkTable" id="table5">
+                  <object class="GtkCheckButton" id="keep_strings">
+                    <property name="label" translatable="yes">_Keep strings as strings</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">When set, string values will remain 
as such after replacement, even if they look like numbers or expressions</property>
+                    <property name="tooltip_text" translatable="yes">When set, string values will remain as 
such after replacement, even if they look like numbers or expressions</property>
+                    <property name="margin_left">18</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">7</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="save-in-prefs">
+                    <property name="label" translatable="yes">Save the current settings as default 
settings</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">When set, the current settings will 
be saved as the default settings for future invocations of this and the Search dialog.</property>
+                    <property name="tooltip_text" translatable="yes">When set, the current settings will be 
saved as the default settings for future invocations of this and the Search dialog.</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">7</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label10">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="n_rows">4</property>
-                    <property name="n_columns">2</property>
-                    <property name="column_spacing">6</property>
-                    <property name="row_spacing">6</property>
-                    <child>
-                      <object class="GtkLabel" id="label13">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">&lt;span 
weight="bold"&gt;Miscellaneous&lt;/span&gt;</property>
-                        <property name="use_markup">True</property>
-                      </object>
-                      <packing>
-                        <property name="right_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkRadioButton" id="row_major">
-                        <property name="label" translatable="yes">_Row major</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">Search line by line</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="active">True</property>
-                        <property name="draw_indicator">True</property>
-                      </object>
-                      <packing>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkRadioButton" id="column_major">
-                        <property name="label" translatable="yes">_Column major</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">Search column by column</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="draw_indicator">True</property>
-                        <property name="group">row_major</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkCheckButton" id="keep_strings">
-                        <property name="label" translatable="yes">_Keep strings as strings</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="has_tooltip">True</property>
-                        <property name="tooltip_text" translatable="yes">When set, string values will remain 
as such after replacement, even if they look like numbers or expressions</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="active">True</property>
-                        <property name="draw_indicator">True</property>
-                      </object>
-                      <packing>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkCheckButton" id="save-in-prefs">
-                        <property name="label" translatable="yes">Save the current settings as default 
settings</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">When set, the current settings will 
be saved as the default settings for future invocations of this and the Search dialog.</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="draw_indicator">True</property>
-                      </object>
-                      <packing>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">3</property>
-                        <property name="bottom_attach">4</property>
-                      </packing>
-                    </child>
+                    <property name="hexpand">True</property>
                   </object>
                   <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">2</property>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
               </object>
@@ -918,122 +1014,140 @@
               </packing>
             </child>
             <child>
-              <object class="GtkBox" id="note-vbox3">
+              <object class="GtkGrid" id="error-grid">
                 <property name="visible">True</property>
-                <property name="orientation">vertical</property>
                 <property name="can_focus">False</property>
-                <property name="border_width">4</property>
-                <property name="spacing">4</property>
+                <property name="halign">start</property>
+                <property name="border_width">12</property>
+                <property name="row_spacing">6</property>
+                <property name="column_spacing">12</property>
                 <child>
-                  <object class="GtkTable" id="error_table">
+                  <object class="GtkRadioButton" id="error_fail">
+                    <property name="label" translatable="yes">_Fail</property>
+                    <property name="use_action_appearance">False</property>
                     <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="border_width">12</property>
-                    <property name="n_rows">3</property>
-                    <property name="n_columns">2</property>
-                    <property name="column_spacing">6</property>
-                    <property name="row_spacing">6</property>
-                    <property name="homogeneous">True</property>
-                    <child>
-                      <object class="GtkRadioButton" id="error_fail">
-                        <property name="label" translatable="yes">_Fail</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">Fail without any changes actually 
being done to any cell</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="active">True</property>
-                        <property name="draw_indicator">True</property>
-                      </object>
-                      <packing>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkRadioButton" id="error_skip">
-                        <property name="label" translatable="yes">_Don't change</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">Skip cells that would result in 
errors</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="draw_indicator">True</property>
-                        <property name="group">error_fail</property>
-                      </object>
-                      <packing>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkRadioButton" id="error_query">
-                        <property name="label" translatable="yes">_Query</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">Query for replacement</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="draw_indicator">True</property>
-                        <property name="group">error_fail</property>
-                      </object>
-                      <packing>
-                        <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkRadioButton" id="error_error">
-                        <property name="label" translatable="yes">Make _error expression</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">Create =ERROR("...")</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="draw_indicator">True</property>
-                        <property name="group">error_fail</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkRadioButton" id="error_string">
-                        <property name="label" translatable="yes">Make _string value</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">Turn unparsable entries into string 
values</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="draw_indicator">True</property>
-                        <property name="group">error_fail</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Fail without any changes actually 
being done to any cell</property>
+                    <property name="tooltip_text" translatable="yes">Fail without any changes actually being 
done to any cell</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="error_skip">
+                    <property name="label" translatable="yes">_Don't change</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Skip cells that would result in 
errors</property>
+                    <property name="tooltip_text" translatable="yes">Skip cells that would result in 
errors</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">error_fail</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="error_query">
+                    <property name="label" translatable="yes">_Query</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Query for replacement</property>
+                    <property name="tooltip_text" translatable="yes">Query for replacement</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">error_fail</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="error_error">
+                    <property name="label" translatable="yes">Make _error expression</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Create 
=ERROR(&amp;quot;...&amp;quot;)</property>
+                    <property name="tooltip_text" translatable="yes">Create =ERROR("...")</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">error_fail</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="error_string">
+                    <property name="label" translatable="yes">Make _string value</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Turn unparsable entries into string 
values</property>
+                    <property name="tooltip_text" translatable="yes">Turn unparsable entries into string 
values</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">error_fail</property>
                   </object>
                   <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
               </object>
               <packing>
                 <property name="position">2</property>
diff --git a/src/dialogs/search.ui b/src/dialogs/search.ui
index 61307b7..57fa008 100644
--- a/src/dialogs/search.ui
+++ b/src/dialogs/search.ui
@@ -20,6 +20,7 @@
             <child>
               <object class="GtkButton" id="help_button">
                 <property name="label">gtk-help</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -36,6 +37,7 @@
             <child>
               <object class="GtkButton" id="close_button">
                 <property name="label">gtk-close</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -53,6 +55,7 @@
             <child>
               <object class="GtkButton" id="prev_button">
                 <property name="label">gtk-go-back</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -70,6 +73,7 @@
             <child>
               <object class="GtkButton" id="next_button">
                 <property name="label">gtk-go-forward</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -87,6 +91,7 @@
             <child>
               <object class="GtkButton" id="search_button">
                 <property name="label">gtk-find</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -114,175 +119,196 @@
           <object class="GtkNotebook" id="notebook">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
+            <property name="vexpand">True</property>
             <property name="border_width">5</property>
             <child>
-              <object class="GtkBox" id="vbox2">
+              <object class="GtkGrid" id="normal-grid">
                 <property name="visible">True</property>
-                <property name="orientation">vertical</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">12</property>
-                <property name="spacing">4</property>
+                <property name="row_spacing">6</property>
+                <property name="column_spacing">12</property>
+                <child>
+                  <object class="GtkLabel" id="label3">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">_Search for:</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkSeparator" id="hseparator1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">3</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
                 <child>
-                  <object class="GtkTable" id="page1-table">
+                  <object class="GtkCheckButton" id="ignore_case">
+                    <property name="label" translatable="yes">_Ignore case</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">When set, do not distinguish between 
upper and lower case letters</property>
+                    <property name="tooltip_text" translatable="yes">When set, do not distinguish between 
upper and lower case letters</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="match_words">
+                    <property name="label" translatable="yes">Match _whole words only</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Do not consider matches in the middle 
of words</property>
+                    <property name="tooltip_text" translatable="yes">Do not consider matches in the middle 
of words</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkSeparator" id="hseparator2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="n_rows">7</property>
-                    <property name="n_columns">2</property>
-                    <property name="column_spacing">6</property>
-                    <property name="row_spacing">6</property>
-                    <child>
-                      <object class="GtkLabel" id="label3">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">_Search for:</property>
-                        <property name="use_underline">True</property>
-                        <property name="justify">center</property>
-                      </object>
-                      <packing>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkSeparator" id="hseparator1">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                      </object>
-                      <packing>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkCheckButton" id="ignore_case">
-                        <property name="label" translatable="yes">_Ignore case</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">When set, do not distinguish 
between upper and lower case letters</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="active">True</property>
-                        <property name="draw_indicator">True</property>
-                      </object>
-                      <packing>
-                        <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkCheckButton" id="match_words">
-                        <property name="label" translatable="yes">Match _whole words only</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">Do not consider matches in the 
middle of words</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="draw_indicator">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkSeparator" id="hseparator2">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                      </object>
-                      <packing>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">3</property>
-                        <property name="bottom_attach">4</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkRadioButton" id="scope_workbook">
-                        <property name="label" translatable="yes">_Entire workbook</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">Search in all cells in the 
workbook</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="active">True</property>
-                        <property name="draw_indicator">True</property>
-                      </object>
-                      <packing>
-                        <property name="top_attach">4</property>
-                        <property name="bottom_attach">5</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkRadioButton" id="scope_sheet">
-                        <property name="label" translatable="yes">_Current sheet</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">Search in current sheet 
only</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="draw_indicator">True</property>
-                        <property name="group">scope_workbook</property>
-                      </object>
-                      <packing>
-                        <property name="top_attach">5</property>
-                        <property name="bottom_attach">6</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkRadioButton" id="scope_range">
-                        <property name="label" translatable="yes">_Range</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">Search in specified range 
only</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="draw_indicator">True</property>
-                        <property name="group">scope_workbook</property>
-                      </object>
-                      <packing>
-                        <property name="top_attach">6</property>
-                        <property name="bottom_attach">7</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
                   </object>
                   <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">3</property>
+                    <property name="width">3</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="scope_workbook">
+                    <property name="label" translatable="yes">_Entire workbook</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Search in all cells in the 
workbook</property>
+                    <property name="tooltip_text" translatable="yes">Search in all cells in the 
workbook</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">4</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="scope_sheet">
+                    <property name="label" translatable="yes">_Current sheet</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Search in current sheet 
only</property>
+                    <property name="tooltip_text" translatable="yes">Search in current sheet only</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">scope_workbook</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">5</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="scope_range">
+                    <property name="label" translatable="yes">_Range</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Search in specified range 
only</property>
+                    <property name="tooltip_text" translatable="yes">Search in specified range 
only</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">scope_workbook</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">6</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
               </object>
             </child>
             <child type="tab">
@@ -297,319 +323,333 @@
               </packing>
             </child>
             <child>
-              <object class="GtkBox" id="vbox4">
+              <object class="GtkGrid" id="advanced-grid">
                 <property name="visible">True</property>
-                <property name="orientation">vertical</property>
                 <property name="can_focus">False</property>
-                <property name="border_width">4</property>
-                <property name="spacing">4</property>
+                <property name="border_width">12</property>
+                <property name="row_spacing">6</property>
+                <property name="column_spacing">12</property>
+                <child>
+                  <object class="GtkLabel" id="label4">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Search cells containing</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">2</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="search_string">
+                    <property name="label" translatable="yes">_Strings</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Find text within string 
values</property>
+                    <property name="tooltip_text" translatable="yes">Find text within string 
values</property>
+                    <property name="margin_left">18</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="search_other">
+                    <property name="label" translatable="yes">_Other values</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Find text within non-string 
values</property>
+                    <property name="tooltip_text" translatable="yes">Find text within non-string 
values</property>
+                    <property name="margin_left">18</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="search_comments">
+                    <property name="label" translatable="yes">_Comments</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Find text within cell 
comments</property>
+                    <property name="tooltip_text" translatable="yes">Find text within cell 
comments</property>
+                    <property name="margin_left">18</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">3</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="search_expr">
+                    <property name="label" translatable="yes">_Expressions</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Find text within 
expressions</property>
+                    <property name="tooltip_text" translatable="yes">Find text within expressions</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="search_expr_results">
+                    <property name="label" translatable="yes">_Results</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Find text within the calculated 
values of expressions</property>
+                    <property name="tooltip_text" translatable="yes">Find text within the calculated values 
of expressions</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label6">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="margin_top">6</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Miscellaneous</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">4</property>
+                    <property name="width">2</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="row_major">
+                    <property name="label" translatable="yes">_Row major</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Search line by line</property>
+                    <property name="tooltip_text" translatable="yes">Search line by line</property>
+                    <property name="margin_left">18</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">5</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
                 <child>
-                  <object class="GtkTable" id="page2-table">
+                  <object class="GtkRadioButton" id="column_major">
+                    <property name="label" translatable="yes">C_olumn major</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Search column by column</property>
+                    <property name="tooltip_text" translatable="yes">Search column by column</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">row_major</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">5</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="save-in-prefs">
+                    <property name="label" translatable="yes">Save settings as _default</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">These settings are shared with the 
Search &amp;amp; Replace dialog.</property>
+                    <property name="tooltip_text" translatable="yes">These settings are shared with the 
Search &amp; Replace dialog.</property>
+                    <property name="margin_left">18</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">6</property>
+                    <property name="width">2</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label5">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="n_rows">2</property>
-                    <property name="n_columns">2</property>
-                    <property name="column_spacing">4</property>
-                    <property name="row_spacing">4</property>
-                    <child>
-                      <object class="GtkFrame" id="frame3">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label_xalign">0</property>
-                        <child>
-                          <object class="GtkTable" id="table2">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="border_width">12</property>
-                            <property name="n_rows">3</property>
-                            <property name="n_columns">2</property>
-                            <property name="column_spacing">6</property>
-                            <property name="row_spacing">6</property>
-                            <property name="homogeneous">True</property>
-                            <child>
-                              <object class="GtkCheckButton" id="search_other">
-                                <property name="label" translatable="yes">_Other values</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="tooltip_text" translatable="yes">Find text within non-string 
values</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="active">True</property>
-                                <property name="draw_indicator">True</property>
-                              </object>
-                              <packing>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkCheckButton" id="search_expr">
-                                <property name="label" translatable="yes">_Expressions</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="tooltip_text" translatable="yes">Find text within 
expressions</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="active">True</property>
-                                <property name="draw_indicator">True</property>
-                              </object>
-                              <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkCheckButton" id="search_string">
-                                <property name="label" translatable="yes">_Strings</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="tooltip_text" translatable="yes">Find text within string 
values</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="active">True</property>
-                                <property name="draw_indicator">True</property>
-                              </object>
-                              <packing>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkCheckButton" id="search_comments">
-                                <property name="label" translatable="yes">_Comments</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="tooltip_text" translatable="yes">Find text within cell 
comments</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="draw_indicator">True</property>
-                              </object>
-                              <packing>
-                                <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkCheckButton" id="search_expr_results">
-                                <property name="label" translatable="yes">_Results</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="tooltip_text" translatable="yes">Find text within the 
calculated values of expressions</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="active">True</property>
-                                <property name="draw_indicator">True</property>
-                              </object>
-                              <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <placeholder/>
-                            </child>
-                          </object>
-                        </child>
-                        <child type="label">
-                          <object class="GtkLabel" id="label4">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">Search cells containing</property>
-                          </object>
-                        </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkFrame" id="frame5">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label_xalign">0</property>
-                        <child>
-                          <object class="GtkTable" id="table5">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="border_width">12</property>
-                            <property name="n_rows">3</property>
-                            <property name="column_spacing">6</property>
-                            <property name="row_spacing">6</property>
-                            <property name="homogeneous">True</property>
-                            <child>
-                              <object class="GtkRadioButton" id="search_type_text">
-                                <property name="label" translatable="yes">_Plain text</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="tooltip_text" translatable="yes">The search text is taken 
literally.</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="active">True</property>
-                                <property name="draw_indicator">True</property>
-                              </object>
-                              <packing>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkRadioButton" id="search_type_regexp">
-                                <property name="label" translatable="yes">Re_gular expression</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="tooltip_text" translatable="yes">The search text is a 
regular expression</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="draw_indicator">True</property>
-                                <property name="group">search_type_text</property>
-                              </object>
-                              <packing>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkRadioButton" id="search_type_number">
-                                <property name="label" translatable="yes">_Number</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="draw_indicator">True</property>
-                                <property name="group">search_type_text</property>
-                              </object>
-                              <packing>
-                                <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                          </object>
-                        </child>
-                        <child type="label">
-                          <object class="GtkLabel" id="label5">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">Search text is</property>
-                          </object>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkFrame" id="frame4">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label_xalign">0</property>
-                        <child>
-                          <object class="GtkTable" id="table4">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="border_width">6</property>
-                            <property name="n_rows">2</property>
-                            <property name="n_columns">2</property>
-                            <property name="column_spacing">6</property>
-                            <property name="row_spacing">6</property>
-                            <property name="homogeneous">True</property>
-                            <child>
-                              <object class="GtkRadioButton" id="row_major">
-                                <property name="label" translatable="yes">_Row major</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="receives_default">False</property>
-                                <property name="tooltip_text" translatable="yes">Search line by 
line</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="active">True</property>
-                                <property name="draw_indicator">True</property>
-                              </object>
-                              <packing>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkRadioButton" id="column_major">
-                                <property name="label" translatable="yes">C_olumn major</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="receives_default">False</property>
-                                <property name="tooltip_text" translatable="yes">Search column by 
column</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="draw_indicator">True</property>
-                                <property name="group">row_major</property>
-                              </object>
-                              <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkCheckButton" id="save-in-prefs">
-                                <property name="label" translatable="yes">Save settings as 
_default</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="tooltip_text" translatable="yes">These settings are shared 
with the Search &amp; Replace dialog.</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="draw_indicator">True</property>
-                              </object>
-                              <packing>
-                                <property name="right_attach">2</property>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                              </packing>
-                            </child>
-                          </object>
-                        </child>
-                        <child type="label">
-                          <object class="GtkLabel" id="label6">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">Miscellaneous</property>
-                          </object>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
+                    <property name="hexpand">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Search text is</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="search_type_text">
+                    <property name="label" translatable="yes">_Plain text</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">The search text is taken 
literally.</property>
+                    <property name="tooltip_text" translatable="yes">The search text is taken 
literally.</property>
+                    <property name="margin_left">18</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="search_type_regexp">
+                    <property name="label" translatable="yes">Re_gular expression</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">The search text is a regular 
expression</property>
+                    <property name="tooltip_text" translatable="yes">The search text is a regular 
expression</property>
+                    <property name="margin_left">18</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">search_type_text</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="search_type_number">
+                    <property name="label" translatable="yes">_Number</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="margin_left">18</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">search_type_text</property>
                   </object>
                   <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">3</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
               </object>
               <packing>
                 <property name="position">1</property>
@@ -630,8 +670,8 @@
             <child>
               <object class="GtkBox" id="matches_vbox">
                 <property name="visible">True</property>
-                <property name="orientation">vertical</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
               </object>
               <packing>
                 <property name="position">2</property>
diff --git a/src/dialogs/sheet-order.ui b/src/dialogs/sheet-order.ui
index 1ea5301..1fbce40 100644
--- a/src/dialogs/sheet-order.ui
+++ b/src/dialogs/sheet-order.ui
@@ -23,6 +23,7 @@
             <child>
               <object class="GtkButton" id="help_button">
                 <property name="label">gtk-help</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -39,6 +40,7 @@
             <child>
               <object class="GtkButton" id="cancel_button">
                 <property name="label">gtk-close</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -61,236 +63,265 @@
           </packing>
         </child>
         <child>
-          <object class="GtkBox" id="hbox1">
+          <object class="GtkGrid" id="main-grid">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="spacing">6</property>
+            <property name="vexpand">True</property>
+            <property name="border_width">6</property>
+            <property name="row_spacing">6</property>
+            <property name="column_spacing">12</property>
             <child>
               <object class="GtkScrolledWindow" id="scrolled">
                 <property name="width_request">250</property>
                 <property name="height_request">120</property>
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
+                <property name="can_focus">True</property>
+                <property name="hexpand">True</property>
+                <property name="vexpand">True</property>
                 <property name="shadow_type">in</property>
               </object>
               <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">7</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="up_button">
+                <property name="label">gtk-go-up</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+                <property name="xalign">0</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="add_button">
+                <property name="label" translatable="yes">_Insert</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_underline">True</property>
+                <property name="xalign">0</property>
+              </object>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="down_button">
+                <property name="label">gtk-go-down</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+                <property name="xalign">0</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="append_button">
+                <property name="label" translatable="yes">A_ppend</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_underline">True</property>
+                <property name="xalign">0</property>
+              </object>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="sort-asc-button">
+                <property name="label">gtk-sort-ascending</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+                <property name="xalign">0</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">2</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkTable" id="sheet_order_buttons_table">
+              <object class="GtkButton" id="delete_button">
+                <property name="label">gtk-remove</property>
+                <property name="use_action_appearance">False</property>
+                <property name="width_request">90</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+                <property name="xalign">0</property>
+              </object>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="top_attach">2</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="sort-desc-button">
+                <property name="label">gtk-sort-descending</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+                <property name="xalign">0</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">3</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="duplicate_button">
+                <property name="label" translatable="yes">Du_plicate</property>
+                <property name="use_action_appearance">False</property>
+                <property name="height_request">28</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_underline">True</property>
+                <property name="xalign">0</property>
+              </object>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="top_attach">3</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="ok_button">
+                <property name="label" translatable="yes">Apply _Name Changes</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_underline">True</property>
+                <property name="xalign">0</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">6</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkSeparator" id="hseparator1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="n_rows">7</property>
-                <property name="n_columns">2</property>
-                <property name="column_spacing">3</property>
-                <property name="row_spacing">3</property>
-                <child>
-                  <object class="GtkButton" id="up_button">
-                    <property name="label">gtk-go-up</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_stock">True</property>
-                    <property name="xalign">0</property>
-                  </object>
-                  <packing>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkButton" id="down_button">
-                    <property name="label">gtk-go-down</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_stock">True</property>
-                    <property name="xalign">0</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkButton" id="sort-asc-button">
-                    <property name="label">gtk-sort-ascending</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">True</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_stock">True</property>
-                    <property name="xalign">0</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkButton" id="sort-desc-button">
-                    <property name="label">gtk-sort-descending</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">True</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_stock">True</property>
-                    <property name="xalign">0</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkSeparator" id="hseparator1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                  </object>
-                  <packing>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">5</property>
-                    <property name="bottom_attach">6</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkButton" id="ok_button">
-                    <property name="label" translatable="yes">Apply _Name Changes</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="can_default">True</property>
-                    <property name="has_default">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_underline">True</property>
-                    <property name="xalign">0</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">6</property>
-                    <property name="bottom_attach">7</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkButton" id="undo-button">
-                    <property name="label">gtk-undo</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_stock">True</property>
-                    <property name="xalign">0</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">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkButton" id="add_button">
-                    <property name="label" translatable="yes">_Insert</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_underline">True</property>
-                    <property name="xalign">0</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkButton" id="delete_button">
-                    <property name="label">gtk-remove</property>
-                    <property name="width_request">90</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_stock">True</property>
-                    <property name="xalign">0</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkButton" id="duplicate_button">
-                    <property name="label" translatable="yes">Du_plicate</property>
-                    <property name="height_request">28</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_underline">True</property>
-                    <property name="xalign">0</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkButton" id="append_button">
-                    <property name="label" translatable="yes">A_ppend</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">True</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_underline">True</property>
-                    <property name="xalign">0</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
+                <property name="valign">end</property>
+                <property name="vexpand">True</property>
               </object>
               <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
+                <property name="left_attach">1</property>
+                <property name="top_attach">5</property>
+                <property name="width">2</property>
+                <property name="height">1</property>
               </packing>
             </child>
+            <child>
+              <object class="GtkButton" id="undo-button">
+                <property name="label">gtk-undo</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+                <property name="xalign">0</property>
+              </object>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="top_attach">6</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkCheckButton" id="advanced-check">
+                <property name="label" translatable="yes">_Show advanced sheet properties</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_underline">True</property>
+                <property name="xalign">0</property>
+                <property name="draw_indicator">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">7</property>
+                <property name="width">3</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="warning">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">8</property>
+                <property name="width">3</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
           </object>
           <packing>
             <property name="expand">False</property>
@@ -299,31 +330,7 @@
           </packing>
         </child>
         <child>
-          <object class="GtkCheckButton" id="advanced-check">
-            <property name="label" translatable="yes">_Show advanced sheet properties</property>
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">False</property>
-            <property name="use_action_appearance">False</property>
-            <property name="use_underline">True</property>
-            <property name="draw_indicator">True</property>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkLabel" id="warning">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">3</property>
-          </packing>
+          <placeholder/>
         </child>
       </object>
     </child>
diff --git a/src/dialogs/sheetobject-size.ui b/src/dialogs/sheetobject-size.ui
index 881cd71..1e790ee 100644
--- a/src/dialogs/sheetobject-size.ui
+++ b/src/dialogs/sheetobject-size.ui
@@ -46,6 +46,7 @@
             <child>
               <object class="GtkButton" id="help_button">
                 <property name="label">gtk-help</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
@@ -61,6 +62,7 @@
             <child>
               <object class="GtkButton" id="apply_button">
                 <property name="label">gtk-apply</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -77,6 +79,7 @@
             <child>
               <object class="GtkButton" id="cancel_button">
                 <property name="label">gtk-cancel</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -93,6 +96,7 @@
             <child>
               <object class="GtkButton" id="ok_button">
                 <property name="label">gtk-ok</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -116,29 +120,12 @@
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="main_table">
+          <object class="GtkGrid" id="main-grid">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="border_width">8</property>
-            <property name="n_rows">10</property>
-            <property name="n_columns">4</property>
+            <property name="border_width">6</property>
+            <property name="row_spacing">6</property>
             <property name="column_spacing">12</property>
-            <property name="row_spacing">5</property>
-            <child>
-              <object class="GtkSpinButton" id="w-spin">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="xalign">1</property>
-                <property name="adjustment">adjustment1</property>
-                <property name="climb_rate">1</property>
-                <property name="numeric">True</property>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
             <child>
               <object class="GtkLabel" id="label">
                 <property name="visible">True</property>
@@ -149,119 +136,117 @@
                 <property name="mnemonic_widget">w-spin</property>
               </object>
               <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkLabel" id="w-pts-label">
-                <property name="width_request">60</property>
+              <object class="GtkLabel" id="label2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">1</property>
-                <property name="xpad">3</property>
-                <property name="label" translatable="yes">x</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">_Height in pixels:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">h-spin</property>
               </object>
               <packing>
-                <property name="left_attach">3</property>
-                <property name="right_attach">4</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkLabel" id="label1">
+              <object class="GtkSeparator" id="hseparator2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Width in points:</property>
               </object>
               <packing>
-                <property name="left_attach">2</property>
-                <property name="right_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">2</property>
+                <property name="width">5</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkLabel" id="label2">
+              <object class="GtkLabel" id="label4">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="xalign">0</property>
-                <property name="label" translatable="yes">_Height in pixels:</property>
-                <property name="use_underline">True</property>
-                <property name="mnemonic_widget">h-spin</property>
+                <property name="label" translatable="yes">Object position relative to its current 
position:</property>
               </object>
               <packing>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">3</property>
+                <property name="width">5</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkSpinButton" id="h-spin">
+              <object class="GtkLabel" id="label5">
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="invisible_char">•</property>
-                <property name="xalign">1</property>
-                <property name="adjustment">adjustment2</property>
-                <property name="climb_rate">1</property>
-                <property name="numeric">True</property>
+                <property name="can_focus">False</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">_x-Offset in pixels:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">x-spin</property>
               </object>
               <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">4</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkLabel" id="label3">
+              <object class="GtkLabel" id="label6">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="xalign">0</property>
-                <property name="label" translatable="yes">Height in points:</property>
+                <property name="label" translatable="yes">_y-Offset in pixels:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">y-spin</property>
               </object>
               <packing>
-                <property name="left_attach">2</property>
-                <property name="right_attach">3</property>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">5</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkLabel" id="h-pts-label">
-                <property name="width_request">60</property>
+              <object class="GtkSeparator" id="hseparator1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">1</property>
-                <property name="xpad">3</property>
-                <property name="label" translatable="yes">x</property>
               </object>
               <packing>
-                <property name="left_attach">3</property>
-                <property name="right_attach">4</property>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">6</property>
+                <property name="width">5</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkSeparator" id="hseparator1">
+              <object class="GtkCheckButton" id="print-check">
+                <property name="label" translatable="yes">Do not print</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="has_tooltip">True</property>
+                <property name="tooltip_markup" translatable="yes">Sheet objects with this property do not 
print with the remainder of the sheet.</property>
+                <property name="tooltip_text" translatable="yes">Sheet objects with this property do not 
print with the remainder of the sheet.</property>
+                <property name="use_action_appearance">False</property>
+                <property name="xalign">0</property>
+                <property name="draw_indicator">True</property>
               </object>
               <packing>
-                <property name="right_attach">4</property>
-                <property name="top_attach">6</property>
-                <property name="bottom_attach">7</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">7</property>
+                <property name="width">5</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
@@ -274,71 +259,46 @@
                 <property name="mnemonic_widget">name-entry</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">8</property>
-                <property name="bottom_attach">9</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkEntry" id="name-entry">
+              <object class="GtkSpinButton" id="w-spin">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="tooltip_text" translatable="yes">This name is used by some plugins that 
provide programmability to address this object. Most users will not need to set this name. </property>
-                <property name="invisible_char">•</property>
+                <property name="invisible_char">●</property>
+                <property name="xalign">1</property>
+                <property name="invisible_char_set">True</property>
+                <property name="adjustment">adjustment1</property>
+                <property name="climb_rate">1</property>
+                <property name="numeric">True</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">4</property>
-                <property name="top_attach">8</property>
-                <property name="bottom_attach">9</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label4">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Object position relative to its current 
position:</property>
-              </object>
-              <packing>
-                <property name="right_attach">4</property>
-                <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label5">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">_x-Offset in pixels:</property>
-                <property name="use_underline">True</property>
-                <property name="mnemonic_widget">x-spin</property>
-              </object>
-              <packing>
-                <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkLabel" id="label6">
+              <object class="GtkSpinButton" id="h-spin">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">_y-Offset in pixels:</property>
-                <property name="use_underline">True</property>
-                <property name="mnemonic_widget">y-spin</property>
+                <property name="can_focus">True</property>
+                <property name="invisible_char">•</property>
+                <property name="xalign">1</property>
+                <property name="invisible_char_set">True</property>
+                <property name="adjustment">adjustment2</property>
+                <property name="climb_rate">1</property>
+                <property name="numeric">True</property>
               </object>
               <packing>
-                <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">1</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
@@ -347,16 +307,16 @@
                 <property name="can_focus">True</property>
                 <property name="invisible_char">•</property>
                 <property name="xalign">1</property>
+                <property name="invisible_char_set">True</property>
                 <property name="adjustment">adjustment3</property>
                 <property name="climb_rate">1</property>
                 <property name="numeric">True</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="y_options"></property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
@@ -365,52 +325,61 @@
                 <property name="can_focus">True</property>
                 <property name="invisible_char">•</property>
                 <property name="xalign">1</property>
+                <property name="invisible_char_set">True</property>
                 <property name="adjustment">adjustment4</property>
                 <property name="climb_rate">1</property>
                 <property name="numeric">True</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="y_options"></property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkLabel" id="x-pts-label">
-                <property name="width_request">60</property>
+              <object class="GtkEntry" id="name-entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="has_tooltip">True</property>
+                <property name="tooltip_markup" translatable="yes">This name is used by some plugins that 
provide programmability to address this object. Most users will not need to set this name. </property>
+                <property name="tooltip_text" translatable="yes">This name is used by some plugins that 
provide programmability to address this object. Most users will not need to set this name. </property>
+                <property name="invisible_char">•</property>
+                <property name="invisible_char_set">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">8</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">1</property>
-                <property name="xpad">3</property>
-                <property name="label" translatable="yes">x</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Width in points:</property>
               </object>
               <packing>
-                <property name="left_attach">3</property>
-                <property name="right_attach">4</property>
-                <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">2</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkLabel" id="y-pts-label">
-                <property name="width_request">60</property>
+              <object class="GtkLabel" id="label3">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">1</property>
-                <property name="xpad">3</property>
-                <property name="label" translatable="yes">x</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Height in points:</property>
               </object>
               <packing>
-                <property name="left_attach">3</property>
-                <property name="right_attach">4</property>
-                <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">2</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
@@ -423,11 +392,9 @@
               </object>
               <packing>
                 <property name="left_attach">2</property>
-                <property name="right_attach">3</property>
                 <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
@@ -440,56 +407,106 @@
               </object>
               <packing>
                 <property name="left_attach">2</property>
-                <property name="right_attach">3</property>
                 <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkSeparator" id="hseparator2">
+              <object class="GtkLabel" id="w-pts-label">
+                <property name="width_request">60</property>
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="xalign">1</property>
+                <property name="xpad">3</property>
+                <property name="label" translatable="yes">x</property>
               </object>
               <packing>
-                <property name="right_attach">4</property>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">3</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkSeparator" id="hseparator3">
+              <object class="GtkLabel" id="h-pts-label">
+                <property name="width_request">60</property>
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="xalign">1</property>
+                <property name="xpad">3</property>
+                <property name="label" translatable="yes">x</property>
               </object>
               <packing>
-                <property name="right_attach">4</property>
-                <property name="top_attach">9</property>
-                <property name="bottom_attach">10</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">3</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkCheckButton" id="print-check">
-                <property name="label" translatable="yes">Do not print</property>
+              <object class="GtkLabel" id="x-pts-label">
+                <property name="width_request">60</property>
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="tooltip_text" translatable="yes">Sheet objects with this property do not 
print with the remainder of the sheet.</property>
-                <property name="use_action_appearance">False</property>
-                <property name="draw_indicator">True</property>
+                <property name="can_focus">False</property>
+                <property name="xalign">1</property>
+                <property name="xpad">3</property>
+                <property name="label" translatable="yes">x</property>
               </object>
               <packing>
-                <property name="right_attach">4</property>
-                <property name="top_attach">7</property>
-                <property name="bottom_attach">8</property>
-                <property name="y_options">GTK_SHRINK | GTK_FILL</property>
+                <property name="left_attach">3</property>
+                <property name="top_attach">4</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
+            <child>
+              <object class="GtkLabel" id="y-pts-label">
+                <property name="width_request">60</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="xalign">1</property>
+                <property name="xpad">3</property>
+                <property name="label" translatable="yes">x</property>
+              </object>
+              <packing>
+                <property name="left_attach">3</property>
+                <property name="top_attach">5</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label9">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">4</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
           </object>
           <packing>
             <property name="expand">False</property>
diff --git a/src/dialogs/so-button.ui b/src/dialogs/so-button.ui
index f02d354..efd6430 100644
--- a/src/dialogs/so-button.ui
+++ b/src/dialogs/so-button.ui
@@ -22,6 +22,7 @@
             <child>
               <object class="GtkButton" id="help_button">
                 <property name="label">gtk-help</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -38,6 +39,7 @@
             <child>
               <object class="GtkButton" id="cancel_button">
                 <property name="label">gtk-cancel</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -54,6 +56,7 @@
             <child>
               <object class="GtkButton" id="ok_button">
                 <property name="label">gtk-ok</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -77,14 +80,12 @@
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="table">
+          <object class="GtkGrid" id="main-grid">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="border_width">5</property>
-            <property name="n_rows">2</property>
-            <property name="n_columns">2</property>
-            <property name="column_spacing">12</property>
+            <property name="border_width">6</property>
             <property name="row_spacing">6</property>
+            <property name="column_spacing">12</property>
             <child>
               <object class="GtkLabel" id="label_linkto">
                 <property name="visible">True</property>
@@ -94,8 +95,10 @@
                 <property name="wrap">True</property>
               </object>
               <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
@@ -110,35 +113,52 @@
                 </accessibility>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
               <object class="GtkEntry" id="label_entry">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
+                <property name="hexpand">True</property>
+                <property name="invisible_char">●</property>
+                <property name="invisible_char_set">True</property>
                 <accessibility>
                   <relation type="labelled-by" target="label2"/>
                 </accessibility>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="y_options"></property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
               <placeholder/>
             </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
           </object>
           <packing>
             <property name="expand">False</property>
-            <property name="fill">False</property>
+            <property name="fill">True</property>
             <property name="position">1</property>
           </packing>
         </child>
diff --git a/src/dialogs/so-checkbox.ui b/src/dialogs/so-checkbox.ui
index c119961..e0447a0 100644
--- a/src/dialogs/so-checkbox.ui
+++ b/src/dialogs/so-checkbox.ui
@@ -22,6 +22,7 @@
             <child>
               <object class="GtkButton" id="help_button">
                 <property name="label">gtk-help</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -38,6 +39,7 @@
             <child>
               <object class="GtkButton" id="cancel_button">
                 <property name="label">gtk-cancel</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -54,6 +56,7 @@
             <child>
               <object class="GtkButton" id="ok_button">
                 <property name="label">gtk-ok</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -77,14 +80,12 @@
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="table">
+          <object class="GtkGrid" id="main-grid">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="border_width">5</property>
-            <property name="n_rows">2</property>
-            <property name="n_columns">2</property>
-            <property name="column_spacing">12</property>
+            <property name="border_width">6</property>
             <property name="row_spacing">6</property>
+            <property name="column_spacing">12</property>
             <child>
               <object class="GtkLabel" id="label_linkto">
                 <property name="visible">True</property>
@@ -94,8 +95,10 @@
                 <property name="wrap">True</property>
               </object>
               <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
@@ -110,35 +113,51 @@
                 </accessibility>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
               <object class="GtkEntry" id="label_entry">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
+                <property name="invisible_char">●</property>
+                <property name="invisible_char_set">True</property>
                 <accessibility>
                   <relation type="labelled-by" target="label2"/>
                 </accessibility>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="y_options"></property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
               <placeholder/>
             </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
           </object>
           <packing>
             <property name="expand">False</property>
-            <property name="fill">False</property>
+            <property name="fill">True</property>
             <property name="position">1</property>
           </packing>
         </child>
diff --git a/src/dialogs/so-list.ui b/src/dialogs/so-list.ui
index 3808192..e939226 100644
--- a/src/dialogs/so-list.ui
+++ b/src/dialogs/so-list.ui
@@ -19,6 +19,7 @@
             <child>
               <object class="GtkButton" id="help">
                 <property name="label">gtk-help</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -35,6 +36,7 @@
             <child>
               <object class="GtkButton" id="cancel">
                 <property name="label">gtk-cancel</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -51,6 +53,7 @@
             <child>
               <object class="GtkButton" id="ok">
                 <property name="label">gtk-ok</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -73,12 +76,11 @@
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="table">
+          <object class="GtkGrid" id="main-grid">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="border_width">12</property>
-            <property name="n_rows">5</property>
-            <property name="n_columns">2</property>
+            <property name="border_width">6</property>
+            <property name="row_spacing">6</property>
             <property name="column_spacing">12</property>
             <child>
               <object class="GtkLabel" id="link-label">
@@ -89,58 +91,63 @@
                 <property name="use_underline">True</property>
               </object>
               <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="content-label">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">_Content :</property>
-                <property name="use_underline">True</property>
-              </object>
-              <packing>
-                <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
               <object class="GtkRadioButton" id="as-value-radio">
                 <property name="label" translatable="yes">As value</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
                 <property name="use_action_appearance">False</property>
+                <property name="xalign">0</property>
                 <property name="active">True</property>
                 <property name="draw_indicator">True</property>
               </object>
               <packing>
-                <property name="right_attach">2</property>
+                <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="y_options">GTK_SHRINK | GTK_FILL</property>
+                <property name="width">2</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
               <object class="GtkRadioButton" id="as-index-radio">
                 <property name="label" translatable="yes">As index</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
                 <property name="use_action_appearance">False</property>
-                <property name="active">True</property>
+                <property name="xalign">0</property>
                 <property name="draw_indicator">True</property>
                 <property name="group">as-value-radio</property>
               </object>
               <packing>
-                <property name="right_attach">2</property>
+                <property name="left_attach">0</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="y_options">GTK_SHRINK | GTK_FILL</property>
+                <property name="width">2</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="content-label">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">_Content :</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">4</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
@@ -155,6 +162,30 @@
             <child>
               <placeholder/>
             </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
           </object>
           <packing>
             <property name="expand">False</property>
diff --git a/src/dialogs/so-radiobutton.ui b/src/dialogs/so-radiobutton.ui
index 01ef7c0..c4e6764 100644
--- a/src/dialogs/so-radiobutton.ui
+++ b/src/dialogs/so-radiobutton.ui
@@ -22,6 +22,7 @@
             <child>
               <object class="GtkButton" id="help_button">
                 <property name="label">gtk-help</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -38,6 +39,7 @@
             <child>
               <object class="GtkButton" id="cancel_button">
                 <property name="label">gtk-cancel</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -54,6 +56,7 @@
             <child>
               <object class="GtkButton" id="ok_button">
                 <property name="label">gtk-ok</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -77,25 +80,43 @@
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="table">
+          <object class="GtkGrid" id="main-grid">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="border_width">5</property>
-            <property name="n_rows">3</property>
-            <property name="n_columns">2</property>
-            <property name="column_spacing">12</property>
+            <property name="border_width">6</property>
             <property name="row_spacing">6</property>
+            <property name="column_spacing">12</property>
             <child>
-              <object class="GtkEntry" id="value_entry">
+              <object class="GtkLabel" id="label_linkto">
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="invisible_char">●</property>
+                <property name="can_focus">False</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Link to:</property>
+                <property name="wrap">True</property>
               </object>
               <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label2">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Label:</property>
+                <property name="wrap">True</property>
+                <accessibility>
+                  <relation type="label-for" target="label_entry"/>
+                </accessibility>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
@@ -105,58 +126,51 @@
                 <property name="label" translatable="yes">Value:</property>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options"></property>
-                <property name="y_options"></property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkEntry" id="label_entry">
+              <object class="GtkEntry" id="value_entry">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <accessibility>
-                  <relation type="labelled-by" target="label2"/>
-                </accessibility>
+                <property name="invisible_char">●</property>
+                <property name="invisible_char_set">True</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="y_options"></property>
+                <property name="top_attach">2</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkLabel" id="label2">
+              <object class="GtkEntry" id="label_entry">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Label:</property>
-                <property name="wrap">True</property>
+                <property name="can_focus">True</property>
+                <property name="invisible_char">●</property>
+                <property name="invisible_char_set">True</property>
                 <accessibility>
-                  <relation type="label-for" target="label_entry"/>
+                  <relation type="labelled-by" target="label2"/>
                 </accessibility>
               </object>
               <packing>
+                <property name="left_attach">1</property>
                 <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options"></property>
-                <property name="y_options"></property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkLabel" id="label_linkto">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Link to:</property>
-                <property name="wrap">True</property>
-              </object>
-              <packing>
-                <property name="x_options"></property>
-                <property name="y_options"></property>
-              </packing>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
             </child>
             <child>
               <placeholder/>
@@ -164,7 +178,7 @@
           </object>
           <packing>
             <property name="expand">False</property>
-            <property name="fill">False</property>
+            <property name="fill">True</property>
             <property name="position">1</property>
           </packing>
         </child>
diff --git a/src/dialogs/so-scrollbar.ui b/src/dialogs/so-scrollbar.ui
index 2b05e37..aa925ec 100644
--- a/src/dialogs/so-scrollbar.ui
+++ b/src/dialogs/so-scrollbar.ui
@@ -22,6 +22,7 @@
             <child>
               <object class="GtkButton" id="help_button">
                 <property name="label">gtk-help</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -38,6 +39,7 @@
             <child>
               <object class="GtkButton" id="cancel_button">
                 <property name="label">gtk-cancel</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -54,6 +56,7 @@
             <child>
               <object class="GtkButton" id="ok_button">
                 <property name="label">gtk-ok</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -77,14 +80,12 @@
           </packing>
         </child>
         <child>
-          <object class="GtkTable" id="table">
+          <object class="GtkGrid" id="main-grid">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="border_width">5</property>
-            <property name="n_rows">6</property>
-            <property name="n_columns">2</property>
-            <property name="column_spacing">12</property>
+            <property name="border_width">6</property>
             <property name="row_spacing">6</property>
+            <property name="column_spacing">12</property>
             <child>
               <object class="GtkLabel" id="label_linkto">
                 <property name="visible">True</property>
@@ -94,8 +95,42 @@
                 <property name="wrap">True</property>
               </object>
               <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="direction_label">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Direction:</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label_min">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Min:</property>
+                <property name="wrap">True</property>
+                <accessibility>
+                  <relation type="label-for" target="spin_min"/>
+                </accessibility>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">2</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
@@ -110,10 +145,10 @@
                 </accessibility>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
@@ -128,10 +163,10 @@
                 </accessibility>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
@@ -146,16 +181,58 @@
                 </accessibility>
               </object>
               <packing>
+                <property name="left_attach">0</property>
                 <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkRadioButton" id="direction_h">
+                <property name="label" translatable="yes">_Horizontal</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_underline">True</property>
+                <property name="xalign">0</property>
+                <property name="active">True</property>
+                <property name="draw_indicator">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkRadioButton" id="direction_v">
+                <property name="label" translatable="yes">_Vertical</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_underline">True</property>
+                <property name="xalign">0</property>
+                <property name="draw_indicator">True</property>
+                <property name="group">direction_h</property>
+              </object>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
               <object class="GtkSpinButton" id="spin_min">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
+                <property name="invisible_char">●</property>
+                <property name="invisible_char_set">True</property>
                 <property name="adjustment">adjustment1</property>
                 <property name="climb_rate">1</property>
                 <property name="numeric">True</property>
@@ -165,16 +242,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"></property>
+                <property name="width">2</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
               <object class="GtkSpinButton" id="spin_max">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
+                <property name="invisible_char">●</property>
+                <property name="invisible_char_set">True</property>
                 <property name="adjustment">adjustment2</property>
                 <property name="climb_rate">1</property>
                 <property name="numeric">True</property>
@@ -184,16 +262,17 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="y_options"></property>
+                <property name="width">2</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
               <object class="GtkSpinButton" id="spin_increment">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
+                <property name="invisible_char">●</property>
+                <property name="invisible_char_set">True</property>
                 <property name="adjustment">adjustment3</property>
                 <property name="climb_rate">1</property>
                 <property name="numeric">True</property>
@@ -203,16 +282,17 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="y_options"></property>
+                <property name="width">2</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
               <object class="GtkSpinButton" id="spin_page">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
+                <property name="invisible_char">●</property>
+                <property name="invisible_char_set">True</property>
                 <property name="adjustment">adjustment4</property>
                 <property name="climb_rate">1</property>
                 <property name="numeric">True</property>
@@ -222,91 +302,13 @@
               </object>
               <packing>
                 <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
                 <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="y_options"></property>
+                <property name="width">2</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkLabel" id="label_min">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Min:</property>
-                <property name="wrap">True</property>
-                <accessibility>
-                  <relation type="label-for" target="spin_min"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="direction_label">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Direction:</property>
-              </object>
-              <packing>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkBox" id="direction_box">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <child>
-                  <object class="GtkRadioButton" id="direction_h">
-                    <property name="label" translatable="yes">_Horizontal</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_underline">True</property>
-                    <property name="draw_indicator">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkRadioButton" id="direction_v">
-                    <property name="label" translatable="yes">_Vertical</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_underline">True</property>
-                    <property name="draw_indicator">True</property>
-                    <property name="group">direction_h</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="pack_type">end</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
-              </packing>
+              <placeholder/>
             </child>
             <child>
               <placeholder/>
@@ -314,7 +316,7 @@
           </object>
           <packing>
             <property name="expand">False</property>
-            <property name="fill">False</property>
+            <property name="fill">True</property>
             <property name="position">1</property>
           </packing>
         </child>
diff --git a/src/dialogs/solver.ui b/src/dialogs/solver.ui
index eda1c66..934a1c9 100644
--- a/src/dialogs/solver.ui
+++ b/src/dialogs/solver.ui
@@ -19,6 +19,7 @@
             <child>
               <object class="GtkButton" id="helpbutton">
                 <property name="label">gtk-help</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -35,6 +36,7 @@
             <child>
               <object class="GtkButton" id="closebutton">
                 <property name="label">gtk-close</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -51,6 +53,7 @@
             <child>
               <object class="GtkButton" id="solvebutton">
                 <property name="label" translatable="yes">Solve</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -79,13 +82,29 @@
             <property name="can_focus">True</property>
             <property name="border_width">10</property>
             <child>
-              <object class="GtkTable" id="parameter_table">
+              <object class="GtkGrid" id="parameter-grid">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="n_rows">4</property>
-                <property name="n_columns">2</property>
-                <property name="column_spacing">5</property>
-                <property name="row_spacing">5</property>
+                <property name="border_width">12</property>
+                <property name="row_spacing">6</property>
+                <property name="column_spacing">12</property>
+                <child>
+                  <object class="GtkLabel" id="label14">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="xpad">5</property>
+                    <property name="ypad">5</property>
+                    <property name="label" translatable="yes">_Set Target Cell:       </property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
                 <child>
                   <object class="GtkLabel" id="label1">
                     <property name="visible">True</property>
@@ -95,11 +114,10 @@
                     <property name="use_underline">True</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="y_options"></property>
-                    <property name="x_padding">5</property>
-                    <property name="y_padding">5</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -111,75 +129,50 @@
                     <property name="use_underline">True</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="y_options"></property>
-                    <property name="x_padding">5</property>
-                    <property name="y_padding">5</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkBox" id="hbox10">
+                  <object class="GtkRadioButton" id="max_button">
+                    <property name="label" translatable="yes">_Max</property>
+                    <property name="use_action_appearance">False</property>
                     <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="homogeneous">True</property>
-                    <child>
-                      <object class="GtkRadioButton" id="max_button">
-                        <property name="label" translatable="yes">_Max</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="draw_indicator">True</property>
-                      </object>
-                      <packing>
-                        <property name="expand">True</property>
-                        <property name="fill">True</property>
-                        <property name="padding">5</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkRadioButton" id="min_button">
-                        <property name="label" translatable="yes">M_in</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="draw_indicator">True</property>
-                        <property name="group">max_button</property>
-                      </object>
-                      <packing>
-                        <property name="expand">True</property>
-                        <property name="fill">True</property>
-                        <property name="padding">5</property>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkLabel" id="label14">
+                  <object class="GtkRadioButton" id="min_button">
+                    <property name="label" translatable="yes">M_in</property>
+                    <property name="use_action_appearance">False</property>
                     <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="xpad">5</property>
-                    <property name="ypad">5</property>
-                    <property name="label" translatable="yes">_Set Target Cell:       </property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_action_appearance">False</property>
                     <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">max_button</property>
                   </object>
                   <packing>
-                    <property name="y_options"></property>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -208,152 +201,150 @@
               </packing>
             </child>
             <child>
-              <object class="GtkTable" id="options_table">
+              <object class="GtkGrid" id="model-grid">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="border_width">8</property>
-                <property name="n_rows">6</property>
-                <property name="n_columns">2</property>
+                <property name="border_width">12</property>
+                <property name="row_spacing">6</property>
                 <property name="column_spacing">12</property>
-                <property name="row_spacing">12</property>
                 <child>
-                  <object class="GtkLabel" id="label21">
+                  <object class="GtkRadioButton" id="lp_model_button">
+                    <property name="label" translatable="yes">_Linear Model (LP/MILP)</property>
+                    <property name="use_action_appearance">False</property>
                     <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0.88999998569488525</property>
-                    <property name="label" translatable="yes">_Algorithm:</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_action_appearance">False</property>
                     <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">qp_model_button</property>
                   </object>
                   <packing>
-                    <property name="top_attach">5</property>
-                    <property name="bottom_attach">6</property>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkComboBox" id="algorithm_combo">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">5</property>
-                    <property name="bottom_attach">6</property>
-                    <property name="y_options"></property>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">2</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkRadioButton" id="qp_model_button">
                     <property name="label" translatable="yes">_Quadratic Model (QP/MIQP)</property>
+                    <property name="use_action_appearance">False</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
                     <property name="use_action_appearance">False</property>
                     <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
+                    <property name="width">2</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkRadioButton" id="lp_model_button">
-                    <property name="label" translatable="yes">_Linear Model (LP/MILP)</property>
+                  <object class="GtkRadioButton" id="nlp_model_button">
+                    <property name="label" translatable="yes">_Non-Linear Model</property>
+                    <property name="use_action_appearance">False</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
                     <property name="use_action_appearance">False</property>
                     <property name="use_underline">True</property>
-                    <property name="active">True</property>
+                    <property name="xalign">0</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">qp_model_button</property>
                   </object>
                   <packing>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">2</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkRadioButton" id="nlp_model_button">
-                    <property name="label" translatable="yes">_Non-Linear Model</property>
+                  <object class="GtkSeparator" id="hseparator1">
                     <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_underline">True</property>
-                    <property name="draw_indicator">True</property>
-                    <property name="group">qp_model_button</property>
+                    <property name="can_focus">False</property>
                   </object>
                   <packing>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">3</property>
+                    <property name="width">2</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkCheckButton" id="non_neg_button">
                     <property name="label" translatable="yes">_Assume Non-Negative</property>
+                    <property name="use_action_appearance">False</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
                     <property name="use_action_appearance">False</property>
                     <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkCheckButton" id="all_int_button">
                     <property name="label" translatable="yes">Assume _Integer (Discrete)</property>
+                    <property name="use_action_appearance">False</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
                     <property name="use_action_appearance">False</property>
                     <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkSeparator" id="hseparator1">
+                  <object class="GtkLabel" id="label21">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="xalign">0.88999998569488525</property>
+                    <property name="label" translatable="yes">_Algorithm:</property>
+                    <property name="use_underline">True</property>
                   </object>
                   <packing>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">5</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
+                  <object class="GtkComboBox" id="algorithm_combo">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">5</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
                 </child>
               </object>
               <packing>
@@ -372,193 +363,168 @@
               </packing>
             </child>
             <child>
-              <object class="GtkBox" id="vbox7">
+              <object class="GtkGrid" id="constraints-grid">
                 <property name="visible">True</property>
-                <property name="orientation">vertical</property>
                 <property name="can_focus">False</property>
+                <property name="border_width">12</property>
+                <property name="row_spacing">6</property>
+                <property name="column_spacing">12</property>
                 <child>
-                  <object class="GtkBox" id="hbox7">
+                  <object class="GtkScrolledWindow" id="scrolledwindow1">
                     <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <child>
-                      <object class="GtkScrolledWindow" id="scrolledwindow1">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="border_width">10</property>
-                        <property name="hscrollbar_policy">never</property>
-                        <child>
-                          <object class="GtkTreeView" id="constraint_list">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <child internal-child="selection">
-                              <object class="GtkTreeSelection" id="treeview-selection1"/>
-                            </child>
-                          </object>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="expand">True</property>
-                        <property name="fill">True</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
+                    <property name="can_focus">True</property>
+                    <property name="vexpand">True</property>
+                    <property name="hscrollbar_policy">never</property>
                     <child>
-                      <object class="GtkButtonBox" id="vbuttonbox1">
+                      <object class="GtkTreeView" id="constraint_list">
                         <property name="visible">True</property>
-                        <property name="orientation">vertical</property>
-                        <property name="can_focus">False</property>
-                        <property name="border_width">10</property>
-                        <property name="spacing">4</property>
-                        <property name="layout_style">start</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <object class="GtkButton" id="deletebutton">
-                            <property name="label">gtk-remove</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="use_stock">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">2</property>
-                          </packing>
+                        <property name="can_focus">True</property>
+                        <child internal-child="selection">
+                          <object class="GtkTreeSelection" id="treeview-selection"/>
                         </child>
                       </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">True</property>
-                        <property name="position">1</property>
-                      </packing>
                     </child>
                   </object>
                   <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">3</property>
+                    <property name="height">3</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkTable" id="edit-table">
+                  <object class="GtkLabel" id="lhs_label">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="border_width">10</property>
-                    <property name="n_rows">2</property>
-                    <property name="n_columns">4</property>
-                    <child>
-                      <object class="GtkComboBox" id="type_menu">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="model">model1</property>
-                        <child>
-                          <object class="GtkCellRendererText" id="renderer1"/>
-                          <attributes>
-                            <attribute name="text">0</attribute>
-                          </attributes>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options"></property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="rhs_label">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">_Right Hand Side:</property>
-                        <property name="use_underline">True</property>
-                        <property name="justify">center</property>
-                        <property name="mnemonic_widget">addbutton</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label12">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">_Type:</property>
-                        <property name="use_underline">True</property>
-                        <property name="justify">center</property>
-                        <property name="mnemonic_widget">type_menu</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="lhs_label">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">_Left Hand Side:</property>
-                        <property name="use_underline">True</property>
-                        <property name="justify">center</property>
-                      </object>
-                      <packing>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkButton" id="addbutton">
-                        <property name="label">gtk-add</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="relief">half</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">3</property>
-                        <property name="right_attach">4</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkButton" id="changebutton">
-                        <property name="label" translatable="yes">Re_place</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">3</property>
-                        <property name="right_attach">4</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
+                    <property name="hexpand">True</property>
+                    <property name="label" translatable="yes">_Left Hand Side:</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">3</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label12">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">_Type:</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">center</property>
+                    <property name="mnemonic_widget">type_menu</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">3</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="rhs_label">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
+                    <property name="label" translatable="yes">_Right Hand Side:</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">center</property>
+                    <property name="mnemonic_widget">addbutton</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">3</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBox" id="type_menu">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="model">model1</property>
                     <child>
-                      <placeholder/>
+                      <object class="GtkCellRendererText" id="renderer1"/>
+                      <attributes>
+                        <attribute name="text">0</attribute>
+                      </attributes>
                     </child>
                   </object>
                   <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">4</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButton" id="deletebutton">
+                    <property name="label">gtk-remove</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
+                    <property name="valign">end</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_stock">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">3</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButton" id="addbutton">
+                    <property name="label">gtk-add</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="relief">half</property>
+                    <property name="use_stock">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">3</property>
+                    <property name="top_attach">3</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
+                <child>
+                  <object class="GtkButton" id="changebutton">
+                    <property name="label" translatable="yes">Re_place</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">3</property>
+                    <property name="top_attach">4</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
               </object>
               <packing>
                 <property name="position">2</property>
@@ -577,14 +543,12 @@
               </packing>
             </child>
             <child>
-              <object class="GtkTable" id="options_table1">
+              <object class="GtkGrid" id="options-grid">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="border_width">8</property>
-                <property name="n_rows">4</property>
-                <property name="n_columns">2</property>
-                <property name="column_spacing">5</property>
-                <property name="row_spacing">5</property>
+                <property name="border_width">12</property>
+                <property name="row_spacing">6</property>
+                <property name="column_spacing">12</property>
                 <child>
                   <object class="GtkLabel" id="label19">
                     <property name="width_request">154</property>
@@ -596,7 +560,10 @@
                     <property name="mnemonic_widget">max_iter_entry</property>
                   </object>
                   <packing>
-                    <property name="y_options"></property>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -609,55 +576,62 @@
                     <property name="mnemonic_widget">max_time_entry</property>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkCheckButton" id="autoscale_button">
-                    <property name="label" translatable="yes">Automatic _Scaling</property>
+                  <object class="GtkSpinButton" id="max_iter_entry">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_underline">True</property>
-                    <property name="draw_indicator">True</property>
+                    <property name="hexpand">True</property>
+                    <property name="invisible_char">●</property>
+                    <property name="invisible_char_set">True</property>
+                    <property name="adjustment">adjustment2</property>
+                    <property name="climb_rate">1</property>
                   </object>
                   <packing>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkSpinButton" id="max_time_entry">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
+                    <property name="invisible_char">●</property>
+                    <property name="invisible_char_set">True</property>
                     <property name="adjustment">adjustment1</property>
                     <property name="climb_rate">1</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
                     <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="y_options"></property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkSpinButton" id="max_iter_entry">
+                  <object class="GtkCheckButton" id="autoscale_button">
+                    <property name="label" translatable="yes">Automatic _Scaling</property>
+                    <property name="use_action_appearance">False</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="adjustment">adjustment2</property>
-                    <property name="climb_rate">1</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
                   </object>
                   <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="y_options"></property>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">2</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -688,24 +662,26 @@
             <child>
               <object class="GtkBox" id="vbox8">
                 <property name="visible">True</property>
-                <property name="orientation">vertical</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">10</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <object class="GtkBox" id="vbox9">
                     <property name="visible">True</property>
-                    <property name="orientation">vertical</property>
                     <property name="can_focus">False</property>
                     <property name="border_width">8</property>
+                    <property name="orientation">vertical</property>
                     <property name="spacing">5</property>
                     <child>
                       <object class="GtkCheckButton" id="program">
                         <property name="label" translatable="yes">P_rogram</property>
+                        <property name="use_action_appearance">False</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
                         <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
+                        <property name="xalign">0</property>
                         <property name="draw_indicator">True</property>
                       </object>
                       <packing>
@@ -741,18 +717,20 @@
             <child>
               <object class="GtkBox" id="vbox10">
                 <property name="visible">True</property>
-                <property name="orientation">vertical</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">8</property>
+                <property name="orientation">vertical</property>
                 <property name="spacing">5</property>
                 <child>
                   <object class="GtkRadioButton" id="no_scenario">
                     <property name="label" translatable="yes">_Do not create scenarios</property>
+                    <property name="use_action_appearance">False</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
                     <property name="use_action_appearance">False</property>
                     <property name="use_underline">True</property>
+                    <property name="xalign">0.5</property>
                     <property name="draw_indicator">True</property>
                   </object>
                   <packing>
@@ -764,11 +742,13 @@
                 <child>
                   <object class="GtkRadioButton" id="optimal_scenario">
                     <property name="label" translatable="yes">_Create a scenario if the optimal solution is 
found</property>
+                    <property name="use_action_appearance">False</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
                     <property name="use_action_appearance">False</property>
                     <property name="use_underline">True</property>
+                    <property name="xalign">0.5</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">no_scenario</property>
                   </object>
diff --git a/src/dialogs/tabulate.ui b/src/dialogs/tabulate.ui
index cf66d56..af88fb6 100644
--- a/src/dialogs/tabulate.ui
+++ b/src/dialogs/tabulate.ui
@@ -21,6 +21,7 @@
             <child>
               <object class="GtkButton" id="help_button">
                 <property name="label">gtk-help</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -37,6 +38,7 @@
             <child>
               <object class="GtkButton" id="cancel_button">
                 <property name="label">gtk-cancel</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -53,6 +55,7 @@
             <child>
               <object class="GtkButton" id="ok_button">
                 <property name="label">gtk-ok</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -76,303 +79,321 @@
           </packing>
         </child>
         <child>
-          <object class="GtkBox" id="vbox1">
+          <object class="GtkGrid" id="main-grid">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="orientation">vertical</property>
+            <property name="border_width">6</property>
+            <property name="row_spacing">6</property>
+            <property name="column_spacing">12</property>
             <child>
-              <object class="GtkFrame" id="frame1">
+              <object class="GtkLabel" id="label1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label_xalign">0</property>
-                <child>
-                  <object class="GtkTable" id="source_table">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="n_rows">4</property>
-                    <property name="n_columns">4</property>
-                    <property name="homogeneous">True</property>
-                    <child>
-                      <object class="GtkEntry" id="maxentry1">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkEntry" id="stepentry1">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">3</property>
-                        <property name="right_attach">4</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label5">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Minimum</property>
-                        <property name="justify">center</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label6">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Maximum</property>
-                        <property name="justify">center</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label7">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Step</property>
-                        <property name="justify">center</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">3</property>
-                        <property name="right_attach">4</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label4">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Cell</property>
-                        <property name="justify">center</property>
-                      </object>
-                      <packing>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkEntry" id="maxentry2">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkEntry" id="stepentry2">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">3</property>
-                        <property name="right_attach">4</property>
-                        <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkEntry" id="maxentry3">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="top_attach">3</property>
-                        <property name="bottom_attach">4</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkEntry" id="stepentry3">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">3</property>
-                        <property name="right_attach">4</property>
-                        <property name="top_attach">3</property>
-                        <property name="bottom_attach">4</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkEntry" id="minentry3">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">3</property>
-                        <property name="bottom_attach">4</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkEntry" id="minentry2">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkEntry" id="minentry1">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                  </object>
-                </child>
-                <child type="label">
-                  <object class="GtkLabel" id="label1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Dependency cells</property>
-                  </object>
-                </child>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Dependency cells</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
               </object>
               <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">4</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkFrame" id="frame4">
+              <object class="GtkLabel" id="label4">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label_xalign">0</property>
-                <child>
-                  <object class="GtkBox" id="result_hbox">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                  </object>
-                </child>
-                <child type="label">
-                  <object class="GtkLabel" id="label8">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Result cell</property>
-                  </object>
-                </child>
+                <property name="label" translatable="yes">Cell</property>
+                <property name="justify">center</property>
               </object>
               <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkFrame" id="frame3">
+              <object class="GtkLabel" id="label5">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label_xalign">0</property>
-                <child>
-                  <object class="GtkBox" id="vbox4">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <child>
-                      <object class="GtkRadioButton" id="mode_visual">
-                        <property name="label" translatable="yes">_Visual</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">Use down for first source, right 
for second, and multiple sheets for third</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="draw_indicator">True</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkRadioButton" id="mode_coordinate">
-                        <property name="label" translatable="yes">_Coordinate</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">Make one long list of coordinates 
and values</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="draw_indicator">True</property>
-                        <property name="group">mode_visual</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
-                  </object>
-                </child>
-                <child type="label">
-                  <object class="GtkLabel" id="label9">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Tabulation Mode</property>
-                  </object>
-                </child>
+                <property name="label" translatable="yes">Minimum</property>
+                <property name="justify">center</property>
               </object>
               <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-                <property name="position">2</property>
+                <property name="left_attach">1</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label6">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Maximum</property>
+                <property name="justify">center</property>
+              </object>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label7">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Step</property>
+                <property name="justify">center</property>
+              </object>
+              <packing>
+                <property name="left_attach">3</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="minentry1">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="invisible_char">●</property>
+                <property name="invisible_char_set">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">2</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="minentry2">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="invisible_char">●</property>
+                <property name="invisible_char_set">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">3</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
+            <child>
+              <object class="GtkEntry" id="minentry3">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="invisible_char">●</property>
+                <property name="invisible_char_set">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">4</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="maxentry1">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="invisible_char">●</property>
+                <property name="invisible_char_set">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="top_attach">2</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="maxentry2">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="invisible_char">●</property>
+                <property name="invisible_char_set">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="top_attach">3</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="maxentry3">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="invisible_char">●</property>
+                <property name="invisible_char_set">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="top_attach">4</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="stepentry1">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="invisible_char">●</property>
+                <property name="invisible_char_set">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">3</property>
+                <property name="top_attach">2</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="stepentry2">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="invisible_char">●</property>
+                <property name="invisible_char_set">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">3</property>
+                <property name="top_attach">3</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="stepentry3">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="invisible_char">●</property>
+                <property name="invisible_char_set">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">3</property>
+                <property name="top_attach">4</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label8">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="margin_top">6</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Result cell</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">5</property>
+                <property name="width">4</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label9">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="margin_top">6</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Tabulation Mode</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">7</property>
+                <property name="width">4</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkRadioButton" id="mode_coordinate">
+                <property name="label" translatable="yes">_Coordinate</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="has_tooltip">True</property>
+                <property name="tooltip_markup" translatable="yes">Make one long list of coordinates and 
values</property>
+                <property name="tooltip_text" translatable="yes">Make one long list of coordinates and 
values</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_underline">True</property>
+                <property name="xalign">0</property>
+                <property name="draw_indicator">True</property>
+                <property name="group">mode_visual</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">8</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkRadioButton" id="mode_visual">
+                <property name="label" translatable="yes">_Visual</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="has_tooltip">True</property>
+                <property name="tooltip_markup" translatable="yes">Use down for first source, right for 
second, and multiple sheets for third</property>
+                <property name="tooltip_text" translatable="yes">Use down for first source, right for 
second, and multiple sheets for third</property>
+                <property name="margin_left">18</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_underline">True</property>
+                <property name="xalign">0</property>
+                <property name="active">True</property>
+                <property name="draw_indicator">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">8</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
           </object>
           <packing>
             <property name="expand">False</property>
diff --git a/src/dialogs/workbook-attr.ui b/src/dialogs/workbook-attr.ui
index 0fa945d..fd22e78 100644
--- a/src/dialogs/workbook-attr.ui
+++ b/src/dialogs/workbook-attr.ui
@@ -19,6 +19,7 @@
             <child>
               <object class="GtkButton" id="help_button">
                 <property name="label">gtk-help</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -35,6 +36,7 @@
             <child>
               <object class="GtkButton" id="close_button">
                 <property name="label">gtk-close</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -76,11 +78,13 @@
                     <child>
                       <object class="GtkCheckButton" id="WorkbookView::show_notebook_tabs">
                         <property name="label" translatable="yes">Notebook _Tabs for Sheets</property>
+                        <property name="use_action_appearance">False</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
                         <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
+                        <property name="xalign">0.5</property>
                         <property name="draw_indicator">True</property>
                       </object>
                       <packing>
@@ -92,11 +96,13 @@
                     <child>
                       <object class="GtkCheckButton" id="WorkbookView::show_horizontal_scrollbar">
                         <property name="label" translatable="yes">_Horizontal Scrollbar</property>
+                        <property name="use_action_appearance">False</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
                         <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
+                        <property name="xalign">0.5</property>
                         <property name="draw_indicator">True</property>
                       </object>
                       <packing>
@@ -108,11 +114,13 @@
                     <child>
                       <object class="GtkCheckButton" id="WorkbookView::show_vertical_scrollbar">
                         <property name="label" translatable="yes">_Vertical Scrollbar</property>
+                        <property name="use_action_appearance">False</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
                         <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
+                        <property name="xalign">0.5</property>
                         <property name="draw_indicator">True</property>
                       </object>
                       <packing>
@@ -135,63 +143,85 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkTable" id="table2">
+                  <object class="GtkGrid" id="protect-grid">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="n_rows">2</property>
-                    <property name="n_columns">2</property>
-                    <property name="column_spacing">12</property>
                     <property name="row_spacing">6</property>
+                    <property name="column_spacing">12</property>
                     <child>
                       <object class="GtkCheckButton" id="WorkbookView::workbook_protected">
                         <property name="label" translatable="yes">_Protect Workbook</property>
+                        <property name="use_action_appearance">False</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
                         <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
+                        <property name="xalign">0</property>
                         <property name="draw_indicator">True</property>
                       </object>
                       <packing>
-                        <property name="right_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkEntry" id="password_entry">
+                      <object class="GtkLabel" id="label7">
                         <property name="visible">True</property>
                         <property name="sensitive">False</property>
-                        <property name="can_focus">True</property>
-                        <property name="tooltip_text" translatable="yes">Unimplementented</property>
-                        <property name="visibility">False</property>
-                        <property name="invisible_char">•</property>
+                        <property name="can_focus">False</property>
+                        <property name="yalign">0</property>
+                        <property name="label" translatable="yes">Pa_ssword:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">password_entry</property>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
+                        <property name="left_attach">0</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="y_options"></property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkLabel" id="label7">
+                      <object class="GtkEntry" id="password_entry">
                         <property name="visible">True</property>
                         <property name="sensitive">False</property>
-                        <property name="can_focus">False</property>
-                        <property name="yalign">0</property>
-                        <property name="label" translatable="yes">Pa_ssword:</property>
-                        <property name="use_underline">True</property>
-                        <property name="mnemonic_widget">password_entry</property>
+                        <property name="can_focus">True</property>
+                        <property name="has_tooltip">True</property>
+                        <property name="tooltip_markup" translatable="yes">Unimplementented</property>
+                        <property name="tooltip_text" translatable="yes">Unimplementented</property>
+                        <property name="hexpand">True</property>
+                        <property name="visibility">False</property>
+                        <property name="invisible_char">•</property>
+                        <property name="invisible_char_set">True</property>
                       </object>
                       <packing>
+                        <property name="left_attach">1</property>
                         <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
                       </packing>
                     </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
                   </object>
                   <packing>
                     <property name="position">1</property>
@@ -217,11 +247,13 @@
                     <child>
                       <object class="GtkCheckButton" id="WorkbookView::do_auto_completion">
                         <property name="label" translatable="yes">A_uto Complete Text in Cells</property>
+                        <property name="use_action_appearance">False</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
                         <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
+                        <property name="xalign">0.5</property>
                         <property name="draw_indicator">True</property>
                       </object>
                       <packing>
@@ -254,6 +286,7 @@
                     <child>
                       <object class="GtkCheckButton" id="WorkbookView::show_function_cell_markers">
                         <property name="label" translatable="yes">Show _Formula Cell Markers</property>
+                        <property name="use_action_appearance">False</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
@@ -272,6 +305,7 @@
                     <child>
                       <object class="GtkCheckButton" id="WorkbookView::show_extension_markers">
                         <property name="label" translatable="yes">Show _Extension Markers</property>
+                        <property name="use_action_appearance">False</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
diff --git a/src/sheet-object-widget.c b/src/sheet-object-widget.c
index 86ee8c2..50df6a0 100644
--- a/src/sheet-object-widget.c
+++ b/src/sheet-object-widget.c
@@ -862,7 +862,7 @@ sheet_widget_button_user_config (SheetObject *so, SheetControl *sc)
        SheetWidgetButton *swb = GNM_SOW_BUTTON (so);
        WBCGtk  *wbcg = scg_wbcg (SHEET_CONTROL_GUI (sc));
        ButtonConfigState *state;
-       GtkWidget *table;
+       GtkWidget *grid;
        GtkBuilder *gui;
 
        g_return_if_fail (swb != NULL);
@@ -882,7 +882,7 @@ sheet_widget_button_user_config (SheetObject *so, SheetControl *sc)
        state->old_label = g_strdup (swb->label);
        state->dialog = go_gtk_builder_get_widget (gui, "SO-Button");
 
-       table = go_gtk_builder_get_widget (gui, "table");
+       grid = go_gtk_builder_get_widget (gui, "main-grid");
 
        state->expression = gnm_expr_entry_new (wbcg, TRUE);
        gnm_expr_entry_set_flags (state->expression,
@@ -891,10 +891,8 @@ sheet_widget_button_user_config (SheetObject *so, SheetControl *sc)
        gnm_expr_entry_load_from_dep (state->expression, &swb->dep);
        go_atk_setup_label (go_gtk_builder_get_widget (gui, "label_linkto"),
                             GTK_WIDGET (state->expression));
-       gtk_table_attach (GTK_TABLE (table), GTK_WIDGET (state->expression),
-                         1, 2, 0, 1,
-                         GTK_EXPAND | GTK_FILL, 0,
-                         0, 0);
+       gtk_grid_attach (GTK_GRID (grid),
+                        GTK_WIDGET (state->expression), 1, 0, 1, 1);
        gtk_widget_show (GTK_WIDGET (state->expression));
 
        state->label = go_gtk_builder_get_widget (gui, "label_entry");
@@ -1424,7 +1422,7 @@ sheet_widget_adjustment_user_config_impl (SheetObject *so, SheetControl *sc, cha
        SheetWidgetAdjustmentClass *swa_class = SWA_CLASS (swa);
        WBCGtk *wbcg = scg_wbcg (SHEET_CONTROL_GUI (sc));
        AdjustmentConfigState *state;
-       GtkWidget *table;
+       GtkWidget *grid;
        GtkBuilder *gui;
        gboolean has_directions = swa_class->has_orientation;
 
@@ -1446,7 +1444,7 @@ sheet_widget_adjustment_user_config_impl (SheetObject *so, SheetControl *sc, cha
        if (dialog_label != NULL)
                gtk_window_set_title (GTK_WINDOW (state->dialog), dialog_label);
 
-       table = go_gtk_builder_get_widget (gui, "table");
+       grid = go_gtk_builder_get_widget (gui, "main-grid");
 
        state->expression = gnm_expr_entry_new (wbcg, TRUE);
        gnm_expr_entry_set_flags (state->expression,
@@ -1455,10 +1453,8 @@ sheet_widget_adjustment_user_config_impl (SheetObject *so, SheetControl *sc, cha
        gnm_expr_entry_load_from_dep (state->expression, &swa->dep);
        go_atk_setup_label (go_gtk_builder_get_widget (gui, "label_linkto"),
                             GTK_WIDGET (state->expression));
-       gtk_table_attach (GTK_TABLE (table), GTK_WIDGET (state->expression),
-                         1, 2, 0, 1,
-                         GTK_EXPAND | GTK_FILL, 0,
-                         0, 0);
+       gtk_grid_attach (GTK_GRID (grid),
+                        GTK_WIDGET (state->expression), 1, 0, 2, 1);
        gtk_widget_show (GTK_WIDGET (state->expression));
 
        if (has_directions) {
@@ -2097,7 +2093,7 @@ sheet_widget_checkbox_user_config (SheetObject *so, SheetControl *sc)
        SheetWidgetCheckbox *swc = GNM_SOW_CHECKBOX (so);
        WBCGtk  *wbcg = scg_wbcg (SHEET_CONTROL_GUI (sc));
        CheckboxConfigState *state;
-       GtkWidget *table;
+       GtkWidget *grid;
        GtkBuilder *gui;
 
        g_return_if_fail (swc != NULL);
@@ -2117,7 +2113,7 @@ sheet_widget_checkbox_user_config (SheetObject *so, SheetControl *sc)
        state->old_label = g_strdup (swc->label);
        state->dialog = go_gtk_builder_get_widget (gui, "SO-Checkbox");
 
-       table = go_gtk_builder_get_widget (gui, "table");
+       grid = go_gtk_builder_get_widget (gui, "main-grid");
 
        state->expression = gnm_expr_entry_new (wbcg, TRUE);
        gnm_expr_entry_set_flags (state->expression,
@@ -2126,10 +2122,8 @@ sheet_widget_checkbox_user_config (SheetObject *so, SheetControl *sc)
        gnm_expr_entry_load_from_dep (state->expression, &swc->dep);
        go_atk_setup_label (go_gtk_builder_get_widget (gui, "label_linkto"),
                             GTK_WIDGET (state->expression));
-       gtk_table_attach (GTK_TABLE (table), GTK_WIDGET (state->expression),
-                         1, 2, 0, 1,
-                         GTK_EXPAND | GTK_FILL, 0,
-                         0, 0);
+       gtk_grid_attach (GTK_GRID (grid),
+                        GTK_WIDGET (state->expression), 1, 0, 1, 1);
        gtk_widget_show (GTK_WIDGET (state->expression));
 
        state->label = go_gtk_builder_get_widget (gui, "label_entry");
@@ -2773,7 +2767,7 @@ sheet_widget_radio_button_user_config (SheetObject *so, SheetControl *sc)
        SheetWidgetRadioButton *swrb = GNM_SOW_RADIO_BUTTON (so);
        WBCGtk  *wbcg = scg_wbcg (SHEET_CONTROL_GUI (sc));
        RadioButtonConfigState *state;
-       GtkWidget *table;
+       GtkWidget *grid;
        GString *valstr;
        GtkBuilder *gui;
 
@@ -2795,7 +2789,7 @@ sheet_widget_radio_button_user_config (SheetObject *so, SheetControl *sc)
        state->old_value = value_dup (swrb->value);
        state->dialog = go_gtk_builder_get_widget (gui, "SO-Radiobutton");
 
-       table = go_gtk_builder_get_widget (gui, "table");
+       grid = go_gtk_builder_get_widget (gui, "main-grid");
 
        state->expression = gnm_expr_entry_new (wbcg, TRUE);
        gnm_expr_entry_set_flags (state->expression,
@@ -2804,10 +2798,8 @@ sheet_widget_radio_button_user_config (SheetObject *so, SheetControl *sc)
        gnm_expr_entry_load_from_dep (state->expression, &swrb->dep);
        go_atk_setup_label (go_gtk_builder_get_widget (gui, "label_linkto"),
                            GTK_WIDGET (state->expression));
-       gtk_table_attach (GTK_TABLE (table), GTK_WIDGET (state->expression),
-                         1, 2, 0, 1,
-                         GTK_EXPAND | GTK_FILL, 0,
-                         0, 0);
+       gtk_grid_attach (GTK_GRID (grid),
+                         GTK_WIDGET (state->expression), 1, 0, 1, 1);
        gtk_widget_show (GTK_WIDGET (state->expression));
 
        state->label = go_gtk_builder_get_widget (gui, "label_entry");
diff --git a/src/wbc-gtk.c b/src/wbc-gtk.c
index 8fa6cdb..731ad25 100644
--- a/src/wbc-gtk.c
+++ b/src/wbc-gtk.c
@@ -5731,8 +5731,6 @@ wbc_gtk_init (GObject *obj)
 
        wbcg_set_autosave_time (wbcg, gnm_conf_get_core_workbook_autosave_time ());
 
-       wbc_gtk_set_action_sensitivity (wbcg, "ToolsSolver", FALSE);
-
        if (gnm_debug_flag ("actions")) {
                list_actions (wbcg->permanent_actions);
                list_actions (wbcg->actions);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]