- GValue def = {0};
- g_value_init (&def, pspec->value_type);
-
- if ( NULL == name)
- {
- g_param_value_set_default (pspec, &def);
- name = g_value_get_string (&def);
- }
-
- candidate_name = strdup (name);
-
- while ( psppire_window_register_lookup (reg, candidate_name))
- {
- free (candidate_name);
- candidate_name = uniquify (name, &x);
- }
-
- basename = g_path_get_basename (candidate_name);
- g_unichar_to_utf8 (0x2014, mdash);
-
- g_value_unset (&def);
-
- switch (window->usage)
- {
- case PSPPIRE_WINDOW_USAGE_SYNTAX:
- title = g_strdup_printf ( _("%s %s PSPPIRE Syntax Editor"),
- basename, mdash);
- break;
- case PSPPIRE_WINDOW_USAGE_OUTPUT:
- title = g_strdup_printf ( _("%s %s PSPPIRE Output"),
- basename, mdash);
- case PSPPIRE_WINDOW_USAGE_DATA:
- title = g_strdup_printf ( _("%s %s PSPPIRE Data Editor"),
- basename, mdash);
- break;
- default:
- g_assert_not_reached ();
- break;
- }
-
- gtk_window_set_title (GTK_WINDOW (window), title);
+
+ {
+ const gchar *name = g_value_get_string (value);
+ int x = 0;
+ GValue def = {0};
+ g_value_init (&def, pspec->value_type);
+
+ if ( NULL == name)
+ {
+ g_param_value_set_default (pspec, &def);
+ name = g_value_get_string (&def);
+ }
+
+ candidate_name = strdup (name);
+
+ while ( psppire_window_register_lookup (reg, candidate_name))
+ {
+ free (candidate_name);
+ candidate_name = uniquify (name, &x);
+ }
+
+ window->basename = g_path_get_basename (candidate_name);
+
+ g_value_unset (&def);
+ }
+
+ psppire_window_set_title (window);