/* prefs button clicked */
static void
prefs_clicked (GtkWidget *button,
               gpointer   data)
{
  GtkWidget *prefs_dialog;
  GtkWidget *main_window = data;
  MateConfClient *client;

  prefs_dialog = g_object_get_data (G_OBJECT (main_window), "prefs");

  if (prefs_dialog == NULL)
    {
      client = g_object_get_data (G_OBJECT (main_window), "client");
      
      prefs_dialog = create_prefs_dialog (main_window, client);

      g_object_set_data (G_OBJECT (main_window), "prefs", prefs_dialog);

      g_signal_connect (G_OBJECT (prefs_dialog), "destroy",
                        G_CALLBACK (prefs_dialog_destroyed),
                        main_window);
      
      gtk_widget_show_all (prefs_dialog);
    }
  else 
    {
      /* show existing dialog */
      gtk_window_present (GTK_WINDOW (prefs_dialog));
    }
}
Beispiel #2
0
static void
prefs_clicked(GtkWidget* button, gpointer data)
{
    GtkWidget* prefs_dialog;
    GtkWidget* main_window = data;
    GConfClient* client;

    prefs_dialog = g_object_get_data(main_window, "prefs");

    if (prefs_dialog == NULL)
    {
        client = g_object_get_data(main_window, "client");

        prefs_dialog = create_prefs_dialog(main_window, client);

        g_object_set_data(G_OBJECT(main_window), "prefs", prefs_dialog);

        g_signal_connect(prefs_dialog, "destroy",
                         G_CALLBACK(prefs_dialog_destroyed),
                         main_window);

        gtk_widget_show_all(prefs_dialog);
    }
    else if (GTK_WIDGET_REALIZED(prefs_dialog))
    {
        gdk_window_show(prefs_dialog->window);
        gdk_window_raise(prefs_dialog->window);
    }
}