Fix some compiler warnings
[pspp] / src / ui / gui / options-dialog.c
index 45f69f5226d1f61d3410a2fae4092d6f79ffdad2..c50048060212a0c9e847dfd88414966a4d98e5e3 100644 (file)
@@ -41,6 +41,10 @@ struct options_dialog
   GtkWidget *sort_names;
   GtkWidget *sort_labels;
   GtkWidget *sort_none;
+
+  GtkWidget *maximize;
+  GtkWidget *alert;
+  GtkWidget *raise;
 };
 
 GType
@@ -83,8 +87,11 @@ options_dialog (PsppireDataWindow *de)
   fd.sort_names  = get_widget_assert (fd.xml, "radiobutton-sort-by-name");
   fd.sort_none   = get_widget_assert (fd.xml, "radiobutton-unsorted");
 
-  gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de));
+  fd.maximize = get_widget_assert (fd.xml, "checkbutton-maximize");
+  fd.alert    = get_widget_assert (fd.xml, "checkbutton-alert");
+  fd.raise    = get_widget_assert (fd.xml, "checkbutton-raise");
 
+  gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de));
 
   fd.conf = psppire_conf_new ();
 
@@ -116,6 +123,26 @@ options_dialog (PsppireDataWindow *de)
       break;
     }
 
+  {
+    gboolean status;
+    if (psppire_conf_get_boolean (fd.conf, "OutputWindowAction", "maximize",
+                                 &status))
+      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fd.maximize), status);
+  }
+
+  {
+    gboolean status = true;
+    psppire_conf_get_boolean (fd.conf, "OutputWindowAction", "alert", &status);
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fd.alert), status);
+  }
+
+  {
+    gboolean status;
+    if (psppire_conf_get_boolean (fd.conf, "OutputWindowAction", "raise",
+                                 &status))
+      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fd.raise), status);
+  }
+
   const int result = psppire_dialog_run (PSPPIRE_DIALOG (dialog));
 
   if (result == GTK_RESPONSE_OK)
@@ -138,11 +165,23 @@ options_dialog (PsppireDataWindow *de)
        {
          sort_order = PSPP_OPTIONS_VAR_ORDER_UNSORTED;
        }
-       
+
       psppire_conf_set_enum (fd.conf,
                             "VariableLists", "sort-order",
                             PSPP_TYPE_OPTIONS_VAR_ORDER,
                             sort_order);
+
+      psppire_conf_set_boolean (fd.conf, "OutputWindowAction", "maximize",
+                               gtk_toggle_button_get_active
+                               (GTK_TOGGLE_BUTTON (fd.maximize)));
+
+      psppire_conf_set_boolean (fd.conf, "OutputWindowAction", "raise",
+                               gtk_toggle_button_get_active
+                               (GTK_TOGGLE_BUTTON (fd.raise)));
+
+      psppire_conf_set_boolean (fd.conf, "OutputWindowAction", "alert",
+                               gtk_toggle_button_get_active
+                               (GTK_TOGGLE_BUTTON (fd.alert)));
     }
 
   g_object_unref (fd.xml);