}
gtk_tree_path_free (p);
- int most_frequent = -1;
- int largest = 0;
- for (j = 0; j < SEPARATOR_CNT; ++j)
+ if (hmap_count (count_map) > 0)
{
- struct separator_count_node *cn;
- HMAP_FOR_EACH (cn, struct separator_count_node, node, &count_map[j])
- {
- if (largest < cn->quantity)
- {
- largest = cn->quantity;
- most_frequent = j;
- }
- }
- hmap_destroy (&count_map[j]);
- }
+ int most_frequent = -1;
+ int largest = 0;
+ for (j = 0; j < SEPARATOR_CNT; ++j)
+ {
+ struct separator_count_node *cn;
+ HMAP_FOR_EACH (cn, struct separator_count_node, node, &count_map[j])
+ {
+ if (largest < cn->quantity)
+ {
+ largest = cn->quantity;
+ most_frequent = j;
+ }
+ }
+ hmap_destroy (&count_map[j]);
+ }
+
+ g_return_if_fail (most_frequent >= 0);
- const char* sepname = separators[MAX (0,most_frequent)].name;
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (get_widget_assert (ia->builder, sepname)), TRUE);
+ GtkWidget *toggle =
+ get_widget_assert (ia->builder, separators[most_frequent].name);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), TRUE);
+ }
}
static void
GtkWidget *sheet_entry = get_widget_assert (builder, "sheet-entry");
GtkWidget *readnames_checkbox = get_widget_assert (builder, "readnames-checkbox");
- gtk_combo_box_set_model (GTK_COMBO_BOX (sheet_entry),
- psppire_spreadsheet_model_new (ia->spreadsheet));
+ GtkTreeModel *model = psppire_spreadsheet_model_new (ia->spreadsheet);
+ gtk_combo_box_set_model (GTK_COMBO_BOX (sheet_entry), model);
+
+ gint items = gtk_tree_model_iter_n_children (model, NULL);
+ gtk_widget_set_sensitive (sheet_entry, items > 1);
gtk_combo_box_set_active (GTK_COMBO_BOX (sheet_entry), 0);
}
+static void
+on_file_activated (GtkFileChooser *chooser, PsppireImportAssistant *ia)
+{
+ gtk_assistant_next_page (GTK_ASSISTANT (ia));
+}
static void
chooser_page_create (PsppireImportAssistant *ia)
GtkWidget *chooser = gtk_file_chooser_widget_new (GTK_FILE_CHOOSER_ACTION_OPEN);
+ g_signal_connect (chooser, "file-activated", G_CALLBACK (on_file_activated), ia);
+
g_object_set_data (G_OBJECT (chooser), "on-forward", chooser_page_leave);
g_object_set_data (G_OBJECT (chooser), "on-reset", chooser_page_reset);
g_object_set_data (G_OBJECT (chooser), "on-entering",chooser_page_enter);
int i;
- struct fmt_guesser **fg = xcalloc (n_vars, sizeof *fg);
+ struct fmt_guesser **fg = XCALLOC (n_vars, struct fmt_guesser *);
for (i = 0 ; i < n_vars; ++i)
{
fg[i] = fmt_guesser_create ();