-ui_import_panel_transaction_refresh (GtkWidget *widget, gpointer data)
-{
-
- DB( g_print("\n[import] refresh transaction\n") );
-
- ui_import_panel_transaction_find_duplicate(data);
- ui_import_panel_transaction_fill(data);
-
-}
-
-
-static void ui_acc_affect_listview_onRowActivated (GtkTreeView *treeview,
- GtkTreePath *path,
- GtkTreeViewColumn *col,
- gpointer userdata)
-{
-//GtkTreeModel *model;
-
- //model = gtk_tree_view_get_model(treeview);
- //gtk_tree_model_get_iter_first(model, &iter);
- //if(gtk_tree_selection_iter_is_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), &iter) == FALSE)
- //{
- ui_import_panel_account_change_action(GTK_WIDGET(treeview), NULL);
- //}
-}
-
-
-/* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */
-
-
-static GtkWidget *
-ui_import_panel_welcome_create(GtkWidget *assistant, struct import_data *data)
-{
-GtkWidget *vbox, *label, *align;
-
- align = gtk_alignment_new(0.5, 0.5, 0.0, 0.0);
- gtk_alignment_set_padding(GTK_ALIGNMENT(align), 0, 0, 0, 0);
-
- vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_SMALL);
- //gtk_container_set_border_width (GTK_CONTAINER(vbox), SPACING_MEDIUM);
- gtk_container_add(GTK_CONTAINER(align), vbox);
-
- label = make_label(
- _("Welcome to the HomeBank Import Assistant.\n\n" \
- "With this assistant you will be guided throught the process\n" \
- "of importing an external file into HomeBank.\n\n" \
- "No changes will be made until you click \"Apply\" at the end\n" \
- "of this assistant.")
- , 0., 0.0);
- gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, SPACING_SMALL);
-
- /* supported format */
-
-
- label = make_label(
- _("HomeBank can import files in the following formats:\n" \
- "- QIF\n" \
- "- OFX/QFX (optional at compilation time)\n" \
- "- CSV (format is specific to HomeBank, see the documentation)\n" \
- ), 0.0, 0.0);
-
- gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, SPACING_SMALL);
-
-
- gtk_widget_show_all (align);
-
- gtk_assistant_append_page (GTK_ASSISTANT (assistant), align);
- gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), align, GTK_ASSISTANT_PAGE_INTRO);
- gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), align, _(page_titles[PAGE_WELCOME]));
- //gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), align, TRUE);
-
- return align;
-}
-
-
-static GtkWidget *
-ui_import_panel_filechooser_create (GtkWidget *assistant, struct import_data *data)
-{
-GtkWidget *vbox, *hbox, *align, *widget, *label;
-GtkFileFilter *filter;
-
- vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_SMALL);
- //gtk_container_set_border_width (GTK_CONTAINER(vbox), SPACING_MEDIUM);
-
-
-// widget = gtk_file_chooser_button_new ("Pick a File", GTK_FILE_CHOOSER_ACTION_OPEN);
-
- widget = gtk_file_chooser_widget_new(GTK_FILE_CHOOSER_ACTION_OPEN);
-
-
-
- data->filechooser = widget;
- gtk_box_pack_start (GTK_BOX (vbox), widget, TRUE, TRUE, 0);
-
- filter = gtk_file_filter_new ();
- gtk_file_filter_set_name (filter, _("Known files"));
- gtk_file_filter_add_pattern (filter, "*.[Qq][Ii][Ff]");
- #ifndef NOOFX
- gtk_file_filter_add_pattern (filter, "*.[OoQq][Ff][Xx]");
- #endif
- gtk_file_filter_add_pattern (filter, "*.[Cc][Ss][Vv]");
- gtk_file_chooser_add_filter (GTK_FILE_CHOOSER(widget), filter);
- if(data->filetype == FILETYPE_UNKNOW)
- gtk_file_chooser_set_filter (GTK_FILE_CHOOSER(widget), filter);
-
- filter = gtk_file_filter_new ();
- gtk_file_filter_set_name (filter, _("QIF files"));
- gtk_file_filter_add_pattern (filter, "*.[Qq][Ii][Ff]");
- gtk_file_chooser_add_filter (GTK_FILE_CHOOSER(widget), filter);
- if(data->filetype == FILETYPE_QIF)
- gtk_file_chooser_set_filter (GTK_FILE_CHOOSER(widget), filter);
-
- #ifndef NOOFX
- filter = gtk_file_filter_new ();
- gtk_file_filter_set_name (filter, _("OFX/QFX files"));
- gtk_file_filter_add_pattern (filter, "*.[OoQq][Ff][Xx]");
- gtk_file_chooser_add_filter (GTK_FILE_CHOOSER(widget), filter);
- if(data->filetype == FILETYPE_OFX)
- gtk_file_chooser_set_filter (GTK_FILE_CHOOSER(widget), filter);
- #endif
-
- filter = gtk_file_filter_new ();
- gtk_file_filter_set_name (filter, _("CSV files"));
- gtk_file_filter_add_pattern (filter, "*.[Cc][Ss][Vv]");
- gtk_file_chooser_add_filter (GTK_FILE_CHOOSER(widget), filter);
- if(data->filetype == FILETYPE_CSV_HB)
- gtk_file_chooser_set_filter (GTK_FILE_CHOOSER(widget), filter);
-
-
- filter = gtk_file_filter_new ();
- gtk_file_filter_set_name (filter, _("All files"));
- gtk_file_filter_add_pattern (filter, "*");
- gtk_file_chooser_add_filter (GTK_FILE_CHOOSER(widget), filter);
-
-
-/* our addon message */
- align = gtk_alignment_new(0.65, 0, 0, 0);
- gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0);
-
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_container_add(GTK_CONTAINER(align), hbox);
-
- label = gtk_label_new("");
- data->user_info = label;
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, SPACING_SMALL);
-
- gimp_label_set_attributes (GTK_LABEL (label),
- PANGO_ATTR_SCALE, PANGO_SCALE_LARGE,
- PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD,
- -1);
-
-
-
- widget = gtk_image_new_from_icon_name(ICONNAME_HB_FILE_VALID, GTK_ICON_SIZE_LARGE_TOOLBAR);
- data->ok_image = widget;
- gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
-
- widget = gtk_image_new_from_icon_name(ICONNAME_HB_FILE_INVALID, GTK_ICON_SIZE_LARGE_TOOLBAR);
- data->ko_image = widget;
- gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
-
-
- gtk_widget_show_all (vbox);
- gtk_widget_hide(data->ok_image);
- gtk_widget_hide(data->ko_image);
-
-
- gtk_assistant_append_page (GTK_ASSISTANT (assistant), vbox);
- //gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), vbox, GTK_ASSISTANT_PAGE_CONTENT);
- gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), vbox, _(page_titles[PAGE_SELECTFILE]));
-
-
-
- return vbox;
-}
-
-
-static GtkWidget *
-ui_import_panel_import_create (GtkWidget *assistant, struct import_data *data)
-{
-GtkWidget *align, *content_grid;
-GtkWidget *label, *widget;
-gchar *txt;
-
- align = gtk_alignment_new(0.5, 0.5, 0.0, 0.0);
-
- content_grid = gtk_grid_new();
- gtk_grid_set_column_spacing (GTK_GRID (content_grid), SPACING_MEDIUM);
- gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL);
- gtk_container_add(GTK_CONTAINER(align), content_grid);
-
- widget = gtk_image_new_from_icon_name(ICONNAME_ERROR, GTK_ICON_SIZE_DIALOG );
- gtk_grid_attach (GTK_GRID (content_grid), widget, 0, 0, 1, 1);
-
- txt = _("A general error occured, and this file cannot be loaded.");
- label = gtk_label_new(txt);
- gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
- gtk_grid_attach (GTK_GRID (content_grid), label, 1, 0, 1, 1);
-
- gtk_widget_show_all (align);
- gtk_assistant_append_page (GTK_ASSISTANT (assistant), align);
- //gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), align, GTK_ASSISTANT_PAGE_PROGRESS);
- gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), align, _(page_titles[PAGE_IMPORT]));
-
- return align;
-}
-
-
-
-static GtkWidget *
-ui_import_panel_properties_create (GtkWidget *assistant, struct import_data *data)
-{
-GtkWidget *content_grid, *group_grid;
-GtkWidget *label, *widget;
-gint crow, row;
-
- content_grid = gtk_grid_new();
- gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE);
- gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL);
-
- crow = 0;
- // group :: File properties
- group_grid = gtk_grid_new ();
- gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL);
- gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM);
- gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1);
-
- label = make_label_group(_("File properties"));
- gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1);
-
- row = 1;
- label = make_label(_("Name:"), 0.0, 0.5);
- gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1);
- widget = make_label(NULL, 0.0, 0.5);
- data->TX_filename = widget;
- gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1);
-
- row++;
- label = make_label(_("Path:"), 0.0, 0.5);
- gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1);
- widget = make_label(NULL, 0.0, 0.5);
- data->TX_filepath = widget;
- gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1);
-
- row++;
- label = make_label(_("Encoding:"), 0.0, 0.5);
- gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1);
- widget = make_label(NULL, 0.0, 0.5);
- data->TX_encoding = widget;
- gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1);
-
- row++;
- label = make_label(_("Date format:"), 0.0, 0.5);
- gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1);
- widget = make_label(NULL, 0.0, 0.5);
- data->TX_datefmt = widget;
- gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1);
-
- // group :: File content
- group_grid = gtk_grid_new ();
- gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL);
- gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM);
- gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1);
-
- label = make_label_group(_("File content"));
- gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1);
-
- row = 1;
- label = make_label(_("Content:"), 0.0, 0.5);
- gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1);
- widget = make_label(NULL, 0.0, 0.5);
- data->TX_filedetails = widget;
- gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1);
-
- /*
- expander = gtk_expander_new (_("File content"));
- gtk_box_pack_start (GTK_BOX (container), expander, TRUE, TRUE, 0);
- scrollwin = gtk_scrolled_window_new(NULL,NULL);
- gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
- gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN);
- widget = gtk_text_view_new ();
- gtk_container_add(GTK_CONTAINER(scrollwin), widget);
- gtk_container_add(GTK_CONTAINER(expander), scrollwin);
- */
-
-
- gtk_widget_show_all (content_grid);
-
- gtk_assistant_append_page (GTK_ASSISTANT (assistant), content_grid);
- //set page type to intro to avoid going back once that point over
- gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), content_grid, GTK_ASSISTANT_PAGE_INTRO);
- gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), content_grid, _(page_titles[PAGE_PROPERTIES]));
-
- return content_grid;
-}
-
-
-static GtkWidget *
-ui_import_panel_account_create (GtkWidget *assistant, struct import_data *data)