[geary] Load UI resources as GResources, not from the file system.
- From: Adam Dingle <adamd src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [geary] Load UI resources as GResources, not from the file system.
- Date: Sat, 9 Apr 2016 21:34:25 +0000 (UTC)
commit fe928afbdc1004cda4706d92d15407634803e130
Author: Michael James Gratton <mike vee net>
Date: Sun Apr 3 19:21:50 2016 +1000
Load UI resources as GResources, not from the file system.
src/client/application/geary-application.vala | 19 +++++++++----------
src/client/application/geary-controller.vala | 10 ++--------
src/client/components/main-toolbar.vala | 4 ++--
src/client/composer/composer-widget.vala | 2 +-
4 files changed, 14 insertions(+), 21 deletions(-)
---
diff --git a/src/client/application/geary-application.vala b/src/client/application/geary-application.vala
index 9f8ca0f..072921e 100644
--- a/src/client/application/geary-application.vala
+++ b/src/client/application/geary-application.vala
@@ -279,12 +279,11 @@ public class GearyApplication : Gtk.Application {
return exec_dir.has_prefix(prefix_dir) ? prefix_dir : null;
}
- // Creates a GTK builder given the filename of a UI file in the ui directory.
- public Gtk.Builder create_builder(string ui_filename) {
+ // Creates a GTK builder given the name of a GResource.
+ public Gtk.Builder create_builder(string name) {
Gtk.Builder builder = new Gtk.Builder();
try {
- builder.add_from_file(get_resource_directory().get_child("ui").get_child(
- ui_filename).get_path());
+ builder.add_from_resource("/org/gnome/Geary/" + name);
} catch(GLib.Error error) {
warning("Unable to create Gtk.Builder: %s".printf(error.message));
}
@@ -309,18 +308,18 @@ public class GearyApplication : Gtk.Application {
return get_resource_directory().get_child("ui").get_child(filename);
}
- // Loads a UI file (in the ui directory) into the specified UI manager.
- public void load_ui_file_for_manager(Gtk.UIManager ui, string ui_filename) {
+ // Loads a UI GResource into the specified UI manager.
+ public void load_ui_resource_for_manager(Gtk.UIManager ui, string name) {
try {
- ui.add_ui_from_file(get_ui_file(ui_filename).get_path());
+ ui.add_ui_from_resource("/org/gnome/Geary/" + name);
} catch(GLib.Error error) {
warning("Unable to create Gtk.UIManager: %s".printf(error.message));
}
}
- // Loads a UI file (in the ui directory) into the UI manager.
- public void load_ui_file(string ui_filename) {
- load_ui_file_for_manager(ui_manager, ui_filename);
+ // Loads a UI GResource into the UI manager.
+ public void load_ui_resource(string name) {
+ load_ui_resource_for_manager(ui_manager, name);
}
// This call will fire "exiting" only if it's not already been fired.
diff --git a/src/client/application/geary-controller.vala b/src/client/application/geary-controller.vala
index 27724bc..cb19248 100644
--- a/src/client/application/geary-controller.vala
+++ b/src/client/application/geary-controller.vala
@@ -180,7 +180,7 @@ public class GearyController : Geary.BaseObject {
// Setup actions.
setup_actions();
- GearyApplication.instance.load_ui_file("accelerators.ui");
+ GearyApplication.instance.load_ui_resource("accelerators.ui");
// Listen for attempts to close the application.
GearyApplication.instance.exiting.connect(on_application_exiting);
@@ -592,13 +592,7 @@ public class GearyController : Geary.BaseObject {
}
GearyApplication.instance.ui_manager.insert_action_group(action_group, 0);
- Gtk.Builder builder = new Gtk.Builder();
- try {
- builder.add_from_file(
- GearyApplication.instance.get_ui_file("app_menu.interface").get_path());
- } catch (Error e) {
- error("Unable to parse app_menu.interface: %s", e.message);
- }
+ Gtk.Builder builder = GearyApplication.instance.create_builder("app_menu.interface");
app_menu = (MenuModel) builder.get_object("app-menu");
// We'd *like* to always export an app menu and just let the shell
diff --git a/src/client/components/main-toolbar.vala b/src/client/components/main-toolbar.vala
index a9eeb52..8d33713 100644
--- a/src/client/components/main-toolbar.vala
+++ b/src/client/components/main-toolbar.vala
@@ -57,7 +57,7 @@ public class MainToolbar : Gtk.Box {
bool rtl = get_direction() == Gtk.TextDirection.RTL;
// Assemble mark menu.
- GearyApplication.instance.load_ui_file("toolbar_mark_menu.ui");
+ GearyApplication.instance.load_ui_resource("toolbar_mark_menu.ui");
Gtk.Menu mark_menu = (Gtk.Menu)
GearyApplication.instance.ui_manager.get_widget("/ui/ToolbarMarkMenu");
mark_menu.foreach(GtkUtil.show_menuitem_accel_labels);
@@ -70,7 +70,7 @@ public class MainToolbar : Gtk.Box {
folder_header.add_start(folder_header.create_pill_buttons(insert, false));
// Assemble the empty menu
- GearyApplication.instance.load_ui_file("toolbar_empty_menu.ui");
+ GearyApplication.instance.load_ui_resource("toolbar_empty_menu.ui");
Gtk.Menu empty_menu = (Gtk.Menu)
GearyApplication.instance.ui_manager.get_widget("/ui/ToolbarEmptyMenu");
empty_menu.foreach(GtkUtil.show_menuitem_accel_labels);
insert.clear();
diff --git a/src/client/composer/composer-widget.vala b/src/client/composer/composer-widget.vala
index 18b5332..d853c38 100644
--- a/src/client/composer/composer-widget.vala
+++ b/src/client/composer/composer-widget.vala
@@ -451,7 +451,7 @@ public class ComposerWidget : Gtk.EventBox {
ui = new Gtk.UIManager();
ui.insert_action_group(actions, 0);
- GearyApplication.instance.load_ui_file_for_manager(ui, "composer_accelerators.ui");
+ GearyApplication.instance.load_ui_resource_for_manager(ui, "composer_accelerators.ui");
add_extra_accelerators();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]