[glom] Put UI utils in UiUtils namespace.



commit 7e070290ecf7d080e4f11a3e9134ec585573a5e8
Author: Murray Cumming <murrayc murrayc com>
Date:   Tue Nov 19 13:33:51 2013 +0100

    Put UI utils in UiUtils namespace.

 glom/appwindow.cc                                  |   20 ++++----
 glom/base_db.cc                                    |   14 +++---
 glom/base_db_table_data.cc                         |    6 +-
 glom/box_withbuttons.cc                            |   14 +++---
 glom/dialog_invalid_data.cc                        |    2 +-
 glom/filechooser_export.cc                         |    2 +-
 glom/frame_glom.cc                                 |   50 ++++++++++----------
 glom/import_csv/dialog_import_csv.cc               |    8 ++--
 glom/libglom/db_utils.cc                           |    8 ++--
 glom/libglom/test_avahi_publisher.cc               |    2 +-
 glom/main.cc                                       |   18 ++++----
 glom/mode_data/box_data.cc                         |    4 +-
 glom/mode_data/box_data_calendar_related.cc        |    4 +-
 glom/mode_data/box_data_details.cc                 |   16 +++---
 glom/mode_data/box_data_list_related.cc            |    4 +-
 glom/mode_data/box_data_manyrecords.cc             |    2 +-
 glom/mode_data/box_data_portal.cc                  |    2 +-
 glom/mode_data/buttonglom.cc                       |    2 +-
 glom/mode_data/datawidget/cellcreation.cc          |    2 +-
 .../datawidget/combochoiceswithtreemodel.cc        |    4 +-
 glom/mode_data/datawidget/datawidget.cc            |    6 +-
 glom/mode_data/datawidget/dialog_choose_id.cc      |    4 +-
 glom/mode_data/db_adddel/db_adddel.cc              |   14 +++---
 glom/mode_data/db_adddel/db_adddel_withbuttons.cc  |    2 +-
 glom/mode_data/flowtablewithfields.cc              |   14 +++---
 glom/mode_design/fields/box_db_table_definition.cc |   14 +++---
 glom/mode_design/fields/dialog_fieldcalculation.cc |    6 +-
 glom/mode_design/fields/dialog_fielddefinition.cc  |    2 +-
 glom/mode_design/layout/dialog_layout_details.cc   |    4 +-
 .../layout/dialog_layout_list_related.cc           |    6 +-
 .../layout/layout_item_dialogs/box_formatting.cc   |    4 +-
 .../layout_item_dialogs/dialog_buttonscript.cc     |    4 +-
 .../layout/layout_item_dialogs/dialog_group_by.cc  |    4 +-
 .../print_layouts/print_layout_toolbar_button.cc   |    2 +-
 .../print_layouts/window_print_layout_edit.cc      |    6 +-
 .../script_library/dialog_script_library.cc        |    4 +-
 .../translation/dialog_identify_original.cc        |    2 +-
 .../mode_design/translation/window_translations.cc |    4 +-
 glom/mode_design/users/dialog_groups_list.cc       |    6 +-
 glom/mode_design/users/dialog_users_list.cc        |   12 ++--
 glom/mode_find/box_data_list_find.cc               |    2 +-
 glom/navigation/box_tables.cc                      |    6 +-
 glom/print_layout/canvas_layout_item.cc            |    4 +-
 glom/print_layout/canvas_print_layout.cc           |    6 +-
 glom/utility_widgets/adddel/adddel.cc              |    6 +-
 glom/utility_widgets/adddel/adddel_withbuttons.cc  |    8 ++--
 .../utility_widgets/canvas/canvas_image_movable.cc |    4 +-
 .../filechooserdialog_saveextras.cc                |    8 ++--
 glom/utility_widgets/imageglom.cc                  |    4 +-
 glom/utility_widgets/layouttoolbarbutton.cc        |    2 +-
 glom/utility_widgets/notebook_noframe.cc           |    6 +-
 glom/utils_ui.cc                                   |   38 ++++++++-------
 glom/utils_ui.h                                    |    5 +-
 glom/window_boxholder.cc                           |    2 +-
 54 files changed, 204 insertions(+), 201 deletions(-)
---
diff --git a/glom/appwindow.cc b/glom/appwindow.cc
index 2c7990f..c827b58 100644
--- a/glom/appwindow.cc
+++ b/glom/appwindow.cc
@@ -172,7 +172,7 @@ void AppWindow::on_connection_avahi_begin()
   delete m_avahi_progress_dialog;
   m_avahi_progress_dialog = 0;
 
-  m_avahi_progress_dialog = new Gtk::MessageDialog(Utils::bold_message(_("Glom: Generating Encryption 
Certificates")), true, Gtk::MESSAGE_INFO);
+  m_avahi_progress_dialog = new Gtk::MessageDialog(UiUtils::bold_message(_("Glom: Generating Encryption 
Certificates")), true, Gtk::MESSAGE_INFO);
   m_avahi_progress_dialog->set_secondary_text(_("Please wait while Glom prepares your system for publishing 
over the network."));
   m_avahi_progress_dialog->set_transient_for(*this);
   m_avahi_progress_dialog->show();
@@ -471,10 +471,10 @@ void AppWindow::on_menu_help_about()
     
     //For some reason this use of the resource:// syntax does not work:
     const char* about_icon_name = "48x48/glom.png";
-    //const Glib::ustring glom_icon_path = "resource://" + Utils::get_icon_path(about_icon_name);
+    //const Glib::ustring glom_icon_path = "resource://" + UiUtils::get_icon_path(about_icon_name);
     //Glib::RefPtr<Gdk::Pixbuf> logo = Gdk::Pixbuf::create_from_file(glom_icon_path);
 
-    const Glib::ustring glom_icon_path = Utils::get_icon_path(about_icon_name);
+    const Glib::ustring glom_icon_path = UiUtils::get_icon_path(about_icon_name);
 
     //TODO: Use this, instead of the C API, when we can depend on gtkmm 3.12, with a try/catch:
     //Glib::RefPtr<Gdk::Pixbuf> logo = Gdk::Pixbuf::create_from_resource(glom_icon_path);
@@ -613,7 +613,7 @@ void AppWindow::open_browsed_document(const EpcServiceInfo* server, const Glib::
     dialog_connection->set_transient_for(*this);
     dialog_connection->set_connect_to_browsed();
     dialog_connection->set_database_name(service_name);
-    const int response = Glom::Utils::dialog_run_with_help(dialog_connection);
+    const int response = Glom::UiUtils::dialog_run_with_help(dialog_connection);
     dialog_connection->hide();
     if(response != Gtk::RESPONSE_OK)
       keep_trying = false;
@@ -640,7 +640,7 @@ void AppWindow::open_browsed_document(const EpcServiceInfo* server, const Glib::
         {
           //std::cout << "   SOUP_STATUS_FORBIDDEN or SOUP_STATUS_UNAUTHORIZED" << std::endl;
 
-          Utils::show_ok_dialog(_("Connection Failed"), _("Glom could not connect to the database server. 
Maybe you entered an incorrect user name or password, or maybe the postgres database server is not 
running."), *this, Gtk::MESSAGE_ERROR); //TODO: Add help button.
+          UiUtils::show_ok_dialog(_("Connection Failed"), _("Glom could not connect to the database server. 
Maybe you entered an incorrect user name or password, or maybe the postgres database server is not 
running."), *this, Gtk::MESSAGE_ERROR); //TODO: Add help button.
         }
       }
       else
@@ -978,7 +978,7 @@ bool AppWindow::on_document_load()
     const AppState::userlevels userlevel = pDocument->get_userlevel(reason);
     if( (userlevel == AppState::USERLEVEL_OPERATOR) && (reason == 
Document::USER_LEVEL_REASON_FILE_READ_ONLY) )
     {
-      Gtk::MessageDialog dialog(Utils::bold_message(_("Opening Read-Only File.")), true,  Gtk::MESSAGE_INFO, 
Gtk::BUTTONS_NONE);
+      Gtk::MessageDialog dialog(UiUtils::bold_message(_("Opening Read-Only File.")), true,  
Gtk::MESSAGE_INFO, Gtk::BUTTONS_NONE);
       dialog.set_secondary_text(_("This file is read only, so you will not be able to enter Developer mode 
to make design changes."));
       dialog.set_transient_for(*this);
       dialog.add_button(_("_Cancel"), Gtk::RESPONSE_CANCEL);
@@ -1303,7 +1303,7 @@ bool AppWindow::offer_new_or_existing()
   bool ask_again = true;
   while(ask_again)
   {
-    const int response_id = Utils::dialog_run_with_help(dialog_raw);
+    const int response_id = UiUtils::dialog_run_with_help(dialog_raw);
     dialog->hide();
 
     if(response_id == Gtk::RESPONSE_ACCEPT)
@@ -1473,7 +1473,7 @@ void AppWindow::set_mode_find()
 
 void AppWindow::on_menu_help_contents()
 {
-  Glom::Utils::show_help();
+  Glom::UiUtils::show_help();
 }
 
 #ifndef GLOM_ENABLE_CLIENT_ONLY
@@ -1754,7 +1754,7 @@ bool AppWindow::recreate_database_from_backup(const Glib::ustring& backup_uri, b
 
 
     const Glib::ustring message = _("Glom could not create the new database. Maybe you do not have the 
necessary access rights. Please contact your system administrator.");
-    Gtk::MessageDialog dialog(Utils::bold_message(_("Database Creation Failed")), true, Gtk::MESSAGE_ERROR );
+    Gtk::MessageDialog dialog(UiUtils::bold_message(_("Database Creation Failed")), true, Gtk::MESSAGE_ERROR 
);
     dialog.set_secondary_text(message);
     dialog.set_transient_for(*this);
 
@@ -2351,7 +2351,7 @@ void AppWindow::on_menu_developer_changelanguage()
     return;
     
   dialog->set_transient_for(*this);
-  const int response = Glom::Utils::dialog_run_with_help(dialog);
+  const int response = Glom::UiUtils::dialog_run_with_help(dialog);
   dialog->hide();
 
   if(response == Gtk::RESPONSE_OK)
diff --git a/glom/base_db.cc b/glom/base_db.cc
index 745cdf6..5241d5a 100644
--- a/glom/base_db.cc
+++ b/glom/base_db.cc
@@ -119,7 +119,7 @@ void Base_DB::handle_error(const Glib::Exception& ex)
 {
   std::cerr << G_STRFUNC << ": Internal Error (Base_DB::handle_error()): exception type=" << 
typeid(ex).name() << ", ex.what()=" << ex.what() << std::endl;
 
-  Gtk::MessageDialog dialog(Utils::bold_message(_("Internal error")), true, Gtk::MESSAGE_WARNING );
+  Gtk::MessageDialog dialog(UiUtils::bold_message(_("Internal error")), true, Gtk::MESSAGE_WARNING );
   dialog.set_secondary_text(ex.what());
   //TODO: dialog.set_transient_for(*get_appwindow());
   dialog.run();
@@ -129,7 +129,7 @@ void Base_DB::handle_error(const std::exception& ex)
 {
   std::cerr << G_STRFUNC << ": Internal Error (Base_DB::handle_error()): exception type=" << 
typeid(ex).name() << ", ex.what()=" << ex.what() << std::endl;
 
-  Gtk::MessageDialog dialog(Utils::bold_message(_("Internal error")), true, Gtk::MESSAGE_WARNING );
+  Gtk::MessageDialog dialog(UiUtils::bold_message(_("Internal error")), true, Gtk::MESSAGE_WARNING );
   dialog.set_secondary_text(ex.what());
   //TODO: dialog.set_transient_for(*get_appwindow());
 
@@ -268,7 +268,7 @@ sharedptr<Field> Base_DB::change_column(const Glib::ustring& table_name, const s
   catch(const Glib::Error& ex)
   {
     handle_error(ex);
-//    Gtk::MessageDialog window(*parent_window, Utils::bold_message(ex.what()), true, Gtk::MESSAGE_ERROR, 
Gtk::BUTTONS_OK);
+//    Gtk::MessageDialog window(*parent_window, UiUtils::bold_message(ex.what()), true, Gtk::MESSAGE_ERROR, 
Gtk::BUTTONS_OK);
 //    window.run();
     return sharedptr<Field>();
   }
@@ -296,7 +296,7 @@ bool Base_DB::change_columns(const Glib::ustring& table_name, const type_vec_con
   catch(const Glib::Error& ex)
   {
     handle_error(ex);
-//    Gtk::MessageDialog window(*parent_window, Utils::bold_message(ex.what()), true, Gtk::MESSAGE_ERROR, 
Gtk::BUTTONS_OK);
+//    Gtk::MessageDialog window(*parent_window, UiUtils::bold_message(ex.what()), true, Gtk::MESSAGE_ERROR, 
Gtk::BUTTONS_OK);
 //    window.run();
     return false;
   }
@@ -464,7 +464,7 @@ sharedptr<LayoutItem_Text> Base_DB::offer_textobject(const sharedptr<LayoutItem_
     dialog->set_transient_for(*transient_for);
 
   dialog->set_textobject(start_textobject, Glib::ustring(), show_title);
-  const int response = Glom::Utils::dialog_run_with_help(dialog);
+  const int response = Glom::UiUtils::dialog_run_with_help(dialog);
   dialog->hide();
   if(response == Gtk::RESPONSE_OK)
   {
@@ -490,7 +490,7 @@ sharedptr<LayoutItem_Image> Base_DB::offer_imageobject(const sharedptr<LayoutIte
     dialog->set_transient_for(*transient_for);
 
   dialog->set_imageobject(start_imageobject, Glib::ustring(), show_title);
-  const int response = Glom::Utils::dialog_run_with_help(dialog);
+  const int response = Glom::UiUtils::dialog_run_with_help(dialog);
   dialog->hide();
   if(response == Gtk::RESPONSE_OK)
   {
@@ -517,7 +517,7 @@ sharedptr<LayoutItem_Notebook> Base_DB::offer_notebook(const sharedptr<LayoutIte
 
   dialog->set_notebook(start_notebook);
   //dialog->set_transient_for(*this);
-  const int response = Glom::Utils::dialog_run_with_help(dialog);
+  const int response = Glom::UiUtils::dialog_run_with_help(dialog);
   dialog->hide();
   if(response == Gtk::RESPONSE_OK)
   {
diff --git a/glom/base_db_table_data.cc b/glom/base_db_table_data.cc
index 6b65b20..75198bb 100644
--- a/glom/base_db_table_data.cc
+++ b/glom/base_db_table_data.cc
@@ -254,7 +254,7 @@ bool Base_DB_Table_Data::add_related_record_for_field(const sharedptr<const Layo
     //Warn the user:
     //TODO: Make the field insensitive until it can receive data, so people never see this dialog.
     const Glib::ustring message = _("Data may not be entered into this related field, because the related 
record does not yet exist, and the relationship does not allow automatic creation of new related records.");
-    Gtk::MessageDialog dialog(Utils::bold_message(_("Related Record Does Not Exist")), true);
+    Gtk::MessageDialog dialog(UiUtils::bold_message(_("Related Record Does Not Exist")), true);
     dialog.set_secondary_text(message);
     dialog.set_transient_for(*AppWindow::get_appwindow());
     dialog.run();
@@ -275,7 +275,7 @@ bool Base_DB_Table_Data::add_related_record_for_field(const sharedptr<const Layo
       //TODO: Make the field insensitive until it can receive data, so people never see this dialog.
       const Glib::ustring message = _("Data may not be entered into this related field, because the related 
record does not yet exist, and the key in the related record is auto-generated and therefore can not be 
created with the key value in this record.");
 
-      Gtk::MessageDialog dialog(Utils::bold_message(_("Related Record Cannot Be Created")), true);
+      Gtk::MessageDialog dialog(UiUtils::bold_message(_("Related Record Cannot Be Created")), true);
       //TODO: This is a very complex error message:
       dialog.set_secondary_text(message);
       dialog.set_transient_for(*AppWindow::get_appwindow());
@@ -387,7 +387,7 @@ bool Base_DB_Table_Data::confirm_delete_record()
 {
   //Ask the user for confirmation:
   const Glib::ustring message = _("Are you sure that you would like to delete this record? The data in this 
record will then be permanently lost.");
-  Gtk::MessageDialog dialog(Utils::bold_message(_("Delete record")), true, Gtk::MESSAGE_QUESTION, 
Gtk::BUTTONS_NONE);
+  Gtk::MessageDialog dialog(UiUtils::bold_message(_("Delete record")), true, Gtk::MESSAGE_QUESTION, 
Gtk::BUTTONS_NONE);
   dialog.set_secondary_text(message);
   dialog.set_transient_for(*AppWindow::get_appwindow());
   dialog.add_button(_("_Cancel"), Gtk::RESPONSE_CANCEL);
diff --git a/glom/box_withbuttons.cc b/glom/box_withbuttons.cc
index 65aca42..c71aebc 100644
--- a/glom/box_withbuttons.cc
+++ b/glom/box_withbuttons.cc
@@ -32,13 +32,13 @@ namespace Glom
 
 Box_WithButtons::Box_WithButtons()
 : Gtk::Box(Gtk::ORIENTATION_VERTICAL),
-  m_Box_Buttons(Gtk::ORIENTATION_HORIZONTAL, Utils::DEFAULT_SPACING_SMALL),
+  m_Box_Buttons(Gtk::ORIENTATION_HORIZONTAL, UiUtils::DEFAULT_SPACING_SMALL),
   m_Button_Cancel(_("_Cancel"))
 {
   //m_pDocument = 0;
 
-  //set_border_width(Utils::DEFAULT_SPACING_SMALL);
-  set_spacing(Utils::DEFAULT_SPACING_SMALL);
+  //set_border_width(UiUtils::DEFAULT_SPACING_SMALL);
+  set_spacing(UiUtils::DEFAULT_SPACING_SMALL);
 
   //Connect signals:
   m_Button_Cancel.signal_clicked().connect(sigc::mem_fun(*this, &Box_WithButtons::on_Button_Cancel));
@@ -46,13 +46,13 @@ Box_WithButtons::Box_WithButtons()
 
 Box_WithButtons::Box_WithButtons(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& /* builder */)
 : Gtk::Box(cobject),
-  m_Box_Buttons(Gtk::ORIENTATION_HORIZONTAL, Utils::DEFAULT_SPACING_SMALL),
+  m_Box_Buttons(Gtk::ORIENTATION_HORIZONTAL, UiUtils::DEFAULT_SPACING_SMALL),
   m_Button_Cancel(_("_Cancel"))
 {
   //m_pDocument = 0;
 
-  //set_border_width(Utils::DEFAULT_SPACING_SMALL);
-  set_spacing(Utils::DEFAULT_SPACING_SMALL);
+  //set_border_width(UiUtils::DEFAULT_SPACING_SMALL);
+  set_spacing(UiUtils::DEFAULT_SPACING_SMALL);
 
   //Connect signals:
   m_Button_Cancel.signal_clicked().connect(sigc::mem_fun(*this, &Box_WithButtons::on_Button_Cancel));
@@ -60,7 +60,7 @@ Box_WithButtons::Box_WithButtons(BaseObjectType* cobject, const Glib::RefPtr<Gtk
 
 Box_WithButtons::Box_WithButtons(BaseObjectType* cobject)
 : Gtk::Box(cobject),
-  m_Box_Buttons(Gtk::ORIENTATION_HORIZONTAL, Utils::DEFAULT_SPACING_SMALL),
+  m_Box_Buttons(Gtk::ORIENTATION_HORIZONTAL, UiUtils::DEFAULT_SPACING_SMALL),
   m_Button_Cancel(_("_Cancel"))
 {
 }
diff --git a/glom/dialog_invalid_data.cc b/glom/dialog_invalid_data.cc
index c8ea0aa..d9fe90d 100644
--- a/glom/dialog_invalid_data.cc
+++ b/glom/dialog_invalid_data.cc
@@ -41,7 +41,7 @@ bool glom_show_dialog_invalid_data(Field::glom_field_type glom_type)
     
   dialog->set_example_data(glom_type);
   //dialog->set_transient_for(*this);
-  const int response = Glom::Utils::dialog_run_with_help(dialog);
+  const int response = Glom::UiUtils::dialog_run_with_help(dialog);
   
   delete dialog;
   return (response == 2); //The glade file has a response of 2 for the Revert button.
diff --git a/glom/filechooser_export.cc b/glom/filechooser_export.cc
index 8bfbf0c..481abcb 100644
--- a/glom/filechooser_export.cc
+++ b/glom/filechooser_export.cc
@@ -29,7 +29,7 @@ namespace Glom
 
 FileChooser_Export::FileChooser_Export()
 : Gtk::FileChooserDialog(_("Export to File"), Gtk::FILE_CHOOSER_ACTION_SAVE),
-  m_extra_widget(Gtk::ORIENTATION_HORIZONTAL, Utils::DEFAULT_SPACING_SMALL),
+  m_extra_widget(Gtk::ORIENTATION_HORIZONTAL, UiUtils::DEFAULT_SPACING_SMALL),
 #ifndef GLOM_ENABLE_CLIENT_ONLY
   m_button_format(_("Define Data _Format"), true /* use mnenomic */),
   m_pDialogLayout(0),
diff --git a/glom/frame_glom.cc b/glom/frame_glom.cc
index 64d6f69..34177a4 100644
--- a/glom/frame_glom.cc
+++ b/glom/frame_glom.cc
@@ -75,7 +75,7 @@ Frame_Glom::Frame_Glom(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>
 : PlaceHolder(cobject, builder),
   m_pLabel_Table_DataMode(0),
   m_pLabel_Table_FindMode(0),
-  m_Box_RecordsCount(Gtk::ORIENTATION_HORIZONTAL, Utils::DEFAULT_SPACING_SMALL),
+  m_Box_RecordsCount(Gtk::ORIENTATION_HORIZONTAL, UiUtils::DEFAULT_SPACING_SMALL),
   m_Button_FindAll(_("Find All")),
   m_stack_mode(0),
   m_pBox_Tables(0),
@@ -107,7 +107,7 @@ Frame_Glom::Frame_Glom(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>
 
   //QuickFind widgets:
   //We don't use Glade for these, so it easier to modify them for the Maemo port.
-  m_pBox_QuickFind = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_HORIZONTAL, Utils::DEFAULT_SPACING_SMALL));
+  m_pBox_QuickFind = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_HORIZONTAL, UiUtils::DEFAULT_SPACING_SMALL));
   Gtk::Label* label = Gtk::manage(new Gtk::Label(_("Quick _search:"), true));
   m_pBox_QuickFind->pack_start(*label, Gtk::PACK_SHRINK);
 
@@ -492,14 +492,14 @@ bool Frame_Glom::attempt_change_usermode_to_developer()
     if(document->get_opened_from_browse())
     {
       //TODO: Obviously this could be possible but it would require a network protocol and some work:
-      Gtk::MessageDialog dialog(Utils::bold_message(_("Developer mode not available.")), true, 
Gtk::MESSAGE_WARNING);
+      Gtk::MessageDialog dialog(UiUtils::bold_message(_("Developer mode not available.")), true, 
Gtk::MESSAGE_WARNING);
       dialog.set_secondary_text(_("Developer mode is not available because the file was opened over the 
network from a running Glom. Only the original file may be edited."));
       dialog.set_transient_for(*get_app_window());
       dialog.run();
     }
     else
     {
-      Gtk::MessageDialog dialog(Utils::bold_message(_("Developer mode not available")), true, 
Gtk::MESSAGE_WARNING);
+      Gtk::MessageDialog dialog(UiUtils::bold_message(_("Developer mode not available")), true, 
Gtk::MESSAGE_WARNING);
       dialog.set_secondary_text(_("Developer mode is not available. Check that you have sufficient database 
access rights and that the glom file is not read-only."));
       dialog.set_transient_for(*get_app_window());
       dialog.run();
@@ -507,7 +507,7 @@ bool Frame_Glom::attempt_change_usermode_to_developer()
   }
   else if(document->get_document_format_version() < Document::get_latest_known_document_format_version())
   {
-    Gtk::MessageDialog dialog(Utils::bold_message(_("Saving in new document format")), true, 
Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_NONE);
+    Gtk::MessageDialog dialog(UiUtils::bold_message(_("Saving in new document format")), true, 
Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_NONE);
     dialog.set_secondary_text(_("The document was created by an earlier version of the application. Making 
changes to the document will mean that the document cannot be opened by some earlier versions of the 
application."));
     dialog.set_transient_for(*get_app_window());
     dialog.add_button(_("_Cancel"), Gtk::RESPONSE_CANCEL);
@@ -566,7 +566,7 @@ void Frame_Glom::on_menu_file_export()
   if(filepath.empty())
     return;
 
-  filepath = Utils::get_filepath_with_extension(filepath, "csv");
+  filepath = UiUtils::get_filepath_with_extension(filepath, "csv");
 
   dialog.get_layout_groups(mapGroupSequence);
   //std::cout << "DEBUG 0: mapGroupSequence.size()=" << mapGroupSequence.size() << std::endl;
@@ -729,7 +729,7 @@ void Frame_Glom::on_menu_file_import()
 {
   if(m_table_name.empty())
   {
-    Utils::show_ok_dialog(_("No Table"), _("There is no table in to which data could be imported."), 
*get_app_window(), Gtk::MESSAGE_ERROR);
+    UiUtils::show_ok_dialog(_("No Table"), _("There is no table in to which data could be imported."), 
*get_app_window(), Gtk::MESSAGE_ERROR);
   }
   else
   {
@@ -757,7 +757,7 @@ void Frame_Glom::on_menu_file_import()
       add_view(dialog);
 
       dialog->import(file_chooser.get_uri(), m_table_name);
-      while(Glom::Utils::dialog_run_with_help(dialog) == Gtk::RESPONSE_ACCEPT)
+      while(Glom::UiUtils::dialog_run_with_help(dialog) == Gtk::RESPONSE_ACCEPT)
       {
         dialog->hide();
 
@@ -818,7 +818,7 @@ bool Frame_Glom::attempt_toggle_shared(bool shared)
   //TODO: Warn that this will be saved as the default if doing this in developer mode?
   if(shared)
   {
-    Gtk::MessageDialog dialog(Utils::bold_message(_("Share on the network")), true, Gtk::MESSAGE_QUESTION, 
Gtk::BUTTONS_NONE);
+    Gtk::MessageDialog dialog(UiUtils::bold_message(_("Share on the network")), true, Gtk::MESSAGE_QUESTION, 
Gtk::BUTTONS_NONE);
     dialog.set_secondary_text(_("This will allow other users on the network to use this database."));
     dialog.set_transient_for(*get_app_window());
     dialog.add_button(_("_Cancel"), Gtk::RESPONSE_CANCEL);
@@ -924,7 +924,7 @@ bool Frame_Glom::attempt_toggle_shared(bool shared)
   else //not shared:
   {
     //TODO: Warn about connected users if possible.
-    Gtk::MessageDialog dialog(Utils::bold_message(_("Stop sharing on the network")), true, 
Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_NONE);
+    Gtk::MessageDialog dialog(UiUtils::bold_message(_("Stop sharing on the network")), true, 
Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_NONE);
     dialog.set_secondary_text(_("This will prevent other users on the network from using this database."));
     dialog.set_transient_for(*get_app_window());
     dialog.add_button(_("_Cancel"), Gtk::RESPONSE_CANCEL);
@@ -1298,7 +1298,7 @@ Gtk::Window* Frame_Glom::get_app_window()
 
 void Frame_Glom::show_ok_dialog(const Glib::ustring& title, const Glib::ustring& message, Gtk::Window& 
parent, Gtk::MessageType message_type)
 {
-  Utils::show_ok_dialog(title, message, parent, message_type);
+  UiUtils::show_ok_dialog(title, message, parent, message_type);
 }
 
 void Frame_Glom::on_button_quickfind()
@@ -1332,7 +1332,7 @@ void Frame_Glom::on_notebook_find_criteria(const Gnome::Gda::SqlExpr& where_clau
   {
     const Glib::ustring message = _("You have not entered any find criteria. Try entering information in the 
fields.");
 
-    Gtk::MessageDialog dialog(Utils::bold_message(_("No Find Criteria")), true, Gtk::MESSAGE_WARNING );
+    Gtk::MessageDialog dialog(UiUtils::bold_message(_("No Find Criteria")), true, Gtk::MESSAGE_WARNING );
     dialog.set_secondary_text(message);
     dialog.set_transient_for(*app);
     dialog.run();
@@ -1367,7 +1367,7 @@ void Frame_Glom::on_notebook_find_criteria(const Gnome::Gda::SqlExpr& where_clau
 
   if(!records_found)
   {
-    const bool find_again = Utils::show_warning_no_records_found(*app);
+    const bool find_again = UiUtils::show_warning_no_records_found(*app);
 
     if(!find_again)
     {
@@ -1407,7 +1407,7 @@ void Frame_Glom::show_table_title()
     table_label = m_table_name;
 
   //Show the table title in bold text, because it's important to the user.
-  const Glib::ustring title = Utils::bold_message(table_label);
+  const Glib::ustring title = UiUtils::bold_message(table_label);
   m_pLabel_Table_DataMode->set_markup(title);
   m_pLabel_Table_FindMode->set_markup(title);
 }
@@ -1549,7 +1549,7 @@ void Frame_Glom::on_menu_developer_database_preferences()
   add_view(dialog);
   dialog->load_from_document();
 
-  Glom::Utils::dialog_run_with_help(dialog);
+  Glom::UiUtils::dialog_run_with_help(dialog);
 
   remove_view(dialog);
   delete dialog;
@@ -1668,7 +1668,7 @@ void Frame_Glom::on_menu_developer_users()
   add_view(dialog); //Give it access to the document.
   dialog->load_from_document(); //Update the UI now that it has the document.
 
-  Glom::Utils::dialog_run_with_help(dialog);
+  Glom::UiUtils::dialog_run_with_help(dialog);
   remove_view(dialog);
   delete dialog;
 
@@ -1772,7 +1772,7 @@ void Frame_Glom::on_menu_developer_script_library()
   dialog->set_transient_for(*(get_app_window()));
   add_view(dialog); //Give it access to the document.
   dialog->load_from_document();
-  Glom::Utils::dialog_run_with_help(dialog); //TODO: Create the help section.
+  Glom::UiUtils::dialog_run_with_help(dialog); //TODO: Create the help section.
   dialog->save_to_document();
   remove_view(dialog);
   delete dialog;
@@ -1915,7 +1915,7 @@ bool Frame_Glom::handle_connection_initialize_errors(ConnectionPool::InitErrors
     message = _("There was an error when attempting to start the database server.");
   }
 
-  Utils::show_ok_dialog(title, message, *get_app_window(), Gtk::MESSAGE_ERROR);
+  UiUtils::show_ok_dialog(title, message, *get_app_window(), Gtk::MESSAGE_ERROR);
 
   return false;
 }
@@ -1948,7 +1948,7 @@ bool Frame_Glom::connection_request_initial_password(Glib::ustring& user, Glib::
   bool keep_trying = true;
   while(keep_trying)
   {
-    response = Utils::dialog_run_with_help(dialog);
+    response = UiUtils::dialog_run_with_help(dialog);
 
     //Check the password is acceptable:
     if(response == Gtk::RESPONSE_OK)
@@ -2048,7 +2048,7 @@ bool Frame_Glom::connection_request_password_and_choose_new_database_name()
       m_pDialogConnection->load_from_document(); //Get good defaults.
       m_pDialogConnection->set_transient_for(*get_app_window());
 
-      const int response = Glom::Utils::dialog_run_with_help(m_pDialogConnection);
+      const int response = Glom::UiUtils::dialog_run_with_help(m_pDialogConnection);
       m_pDialogConnection->hide();
 
       if(response == Gtk::RESPONSE_OK)
@@ -2149,7 +2149,7 @@ bool Frame_Glom::connection_request_password_and_choose_new_database_name()
       if(ex.get_failure_type() == ExceptionConnection::FAILURE_NO_SERVER)
       {
         //Warn the user, and let him try again:
-        Utils::show_ok_dialog(_("Connection Failed"), _("Glom could not connect to the database server. 
Maybe you entered an incorrect user name or password, or maybe the postgres database server is not 
running."), *(get_app_window()), Gtk::MESSAGE_ERROR); //TODO: Add help button.
+        UiUtils::show_ok_dialog(_("Connection Failed"), _("Glom could not connect to the database server. 
Maybe you entered an incorrect user name or password, or maybe the postgres database server is not 
running."), *(get_app_window()), Gtk::MESSAGE_ERROR); //TODO: Add help button.
         keep_trying = false;
       }
       else
@@ -2220,7 +2220,7 @@ bool Frame_Glom::handle_request_password_connection_error(bool asked_for_passwor
   if(asked_for_password && ex.get_failure_type() == ExceptionConnection::FAILURE_NO_SERVER)
   {
     //Warn the user, and let him try again:
-    Utils::show_ok_dialog(_("Connection Failed"), _("Glom could not connect to the database server. Maybe 
you entered an incorrect user name or password, or maybe the postgres database server is not running."), 
*(get_app_window()), Gtk::MESSAGE_ERROR); //TODO: Add help button.
+    UiUtils::show_ok_dialog(_("Connection Failed"), _("Glom could not connect to the database server. Maybe 
you entered an incorrect user name or password, or maybe the postgres database server is not running."), 
*(get_app_window()), Gtk::MESSAGE_ERROR); //TODO: Add help button.
     return true;
   }
   else if(ex.get_failure_type() == ExceptionConnection::FAILURE_NO_DATABASE)
@@ -2313,7 +2313,7 @@ bool Frame_Glom::connection_request_password_and_attempt(bool& database_not_foun
 
     if(m_pDialogConnection)
     {
-      response = Glom::Utils::dialog_run_with_help(m_pDialogConnection);
+      response = Glom::UiUtils::dialog_run_with_help(m_pDialogConnection);
       m_pDialogConnection->hide();
     }
 
@@ -2394,7 +2394,7 @@ bool Frame_Glom::create_database(const Glib::ustring& database_name, const Glib:
     }
 
     dialog->set_transient_for(*pWindowApp);
-    Glom::Utils::dialog_run_with_help(dialog, "dialog_error_create_database");
+    Glom::UiUtils::dialog_run_with_help(dialog, "dialog_error_create_database");
     delete dialog;
 
     return false;
@@ -2426,7 +2426,7 @@ void Frame_Glom::on_menu_report_selected(const Glib::ustring& report_name)
   report_builder.set_document(document);
   const std::string filepath = 
     report_builder.report_build_and_save(found_set, report); //TODO: Use found set's where_clause.
-  Utils::show_report_in_browser(filepath, get_app_window());
+  UiUtils::show_report_in_browser(filepath, get_app_window());
 }
 
 #ifndef GLOM_ENABLE_CLIENT_ONLY
diff --git a/glom/import_csv/dialog_import_csv.cc b/glom/import_csv/dialog_import_csv.cc
index b2ccd7c..961556b 100644
--- a/glom/import_csv/dialog_import_csv.cc
+++ b/glom/import_csv/dialog_import_csv.cc
@@ -252,7 +252,7 @@ void Dialog_Import_CSV::clear()
   // TODO: Do we explicitely need to cancel async operations?
   // TODO: Disconnect idle handlers
   m_sample_model.reset();
-  Utils::treeview_delete_all_columns(m_sample_view);
+  UiUtils::treeview_delete_all_columns(m_sample_view);
   m_sample_view->set_model(m_sample_model);
   m_field_model.reset();
   m_field_model_sorted.reset();
@@ -271,7 +271,7 @@ void Dialog_Import_CSV::clear()
 
 void Dialog_Import_CSV::show_error_dialog(const Glib::ustring&, const Glib::ustring& secondary)
 {
-  Utils::show_ok_dialog(_("Error Importing CSV File"),
+  UiUtils::show_ok_dialog(_("Error Importing CSV File"),
      secondary, *this, Gtk::MESSAGE_ERROR);
 }
 
@@ -433,7 +433,7 @@ void Dialog_Import_CSV::begin_parse()
   // Clear sample preview since we reparse everything, perhaps with
   // another encoding.
   m_sample_model.reset();
-  Utils::treeview_delete_all_columns(m_sample_view);
+  UiUtils::treeview_delete_all_columns(m_sample_view);
   m_sample_view->set_model(m_sample_model); // Empty model
   m_parser->clear();
 
@@ -450,7 +450,7 @@ void Dialog_Import_CSV::on_parser_encoding_error()
   m_parser->clear();
   // Clear sample preview (TODO: Let it visible, and only remove when reparsing?)
   m_sample_model.reset();
-  Utils::treeview_delete_all_columns(m_sample_view);
+  UiUtils::treeview_delete_all_columns(m_sample_view);
   m_sample_view->set_model(m_sample_model); // Empty model
 
   // Don't allow the import button to be pressed when an error occured. This
diff --git a/glom/libglom/db_utils.cc b/glom/libglom/db_utils.cc
index f45925d..a51a8d0 100644
--- a/glom/libglom/db_utils.cc
+++ b/glom/libglom/db_utils.cc
@@ -779,7 +779,7 @@ void handle_error(const Glib::Exception& ex)
   std::cerr << G_STRFUNC << ": Internal Error (handle_error()): exception type=" << typeid(ex).name() << ", 
ex.what()=" << ex.what() << std::endl;
 
   //TODO_Moved:
-  //Gtk::MessageDialog dialog(Utils::bold_message(_("Internal error")), true, Gtk::MESSAGE_WARNING );
+  //Gtk::MessageDialog dialog(UiUtils::bold_message(_("Internal error")), true, Gtk::MESSAGE_WARNING );
   //dialog.set_secondary_text(ex.what());
   //TODO: dialog.set_transient_for(*get_appwindow());
   //dialog.run();
@@ -790,7 +790,7 @@ void handle_error(const std::exception& ex)
   std::cerr << G_STRFUNC << ": Internal Error (handle_error()): exception type=" << typeid(ex).name() << ", 
ex.what()=" << ex.what() << std::endl;
 
  //TODO_Moved:
-  //Gtk::MessageDialog dialog(Utils::bold_message(_("Internal error")), true, Gtk::MESSAGE_WARNING );
+  //Gtk::MessageDialog dialog(UiUtils::bold_message(_("Internal error")), true, Gtk::MESSAGE_WARNING );
   //dialog.set_secondary_text(ex.what());
   //TODO: dialog.set_transient_for(*get_appwindow());
   //dialog.run();
@@ -1340,7 +1340,7 @@ bool add_column(const Glib::ustring& table_name, const sharedptr<const Field>& f
   catch(const Glib::Error& ex)
   {
     handle_error(ex);
-//    Gtk::MessageDialog window(*parent_window, Utils::bold_message(ex.what()), true, Gtk::MESSAGE_ERROR, 
Gtk::BUTTONS_OK);
+//    Gtk::MessageDialog window(*parent_window, UiUtils::bold_message(ex.what()), true, Gtk::MESSAGE_ERROR, 
Gtk::BUTTONS_OK);
 //    window.run();
     return false;
   }
@@ -1359,7 +1359,7 @@ bool drop_column(const Glib::ustring& table_name, const Glib::ustring& field_nam
   catch(const Glib::Error& ex)
   {
     handle_error(ex);
-//    Gtk::MessageDialog window(*parent_window, Utils::bold_message(ex.what()), true, Gtk::MESSAGE_ERROR, 
Gtk::BUTTONS_OK);
+//    Gtk::MessageDialog window(*parent_window, UiUtils::bold_message(ex.what()), true, Gtk::MESSAGE_ERROR, 
Gtk::BUTTONS_OK);
 //    window.run();
     return false;
   }
diff --git a/glom/libglom/test_avahi_publisher.cc b/glom/libglom/test_avahi_publisher.cc
index 7ad3fd9..4ee730f 100644
--- a/glom/libglom/test_avahi_publisher.cc
+++ b/glom/libglom/test_avahi_publisher.cc
@@ -28,7 +28,7 @@ private:
 
 
 TestWindow::TestWindow()
-: m_box(Gtk::ORIENTATION_VERTICAL, Glom::Utils::DEFAULT_SPACING_SMALL),
+: m_box(Gtk::ORIENTATION_VERTICAL, Glom::UiUtils::DEFAULT_SPACING_SMALL),
   m_button_start("Start"),
   m_button_stop("Stop"),
   m_avahi_publisher(0)
diff --git a/glom/main.cc b/glom/main.cc
index 3e53d15..e00b4c9 100644
--- a/glom/main.cc
+++ b/glom/main.cc
@@ -219,7 +219,7 @@ bool check_user_is_not_root_with_warning()
     //Make sure this is on stderr too, in case something goes wrong with the UI:
     std::cerr << message << std::endl;
 
-    Gtk::MessageDialog dialog(Utils::bold_message(_("Running As Root")), true /* use_markup */, 
Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true /* modal */);
+    Gtk::MessageDialog dialog(UiUtils::bold_message(_("Running As Root")), true /* use_markup */, 
Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true /* modal */);
     dialog.set_secondary_text(message);
     dialog.run();
 
@@ -262,7 +262,7 @@ bool check_postgres_is_available_with_warning()
 
   //Show message to the user about the broken installation:
   //This is a packaging bug, but it would probably annoy packagers to mention that in the dialog:
-  Gtk::MessageDialog dialog(Utils::bold_message(_("Incomplete Glom Installation")), true /* use_markup */, 
Gtk::MESSAGE_ERROR, Gtk::BUTTONS_NONE, true /* modal */);
+  Gtk::MessageDialog dialog(UiUtils::bold_message(_("Incomplete Glom Installation")), true /* use_markup */, 
Gtk::MESSAGE_ERROR, Gtk::BUTTONS_NONE, true /* modal */);
   dialog.set_secondary_text(_("Your installation of Glom is not complete, because PostgreSQL is not 
available on your system. PostgreSQL is needed for self-hosting of Glom databases.\n\nYou may now install 
PostgreSQL to complete the Glom installation."));
   dialog.add_button(_("_Cancel"), Gtk::RESPONSE_CANCEL);
   dialog.add_button(_("Install PostgreSQL"), Gtk::RESPONSE_OK);
@@ -280,7 +280,7 @@ bool check_postgres_is_available_with_warning()
   //Make sure this is on stderr too, in case something goes wrong with the UI:
   std::cerr << message << std::endl;
 
-  Gtk::MessageDialog dialog(Utils::bold_message(_("Incomplete Glom Installation")), true /* use_markup */, 
Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true /* modal */);
+  Gtk::MessageDialog dialog(UiUtils::bold_message(_("Incomplete Glom Installation")), true /* use_markup */, 
Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true /* modal */);
   dialog.set_secondary_text(message);
   dialog.run();
   return false;
@@ -318,7 +318,7 @@ bool check_mysql_is_available_with_warning()
   //Show message to the user about the broken installation:
   //This is a packaging bug, but it would probably annoy packagers to mention that in the dialog:
   //Unlike for PostgreSQL, this warning is only shown if MySQL was specified in the build.
-  Gtk::MessageDialog dialog(Utils::bold_message(_("Incomplete Glom Installation")), true /* use_markup */, 
Gtk::MESSAGE_ERROR, Gtk::BUTTONS_NONE, true /* modal */);
+  Gtk::MessageDialog dialog(UiUtils::bold_message(_("Incomplete Glom Installation")), true /* use_markup */, 
Gtk::MESSAGE_ERROR, Gtk::BUTTONS_NONE, true /* modal */);
   dialog.set_secondary_text(_("Your installation of Glom is not complete, because MySQL is not available on 
your system. MySQL is needed for self-hosting of some Glom databases.\n\nYou may now install MySQL to 
complete the Glom installation."));
   dialog.add_button(_("_Cancel"), Gtk::RESPONSE_CANCEL);
   dialog.add_button(_("Install MySQL"), Gtk::RESPONSE_OK);
@@ -331,7 +331,7 @@ bool check_mysql_is_available_with_warning()
   #else  //DISTRO_SPECIFIC_MYSQL_INSTALL_IMPLEMENTED
 
   //Show message to the user about the broken installation:
-  Gtk::MessageDialog dialog(Utils::bold_message(_("Incomplete Glom Installation")), true /* use_markup */, 
Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true /* modal */);
+  Gtk::MessageDialog dialog(UiUtils::bold_message(_("Incomplete Glom Installation")), true /* use_markup */, 
Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true /* modal */);
   dialog.set_secondary_text(_("Your installation of Glom is not complete, because MySQL is not available on 
your system. MySQL is needed for self-hosting of some Glom databases.\n\nPlease report this bug to your 
vendor, or your system administrator so it can be corrected."));
   dialog.run();
   return false;
@@ -353,7 +353,7 @@ bool check_pyglom_is_available_with_warning()
   //Make sure this is on stderr too, in case something goes wrong with the UI:
   std::cerr << message << std::endl;
 
-  Gtk::MessageDialog dialog(Utils::bold_message(_("Glom Python Module Not Installed")), true /* use_markup 
*/, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true /* modal */);
+  Gtk::MessageDialog dialog(UiUtils::bold_message(_("Glom Python Module Not Installed")), true /* use_markup 
*/, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true /* modal */);
   dialog.set_secondary_text(message);
   dialog.run();
 
@@ -371,7 +371,7 @@ bool check_gir_is_available_with_warning()
   //Make sure this is on stderr too, in case something goes wrong with the UI:
   std::cerr << message << std::endl;
 
-  Gtk::MessageDialog dialog(Utils::bold_message(_("gi.repository Python Module Not Installed")), true /* 
use_markup */, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true /* modal */);
+  Gtk::MessageDialog dialog(UiUtils::bold_message(_("gi.repository Python Module Not Installed")), true /* 
use_markup */, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true /* modal */);
   dialog.set_secondary_text(message);
   dialog.run();
 
@@ -389,7 +389,7 @@ bool check_pygda_is_available_with_warning()
   //Make sure this is on stderr too, in case something goes wrong with the UI:
   std::cerr << message << std::endl;
 
-  Gtk::MessageDialog dialog(Utils::bold_message(_("gi.repository.Gda Python Module Not Installed")), true /* 
use_markup */, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true /* modal */);
+  Gtk::MessageDialog dialog(UiUtils::bold_message(_("gi.repository.Gda Python Module Not Installed")), true 
/* use_markup */, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true /* modal */);
   dialog.set_secondary_text(message);
   dialog.run();
 
@@ -514,7 +514,7 @@ main(int argc, char* argv[])
       //Make sure this is on stderr too, in case something goes wrong with the UI:
       std::cerr << message << std::endl;
 
-      Gtk::MessageDialog dialog(Glom::Utils::bold_message(_("Incomplete Glom Installation")), true /* 
use_markup */, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true /* modal */);
+      Gtk::MessageDialog dialog(Glom::UiUtils::bold_message(_("Incomplete Glom Installation")), true /* 
use_markup */, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true /* modal */);
       dialog.set_secondary_text(message);
       dialog.run();
 
diff --git a/glom/mode_data/box_data.cc b/glom/mode_data/box_data.cc
index 98e8764..cff3ffc 100644
--- a/glom/mode_data/box_data.cc
+++ b/glom/mode_data/box_data.cc
@@ -188,7 +188,7 @@ bool Box_Data::confirm_discard_unstored_data() const
   {
     const Glib::ustring message = _("This data cannot be stored in the database because you have not 
provided a primary key.\nDo you really want to discard this data?");
     //Ask user to confirm loss of data:
-    Gtk::MessageDialog dialog(Utils::bold_message(_("No primary key value")), true, Gtk::MESSAGE_QUESTION, 
Gtk::BUTTONS_OK_CANCEL );
+    Gtk::MessageDialog dialog(UiUtils::bold_message(_("No primary key value")), true, Gtk::MESSAGE_QUESTION, 
Gtk::BUTTONS_OK_CANCEL );
     dialog.set_secondary_text(message);
     //TODO: It needs a const. I wonder if it should. murrayc. dialog.set_transient_for(*get_app_window());
     const int iButton = dialog.run();
@@ -352,7 +352,7 @@ Glib::ustring Box_Data::get_layout_name() const
 void Box_Data::execute_button_script(const sharedptr<const LayoutItem_Button>& layout_item, const 
Gnome::Gda::Value& primary_key_value)
 {
   const Glib::ustring script = layout_item->get_script();
-  if(!Utils::script_check_for_pygtk2_with_warning(script, get_app_window()))
+  if(!UiUtils::script_check_for_pygtk2_with_warning(script, get_app_window()))
     return;
 
   const sharedptr<Field> field_primary_key = get_field_primary_key();
diff --git a/glom/mode_data/box_data_calendar_related.cc b/glom/mode_data/box_data_calendar_related.cc
index 8acf47a..7e63910 100644
--- a/glom/mode_data/box_data_calendar_related.cc
+++ b/glom/mode_data/box_data_calendar_related.cc
@@ -96,10 +96,10 @@ bool Box_Data_Calendar_Related::init_db_details(const Glib::ustring& parent_tabl
     if(m_portal)
       title = item_get_title(m_portal);
 
-    m_Label.set_markup(Utils::bold_message(title));
+    m_Label.set_markup(UiUtils::bold_message(title));
     m_Label.show();
 
-    m_Alignment.set_padding(Utils::DEFAULT_SPACING_SMALL /* top */, 0, Utils::DEFAULT_SPACING_LARGE /* left 
*/, 0);
+    m_Alignment.set_padding(UiUtils::DEFAULT_SPACING_SMALL /* top */, 0, UiUtils::DEFAULT_SPACING_LARGE /* 
left */, 0);
   }
   else
   {
diff --git a/glom/mode_data/box_data_details.cc b/glom/mode_data/box_data_details.cc
index 00c207a..f320a20 100644
--- a/glom/mode_data/box_data_details.cc
+++ b/glom/mode_data/box_data_details.cc
@@ -40,7 +40,7 @@ namespace Glom
 {
 
 Box_Data_Details::Box_Data_Details(bool bWithNavButtons /* = true */)
-: m_hbox_content(Gtk::ORIENTATION_HORIZONTAL, Utils::DEFAULT_SPACING_SMALL),
+: m_hbox_content(Gtk::ORIENTATION_HORIZONTAL, UiUtils::DEFAULT_SPACING_SMALL),
   m_show_toolbar(false),
   m_hbox_buttons(Gtk::ORIENTATION_HORIZONTAL),
   m_Button_New(_("_Add"), true),
@@ -58,19 +58,19 @@ Box_Data_Details::Box_Data_Details(bool bWithNavButtons /* = true */)
   m_layout_name = "details";
 
   m_hbox_buttons.set_layout(Gtk::BUTTONBOX_END);
-  m_hbox_buttons.set_spacing(Utils::DEFAULT_SPACING_SMALL);
+  m_hbox_buttons.set_spacing(UiUtils::DEFAULT_SPACING_SMALL);
 
   add_view(&m_FlowTable); //Allow this to access the document too.
 
   m_FlowTable.set_lines(1); //Sub-groups will have multiple columns (by default, there is one sub-group, 
with 2 columns).
 
-  m_FlowTable.set_horizontal_spacing(Utils::DEFAULT_SPACING_SMALL); //The default anyway.
-  m_FlowTable.set_vertical_spacing(Utils::DEFAULT_SPACING_SMALL); //The default anyway.
+  m_FlowTable.set_horizontal_spacing(UiUtils::DEFAULT_SPACING_SMALL); //The default anyway.
+  m_FlowTable.set_vertical_spacing(UiUtils::DEFAULT_SPACING_SMALL); //The default anyway.
 
   //m_strHint = _("When you change the data in a field the database is updated immediately.\n Click [New] to 
add a new record.\n Leave automatic ID fields empty - they will be filled for you.");
 
 
-  //m_ScrolledWindow.set_border_width(Utils::DEFAULT_SPACING_SMALL);
+  //m_ScrolledWindow.set_border_width(UiUtils::DEFAULT_SPACING_SMALL);
 
   // Allow vertical scrolling, but never scroll horizontally:
   m_ScrolledWindow.set_policy(Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
@@ -415,7 +415,7 @@ void Box_Data_Details::on_button_new()
     {
       Gtk::Window* parent_window = get_app_window();
       if(parent_window)
-        Utils::show_ok_dialog(_("Layout Contains No Fields"), _("There are no fields on the layout, so there 
is no way to enter data in a new record."), *parent_window, Gtk::MESSAGE_ERROR);
+        UiUtils::show_ok_dialog(_("Layout Contains No Fields"), _("There are no fields on the layout, so 
there is no way to enter data in a new record."), *parent_window, Gtk::MESSAGE_ERROR);
     }
 
     return;
@@ -442,7 +442,7 @@ void Box_Data_Details::on_button_del()
   if( Conversions::value_is_empty(get_primary_key_value_selected()) )
   {
     //Tell user that a primary key is needed to delete a record:
-    Gtk::MessageDialog dialog(Utils::bold_message(_("No primary key value.")), true);
+    Gtk::MessageDialog dialog(UiUtils::bold_message(_("No primary key value.")), true);
     dialog.set_secondary_text(_("This record cannot be deleted because there is no primary key."));
     dialog.set_transient_for(*get_app_window());
     dialog.run();
@@ -852,7 +852,7 @@ void Box_Data_Details::on_flowtable_field_edited(const sharedptr<const LayoutIte
       if(strFieldName == m_field_primary_key->get_name()) //If edited field is the primary key.
       {
         //Warn user that they can't choose their own primary key:
-        Gtk::MessageDialog dialog(Utils::bold_message(_("Primary key auto increments")), true);
+        Gtk::MessageDialog dialog(UiUtils::bold_message(_("Primary key auto increments")), true);
         dialog.set_secondary_text(_("The primary key is auto-incremented.\n You may not enter your own 
primary key value."));
         dialog.set_transient_for(*get_app_window());
         dialog.run();
diff --git a/glom/mode_data/box_data_list_related.cc b/glom/mode_data/box_data_list_related.cc
index 3c2771f..59df82c 100644
--- a/glom/mode_data/box_data_list_related.cc
+++ b/glom/mode_data/box_data_list_related.cc
@@ -96,13 +96,13 @@ bool Box_Data_List_Related::init_db_details(const Glib::ustring& parent_table, b
     if(m_portal)
       title = item_get_title(m_portal);
 
-    m_Label.set_markup(Utils::bold_message(title));
+    m_Label.set_markup(UiUtils::bold_message(title));
     m_Label.show();
 
     if(!(m_Frame.get_label_widget()))
       m_Frame.set_label_widget(m_Label);
 
-    m_Alignment.set_padding(Utils::DEFAULT_SPACING_SMALL /* top */, 0, Utils::DEFAULT_SPACING_LARGE /* left 
*/, 0);
+    m_Alignment.set_padding(UiUtils::DEFAULT_SPACING_SMALL /* top */, 0, UiUtils::DEFAULT_SPACING_LARGE /* 
left */, 0);
   }
   else
   {
diff --git a/glom/mode_data/box_data_manyrecords.cc b/glom/mode_data/box_data_manyrecords.cc
index c850bdb..1b360c4 100644
--- a/glom/mode_data/box_data_manyrecords.cc
+++ b/glom/mode_data/box_data_manyrecords.cc
@@ -91,7 +91,7 @@ void Box_Data_ManyRecords::print_layout()
     report_builder.set_document(document);
     const std::string filepath = 
       report_builder.report_build_and_save(m_found_set, report_temp);
-    Utils::show_report_in_browser(filepath, get_app_window());
+    UiUtils::show_report_in_browser(filepath, get_app_window());
   }
 }
 
diff --git a/glom/mode_data/box_data_portal.cc b/glom/mode_data/box_data_portal.cc
index 687187f..b6fa27c 100644
--- a/glom/mode_data/box_data_portal.cc
+++ b/glom/mode_data/box_data_portal.cc
@@ -45,7 +45,7 @@ Box_Data_Portal::Box_Data_Portal()
   m_Label.show();
 
   //The AddDel or Calendar is added to this:
-  m_Alignment.set_padding(Utils::DEFAULT_SPACING_SMALL /* top */, 0, Utils::DEFAULT_SPACING_LARGE /* left 
*/, 0);
+  m_Alignment.set_padding(UiUtils::DEFAULT_SPACING_SMALL /* top */, 0, UiUtils::DEFAULT_SPACING_LARGE /* 
left */, 0);
   m_Alignment.show();
 
   add(m_Frame);
diff --git a/glom/mode_data/buttonglom.cc b/glom/mode_data/buttonglom.cc
index 7c9ffc9..e230bae 100644
--- a/glom/mode_data/buttonglom.cc
+++ b/glom/mode_data/buttonglom.cc
@@ -71,7 +71,7 @@ void ButtonGlom::on_menu_properties_activate()
   sharedptr<LayoutItem_Button> layout_item = 
     sharedptr<LayoutItem_Button>::cast_dynamic(get_layout_item());
   dialog->set_script(layout_item, m_table_name);
-  const int response = Glom::Utils::dialog_run_with_help(dialog);
+  const int response = Glom::UiUtils::dialog_run_with_help(dialog);
   dialog->hide();
   if(response == Gtk::RESPONSE_OK)
   {
diff --git a/glom/mode_data/datawidget/cellcreation.cc b/glom/mode_data/datawidget/cellcreation.cc
index a1f6355..b318919 100644
--- a/glom/mode_data/datawidget/cellcreation.cc
+++ b/glom/mode_data/datawidget/cellcreation.cc
@@ -133,7 +133,7 @@ Gtk::CellRenderer* create_cell(const sharedptr<const LayoutItem>& layout_item, c
     {
       Gtk::CellRendererPixbuf* pixbuf_renderer = Gtk::manage( new Gtk::CellRendererPixbuf() );
 
-      const Glib::RefPtr<const Gdk::Pixbuf> pixbuf = Utils::get_pixbuf_for_gda_value(item_image->m_image);
+      const Glib::RefPtr<const Gdk::Pixbuf> pixbuf = UiUtils::get_pixbuf_for_gda_value(item_image->m_image);
       if(pixbuf)
         pixbuf_renderer->set_property("pixbuf", pixbuf);
       else
diff --git a/glom/mode_data/datawidget/combochoiceswithtreemodel.cc 
b/glom/mode_data/datawidget/combochoiceswithtreemodel.cc
index d07464a..7f54775 100644
--- a/glom/mode_data/datawidget/combochoiceswithtreemodel.cc
+++ b/glom/mode_data/datawidget/combochoiceswithtreemodel.cc
@@ -356,11 +356,11 @@ void ComboChoicesWithTreeModel::set_cell_for_field_value(Gtk::CellRenderer* cell
       Gtk::CellRendererPixbuf* pDerived = dynamic_cast<Gtk::CellRendererPixbuf*>(cell);
       if(pDerived)
       {
-        const Glib::RefPtr<Gdk::Pixbuf> pixbuf = Utils::get_pixbuf_for_gda_value(value);
+        const Glib::RefPtr<Gdk::Pixbuf> pixbuf = UiUtils::get_pixbuf_for_gda_value(value);
 
         //Scale it down to a sensible size.
         //TODO: if(pixbuf)
-        //  pixbuf = Utils::image_scale_keeping_ratio(pixbuf,  get_fixed_cell_height(), pixbuf->get_width());
+        //  pixbuf = UiUtils::image_scale_keeping_ratio(pixbuf,  get_fixed_cell_height(), 
pixbuf->get_width());
         pDerived->property_pixbuf() = pixbuf;
       }
       else
diff --git a/glom/mode_data/datawidget/datawidget.cc b/glom/mode_data/datawidget/datawidget.cc
index 5eef647..9c11bb4 100644
--- a/glom/mode_data/datawidget/datawidget.cc
+++ b/glom/mode_data/datawidget/datawidget.cc
@@ -197,7 +197,7 @@ DataWidget::DataWidget(const sharedptr<LayoutItem_Field>& field, const Glib::ust
     if(with_extra_widgets)
     {
       hbox_parent = Gtk::manage( new Gtk::Box(Gtk::ORIENTATION_HORIZONTAL) ); //We put the child (and any 
extra stuff) in this:
-      hbox_parent->set_spacing(Utils::DEFAULT_SPACING_SMALL);
+      hbox_parent->set_spacing(UiUtils::DEFAULT_SPACING_SMALL);
 
       hbox_parent->pack_start(*m_child);
       hbox_parent->show();
@@ -367,7 +367,7 @@ void DataWidget::set_child_size_by_field(const sharedptr<const LayoutItem_Field>
 
 int DataWidget::get_suitable_width(const sharedptr<const LayoutItem_Field>& field_layout)
 {
-  return Utils::get_suitable_field_width_for_widget(*this, field_layout);
+  return UiUtils::get_suitable_field_width_for_widget(*this, field_layout);
 }
 
 void DataWidget::set_viewable(bool viewable)
@@ -640,7 +640,7 @@ void DataWidget::on_button_choose_date()
       dialog->set_transient_for(*parent);
     dialog->set_date_chosen(get_value());
 
-    const int response = Glom::Utils::dialog_run_with_help(dialog);
+    const int response = Glom::UiUtils::dialog_run_with_help(dialog);
     dialog->hide();
     if(response == Gtk::RESPONSE_OK)
     {
diff --git a/glom/mode_data/datawidget/dialog_choose_id.cc b/glom/mode_data/datawidget/dialog_choose_id.cc
index 776c139..f0f9376 100644
--- a/glom/mode_data/datawidget/dialog_choose_id.cc
+++ b/glom/mode_data/datawidget/dialog_choose_id.cc
@@ -101,7 +101,7 @@ void Dialog_ChooseID::on_button_quickfind()
   if(criteria.empty())
   {
     Glib::ustring message = _("You have not entered any quick find criteria.");
-    Gtk::MessageDialog dialog(Utils::bold_message(_("No Find Criteria")), true, Gtk::MESSAGE_WARNING );
+    Gtk::MessageDialog dialog(UiUtils::bold_message(_("No Find Criteria")), true, Gtk::MESSAGE_WARNING );
     dialog.set_secondary_text(message);
     dialog.set_transient_for(*this);
 
@@ -127,7 +127,7 @@ void Dialog_ChooseID::on_box_find_criteria(const Gnome::Gda::SqlExpr& where_clau
     const bool records_found = m_box_select.init_db_details(found_set, m_layout_platform);
     if(!records_found)
     {
-      const bool find_again = Utils::show_warning_no_records_found(*this);
+      const bool find_again = UiUtils::show_warning_no_records_found(*this);
 
       if(!find_again)
         response(Gtk::RESPONSE_CANCEL);
diff --git a/glom/mode_data/db_adddel/db_adddel.cc b/glom/mode_data/db_adddel/db_adddel.cc
index b3d1ac5..000e275 100644
--- a/glom/mode_data/db_adddel/db_adddel.cc
+++ b/glom/mode_data/db_adddel/db_adddel.cc
@@ -29,7 +29,7 @@
 #include <libglom/data_structure/glomconversions.h>
 #include <glom/dialog_invalid_data.h>
 #include <glom/appwindow.h>
-#include <glom/utils_ui.h> //For Utils::image_scale_keeping_ratio().
+#include <glom/utils_ui.h> //For UiUtils::image_scale_keeping_ratio().
 #include <glom/mode_data/datawidget/cellcreation.h>
 #include <glibmm/main.h>
 #include <giomm/menu.h>
@@ -65,7 +65,7 @@ DbAddDel::DbAddDel()
   set_prevent_user_signals();
   set_ignore_treeview_signals(true);
 
-  set_spacing(Utils::DEFAULT_SPACING_SMALL);
+  set_spacing(UiUtils::DEFAULT_SPACING_SMALL);
 
   //Start with a useful default TreeModel:
   //set_columns_count(1);
@@ -1727,7 +1727,7 @@ guint DbAddDel::treeview_append_column(const Glib::ustring& title, Gtk::CellRend
       //TODO: Choose a width based on the first 100 values.
       if(layout_item_field)
       {
-       column_width = Utils::get_suitable_field_width_for_widget(*this, layout_item_field, true /* or_title 
*/, true /* for treeview */);
+       column_width = UiUtils::get_suitable_field_width_for_widget(*this, layout_item_field, true /* 
or_title */, true /* for treeview */);
        column_width = column_width + 8; //Some extra for the GtkTreeView's padding.
        //std::cout << "DEBUG: column_width=" << column_width << std::endl;
       }
@@ -1935,11 +1935,11 @@ void DbAddDel::treeviewcolumn_on_cell_data(Gtk::CellRenderer* renderer, const Gt
           Gtk::CellRendererPixbuf* pDerived = dynamic_cast<Gtk::CellRendererPixbuf*>(renderer);
           if(pDerived)
           {
-            Glib::RefPtr<Gdk::Pixbuf> pixbuf = Utils::get_pixbuf_for_gda_value(value);
+            Glib::RefPtr<Gdk::Pixbuf> pixbuf = UiUtils::get_pixbuf_for_gda_value(value);
 
             //Scale it down to a sensible size.
             if(pixbuf)
-              pixbuf = Utils::image_scale_keeping_ratio(pixbuf,  get_fixed_cell_height(), 
pixbuf->get_width());
+              pixbuf = UiUtils::image_scale_keeping_ratio(pixbuf,  get_fixed_cell_height(), 
pixbuf->get_width());
 
             pDerived->property_pixbuf() = pixbuf;
           }
@@ -2281,7 +2281,7 @@ void DbAddDel::user_added(const Gtk::TreeModel::iterator& row)
   if(m_allow_only_one_related_record && (get_count() > 0))
   {
     //Tell user that they can't do that:
-    Gtk::MessageDialog dialog(Utils::bold_message(_("Extra Related Records Not Possible")), true, 
Gtk::MESSAGE_WARNING);
+    Gtk::MessageDialog dialog(UiUtils::bold_message(_("Extra Related Records Not Possible")), true, 
Gtk::MESSAGE_WARNING);
     dialog.set_secondary_text(_("You attempted to add a new related record, but there can only be one 
related record, because the relationship uses a unique key.")),
     dialog.set_transient_for(*AppWindow::get_appwindow());
     dialog.run();
@@ -2447,7 +2447,7 @@ void DbAddDel::on_selection_changed(bool selection)
 
 void DbAddDel::treeview_delete_all_columns()
 {
-  Utils::treeview_delete_all_columns(&m_TreeView);
+  UiUtils::treeview_delete_all_columns(&m_TreeView);
 
   //Reset this too, because we must have just deleted it:
   m_treeviewcolumn_button = 0;
diff --git a/glom/mode_data/db_adddel/db_adddel_withbuttons.cc 
b/glom/mode_data/db_adddel/db_adddel_withbuttons.cc
index f04ad03..e3ae95b 100644
--- a/glom/mode_data/db_adddel/db_adddel_withbuttons.cc
+++ b/glom/mode_data/db_adddel/db_adddel_withbuttons.cc
@@ -33,7 +33,7 @@ DbAddDel_WithButtons::DbAddDel_WithButtons()
   m_Button_Add(_("_Add"), true)
 {
   m_ButtonBox.set_layout(Gtk::BUTTONBOX_END);
-  m_ButtonBox.set_spacing(Utils::DEFAULT_SPACING_SMALL);
+  m_ButtonBox.set_spacing(UiUtils::DEFAULT_SPACING_SMALL);
 
   setup_buttons();
   pack_start(m_ButtonBox, Gtk::PACK_SHRINK);
diff --git a/glom/mode_data/flowtablewithfields.cc b/glom/mode_data/flowtablewithfields.cc
index 07f6a91..17199e8 100644
--- a/glom/mode_data/flowtablewithfields.cc
+++ b/glom/mode_data/flowtablewithfields.cc
@@ -166,7 +166,7 @@ void FlowTableWithFields::add_layout_group(const sharedptr<LayoutGroup>& group,
     if(!group_title.empty())
     {
       Gtk::Label* label = Gtk::manage( new Gtk::Label ); //TODO: This is maybe leaked, according to 
valgrind, though it should be managed by GtkFrame.
-      label->set_markup( Utils::bold_message(group_title) );
+      label->set_markup( UiUtils::bold_message(group_title) );
       label->show();
       frame->set_label_widget(*label);
     }
@@ -185,11 +185,11 @@ void FlowTableWithFields::add_layout_group(const sharedptr<LayoutGroup>& group,
       //std::cout << "title= " << group_title << ", with_indent=" << with_indent << std::endl;
       if(with_indent) 
       {
-        alignment->set_padding(Glom::Utils::DEFAULT_SPACING_SMALL, 0, Glom::Utils::DEFAULT_SPACING_SMALL + 
BASE_INDENT, 0);
+        alignment->set_padding(Glom::UiUtils::DEFAULT_SPACING_SMALL, 0, Glom::UiUtils::DEFAULT_SPACING_SMALL 
+ BASE_INDENT, 0);
       }
       else
       {
-        alignment->set_padding(Glom::Utils::DEFAULT_SPACING_SMALL, 0, BASE_INDENT, 0);
+        alignment->set_padding(Glom::UiUtils::DEFAULT_SPACING_SMALL, 0, BASE_INDENT, 0);
       }
     }
 
@@ -377,7 +377,7 @@ void FlowTableWithFields::add_layout_notebook(const sharedptr<LayoutItem_Noteboo
       {
         //Add a Related Records list for this portal:
         Box_Data_List_Related* portal_box = create_related(portal, false /* no label, because it's in the 
tab instead. */);
-        //portal_box->set_border_width(Glom::Utils::DEFAULT_SPACING_SMALL); It has "padding" around the 
Alignment instead.
+        //portal_box->set_border_width(Glom::UiUtils::DEFAULT_SPACING_SMALL); It has "padding" around the 
Alignment instead.
         portal_box->show();
         notebook_widget->append_page(*portal_box, *tab_label);
 
@@ -407,9 +407,9 @@ void FlowTableWithFields::add_layout_notebook(const sharedptr<LayoutItem_Noteboo
         event_box->show();
         //This doesn't work (probably because we haven't implmented it in our custom container),
         //so we put the flowtable in an alignment and give that a border instead.
-        //flow_table->set_border_width(Glom::Utils::DEFAULT_SPACING_SMALL); //Put some space between the 
page child and the page edges.
+        //flow_table->set_border_width(Glom::UiUtils::DEFAULT_SPACING_SMALL); //Put some space between the 
page child and the page edges.
         Gtk::Alignment* alignment = Gtk::manage(new Gtk::Alignment());
-        alignment->set_border_width(Glom::Utils::DEFAULT_SPACING_SMALL);
+        alignment->set_border_width(Glom::UiUtils::DEFAULT_SPACING_SMALL);
         alignment->add(*event_box);
         alignment->show();
 
@@ -470,7 +470,7 @@ void FlowTableWithFields::add_group(const Glib::ustring& group_name, const Glib:
     Gtk::Alignment* alignment = Gtk::manage( new Gtk::Alignment );
 
     if(!group_title.empty()) //Don't indent if it has no title, to allow use of groups just for positioning.
-      alignment->set_padding(Utils::DEFAULT_SPACING_SMALL, 0, Utils::DEFAULT_SPACING_SMALL, 0);
+      alignment->set_padding(UiUtils::DEFAULT_SPACING_SMALL, 0, UiUtils::DEFAULT_SPACING_SMALL, 0);
 
     alignment->show();
     frame->add(*alignment);
diff --git a/glom/mode_design/fields/box_db_table_definition.cc 
b/glom/mode_design/fields/box_db_table_definition.cc
index cb04877..ef74395 100644
--- a/glom/mode_design/fields/box_db_table_definition.cc
+++ b/glom/mode_design/fields/box_db_table_definition.cc
@@ -285,7 +285,7 @@ bool Box_DB_Table_Definition::check_field_change(const sharedptr<const Field>& f
     if(field_new->get_calculation() != field_old->get_calculation())
     {
       //TODO: Only show this when there are > 100 records?
-      Gtk::MessageDialog dialog(Utils::bold_message(_("Recalculation Required")), true, 
Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_NONE);
+      Gtk::MessageDialog dialog(UiUtils::bold_message(_("Recalculation Required")), true, 
Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_NONE);
       dialog.set_secondary_text(_("You have changed the calculation used by this field so Glom must 
recalculate the value in all records. If the table contains many records then this could take a long time."));
       if(parent_window)
         dialog.set_transient_for(*parent_window);
@@ -300,7 +300,7 @@ bool Box_DB_Table_Definition::check_field_change(const sharedptr<const Field>& f
   //Refuse to edit field definitions that were not created by glom:
   if(field_old->get_glom_type() == Field::TYPE_INVALID)
   {
-    Utils::show_ok_dialog(_("Invalid database structure"),
+    UiUtils::show_ok_dialog(_("Invalid database structure"),
       _("This database field was created or edited outside of Glom. It has a data type that is not supported 
by Glom. Your system administrator may be able to correct this."), parent_window, Gtk::MESSAGE_ERROR);
 
     return false;
@@ -309,7 +309,7 @@ bool Box_DB_Table_Definition::check_field_change(const sharedptr<const Field>& f
   //Refuse to have no primary key set:
   if(field_old->get_primary_key() && !field_new->get_primary_key()) //Was the primary key column unchecked?
   {
-    Utils::show_ok_dialog(_("Primary key required"), 
+    UiUtils::show_ok_dialog(_("Primary key required"), 
       _("You may not unset the primary key because the table must have a primary key. You may set another 
field as the primary key instead."), parent_window, Gtk::MESSAGE_ERROR);
 
       return false;
@@ -322,7 +322,7 @@ bool Box_DB_Table_Definition::check_field_change(const sharedptr<const Field>& f
     //Check for nulls:
     if(field_has_null_values(field_old)) //Use the fieldOld because we only use the name, and we want to 
check the _existing_ field:
     {
-      Utils::show_ok_dialog(_("Field contains empty values."), _("The field may not yet be used as a primary 
key because it contains empty values."), parent_window, Gtk::MESSAGE_ERROR);
+      UiUtils::show_ok_dialog(_("Field contains empty values."), _("The field may not yet be used as a 
primary key because it contains empty values."), parent_window, Gtk::MESSAGE_ERROR);
 
       //TODO: Offer to fill it in with generated ID numbers? That could give strange results if the existing 
values are human-readable.
       return false;
@@ -331,12 +331,12 @@ bool Box_DB_Table_Definition::check_field_change(const sharedptr<const Field>& f
     //Check that the values are unique:
     if(field_has_non_unique_values(field_old)) //Use the fieldOld because we only use the name, and we want 
to check the _existing_ field:
     {
-      Utils::show_ok_dialog(_("Field contains non-unique values."), _("The field may not yet be used as a 
primary key because it contains values that are not unique."), parent_window, Gtk::MESSAGE_ERROR);
+      UiUtils::show_ok_dialog(_("Field contains non-unique values."), _("The field may not yet be used as a 
primary key because it contains values that are not unique."), parent_window, Gtk::MESSAGE_ERROR);
       return false;
     }
 
     //Ask the user to confirm this major change:
-    Gtk::MessageDialog dialog(Utils::bold_message(_("Change primary key")), true, Gtk::MESSAGE_QUESTION, 
Gtk::BUTTONS_NONE);
+    Gtk::MessageDialog dialog(UiUtils::bold_message(_("Change primary key")), true, Gtk::MESSAGE_QUESTION, 
Gtk::BUTTONS_NONE);
     dialog.set_secondary_text(_("Are you sure that you wish to set this field as the primary key, instead of 
the existing primary key?"));
     if(parent_window)
       dialog.set_transient_for(*parent_window);
@@ -354,7 +354,7 @@ bool Box_DB_Table_Definition::check_field_change(const sharedptr<const Field>& f
     std::cout << "get_field_exists_in_database(" << m_table_name << ", " << field_new->get_name() << ") 
returned true" << std::endl;
 
     //Warn the user and refuse to make the change:
-    Utils::show_ok_dialog(_("Field Name Already Exists"), 
+    UiUtils::show_ok_dialog(_("Field Name Already Exists"), 
       _("This field already exists. Please choose a different field name"), parent_window, 
Gtk::MESSAGE_ERROR);
 
     return false;
diff --git a/glom/mode_design/fields/dialog_fieldcalculation.cc 
b/glom/mode_design/fields/dialog_fieldcalculation.cc
index c540e9e..8eebc05 100644
--- a/glom/mode_design/fields/dialog_fieldcalculation.cc
+++ b/glom/mode_design/fields/dialog_fieldcalculation.cc
@@ -113,7 +113,7 @@ void Dialog_FieldCalculation::on_button_test()
   if(!check_for_return_statement(calculation))
     return;
 
-  if(!Utils::script_check_for_pygtk2_with_warning(calculation, this))
+  if(!UiUtils::script_check_for_pygtk2_with_warning(calculation, this))
     return;
 
   type_map_fields field_values;
@@ -145,9 +145,9 @@ void Dialog_FieldCalculation::on_button_test()
     error_message);
 
   if(error_message.empty())
-    Utils::show_ok_dialog(_("Calculation result"), Glib::ustring::compose(_("The result of the calculation 
is:\n%1"), value.to_string()), *this, Gtk::MESSAGE_INFO);
+    UiUtils::show_ok_dialog(_("Calculation result"), Glib::ustring::compose(_("The result of the calculation 
is:\n%1"), value.to_string()), *this, Gtk::MESSAGE_INFO);
   else
-    Utils::show_ok_dialog( _("Calculation failed"), Glib::ustring::compose(_("The calculation failed with 
this error:\n%s"), error_message), *this, Gtk::MESSAGE_ERROR);
+    UiUtils::show_ok_dialog( _("Calculation failed"), Glib::ustring::compose(_("The calculation failed with 
this error:\n%s"), error_message), *this, Gtk::MESSAGE_ERROR);
 
   //Show what fields would trigger the recalculation:
   sharedptr<Field> temp = sharedptr<Field>::create();
diff --git a/glom/mode_design/fields/dialog_fielddefinition.cc 
b/glom/mode_design/fields/dialog_fielddefinition.cc
index e17a33b..7437a0c 100644
--- a/glom/mode_design/fields/dialog_fielddefinition.cc
+++ b/glom/mode_design/fields/dialog_fielddefinition.cc
@@ -373,7 +373,7 @@ void Dialog_FieldDefinition::on_button_edit_calculation()
   m_Field->set_calculation( m_pTextView_Calculation->get_buffer()->get_text() );
   dialog->set_field(m_Field, m_table_name);
   //TODO: dialog.set_transient_for(*get_app_window());
-  const int response = Glom::Utils::dialog_run_with_help(dialog);
+  const int response = Glom::UiUtils::dialog_run_with_help(dialog);
   if(response == Gtk::RESPONSE_OK)
   {
     m_pTextView_Calculation->get_buffer()->set_text( dialog->get_field()->get_calculation() );
diff --git a/glom/mode_design/layout/dialog_layout_details.cc 
b/glom/mode_design/layout/dialog_layout_details.cc
index a8b1786..306c9c4 100644
--- a/glom/mode_design/layout/dialog_layout_details.cc
+++ b/glom/mode_design/layout/dialog_layout_details.cc
@@ -570,7 +570,7 @@ sharedptr<LayoutItem_Button> Dialog_Layout_Details::offer_button_script_edit(con
 
   dialog->set_script(button, m_table_name);
   dialog->set_transient_for(*this);
-  const int response = Glom::Utils::dialog_run_with_help(dialog);
+  const int response = Glom::UiUtils::dialog_run_with_help(dialog);
   dialog->hide();
   if(response == Gtk::RESPONSE_OK)
   {
@@ -1131,7 +1131,7 @@ void Dialog_Layout_Details::on_cell_data_name(Gtk::CellRenderer* renderer, const
           is_group = true;
 
           //Make group names bold:
-          markup = Utils::bold_message( layout_item->get_name() );
+          markup = UiUtils::bold_message( layout_item->get_name() );
         }
         else
         {
diff --git a/glom/mode_design/layout/dialog_layout_list_related.cc 
b/glom/mode_design/layout/dialog_layout_list_related.cc
index 8c2638b..5f16b1e 100644
--- a/glom/mode_design/layout/dialog_layout_list_related.cc
+++ b/glom/mode_design/layout/dialog_layout_list_related.cc
@@ -422,21 +422,21 @@ void Dialog_Layout_List_Related::on_combo_relationship_changed()
   bool relationship_invalid = false;
   if(!to_key_field)
   {
-    Utils::show_ok_dialog(_("Invalid Relationship"),
+    UiUtils::show_ok_dialog(_("Invalid Relationship"),
       _("The relationship may not be used to show related records because the relationship does not specify 
a field in the related table."),
      *this, Gtk::MESSAGE_ERROR);
     relationship_invalid = true;
   }
   else if(to_key_field->get_primary_key())
   {
-    Utils::show_ok_dialog(_("Relationship Uses a Related Primary Key"),
+    UiUtils::show_ok_dialog(_("Relationship Uses a Related Primary Key"),
       _("The relationship may not be used to show related records because the relationship uses a primary 
key field in the related table, which must contain unique values. This would prevent the relationship from 
specifying multiple related records."),
      *this, Gtk::MESSAGE_ERROR);
     relationship_invalid = true;
   }
   else if(to_key_field->get_unique_key())
   {
-    Utils::show_ok_dialog(_("Relationship Uses a Related Unique Field"),
+    UiUtils::show_ok_dialog(_("Relationship Uses a Related Unique Field"),
       _("The relationship may not be used to show related records because the relationship uses a 
unique-values field in the related table. This would prevent the relationship from specifying multiple 
related records."),
      *this, Gtk::MESSAGE_ERROR);
     relationship_invalid = true;
diff --git a/glom/mode_design/layout/layout_item_dialogs/box_formatting.cc 
b/glom/mode_design/layout/layout_item_dialogs/box_formatting.cc
index bb1cda0..d17268d 100644
--- a/glom/mode_design/layout/layout_item_dialogs/box_formatting.cc
+++ b/glom/mode_design/layout/layout_item_dialogs/box_formatting.cc
@@ -572,7 +572,7 @@ void Box_Formatting::on_button_choices_extra()
   if(!m_dialog_choices_extra_fields)
     return;
 
-  const int response = Glom::Utils::dialog_run_with_help(m_dialog_choices_extra_fields);
+  const int response = Glom::UiUtils::dialog_run_with_help(m_dialog_choices_extra_fields);
   m_dialog_choices_extra_fields->hide();
   if(response == Gtk::RESPONSE_OK && m_dialog_choices_extra_fields->get_modified())
   {
@@ -591,7 +591,7 @@ void Box_Formatting::on_button_choices_sortby()
   if(!m_dialog_choices_sortby)
     return;
 
-  const int response = Glom::Utils::dialog_run_with_help(m_dialog_choices_sortby);
+  const int response = Glom::UiUtils::dialog_run_with_help(m_dialog_choices_sortby);
   m_dialog_choices_sortby->hide();
   if(response == Gtk::RESPONSE_OK && m_dialog_choices_sortby->get_modified())
   {
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.cc 
b/glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.cc
index f20ba8b..dc646d2 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.cc
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.cc
@@ -105,7 +105,7 @@ void Dialog_ButtonScript::get_script(const sharedptr<LayoutItem_Button>& script)
 void Dialog_ButtonScript::on_button_test_script()
 {
   const Glib::ustring calculation = m_text_view_script->get_buffer()->get_text();
-  if(!Utils::script_check_for_pygtk2_with_warning(calculation, this))
+  if(!UiUtils::script_check_for_pygtk2_with_warning(calculation, this))
     return;
 
   type_map_fields field_values;
@@ -137,7 +137,7 @@ void Dialog_ButtonScript::on_button_test_script()
     error_message);
     
   if(!error_message.empty())
-    Utils::show_ok_dialog(_("Calculation failed"), Glib::ustring::compose(_("The calculation failed with 
this error:\n%1"), error_message), *this, Gtk::MESSAGE_ERROR);
+    UiUtils::show_ok_dialog(_("Calculation failed"), Glib::ustring::compose(_("The calculation failed with 
this error:\n%1"), error_message), *this, Gtk::MESSAGE_ERROR);
 }
 
 } //namespace Glom
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_group_by.cc 
b/glom/mode_design/layout/layout_item_dialogs/dialog_group_by.cc
index f05a120..b594166 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_group_by.cc
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_group_by.cc
@@ -141,7 +141,7 @@ void Dialog_GroupBy::on_button_field_sort_by()
   {
     m_dialog_choose_sort_fields->set_fields(m_table_name, m_layout_item->get_fields_sort_by());
 
-    const int response = Glom::Utils::dialog_run_with_help(m_dialog_choose_sort_fields);
+    const int response = Glom::UiUtils::dialog_run_with_help(m_dialog_choose_sort_fields);
     m_dialog_choose_sort_fields->hide();
     if(response == Gtk::RESPONSE_OK && m_dialog_choose_sort_fields->get_modified())
     {
@@ -168,7 +168,7 @@ void Dialog_GroupBy::on_button_secondary_fields()
   {
     m_dialog_choose_secondary_fields->set_fields(m_table_name, 
m_layout_item->get_secondary_fields()->m_list_items);
 
-    const int response = Glom::Utils::dialog_run_with_help(m_dialog_choose_secondary_fields);
+    const int response = Glom::UiUtils::dialog_run_with_help(m_dialog_choose_secondary_fields);
     m_dialog_choose_secondary_fields->hide();
     if(response == Gtk::RESPONSE_OK && m_dialog_choose_secondary_fields->get_modified())
     {
diff --git a/glom/mode_design/print_layouts/print_layout_toolbar_button.cc 
b/glom/mode_design/print_layouts/print_layout_toolbar_button.cc
index 3c52280..d1653e5 100644
--- a/glom/mode_design/print_layouts/print_layout_toolbar_button.cc
+++ b/glom/mode_design/print_layouts/print_layout_toolbar_button.cc
@@ -32,7 +32,7 @@ PrintLayoutToolbarButton::PrintLayoutToolbarButton(const std::string& icon_name,
 {
   Gtk::Image* image = Gtk::manage (new Gtk::Image());
 
-  const std::string resource_path = Utils::get_icon_path(icon_name);
+  const std::string resource_path = UiUtils::get_icon_path(icon_name);
   if(!g_resources_get_info(resource_path.c_str(), G_RESOURCE_LOOKUP_FLAGS_NONE, 0, 0, 0))
   {
     std::cerr << G_STRFUNC << ": icon resource not found: " << resource_path << std::endl;
diff --git a/glom/mode_design/print_layouts/window_print_layout_edit.cc 
b/glom/mode_design/print_layouts/window_print_layout_edit.cc
index e55ec73..9c096d7 100644
--- a/glom/mode_design/print_layouts/window_print_layout_edit.cc
+++ b/glom/mode_design/print_layouts/window_print_layout_edit.cc
@@ -579,7 +579,7 @@ void Window_PrintLayout_Edit::update_table_title()
   if(m_label_table_name)
   {
     m_label_table_name->set_markup(
-      Utils::bold_message(table_label));
+      UiUtils::bold_message(table_label));
   }
 }
 
@@ -835,7 +835,7 @@ void Window_PrintLayout_Edit::on_menu_insert_line_vertical()
 void Window_PrintLayout_Edit::on_menu_insert_create_standard()
 {
   //Ask for confirmation:
-  Gtk::MessageDialog dialog(Utils::bold_message(_("Create Standard Layout")), true, Gtk::MESSAGE_QUESTION, 
Gtk::BUTTONS_NONE);
+  Gtk::MessageDialog dialog(UiUtils::bold_message(_("Create Standard Layout")), true, Gtk::MESSAGE_QUESTION, 
Gtk::BUTTONS_NONE);
   dialog.set_secondary_text(_("This is an experimental feature. It will remove all items from the print 
layout and then try to create a layout similar to the layout of the detail view."));
   dialog.set_transient_for(*this);
   dialog.add_button(_("_Cancel"), Gtk::RESPONSE_CANCEL);
@@ -879,7 +879,7 @@ void Window_PrintLayout_Edit::on_menu_insert_delete_page()
     return;
 
   //Ask the user to confirm:
-  Gtk::MessageDialog dialog(Utils::bold_message(_("Remove page")), true, Gtk::MESSAGE_QUESTION, 
Gtk::BUTTONS_NONE);
+  Gtk::MessageDialog dialog(UiUtils::bold_message(_("Remove page")), true, Gtk::MESSAGE_QUESTION, 
Gtk::BUTTONS_NONE);
   dialog.set_secondary_text(_("Are you sure that you wish to remove the last page and any items on that 
page?"));
   dialog.set_transient_for(*this);
   dialog.add_button(_("_Cancel"), Gtk::RESPONSE_CANCEL);
diff --git a/glom/mode_design/script_library/dialog_script_library.cc 
b/glom/mode_design/script_library/dialog_script_library.cc
index 93e17af..8a8458e 100644
--- a/glom/mode_design/script_library/dialog_script_library.cc
+++ b/glom/mode_design/script_library/dialog_script_library.cc
@@ -98,7 +98,7 @@ void Dialog_ScriptLibrary::on_button_add()
     return;
     
   dialog->set_transient_for(*this);
-  const int response = Glom::Utils::dialog_run_with_help(dialog);
+  const int response = Glom::UiUtils::dialog_run_with_help(dialog);
   dialog->hide();
   if(response != Gtk::RESPONSE_OK)
     return;
@@ -126,7 +126,7 @@ void Dialog_ScriptLibrary::on_button_remove()
   if(!document)
     return;
 
-  Gtk::MessageDialog dialog(Utils::bold_message(_("Remove library script")), true, Gtk::MESSAGE_QUESTION, 
Gtk::BUTTONS_NONE );
+  Gtk::MessageDialog dialog(UiUtils::bold_message(_("Remove library script")), true, Gtk::MESSAGE_QUESTION, 
Gtk::BUTTONS_NONE );
   dialog.set_secondary_text(_("Do you really want to delete this script? This data can not be recovered"));
   dialog.add_button(_("_Cancel"), Gtk::RESPONSE_CANCEL);
   dialog.add_button(_("_Remove"), Gtk::RESPONSE_OK);
diff --git a/glom/mode_design/translation/dialog_identify_original.cc 
b/glom/mode_design/translation/dialog_identify_original.cc
index b307273..f9994ea 100644
--- a/glom/mode_design/translation/dialog_identify_original.cc
+++ b/glom/mode_design/translation/dialog_identify_original.cc
@@ -52,7 +52,7 @@ void Dialog_IdentifyOriginal::load_from_document()
   std::cout << "Dialog_IdentifyOriginal::load_from_document" << std::endl;
 
   if(m_label_original )
-    m_label_original->set_markup( Utils::bold_message( IsoCodes::get_locale_name( 
get_document()->get_translation_original_locale()) ) );
+    m_label_original->set_markup( UiUtils::bold_message( IsoCodes::get_locale_name( 
get_document()->get_translation_original_locale()) ) );
 
   m_combo_locale->set_selected_locale(AppWindow::get_current_locale());
 
diff --git a/glom/mode_design/translation/window_translations.cc 
b/glom/mode_design/translation/window_translations.cc
index 971b275..f4e8dd7 100644
--- a/glom/mode_design/translation/window_translations.cc
+++ b/glom/mode_design/translation/window_translations.cc
@@ -161,7 +161,7 @@ void Window_Translations::on_button_identify()
   add_view(dialog);
   dialog->load_from_document(); //Doesn't seem to happen otherwise.
   dialog->set_transient_for(*this);
-  const int response = Glom::Utils::dialog_run_with_help(dialog);
+  const int response = Glom::UiUtils::dialog_run_with_help(dialog);
   dialog->hide();
 
   if(response == Gtk::RESPONSE_OK)
@@ -300,7 +300,7 @@ void Window_Translations::on_button_copy_translation()
     return;
 
   dialog->set_transient_for(*this);
-  const int response = Glom::Utils::dialog_run_with_help(dialog);
+  const int response = Glom::UiUtils::dialog_run_with_help(dialog);
   dialog->hide();
 
   if(response == Gtk::RESPONSE_OK)
diff --git a/glom/mode_design/users/dialog_groups_list.cc b/glom/mode_design/users/dialog_groups_list.cc
index cd24718..a469c82 100644
--- a/glom/mode_design/users/dialog_groups_list.cc
+++ b/glom/mode_design/users/dialog_groups_list.cc
@@ -215,7 +215,7 @@ void Dialog_GroupsList::on_button_group_delete()
       if(!group.empty())
       {
         //TODO: Prevent deletion of standard groups
-        Gtk::MessageDialog dialog(Utils::bold_message(_("Delete Group")), true, Gtk::MESSAGE_QUESTION, 
Gtk::BUTTONS_OK_CANCEL);
+        Gtk::MessageDialog dialog(UiUtils::bold_message(_("Delete Group")), true, Gtk::MESSAGE_QUESTION, 
Gtk::BUTTONS_OK_CANCEL);
         dialog.set_secondary_text(_("Are your sure that you wish to delete this group?"));
         dialog.set_transient_for(*this);
 
@@ -246,7 +246,7 @@ void Dialog_GroupsList::on_button_group_new()
     return;
     
   dialog->set_transient_for(*this);
-  const int response = Glom::Utils::dialog_run_with_help(dialog);
+  const int response = Glom::UiUtils::dialog_run_with_help(dialog);
 
   const Glib::ustring group_name = dialog->m_entry_name->get_text();
 
@@ -293,7 +293,7 @@ void Dialog_GroupsList::on_button_group_users()
       dialog->fill_list();
       dialog->set_group(group_name);
 
-      Glom::Utils::dialog_run_with_help(dialog);
+      Glom::UiUtils::dialog_run_with_help(dialog);
 
       remove_view(dialog);
       delete dialog;
diff --git a/glom/mode_design/users/dialog_users_list.cc b/glom/mode_design/users/dialog_users_list.cc
index 8dada10..6a2faed 100644
--- a/glom/mode_design/users/dialog_users_list.cc
+++ b/glom/mode_design/users/dialog_users_list.cc
@@ -158,7 +158,7 @@ void Dialog_UsersList::on_button_user_delete()
         const Glib::ustring user = row[m_model_columns_users.m_col_name];
         if(!user.empty())
         {
-          Gtk::MessageDialog dialog(Utils::bold_message(_("Delete User")), true, Gtk::MESSAGE_QUESTION, 
Gtk::BUTTONS_OK_CANCEL);
+          Gtk::MessageDialog dialog(UiUtils::bold_message(_("Delete User")), true, Gtk::MESSAGE_QUESTION, 
Gtk::BUTTONS_OK_CANCEL);
           dialog.set_secondary_text(_("Are your sure that you wish to delete this user?"));
           dialog.set_transient_for(*this);
 
@@ -184,7 +184,7 @@ void Dialog_UsersList::on_button_user_add()
   const Privs::type_vec_strings users = Privs::get_database_users();
   if(users.empty())
   {
-    Utils::show_ok_dialog(_("Error Retrieving the List of Users"),
+    UiUtils::show_ok_dialog(_("Error Retrieving the List of Users"),
       _("Glom could not get the list of users from the database server. You probably do not have enough 
permissions. You should be a superuser."), *this, Gtk::MESSAGE_ERROR);
     return;
   }
@@ -198,7 +198,7 @@ void Dialog_UsersList::on_button_user_add()
 
   dialog->set_user_list(users);
 
-  const int response = Glom::Utils::dialog_run_with_help(dialog);
+  const int response = Glom::UiUtils::dialog_run_with_help(dialog);
 
   const Glib::ustring user = dialog->get_user();
 
@@ -245,7 +245,7 @@ void Dialog_UsersList::on_button_user_new()
   bool keep_trying = true;
   while(keep_trying)
   {
-    response = Glom::Utils::dialog_run_with_help(dialog);
+    response = Glom::UiUtils::dialog_run_with_help(dialog);
 
     //Check the password is acceptable:
     if(response == Gtk::RESPONSE_OK)
@@ -309,7 +309,7 @@ void Dialog_UsersList::on_button_user_edit()
       bool keep_trying = true;
       while(keep_trying)
       {
-        response = Glom::Utils::dialog_run_with_help(dialog);
+        response = Glom::UiUtils::dialog_run_with_help(dialog);
 
         //Check the password is acceptable:
         if(response == Gtk::RESPONSE_OK)
@@ -411,7 +411,7 @@ bool Dialog_UsersList::warn_about_empty_standard_group()
   {
     if(m_model_users->children().size() == 1)
     {
-      Gtk::MessageDialog dialog(Utils::bold_message(_("Developer group may not be empty.")), true, 
Gtk::MESSAGE_WARNING);
+      Gtk::MessageDialog dialog(UiUtils::bold_message(_("Developer group may not be empty.")), true, 
Gtk::MESSAGE_WARNING);
       dialog.set_secondary_text(_("The developer group must contain at least one user."));
       dialog.set_transient_for(*this);
       dialog.run();
diff --git a/glom/mode_find/box_data_list_find.cc b/glom/mode_find/box_data_list_find.cc
index 497490f..0a8ec91 100644
--- a/glom/mode_find/box_data_list_find.cc
+++ b/glom/mode_find/box_data_list_find.cc
@@ -26,7 +26,7 @@ namespace Glom
 {
 
 Box_Data_List_Find::Box_Data_List_Find()
-: m_HBox(Gtk::ORIENTATION_HORIZONTAL, Glom::Utils::DEFAULT_SPACING_SMALL)
+: m_HBox(Gtk::ORIENTATION_HORIZONTAL, Glom::UiUtils::DEFAULT_SPACING_SMALL)
 {
   //m_strHint = _("Enter the search criteria and click [Find]\n Glom will then change to Data mode to 
display the results.");
 
diff --git a/glom/navigation/box_tables.cc b/glom/navigation/box_tables.cc
index 36cfc2c..f4e002a 100644
--- a/glom/navigation/box_tables.cc
+++ b/glom/navigation/box_tables.cc
@@ -232,7 +232,7 @@ void Box_Tables::on_adddel_Add(const Gtk::TreeModel::iterator& row)
   if(exists_in_db)
   {
     //Ask the user if they want us to try to cope with this:
-    Gtk::MessageDialog dialog(Utils::bold_message(_("Table Already Exists")), true, Gtk::MESSAGE_QUESTION, 
Gtk::BUTTONS_OK_CANCEL);
+    Gtk::MessageDialog dialog(UiUtils::bold_message(_("Table Already Exists")), true, Gtk::MESSAGE_QUESTION, 
Gtk::BUTTONS_OK_CANCEL);
     dialog.set_secondary_text(_("This table already exists on the database server, though it is not 
mentioned in the .glom file. This should not happen. Would you like Glom to attempt to use the existing 
table?"));
     dialog.set_transient_for(*AppWindow::get_appwindow());
 
@@ -301,7 +301,7 @@ void Box_Tables::on_adddel_Delete(const Gtk::TreeModel::iterator& rowStart, cons
         {
           //Ask the user to confirm:
           const Glib::ustring strMsg = Glib::ustring::compose(_("Are you sure that you want to delete this 
table?\nTable name: %1"), table_name);
-          Gtk::MessageDialog dialog(Utils::bold_message(_("Delete Table")), true);
+          Gtk::MessageDialog dialog(UiUtils::bold_message(_("Delete Table")), true);
           dialog.set_secondary_text(strMsg);
           dialog.set_transient_for(*AppWindow::get_appwindow());
           const int iButtonClicked = dialog.run();
@@ -439,7 +439,7 @@ void Box_Tables::on_adddel_Edit(const Gtk::TreeModel::iterator& row)
     //This should never happen, because we never show them in the list:
     if(false) //Let's see if we can adapt.  (!document->get_table_is_known(table_name))
     {
-       Gtk::MessageDialog dialog(Utils::bold_message(_("Unknown Table")), true);
+       Gtk::MessageDialog dialog(UiUtils::bold_message(_("Unknown Table")), true);
        dialog.set_secondary_text(_("You cannot open this table, because there is no information about this 
table in the document."));
        dialog.set_transient_for(*AppWindow::get_appwindow());
        dialog.run();
diff --git a/glom/print_layout/canvas_layout_item.cc b/glom/print_layout/canvas_layout_item.cc
index 4c9e381..ef08c61 100644
--- a/glom/print_layout/canvas_layout_item.cc
+++ b/glom/print_layout/canvas_layout_item.cc
@@ -204,7 +204,7 @@ Glib::RefPtr<CanvasItemMovable> CanvasLayoutItem::create_canvas_item_for_layout_
     if(image)
     {
       Glib::RefPtr<CanvasImageMovable> canvas_item = CanvasImageMovable::create();
-      Glib::RefPtr<Gdk::Pixbuf> pixbuf = Utils::get_pixbuf_for_gda_value(image->m_image);
+      Glib::RefPtr<Gdk::Pixbuf> pixbuf = UiUtils::get_pixbuf_for_gda_value(image->m_image);
       if(pixbuf)
         canvas_item->set_image(pixbuf);
       else
@@ -490,7 +490,7 @@ void CanvasLayoutItem::set_db_data(const Gnome::Gda::Value& value)
       double height = 0;
       canvas_item->get_width_height(width, height);
 
-      Glib::RefPtr<Gdk::Pixbuf> pixbuf = Utils::get_pixbuf_for_gda_value(value);
+      Glib::RefPtr<Gdk::Pixbuf> pixbuf = UiUtils::get_pixbuf_for_gda_value(value);
       if(pixbuf)
         canvas_item->set_image(pixbuf);
       else
diff --git a/glom/print_layout/canvas_print_layout.cc b/glom/print_layout/canvas_print_layout.cc
index d42b4f9..df0e738 100644
--- a/glom/print_layout/canvas_print_layout.cc
+++ b/glom/print_layout/canvas_print_layout.cc
@@ -342,7 +342,7 @@ sharedptr<LayoutItem_Portal> Canvas_PrintLayout::offer_related_records(const sha
   if(parent)
     dialog->set_transient_for(*parent);
 
-  Utils::show_window_until_hide(dialog);
+  UiUtils::show_window_until_hide(dialog);
 
   result = dialog->get_portal_layout();
 
@@ -366,7 +366,7 @@ sharedptr<LayoutItem_Line> Canvas_PrintLayout::offer_line(const sharedptr<Layout
     
   dialog->set_line(line);
 
-  const int response = Glom::Utils::dialog_run_with_help(dialog);
+  const int response = Glom::UiUtils::dialog_run_with_help(dialog);
   dialog->hide();
   if(response == Gtk::RESPONSE_OK)
   {
@@ -1008,7 +1008,7 @@ void Canvas_PrintLayout::set_canvas_item_field_value(const Glib::RefPtr<Goocanva
     if(!canvas_image)
       return;
 
-    Glib::RefPtr<Gdk::Pixbuf> pixbuf = Utils::get_pixbuf_for_gda_value(value);
+    Glib::RefPtr<Gdk::Pixbuf> pixbuf = UiUtils::get_pixbuf_for_gda_value(value);
     canvas_image->property_pixbuf() = pixbuf;
   }
   else //text, numbers, date, time, boolean:
diff --git a/glom/utility_widgets/adddel/adddel.cc b/glom/utility_widgets/adddel/adddel.cc
index ed3e51c..476cd3b 100644
--- a/glom/utility_widgets/adddel/adddel.cc
+++ b/glom/utility_widgets/adddel/adddel.cc
@@ -100,7 +100,7 @@ void AddDel::init()
   set_prevent_user_signals();
   set_ignore_treeview_signals();
 
-  set_spacing(Utils::DEFAULT_SPACING_SMALL);
+  set_spacing(UiUtils::DEFAULT_SPACING_SMALL);
 
   m_bAllowUserActions = true;
 
@@ -159,7 +159,7 @@ void AddDel::warn_about_duplicate()
   else
     message = m_prevent_duplicates_warning; //Something more specific and helpful.
 
-  Gtk::MessageDialog dialog(Utils::bold_message(_("Duplicate")), true, Gtk::MESSAGE_WARNING, 
Gtk::BUTTONS_OK);
+  Gtk::MessageDialog dialog(UiUtils::bold_message(_("Duplicate")), true, Gtk::MESSAGE_WARNING, 
Gtk::BUTTONS_OK);
   dialog.set_secondary_text(message);
 
   //TODO: dialog.set_transient_for(get_parent_window());
@@ -593,7 +593,7 @@ void AddDel::construct_specified_columns()
   m_TreeView.set_model(m_refListStore);
 
   //Remove all View columns:
-  Utils::treeview_delete_all_columns(&m_TreeView);
+  UiUtils::treeview_delete_all_columns(&m_TreeView);
 
   //Add new View Colums:
   int model_column_index = 0;
diff --git a/glom/utility_widgets/adddel/adddel_withbuttons.cc 
b/glom/utility_widgets/adddel/adddel_withbuttons.cc
index e72eea2..0af7ee3 100644
--- a/glom/utility_widgets/adddel/adddel_withbuttons.cc
+++ b/glom/utility_widgets/adddel/adddel_withbuttons.cc
@@ -49,11 +49,11 @@ AddDel_WithButtons::AddDel_WithButtons(BaseObjectType* cobject, const Glib::RefP
 void AddDel_WithButtons::init()
 {
   m_ButtonBox.set_layout(Gtk::BUTTONBOX_END);
-  m_ButtonBox.set_spacing(Utils::DEFAULT_SPACING_SMALL);
+  m_ButtonBox.set_spacing(UiUtils::DEFAULT_SPACING_SMALL);
 
-  //m_Button_Add.set_border_width(Utils::DEFAULT_SPACING_SMALL);
-  //m_Button_Del.set_border_width(Utils::DEFAULT_SPACING_SMALL);
-  //m_Button_Edit.set_border_width(Utils::DEFAULT_SPACING_SMALL);
+  //m_Button_Add.set_border_width(UiUtils::DEFAULT_SPACING_SMALL);
+  //m_Button_Del.set_border_width(UiUtils::DEFAULT_SPACING_SMALL);
+  //m_Button_Edit.set_border_width(UiUtils::DEFAULT_SPACING_SMALL);
 
   setup_buttons();
   pack_start(m_ButtonBox, Gtk::PACK_SHRINK);
diff --git a/glom/utility_widgets/canvas/canvas_image_movable.cc 
b/glom/utility_widgets/canvas/canvas_image_movable.cc
index 492133c..7fb36ed 100644
--- a/glom/utility_widgets/canvas/canvas_image_movable.cc
+++ b/glom/utility_widgets/canvas/canvas_image_movable.cc
@@ -22,7 +22,7 @@
 
 #include "canvas_image_movable.h"
 #include <goocanvasmm/canvas.h>
-#include <glom/utils_ui.h> //For Utils::image_scale_keeping_ratio().
+#include <glom/utils_ui.h> //For UiUtils::image_scale_keeping_ratio().
 #include <gtkmm/icontheme.h>
 #include <iostream>
 
@@ -186,7 +186,7 @@ void CanvasImageMovable::scale_to_size()
 
   if(width_pixels && height_pixels)
   {
-    Glib::RefPtr<Gdk::Pixbuf> pixbuf = Utils::image_scale_keeping_ratio(m_pixbuf, (int)height_pixels, 
(int)width_pixels);
+    Glib::RefPtr<Gdk::Pixbuf> pixbuf = UiUtils::image_scale_keeping_ratio(m_pixbuf, (int)height_pixels, 
(int)width_pixels);
     property_pixbuf() = pixbuf;
   }
 
diff --git a/glom/utility_widgets/filechooserdialog_saveextras.cc 
b/glom/utility_widgets/filechooserdialog_saveextras.cc
index 4ef3b90..fed06ba 100644
--- a/glom/utility_widgets/filechooserdialog_saveextras.cc
+++ b/glom/utility_widgets/filechooserdialog_saveextras.cc
@@ -79,18 +79,18 @@ void FileChooserDialog_SaveExtras::create_child_widgets()
 
   Gtk::Frame* frame = Gtk::manage(new Gtk::Frame());
   Gtk::Label* frame_label = Gtk::manage(new Gtk::Label());
-  frame_label->set_markup(Utils::bold_message(_("New Database")));
+  frame_label->set_markup(UiUtils::bold_message(_("New Database")));
   frame_label->show();
   frame->set_label_widget(*frame_label);
   frame->set_shadow_type(Gtk::SHADOW_NONE);
 
   Gtk::Alignment* alignment = Gtk::manage(new Gtk::Alignment());
-  alignment->set_padding(Utils::DEFAULT_SPACING_SMALL, 0, Utils::DEFAULT_SPACING_LARGE, 0); //Add padding at 
the top and left.
+  alignment->set_padding(UiUtils::DEFAULT_SPACING_SMALL, 0, UiUtils::DEFAULT_SPACING_LARGE, 0); //Add 
padding at the top and left.
   alignment->show();
   frame->add(*alignment);
   frame->show();
 
-  Gtk::Box* vbox = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL, Utils::DEFAULT_SPACING_SMALL));
+  Gtk::Box* vbox = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL, UiUtils::DEFAULT_SPACING_SMALL));
   alignment->add(*vbox);
   vbox->show();
 
@@ -101,7 +101,7 @@ void FileChooserDialog_SaveExtras::create_child_widgets()
   label_newdb->set_alignment(0.0f, 0.5f);
   label_newdb->show();
 
-  Gtk::Box* box_label = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_HORIZONTAL, Utils::DEFAULT_SPACING_LARGE));
+  Gtk::Box* box_label = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_HORIZONTAL, 
UiUtils::DEFAULT_SPACING_LARGE));
   Gtk::Label* label_title = Gtk::manage(new Gtk::Label(_("_Title:"), true));
   box_label->pack_start(*label_title, Gtk::PACK_SHRINK);
   label_title->show();
diff --git a/glom/utility_widgets/imageglom.cc b/glom/utility_widgets/imageglom.cc
index 13344ac..058b156 100644
--- a/glom/utility_widgets/imageglom.cc
+++ b/glom/utility_widgets/imageglom.cc
@@ -418,7 +418,7 @@ void ImageGlom::show_image_data()
     if(use_gdkpixbuf)
     {
       //Try to use GdkPixbuf's loader:
-      m_pixbuf_original = Utils::get_pixbuf_for_gda_value(m_original_data);
+      m_pixbuf_original = UiUtils::get_pixbuf_for_gda_value(m_original_data);
     }
     else
     {
@@ -464,7 +464,7 @@ Glib::RefPtr<Gdk::Pixbuf> ImageGlom::get_scaled_image()
   {
     if(true) //allocation_height > 10 || allocation_width > 10)
     {
-      Glib::RefPtr<Gdk::Pixbuf> pixbuf_scaled = Utils::image_scale_keeping_ratio(pixbuf, allocation_height, 
allocation_width);
+      Glib::RefPtr<Gdk::Pixbuf> pixbuf_scaled = UiUtils::image_scale_keeping_ratio(pixbuf, 
allocation_height, allocation_width);
       
       //Don't set a new pixbuf if the dimensions have not changed:
       Glib::RefPtr<Gdk::Pixbuf> pixbuf_in_image;
diff --git a/glom/utility_widgets/layouttoolbarbutton.cc b/glom/utility_widgets/layouttoolbarbutton.cc
index 653f66b..44974ce 100644
--- a/glom/utility_widgets/layouttoolbarbutton.cc
+++ b/glom/utility_widgets/layouttoolbarbutton.cc
@@ -31,7 +31,7 @@ LayoutToolbarButton::LayoutToolbarButton(const std::string& icon_name, LayoutWid
 {
   Gtk::Image* image = Gtk::manage (new Gtk::Image());
 
-  const std::string resource_path = Utils::get_icon_path(icon_name);
+  const std::string resource_path = UiUtils::get_icon_path(icon_name);
   if(!g_resources_get_info(resource_path.c_str(), G_RESOURCE_LOOKUP_FLAGS_NONE, 0, 0, 0))
   {
     std::cerr << G_STRFUNC << ": icon resource not found: " << resource_path << std::endl;
diff --git a/glom/utility_widgets/notebook_noframe.cc b/glom/utility_widgets/notebook_noframe.cc
index 5ecc2d1..0694401 100644
--- a/glom/utility_widgets/notebook_noframe.cc
+++ b/glom/utility_widgets/notebook_noframe.cc
@@ -31,10 +31,10 @@ namespace Glom
 NotebookNoFrame::NotebookNoFrame()
 {
   set_orientation(Gtk::ORIENTATION_VERTICAL);
-  set_spacing(Utils::DEFAULT_SPACING_SMALL);
+  set_spacing(UiUtils::DEFAULT_SPACING_SMALL);
 
   m_box_top.set_orientation(Gtk::ORIENTATION_HORIZONTAL);
-  m_box_top.set_spacing(Utils::DEFAULT_SPACING_SMALL);
+  m_box_top.set_spacing(UiUtils::DEFAULT_SPACING_SMALL);
   m_box_top.pack_start(m_box_action_left, Gtk::PACK_SHRINK);
   m_box_top.pack_start(m_box_tabs);
   m_box_top.pack_end(m_box_action_right, Gtk::PACK_SHRINK);
@@ -47,7 +47,7 @@ NotebookNoFrame::NotebookNoFrame()
   m_box_pages.property_visible_child().signal_changed().connect(
     sigc::mem_fun(*this, &NotebookNoFrame::on_visible_child_changed));
 
-  //m_box_tabs.set_spacing(Utils::DEFAULT_SPACING_SMALL);
+  //m_box_tabs.set_spacing(UiUtils::DEFAULT_SPACING_SMALL);
 
   m_box_tabs.show();
 
diff --git a/glom/utils_ui.cc b/glom/utils_ui.cc
index 75d13a0..76958ca 100644
--- a/glom/utils_ui.cc
+++ b/glom/utils_ui.cc
@@ -97,7 +97,7 @@ namespace Glom
 {
 
 // Run dialog and response on Help if appropriate.
-int Utils::dialog_run_with_help(Gtk::Dialog* dialog, const Glib::ustring& id)
+int UiUtils::dialog_run_with_help(Gtk::Dialog* dialog, const Glib::ustring& id)
 {
   int result = dialog->run();
   
@@ -117,7 +117,7 @@ int Utils::dialog_run_with_help(Gtk::Dialog* dialog, const Glib::ustring& id)
  * Launch a help browser with the glom help and load the given id if given
  * If the help cannot be found an error dialog will be shown
  */
-void Utils::show_help(const Glib::ustring& id)
+void UiUtils::show_help(const Glib::ustring& id)
 {
   GError* err = 0;
   const gchar* pId;
@@ -162,7 +162,7 @@ void Utils::show_help(const Glib::ustring& id)
   }
 }
 
-void Utils::show_ok_dialog(const Glib::ustring& title, const Glib::ustring& message, Gtk::Window* parent, 
Gtk::MessageType message_type)
+void UiUtils::show_ok_dialog(const Glib::ustring& title, const Glib::ustring& message, Gtk::Window* parent, 
Gtk::MessageType message_type)
 {
   Gtk::MessageDialog dialog("<b>" + title + "</b>", true /* markup */, message_type, Gtk::BUTTONS_OK);
   dialog.set_secondary_text(message);
@@ -172,7 +172,7 @@ void Utils::show_ok_dialog(const Glib::ustring& title, const Glib::ustring& mess
   dialog.run();
 }
 
-void Utils::show_ok_dialog(const Glib::ustring& title, const Glib::ustring& message, Gtk::Window& parent, 
Gtk::MessageType message_type)
+void UiUtils::show_ok_dialog(const Glib::ustring& title, const Glib::ustring& message, Gtk::Window& parent, 
Gtk::MessageType message_type)
 {
   show_ok_dialog(title, message, &parent, message_type);
 }
@@ -190,7 +190,7 @@ static void on_window_hide(Glib::RefPtr<Glib::MainLoop> main_loop, sigc::connect
 
 } //anonymous namespace.
 
-void Utils::show_window_until_hide(Gtk::Window* window)
+void UiUtils::show_window_until_hide(Gtk::Window* window)
 {
   if(!window)
     return;
@@ -209,13 +209,13 @@ void Utils::show_window_until_hide(Gtk::Window* window)
   main_loop->run(); //Run and block until it is stopped by the hide signal handler.
 }
 
-Glib::ustring Utils::bold_message(const Glib::ustring& message)
+Glib::ustring UiUtils::bold_message(const Glib::ustring& message)
 {
   return "<b>" + message + "</b>";
 }
 
 
-Glib::RefPtr<Gdk::Pixbuf> Utils::get_pixbuf_for_gda_value(const Gnome::Gda::Value& value)
+Glib::RefPtr<Gdk::Pixbuf> UiUtils::get_pixbuf_for_gda_value(const Gnome::Gda::Value& value)
 {
   Glib::RefPtr<Gdk::Pixbuf> result;
 
@@ -291,6 +291,8 @@ Glib::RefPtr<Gdk::Pixbuf> Utils::get_pixbuf_for_gda_value(const Gnome::Gda::Valu
   return result;
 }
 
+namespace {
+
 static int get_width_for_text(Gtk::Widget& widget, const Glib::ustring& text)
 {
   //Get the width required for this string in the current font:
@@ -306,7 +308,9 @@ static int get_width_for_text(Gtk::Widget& widget, const Glib::ustring& text)
   return result;
 }
 
-int Utils::get_suitable_field_width_for_widget(Gtk::Widget& widget, const sharedptr<const LayoutItem_Field>& 
field_layout, bool or_title, bool for_treeview)
+} //anonymous namespace
+
+int UiUtils::get_suitable_field_width_for_widget(Gtk::Widget& widget, const sharedptr<const 
LayoutItem_Field>& field_layout, bool or_title, bool for_treeview)
 {
   int result = 150; //Suitable default.
 
@@ -373,7 +377,7 @@ int Utils::get_suitable_field_width_for_widget(Gtk::Widget& widget, const shared
 }
 
 
-std::string Utils::get_filepath_with_extension(const std::string& filepath, const std::string& extension)
+std::string UiUtils::get_filepath_with_extension(const std::string& filepath, const std::string& extension)
 {
   std::string result = filepath;
 
@@ -402,7 +406,7 @@ std::string Utils::get_filepath_with_extension(const std::string& filepath, cons
 
 
 //static:
-Glib::RefPtr<Gdk::Pixbuf> Utils::image_scale_keeping_ratio(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf, int 
target_height, int target_width)
+Glib::RefPtr<Gdk::Pixbuf> UiUtils::image_scale_keeping_ratio(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf, int 
target_height, int target_width)
 {
   if( (target_height == 0) || (target_width == 0) )
     return Glib::RefPtr<Gdk::Pixbuf>(); //This shouldn't happen anyway.
@@ -470,11 +474,11 @@ Glib::RefPtr<Gdk::Pixbuf> Utils::image_scale_keeping_ratio(const Glib::RefPtr<Gd
   return pixbuf->scale_simple(target_width, target_height, Gdk::INTERP_NEAREST);
 }
 
-bool Utils::show_warning_no_records_found(Gtk::Window& transient_for)
+bool UiUtils::show_warning_no_records_found(Gtk::Window& transient_for)
 {
   const Glib::ustring message = _("Your find criteria did not match any records in the table.");
 
-  Gtk::MessageDialog dialog(Utils::bold_message(_("No Records Found")), true, Gtk::MESSAGE_WARNING, 
Gtk::BUTTONS_NONE);
+  Gtk::MessageDialog dialog(UiUtils::bold_message(_("No Records Found")), true, Gtk::MESSAGE_WARNING, 
Gtk::BUTTONS_NONE);
   dialog.set_secondary_text(message);
   dialog.set_transient_for(transient_for);
 
@@ -486,7 +490,7 @@ bool Utils::show_warning_no_records_found(Gtk::Window& transient_for)
 }
 
 
-void Utils::show_report_in_browser(const std::string& filepath, Gtk::Window* parent_window)
+void UiUtils::show_report_in_browser(const std::string& filepath, Gtk::Window* parent_window)
 {
   //Give the user a clue, in case the web browser opens in the background, for instance in a new tab:
   if(parent_window)
@@ -520,16 +524,16 @@ void Utils::show_report_in_browser(const std::string& filepath, Gtk::Window* par
 #endif //G_OS_WIN32
 }
 
-std::string Utils::get_icon_path(const Glib::ustring& filename)
+std::string UiUtils::get_icon_path(const Glib::ustring& filename)
 {
   return  "/org/gnome/glom/data/icons/" + filename;
 }
 
-bool Utils::script_check_for_pygtk2_with_warning(const Glib::ustring& script, Gtk::Window* parent_window)
+bool UiUtils::script_check_for_pygtk2_with_warning(const Glib::ustring& script, Gtk::Window* parent_window)
 {
   if(!Utils::script_check_for_pygtk2(script))
   {
-    Utils::show_ok_dialog(_("Script Uses PyGTK 2"),
+    UiUtils::show_ok_dialog(_("Script Uses PyGTK 2"),
       _("Glom cannot run this script because it uses pygtk 2, but Glom uses GTK+ 3, and attempting to use 
pygtk 2 would cause Glom to crash."), parent_window, Gtk::MESSAGE_ERROR);
     return false;
   }
@@ -537,7 +541,7 @@ bool Utils::script_check_for_pygtk2_with_warning(const Glib::ustring& script, Gt
   return true;
 }
 
-void Utils::treeview_delete_all_columns(Gtk::TreeView* treeview)
+void UiUtils::treeview_delete_all_columns(Gtk::TreeView* treeview)
 {
   if(!treeview)
     return;
diff --git a/glom/utils_ui.h b/glom/utils_ui.h
index 128cd19..e7918e7 100644
--- a/glom/utils_ui.h
+++ b/glom/utils_ui.h
@@ -34,8 +34,7 @@
 namespace Glom
 {
 
-//TODO: Rename this to UiUtils
-namespace Utils
+namespace UiUtils
 {
 
 enum DefaultSpacings
@@ -106,7 +105,7 @@ bool script_check_for_pygtk2_with_warning(const Glib::ustring& script, Gtk::Wind
 
 void treeview_delete_all_columns(Gtk::TreeView* treeview);
 
-} //namespace Utils
+} //namespace UiUtils
 
 } //namespace Glom
 
diff --git a/glom/window_boxholder.cc b/glom/window_boxholder.cc
index c665cfc..3656e7b 100644
--- a/glom/window_boxholder.cc
+++ b/glom/window_boxholder.cc
@@ -36,7 +36,7 @@ Window_BoxHolder::Window_BoxHolder(Box_WithButtons* pBox, const Glib::ustring& t
 
   pBox->signal_cancelled.connect(sigc::mem_fun(*this, &Window_BoxHolder::on_box_cancelled));
 
-  set_border_width(Utils::DEFAULT_SPACING_LARGE);
+  set_border_width(UiUtils::DEFAULT_SPACING_LARGE);
   add(*pBox);
 
   pBox->show();


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