static void on_background_button_clicked (GtkButton *button, CcBackgroundPanel *self) { CcBackgroundPanelPrivate *priv = self->priv; GtkWidget *dialog; dialog = cc_background_chooser_dialog_new (); gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (gtk_widget_get_toplevel (WID ("background-panel")))); gtk_widget_show (dialog); g_signal_connect (dialog, "response", G_CALLBACK (on_chooser_dialog_response), self); }
static void launch_chooser (CcBackgroundPanel *self, GSettings *settings) { CcBackgroundPanelPrivate *priv = self->priv; GtkWidget *dialog; dialog = cc_background_chooser_dialog_new (GTK_WINDOW (gtk_widget_get_toplevel (WID ("background-panel")))); g_object_set_data (G_OBJECT (dialog), "settings", settings); gtk_widget_show (dialog); g_signal_connect (dialog, "response", G_CALLBACK (on_chooser_dialog_response), self); priv->chooser = dialog; g_object_add_weak_pointer (G_OBJECT (dialog), (gpointer *) &priv->chooser); }
int main (int argc, char **argv) { GtkWidget *dialog; g_setenv ("G_MESSAGES_DEBUG", "all", TRUE); gtk_init (&argc, &argv); dialog = cc_background_chooser_dialog_new (NULL); gtk_window_set_modal (GTK_WINDOW (dialog), FALSE); g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (on_dialog_response), NULL); gtk_widget_show_all (dialog); gtk_main (); return 0; }