app: remove the "grid_dialog" member from GimpDisplayShell

and attach the dialog to the image, just like other dialogs.
This commit is contained in:
Michael Natterer
2016-09-24 14:49:43 +02:00
parent 1c82fc5f3c
commit 3f1104b626
3 changed files with 14 additions and 22 deletions

View File

@ -833,30 +833,29 @@ void
image_configure_grid_cmd_callback (GtkAction *action, image_configure_grid_cmd_callback (GtkAction *action,
gpointer data) gpointer data)
{ {
GimpDisplay *display; GimpDisplay *display;
GimpImage *image; GimpImage *image;
GimpDisplayShell *shell; GtkWidget *dialog;
return_if_no_display (display, data); return_if_no_display (display, data);
image = gimp_display_get_image (display); image = gimp_display_get_image (display);
shell = gimp_display_get_shell (display);
if (! shell->grid_dialog) #define GRID_DIALOG_KEY "gimp-grid-dialog"
dialog = dialogs_get_dialog (G_OBJECT (image), GRID_DIALOG_KEY);
if (! dialog)
{ {
shell->grid_dialog = grid_dialog_new (image, GimpDisplayShell *shell = gimp_display_get_shell (display);
action_data_get_context (data),
GTK_WIDGET (shell));
gtk_window_set_transient_for (GTK_WINDOW (shell->grid_dialog), dialog = grid_dialog_new (image,
GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (shell)))); action_data_get_context (data),
gtk_window_set_destroy_with_parent (GTK_WINDOW (shell->grid_dialog), GTK_WIDGET (shell));
TRUE);
g_object_add_weak_pointer (G_OBJECT (shell->grid_dialog), dialogs_attach_dialog (G_OBJECT (image), GRID_DIALOG_KEY, dialog);
(gpointer) &shell->grid_dialog);
} }
gtk_window_present (GTK_WINDOW (shell->grid_dialog)); gtk_window_present (GTK_WINDOW (dialog));
} }
void void

View File

@ -868,12 +868,6 @@ gimp_display_shell_dispose (GObject *object)
shell->nav_popup = NULL; shell->nav_popup = NULL;
} }
if (shell->grid_dialog)
{
gtk_widget_destroy (shell->grid_dialog);
shell->grid_dialog = NULL;
}
if (shell->blink_timeout_id) if (shell->blink_timeout_id)
{ {
g_source_remove (shell->blink_timeout_id); g_source_remove (shell->blink_timeout_id);

View File

@ -148,7 +148,6 @@ struct _GimpDisplayShell
GtkWidget *scale_dialog; /* scale (zoom) dialog */ GtkWidget *scale_dialog; /* scale (zoom) dialog */
GtkWidget *rotate_dialog; /* rotate dialog */ GtkWidget *rotate_dialog; /* rotate dialog */
GtkWidget *nav_popup; /* navigation popup */ GtkWidget *nav_popup; /* navigation popup */
GtkWidget *grid_dialog; /* grid configuration dialog */
GimpColorConfig *color_config; /* color management settings */ GimpColorConfig *color_config; /* color management settings */
gboolean color_config_set; /* settings changed from defaults */ gboolean color_config_set; /* settings changed from defaults */