Use a more reliable way of setting the initial state of PsppireDialogAction objects.
[pspp] / src / ui / gui / psppire-dialog-action-reliability.c
index 11d1eeefc1372a610578e7346ce5187f2a467cfe..9082025f7d43e0d2a170ae287180fde260f664cc 100644 (file)
@@ -29,7 +29,7 @@ static void psppire_dialog_action_reliability_class_init      (PsppireDialogActi
 
 G_DEFINE_TYPE (PsppireDialogActionReliability, psppire_dialog_action_reliability, PSPPIRE_TYPE_DIALOG_ACTION);
 
-enum 
+enum
   {
     ALPHA = 0,
     SPLIT = 1
@@ -119,20 +119,14 @@ refresh (PsppireDialogAction *pda_)
                                FALSE);
 }
 
-static void
-psppire_dialog_action_reliability_activate (PsppireDialogAction *a)
+static GtkBuilder *
+psppire_dialog_action_reliability_activate (PsppireDialogAction *a, GVariant *param)
 {
   PsppireDialogAction *pda = PSPPIRE_DIALOG_ACTION (a);
   PsppireDialogActionReliability *act = PSPPIRE_DIALOG_ACTION_RELIABILITY (a);
   GtkTreeModel *liststore ;
 
-  GHashTable *thing = psppire_dialog_action_get_hash_table (pda);
-  GtkBuilder *xml = g_hash_table_lookup (thing, a);
-  if (!xml)
-    {
-      xml = builder_new ("reliability.ui");
-      g_hash_table_insert (thing, a, xml);
-    }
+  GtkBuilder *xml = builder_new ( "reliability.ui");
 
   pda->dialog = get_widget_assert   (xml, "reliability-dialog");
   pda->source = get_widget_assert   (xml, "dict-view");
@@ -164,14 +158,14 @@ psppire_dialog_action_reliability_activate (PsppireDialogAction *a)
 
   psppire_dialog_action_set_refresh (pda, refresh);
   psppire_dialog_action_set_valid_predicate (pda, dialog_state_valid);
-
+  return xml;
 }
 
 static void
 psppire_dialog_action_reliability_class_init (PsppireDialogActionReliabilityClass *class)
 {
   PsppireDialogActionClass *pdac = PSPPIRE_DIALOG_ACTION_CLASS (class);
-  psppire_dialog_action_set_activation (class, psppire_dialog_action_reliability_activate);
+  PSPPIRE_DIALOG_ACTION_CLASS (class)->initial_activate = psppire_dialog_action_reliability_activate;
 
   pdac->generate_syntax = generate_syntax;
 }