diff options
author | Tristan Van Berkom <tristan@upstairslabs.com> | 2016-01-28 12:08:21 +0100 |
---|---|---|
committer | Tristan Van Berkom <tristan@upstairslabs.com> | 2016-01-28 12:11:44 +0100 |
commit | e7430cc302bb53b24f8acd74ad34285975aa3dce (patch) | |
tree | ff8f9408cde126f0f9532c2d396683793c7ae314 /gladeui | |
parent | 691b7bea15152398f01949a5999d933c5790da02 (diff) | |
download | glade-e7430cc302bb53b24f8acd74ad34285975aa3dce.tar.gz |
GladeEditor: Update the widget name in a property editor dialog
For the ones spawned specifically for a given widget
Diffstat (limited to 'gladeui')
-rw-r--r-- | gladeui/glade-editor.c | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/gladeui/glade-editor.c b/gladeui/glade-editor.c index 0d2a22eb..245ca2bf 100644 --- a/gladeui/glade-editor.c +++ b/gladeui/glade-editor.c @@ -1274,6 +1274,22 @@ glade_editor_hide_class_field (GladeEditor *editor) } } +static void +editor_widget_name_changed (GladeWidget *widget, + GParamSpec *pspec, + GtkWindow *window) +{ + gchar *title, *prj_name; + + prj_name = glade_project_get_name (glade_widget_get_project (widget)); + /* Translators: first %s is the project name, second is a widget name */ + title = g_strdup_printf (_("%s - %s Properties"), prj_name, + glade_widget_get_display_name (widget)); + gtk_window_set_title (window, title); + g_free (title); + g_free (prj_name); +} + /** * glade_editor_dialog_for_widget: * @widget: a #GladeWidget @@ -1287,7 +1303,6 @@ GtkWidget * glade_editor_dialog_for_widget (GladeWidget *widget) { GtkWidget *window, *editor; - gchar *title, *prj_name; g_return_val_if_fail (GLADE_IS_WIDGET (widget), NULL); @@ -1295,13 +1310,10 @@ glade_editor_dialog_for_widget (GladeWidget *widget) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_type_hint (GTK_WINDOW (window), GDK_WINDOW_TYPE_HINT_UTILITY); - prj_name = glade_project_get_name (glade_widget_get_project (widget)); - /* Translators: first %s is the project name, second is a widget name */ - title = g_strdup_printf (_("%s - %s Properties"), prj_name, - glade_widget_get_name (widget)); - gtk_window_set_title (GTK_WINDOW (window), title); - g_free (title); - g_free (prj_name); + /* Keep the title up to date */ + editor_widget_name_changed (widget, NULL, window); + g_signal_connect_object (G_OBJECT (widget), "notify::name", + G_CALLBACK (editor_widget_name_changed), window, 0); if (glade_app_get_accel_group ()) { |