- if (!color_button->priv->cs_dialog)
- {
- /* Create the dialog and connects its buttons */
- GtkWidget *parent;
- GtkWidget *ok_button, *cancel_button;
-
- parent = gtk_widget_get_toplevel (GTK_WIDGET (color_button));
-
- color_button->priv->cs_dialog = gtk_color_selection_dialog_new (color_button->priv->title);
-
- color_dialog = GTK_COLOR_SELECTION_DIALOG (color_button->priv->cs_dialog);
-
- if (gtk_widget_is_toplevel (parent) && GTK_IS_WINDOW (parent))
- {
- if (GTK_WINDOW (parent) != gtk_window_get_transient_for (GTK_WINDOW (color_dialog)))
- gtk_window_set_transient_for (GTK_WINDOW (color_dialog), GTK_WINDOW (parent));
-
- gtk_window_set_modal (GTK_WINDOW (color_dialog),
- gtk_window_get_modal (GTK_WINDOW (parent)));
- }
-
- g_object_get (color_dialog,
- "ok-button", &ok_button,
- "cancel-button", &cancel_button,
- NULL);
-
- g_signal_connect (ok_button, "clicked",
- G_CALLBACK (dialog_ok_clicked), color_button);
- g_signal_connect (cancel_button, "clicked",
- G_CALLBACK (dialog_cancel_clicked), color_button);
- g_signal_connect (color_dialog, "destroy",
- G_CALLBACK (dialog_destroy), color_button);
- }
-
- color_dialog = GTK_COLOR_SELECTION_DIALOG (color_button->priv->cs_dialog);
- color_selection = GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (color_dialog));