From e2038874840ae0b169a0db6e8afc9119a7688676 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Wed, 8 Apr 2015 19:52:47 -0300 Subject: [PATCH] source-dialog: implement "Add" button menu The actions are still stub. --- data/ui/menus.ui | 16 ++++++++++++++++ src/gcal-source-dialog.c | 10 ++++++++++ 2 files changed, 26 insertions(+) diff --git a/data/ui/menus.ui b/data/ui/menus.ui index 9945b0ac..3ba78c60 100644 --- a/data/ui/menus.ui +++ b/data/ui/menus.ui @@ -38,4 +38,20 @@ + +
+ + From Web… + source.web + + + New Local Calendar… + source.local + + + From File… + source.file + +
+
diff --git a/src/gcal-source-dialog.c b/src/gcal-source-dialog.c index e57817fa..bd2e27ca 100644 --- a/src/gcal-source-dialog.c +++ b/src/gcal-source-dialog.c @@ -1218,6 +1218,8 @@ gcal_source_dialog_constructed (GObject *object) GcalSourceDialog *self = (GcalSourceDialog *)object; GcalSourceDialogPrivate *priv = gcal_source_dialog_get_instance_private (self); GtkFileFilter *filter; + GtkBuilder *builder; + GMenuModel *menu; G_OBJECT_CLASS (gcal_source_dialog_parent_class)->constructed (object); @@ -1245,6 +1247,14 @@ gcal_source_dialog_constructed (GObject *object) g_action_map_add_action_entries (G_ACTION_MAP (priv->action_group), actions, G_N_ELEMENTS (actions), object); + // Load the "Add" button menu + builder = gtk_builder_new_from_resource ("/org/gnome/calendar/menus.ui"); + + menu = G_MENU_MODEL (gtk_builder_get_object (builder, "add-source-menu")); + gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (priv->add_calendar_menu_button), menu); + + g_object_unref (builder); + /* setup titlebar */ gtk_window_set_titlebar (GTK_WINDOW (object), priv->headerbar); }