app: automatically load resources from base path

We don't have to load most of the menus we're currently loading
by using the very handy automatic resource loading.

This patch fixup so the app loads resources automagically.
This commit is contained in:
Georges Basile Stavracas Neto
2016-02-16 18:12:18 -02:00
parent bfe18b00df
commit 9ff5e05f9c
5 changed files with 22 additions and 37 deletions
+4 -1
View File
@@ -4,7 +4,6 @@
<file alias="calendar-row.ui" compressed="true" preprocess="xml-stripblanks">ui/calendar-row.ui</file>
<file alias="date-selector.ui" compressed="true" preprocess="xml-stripblanks">ui/date-selector.ui</file>
<file alias="edit-dialog.ui" compressed="true" preprocess="xml-stripblanks">ui/edit-dialog.ui</file>
<file alias="menus.ui" compressed="true" preprocess="xml-stripblanks">ui/menus.ui</file>
<file alias="online-account-row.ui" compressed="true" preprocess="xml-stripblanks">ui/online-account-row.ui</file>
<file alias="quick-add-popover.ui" compressed="true" preprocess="xml-stripblanks">ui/quick-add-popover.ui</file>
<file alias="search-view.ui" compressed="true" preprocess="xml-stripblanks">ui/search-view.ui</file>
@@ -14,4 +13,8 @@
<file alias="year-view.ui" compressed="true" preprocess="xml-stripblanks">ui/year-view.ui</file>
<file alias="gtk-styles.css" compressed="true">theme/gtk-styles.css</file>
</gresource>
<gresource prefix="/org/gnome/calendar/gtk">
<file alias="menus.ui" compressed="true" preprocess="xml-stripblanks">ui/menus.ui</file>
</gresource>
</gresources>
+2 -2
View File
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<interface>
<menu id="appmenu">
<menu id="app-menu">
<section>
<item>
<attribute name="label" translatable="yes">Add Eve_nt…</attribute>
@@ -25,7 +25,7 @@
</item>
</section>
</menu>
<menu id="winmenu">
<menu id="win-menu">
<section>
<item>
<attribute name="label" translatable="yes">Add Eve_nt…</attribute>
+7 -25
View File
@@ -60,8 +60,6 @@ static void gcal_application_startup (GApplication *
static gint gcal_application_command_line (GApplication *app,
GApplicationCommandLine *command_line);
static void gcal_application_set_app_menu (GApplication *app);
static void gcal_application_create_new_event (GSimpleAction *new_event,
GVariant *parameter,
gpointer app);
@@ -260,8 +258,6 @@ gcal_application_activate (GApplication *application)
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION + 2);
}
gcal_application_set_app_menu (application);
if (self->window != NULL)
{
gtk_window_present (GTK_WINDOW (self->window));
@@ -299,6 +295,12 @@ gcal_application_activate (GApplication *application)
static void
gcal_application_startup (GApplication *app)
{
/* add actions */
g_action_map_add_action_entries (G_ACTION_MAP (app),
gcal_app_entries,
G_N_ELEMENTS (gcal_app_entries),
app);
G_APPLICATION_CLASS (gcal_application_parent_class)->startup (app);
/* We're assuming the application is called as a service only by the shell search system */
@@ -411,27 +413,6 @@ gcal_application_dbus_unregister (GApplication *application,
g_free (search_provider_path);
}
static void
gcal_application_set_app_menu (GApplication *app)
{
GtkBuilder *builder;
GMenuModel *appmenu;
builder = gtk_builder_new ();
gtk_builder_add_from_resource (builder, "/org/gnome/calendar/menus.ui", NULL);
appmenu = (GMenuModel *)gtk_builder_get_object (builder, "appmenu");
g_action_map_add_action_entries (G_ACTION_MAP (app),
gcal_app_entries,
G_N_ELEMENTS (gcal_app_entries),
app);
gtk_application_set_app_menu (GTK_APPLICATION (app), appmenu);
g_object_unref (builder);
}
static void
gcal_application_create_new_event (GSimpleAction *new_event,
GVariant *parameter,
@@ -528,6 +509,7 @@ gcal_application_new (void)
g_set_application_name ("Calendar");
return g_object_new (gcal_application_get_type (),
"resource-base-path", "/org/gnome/calendar",
"application-id", "org.gnome.Calendar",
"flags", G_APPLICATION_HANDLES_COMMAND_LINE,
NULL);
+1 -1
View File
@@ -1812,7 +1812,7 @@ gcal_source_dialog_constructed (GObject *object)
g_action_map_add_action_entries (G_ACTION_MAP (self->action_group), actions, G_N_ELEMENTS (actions), object);
// Load the "Add" button menu
builder = gtk_builder_new_from_resource ("/org/gnome/calendar/menus.ui");
builder = gtk_builder_new_from_resource ("/org/gnome/calendar/gtk/menus.ui");
menu = G_MENU_MODEL (gtk_builder_get_object (builder, "add-source-menu"));
gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (self->add_calendar_menu_button), menu);
+8 -8
View File
@@ -1305,6 +1305,12 @@ gcal_window_class_init(GcalWindowClass *klass)
static void
gcal_window_init (GcalWindow *self)
{
/* Setup actions */
g_action_map_add_action_entries (G_ACTION_MAP (self),
actions,
G_N_ELEMENTS (actions),
self);
gtk_widget_init_template (GTK_WIDGET (self));
/* source dialog */
@@ -1336,19 +1342,13 @@ gcal_window_constructed (GObject *object)
g_free (clock_format);
g_object_unref (helper_settings);
// Setup actions
g_action_map_add_action_entries (G_ACTION_MAP (object),
actions,
G_N_ELEMENTS (actions),
object);
/* header_bar: menu */
builder = gtk_builder_new ();
gtk_builder_add_from_resource (builder,
"/org/gnome/calendar/menus.ui",
"/org/gnome/calendar/gtk/menus.ui",
NULL);
winmenu = (GMenuModel *)gtk_builder_get_object (builder, "winmenu");
winmenu = (GMenuModel *)gtk_builder_get_object (builder, "win-menu");
gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (window->menu_button),
winmenu);