desktop: reversed mimetype to application/x-spss-sps
[pspp] / src / ui / gui / psppire-buttonbox.c
index 87989cf12bfc76e4a6ccf8f57714afea41a93437..18ce4a0dd1a01c33b979368f6c0c915d820d46b1 100644 (file)
@@ -73,7 +73,7 @@ set_default (PsppireButtonbox *bb)
 {
   int i;
 
-  for (i = 0 ; i < n_PsppireButtonboxButtons ; ++i )
+  for (i = 0 ; i < n_PsppireButtonboxButtons ; ++i)
     if (bb->def == (1 << i))
       {
         gtk_widget_set_can_default (bb->button[i], TRUE);
@@ -95,7 +95,7 @@ psppire_buttonbox_set_property (GObject         *object,
     {
     case PROP_BUTTONS:
       flags = g_value_get_flags (value);
-      for (i = 0 ; i < n_PsppireButtonboxButtons ; ++i )
+      for (i = 0 ; i < n_PsppireButtonboxButtons ; ++i)
         g_object_set (bb->button[i], "visible", 0x01 & (flags >> i)  , NULL);
       break;
 
@@ -124,12 +124,12 @@ psppire_buttonbox_get_property (GObject         *object,
   switch (prop_id)
     {
     case PROP_BUTTONS:
-      for (i = 0 ; i < n_PsppireButtonboxButtons ; ++i )
+      for (i = 0 ; i < n_PsppireButtonboxButtons ; ++i)
         {
           gboolean visibility;
           g_object_get (bb->button[i], "visible", &visibility, NULL);
 
-          if ( visibility )
+          if (visibility)
             flags |= (0x01 << i);
         }
 
@@ -205,7 +205,7 @@ close_and_respond (GtkWidget *w, gint response)
 
   /* If we're not in a psppire dialog (for example when in glade)
      then do nothing */
-  if ( ! PSPPIRE_IS_DIALOG (toplevel))
+  if (! PSPPIRE_IS_DIALOG (toplevel))
     return;
 
   dialog = PSPPIRE_DIALOG (toplevel);
@@ -267,7 +267,7 @@ refresh_clicked (GtkWidget *w, gpointer data)
   GtkWidget *toplevel = gtk_widget_get_toplevel (w);
   PsppireDialog *dialog;
 
-  if ( ! PSPPIRE_IS_DIALOG (toplevel))
+  if (! PSPPIRE_IS_DIALOG (toplevel))
     return;
 
   dialog = PSPPIRE_DIALOG (toplevel);
@@ -281,7 +281,7 @@ help_clicked (GtkWidget *w, gpointer data)
   GtkWidget *toplevel = gtk_widget_get_toplevel (w);
   PsppireDialog *dialog;
 
-  if ( ! PSPPIRE_IS_DIALOG (toplevel))
+  if (! PSPPIRE_IS_DIALOG (toplevel))
     return;
 
   dialog = PSPPIRE_DIALOG (toplevel);
@@ -301,19 +301,37 @@ on_validity_change (GtkWidget *toplevel, gboolean valid, gpointer data)
   gtk_widget_set_sensitive (GTK_WIDGET (bb->button[PSPPIRE_BUTTON_CONTINUE]), valid);
 }
 
+static gboolean
+on_key_press (GtkWidget *w, GdkEventKey *e, gpointer ud)
+{
+  PsppireButtonbox *bb = PSPPIRE_BUTTONBOX (ud);
+  if (e->keyval == GDK_KEY_Escape)
+    {
+      g_signal_emit_by_name (bb->button[PSPPIRE_BUTTON_CANCEL], "activate");
+      g_signal_emit_by_name (bb->button[PSPPIRE_BUTTON_CLOSE], "activate");
+    }
+  return FALSE;
+}
+
+
 static void
 on_realize (GtkWidget *buttonbox, gpointer data)
 {
   GtkWidget *toplevel = gtk_widget_get_toplevel (buttonbox);
 
-  if ( PSPPIRE_IS_DIALOG (toplevel))
+  if (PSPPIRE_IS_DIALOG (toplevel))
     {
       g_signal_connect (toplevel, "validity-changed",
                        G_CALLBACK (on_validity_change), buttonbox);
+
+      g_signal_connect (toplevel, "key-press-event",
+                       G_CALLBACK (on_key_press), buttonbox);
     }
+
   set_default (PSPPIRE_BUTTONBOX (buttonbox));
 }
 
+
 static void
 psppire_button_box_init (PsppireButtonbox *bb)
 {
@@ -391,7 +409,7 @@ psppire_button_box_init (PsppireButtonbox *bb)
 
     flags = g_value_get_flags (&value);
 
-    for (i = 0 ; i < n_PsppireButtonboxButtons ; ++i )
+    for (i = 0 ; i < n_PsppireButtonboxButtons ; ++i)
       g_object_set (bb->button[i], "visible", 0x01 & (flags >> i)  , NULL);
 
     g_value_unset (&value);