diff options
author | Juan Pablo Ugarte <juanpablougarte@gmail.com> | 2018-08-03 21:26:05 -0300 |
---|---|---|
committer | Juan Pablo Ugarte <juanpablougarte@gmail.com> | 2018-08-04 20:30:28 -0300 |
commit | a8416ac61d6b9280eb24a727a4513434daa37689 (patch) | |
tree | 310fd0b3734d9c388ac2973685432e4f28fb8f5e | |
parent | 9b8633eb341f848c2bb33c52d2abdfed9169ed96 (diff) | |
download | glade-a8416ac61d6b9280eb24a727a4513434daa37689.tar.gz |
GladeWindow: move actions to GtkApplication
-rw-r--r-- | src/glade-window.c | 20 | ||||
-rw-r--r-- | src/glade-window.h | 4 | ||||
-rw-r--r-- | src/glade.glade | 2 | ||||
-rw-r--r-- | src/main.c | 1 |
4 files changed, 14 insertions, 13 deletions
diff --git a/src/glade-window.c b/src/glade-window.c index e4d368d8..c581d983 100644 --- a/src/glade-window.c +++ b/src/glade-window.c @@ -75,7 +75,8 @@ #define CONFIG_INTRO_GROUP "Intro" #define CONFIG_INTRO_DONE "intro-done" -#define GLADE_WINDOW_ACTIVE_VIEW(w) ((GladeDesignView *) gtk_stack_get_visible_child (w->priv->view_stack)) +#define GLADE_WINDOW_ACTIVE_VIEW(w) ((GladeDesignView *) gtk_stack_get_visible_child (w->priv->view_stack)) +#define GLADE_WINDOW_GET_ACTION(w,a) ((w && ((GladeWindow *)w)->priv->application) ? g_action_map_lookup_action (G_ACTION_MAP (((GladeWindow *)w)->priv->application), a) : NULL) struct _GladeWindowPrivate { @@ -130,7 +131,7 @@ struct _GladeWindowPrivate static void check_reload_project (GladeWindow *window, GladeProject *project); -G_DEFINE_TYPE_WITH_PRIVATE (GladeWindow, glade_window, GTK_TYPE_APPLICATION_WINDOW) +G_DEFINE_TYPE_WITH_PRIVATE (GladeWindow, glade_window, GTK_TYPE_WINDOW) static void refresh_title (GladeWindow *window) @@ -404,12 +405,13 @@ project_targets_changed_cb (GladeProject *project, GladeWindow *window) refresh_stack_title_for_project (window, project); } -static void +static inline void actions_set_enabled (GladeWindow *window, const gchar *name, gboolean enabled) { - GladeWindowPrivate *priv = window->priv; - GAction *action = g_action_map_lookup_action (G_ACTION_MAP (priv->application), name); - g_simple_action_set_enabled (G_SIMPLE_ACTION (action), enabled); + GAction *action; + + if ((action = GLADE_WINDOW_GET_ACTION (window, name))) + g_simple_action_set_enabled (G_SIMPLE_ACTION (action), enabled); } static void @@ -2153,7 +2155,7 @@ glade_window_action_handler (GladeWindow *window, const gchar *name) GladeWindowPrivate *priv = window->priv; GAction *action; - if ((action = g_action_map_lookup_action (G_ACTION_MAP (priv->application), name))) + if ((action = GLADE_WINDOW_GET_ACTION (window, name))) g_action_activate (action, NULL); } @@ -2228,9 +2230,9 @@ on_intro_show_node (GladeIntro *intro, } else if (!g_strcmp0 (node, "add-project")) { - GAction *new_action = g_action_map_lookup_action (G_ACTION_MAP (priv->application), "new"); + GAction *new_action; - if (new_action) + if ((new_action = GLADE_WINDOW_GET_ACTION (window, "new"))) g_signal_connect (new_action, "activate", G_CALLBACK (on_user_new_action_activate), window); diff --git a/src/glade-window.h b/src/glade-window.h index cc5cce08..757ecff4 100644 --- a/src/glade-window.h +++ b/src/glade-window.h @@ -38,13 +38,13 @@ typedef struct _GladeWindowClass GladeWindowClass; struct _GladeWindow { - GtkApplicationWindow parent_instance; + GtkWindow parent_instance; GladeWindowPrivate *priv; }; struct _GladeWindowClass { - GtkApplicationWindowClass parent_class; + GtkWindowClass parent_class; }; GType glade_window_get_type (void) G_GNUC_CONST; diff --git a/src/glade.glade b/src/glade.glade index 4d2509ae..0a15e6f4 100644 --- a/src/glade.glade +++ b/src/glade.glade @@ -166,7 +166,7 @@ Author: Juan Pablo Ugarte <property name="show_numbers">True</property> <signal name="item-activated" handler="on_open_recent_action_item_activated" swapped="no"/> </object> - <template class="GladeWindow" parent="GtkApplicationWindow"> + <template class="GladeWindow" parent="GtkWindow"> <property name="can_focus">False</property> <child> <object class="GtkStack" id="stack"> @@ -82,7 +82,6 @@ activate (GApplication *application) { GladeWindow *window; - GAction *quit; if (version != FALSE) { |