summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Pablo Ugarte <juanpablougarte@gmail.com>2018-08-03 21:26:05 -0300
committerJuan Pablo Ugarte <juanpablougarte@gmail.com>2018-08-04 20:30:28 -0300
commita8416ac61d6b9280eb24a727a4513434daa37689 (patch)
tree310fd0b3734d9c388ac2973685432e4f28fb8f5e
parent9b8633eb341f848c2bb33c52d2abdfed9169ed96 (diff)
downloadglade-a8416ac61d6b9280eb24a727a4513434daa37689.tar.gz
GladeWindow: move actions to GtkApplication
-rw-r--r--src/glade-window.c20
-rw-r--r--src/glade-window.h4
-rw-r--r--src/glade.glade2
-rw-r--r--src/main.c1
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">
diff --git a/src/main.c b/src/main.c
index 10e06dc5..8a81771f 100644
--- a/src/main.c
+++ b/src/main.c
@@ -82,7 +82,6 @@ activate (GApplication *application)
{
GladeWindow *window;
- GAction *quit;
if (version != FALSE)
{