app: remove the "grid_dialog" member from GimpDisplayShell
and attach the dialog to the image, just like other dialogs.
This commit is contained in:
@ -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
|
||||||
|
@ -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);
|
||||||
|
@ -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 */
|
||||||
|
Reference in New Issue
Block a user