Bug #475980: Fix the labeling of several QIF importer pages.

The account, category, and memo matching pages have been redesigned to better comply with the HIG:
1. The labels that told (sometimes incorrectly) which page comes next are gone.
2. The lists now offer a mnemonic for keyboard navigation.
3. A count of selected matches is now indicated by a label.
4. A "Change" button has been added as a more obvious alternative to double-clicking.

On the currency page
1. The label that told (sometimes incorrectly) which page comes next is gone.
2. The remaining labels have been simplified.
3. A mnemonic is now offered for keyboard navigation.

Finally, some function names have been adjusted for consistency.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17162 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Charles Day
2008-05-18 22:20:21 +00:00
parent 6f2674c4b6
commit 55483496a4
2 changed files with 687 additions and 196 deletions

View File

@@ -91,9 +91,22 @@ struct _qifimportwindow {
GtkWidget * acct_entry;
GtkWidget * date_format_combo;
GtkWidget * selected_file_view;
/* Widgets on the account matching page. */
GtkWidget * acct_view;
GtkWidget * acct_view_count;
GtkWidget * acct_view_btn;
/* Widgets on the category matching page. */
GtkWidget * cat_view;
GtkWidget * cat_view_count;
GtkWidget * cat_view_btn;
/* Widgets on the memo matching page. */
GtkWidget * memo_view;
GtkWidget * memo_view_count;
GtkWidget * memo_view_btn;
GtkWidget * currency_picker;
GtkWidget * new_transaction_view;
GtkWidget * old_transaction_view;
@@ -143,8 +156,8 @@ static QIFDruidPage * make_qif_druid_page(SCM security_hash_key,
gnc_commodity * comm);
static void update_file_page(QIFImportWindow * win);
static void update_accounts_page(QIFImportWindow * win);
static void update_categories_page(QIFImportWindow * win);
static void update_account_page(QIFImportWindow * win);
static void update_category_page(QIFImportWindow * win);
static void update_memo_page(QIFImportWindow * win);
static void update_account_picker_page(QIFImportWindow * wind,
@@ -1073,12 +1086,13 @@ update_account_picker_page(QIFImportWindow * wind, SCM make_display,
/****************************************************************
* update_accounts_page
* update_account_page
*
* update the QIF account -> GNC Account picker
****************************************************************/
static void
update_accounts_page(QIFImportWindow * wind)
update_account_page(QIFImportWindow * wind)
{
SCM make_account_display = scm_c_eval_string("qif-dialog:make-account-display");
@@ -1087,14 +1101,15 @@ update_accounts_page(QIFImportWindow * wind)
wind->acct_map_info, &(wind->acct_display_info));
}
/****************************************************************
* update_categories_page
* update_category_page
*
* update the QIF category -> GNC Account picker
****************************************************************/
static void
update_categories_page(QIFImportWindow * wind)
update_category_page(QIFImportWindow * wind)
{
SCM make_category_display = scm_c_eval_string("qif-dialog:make-category-display");
@@ -1102,6 +1117,7 @@ update_categories_page(QIFImportWindow * wind)
wind->cat_map_info, &(wind->cat_display_info));
}
/****************************************************************
* update_memo_page
*
@@ -1124,10 +1140,12 @@ update_memo_page(QIFImportWindow * wind)
static void
create_account_picker_view(GtkWidget *widget,
const gchar *col_name,
GCallback callback,
GCallback activate_cb,
GCallback select_cb,
gpointer user_data)
{
GtkTreeView *view = GTK_TREE_VIEW(widget);
GtkTreeSelection *selection = gtk_tree_view_get_selection(view);
GtkListStore *store;
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;
@@ -1165,16 +1183,18 @@ create_account_picker_view(GtkWidget *widget,
gtk_tree_view_append_column(view, column);
g_object_set_data(G_OBJECT(store), PREV_ROW, GINT_TO_POINTER(-1));
g_signal_connect(view, "row-activated", G_CALLBACK(callback), user_data);
/* Connect the signal handlers. */
g_signal_connect(view, "row-activated", G_CALLBACK(activate_cb), user_data);
g_signal_connect(selection, "changed", G_CALLBACK(select_cb), user_data);
/* Allow multiple rows to be selected. */
gtk_tree_selection_set_mode(gtk_tree_view_get_selection(view),
GTK_SELECTION_MULTIPLE);
gtk_tree_selection_set_mode(selection, GTK_SELECTION_MULTIPLE);
}
/********************************************************************
* select_line
* rematch_line
*
* This is a helper function for tree controls used by some druid
* pages for mapping QIF values to GnuCash accounts. It processes
@@ -1185,8 +1205,8 @@ create_account_picker_view(GtkWidget *widget,
********************************************************************/
static void
select_line(QIFImportWindow *wind, GtkTreeSelection *selection,
SCM display_info, SCM map_info,
rematch_line(QIFImportWindow *wind, GtkTreeSelection *selection,
SCM display_info, SCM map_info,
void (*update_page)(QIFImportWindow *))
{
SCM get_qif_name = scm_c_eval_string("qif-map-entry:qif-name");
@@ -1257,16 +1277,77 @@ select_line(QIFImportWindow *wind, GtkTreeSelection *selection,
update_page(wind);
}
/********************************************************************
* gnc_ui_qif_import_account_line_select_cb
* when an account is clicked for editing in the "map QIF accts to GNC"
* page.
* gnc_ui_qif_import_account_activate_cb
*
* This handler is invoked when a row is double-clicked in the "Match
* QIF accounts to GnuCash accounts" page.
********************************************************************/
static void
gnc_ui_qif_import_account_line_select_cb(GtkTreeView *view, GtkTreePath *path,
GtkTreeViewColumn *column,
gpointer user_data)
gnc_ui_qif_import_account_activate_cb(GtkTreeView *view, GtkTreePath *path,
GtkTreeViewColumn *column,
gpointer user_data)
{
QIFImportWindow *wind = user_data;
g_return_if_fail(wind);
rematch_line(wind, gtk_tree_view_get_selection(view),
wind->acct_display_info, wind->acct_map_info,
update_account_page);
}
/********************************************************************
* gnc_ui_qif_import_account_select_cb
*
* This handler is invoked when the selection of account matchings
* has changed. It updates the selection count and enables/disables
* the "Change" button.
********************************************************************/
static void
gnc_ui_qif_import_account_select_cb(GtkTreeSelection *selection,
gpointer user_data)
{
QIFImportWindow *wind = user_data;
gint count = gtk_tree_selection_count_selected_rows(selection);
gchar *count_str;
g_return_if_fail(wind);
/* Update the "items selected" count. */
if (wind->acct_view_count)
{
count_str = g_strdup_printf("%d", count);
gtk_label_set_text(GTK_LABEL(wind->acct_view_count), count_str);
g_free(count_str);
}
/* Enable/disable the Change button. */
if (wind->acct_view_btn)
{
if (count)
gtk_widget_set_sensitive(wind->acct_view_btn, TRUE);
else
gtk_widget_set_sensitive(wind->acct_view_btn, FALSE);
}
}
/********************************************************************
* gnc_ui_qif_import_category_activate_cb
*
* This handler is invoked when a row is double-clicked in the "Match
* QIF categories to GnuCash accounts" page.
********************************************************************/
static void
gnc_ui_qif_import_category_activate_cb(GtkTreeView *view, GtkTreePath *path,
GtkTreeViewColumn *column,
gpointer user_data)
{
QIFImportWindow *wind = user_data;
GtkTreeSelection *selection;
@@ -1274,20 +1355,59 @@ gnc_ui_qif_import_account_line_select_cb(GtkTreeView *view, GtkTreePath *path,
g_return_if_fail(view && wind);
selection = gtk_tree_view_get_selection(view);
select_line(wind, selection, wind->acct_display_info, wind->acct_map_info,
update_accounts_page);
rematch_line(wind, selection, wind->cat_display_info, wind->cat_map_info,
update_category_page);
}
/********************************************************************
* gnc_ui_qif_import_category_line_select_cb
* when a cat is clicked for editing in the "map QIF cats to GNC"
* page.
* gnc_ui_qif_import_category_select_cb
*
* This handler is invoked when the selection of category matchings
* has changed. It updates the selection count and enables/disables
* the "Change" button.
********************************************************************/
static void
gnc_ui_qif_import_category_line_select_cb(GtkTreeView *view, GtkTreePath *path,
GtkTreeViewColumn *column,
gpointer user_data)
gnc_ui_qif_import_category_select_cb(GtkTreeSelection *selection,
gpointer user_data)
{
QIFImportWindow *wind = user_data;
gint count = gtk_tree_selection_count_selected_rows(selection);
gchar *count_str;
g_return_if_fail(wind);
/* Update the "items selected" count. */
if (wind->cat_view_count)
{
count_str = g_strdup_printf("%d", count);
gtk_label_set_text(GTK_LABEL(wind->cat_view_count), count_str);
g_free(count_str);
}
/* Enable/disable the Change button. */
if (wind->cat_view_btn)
{
if (count)
gtk_widget_set_sensitive(wind->cat_view_btn, TRUE);
else
gtk_widget_set_sensitive(wind->cat_view_btn, FALSE);
}
}
/********************************************************************
* gnc_ui_qif_import_memo_activate_cb
*
* This handler is invoked when a row is double-clicked in the "Match
* QIF memo/payee to GnuCash accounts" page.
********************************************************************/
static void
gnc_ui_qif_import_memo_activate_cb(GtkTreeView *view, GtkTreePath *path,
GtkTreeViewColumn *column,
gpointer user_data)
{
QIFImportWindow *wind = user_data;
GtkTreeSelection *selection;
@@ -1295,74 +1415,137 @@ gnc_ui_qif_import_category_line_select_cb(GtkTreeView *view, GtkTreePath *path,
g_return_if_fail(view && wind);
selection = gtk_tree_view_get_selection(view);
select_line(wind, selection, wind->cat_display_info, wind->cat_map_info,
update_categories_page);
rematch_line(wind, selection, wind->memo_display_info, wind->memo_map_info,
update_memo_page);
}
/********************************************************************
* gnc_ui_qif_import_memo_line_select_cb
* when a memo is clicked for editing in the "map QIF memos to GNC"
* page.
* gnc_ui_qif_import_memo_select_cb
*
* This handler is invoked when the selection of memo matchings
* has changed. It updates the selection count and enables/disables
* the "Change" button.
********************************************************************/
static void
gnc_ui_qif_import_memo_line_select_cb(GtkTreeView *view, GtkTreePath *path,
GtkTreeViewColumn *column,
gpointer user_data)
gnc_ui_qif_import_memo_select_cb(GtkTreeSelection *selection,
gpointer user_data)
{
QIFImportWindow *wind = user_data;
GtkTreeSelection *selection;
QIFImportWindow *wind = user_data;
gint count = gtk_tree_selection_count_selected_rows(selection);
gchar *count_str;
g_return_if_fail(view && wind);
selection = gtk_tree_view_get_selection(view);
g_return_if_fail(wind);
select_line(wind, selection, wind->memo_display_info, wind->memo_map_info,
update_memo_page);
/* Update the "items selected" count. */
if (wind->memo_view_count)
{
count_str = g_strdup_printf("%d", count);
gtk_label_set_text(GTK_LABEL(wind->memo_view_count), count_str);
g_free(count_str);
}
/* Enable/disable the Change button. */
if (wind->memo_view_btn)
{
if (count)
gtk_widget_set_sensitive(wind->memo_view_btn, TRUE);
else
gtk_widget_set_sensitive(wind->memo_view_btn, FALSE);
}
}
/********************************************************************
* gnc_ui_qif_import_accounts_prepare_cb
* gnc_ui_qif_import_account_prepare_cb
********************************************************************/
static void
gnc_ui_qif_import_accounts_prepare_cb(GnomeDruidPage * page,
gnc_ui_qif_import_account_prepare_cb(GnomeDruidPage * page,
gpointer arg1,
gpointer user_data)
{
QIFImportWindow * wind = user_data;
gnc_set_busy_cursor(NULL, TRUE);
update_account_page(wind);
gnc_unset_busy_cursor(NULL);
}
/****************************************************************
* gnc_ui_qif_import_account_rematch_cb
*
* This handler is invoked when the user clicks the "Change
* GnuCash account" button on the account mapping page. This
* button is an alternative to double-clicking a row.
****************************************************************/
static void
gnc_ui_qif_import_account_rematch_cb(GtkButton *button, gpointer user_data)
{
QIFImportWindow *wind = user_data;
g_return_if_fail(wind);
rematch_line(wind,
gtk_tree_view_get_selection(GTK_TREE_VIEW(wind->acct_view)),
wind->acct_display_info,
wind->acct_map_info,
update_account_page);
}
/********************************************************************
* gnc_ui_qif_import_category_prepare_cb
********************************************************************/
static void
gnc_ui_qif_import_category_prepare_cb(GnomeDruidPage * page,
gpointer arg1,
gpointer user_data)
{
QIFImportWindow * wind = user_data;
gnc_set_busy_cursor(NULL, TRUE);
update_accounts_page(wind);
update_category_page(wind);
gnc_unset_busy_cursor(NULL);
}
/********************************************************************
* gnc_ui_qif_import_categories_prepare_cb
********************************************************************/
static void
gnc_ui_qif_import_categories_prepare_cb(GnomeDruidPage * page,
gpointer arg1,
gpointer user_data)
{
QIFImportWindow * wind = user_data;
gnc_set_busy_cursor(NULL, TRUE);
update_categories_page(wind);
gnc_unset_busy_cursor(NULL);
}
/****************************************************************
* gnc_ui_qif_import_categories_next_cb
* gnc_ui_qif_import_category_rematch_cb
*
* This handler is invoked when the user clicks the "Change
* GnuCash account" button on the category mapping page. This
* button is an alternative to double-clicking a row.
****************************************************************/
static void
gnc_ui_qif_import_category_rematch_cb(GtkButton *button, gpointer user_data)
{
QIFImportWindow *wind = user_data;
g_return_if_fail(wind);
rematch_line(wind,
gtk_tree_view_get_selection(GTK_TREE_VIEW(wind->cat_view)),
wind->cat_display_info,
wind->cat_map_info,
update_category_page);
}
/****************************************************************
* gnc_ui_qif_import_category_next_cb
* Check to see if there are any payees and memos to show. If not
* jump to currency page.
****************************************************************/
static gboolean
gnc_ui_qif_import_categories_next_cb(GnomeDruidPage * page,
gpointer arg1,
gpointer user_data)
gnc_ui_qif_import_category_next_cb(GnomeDruidPage * page,
gpointer arg1,
gpointer user_data)
{
QIFImportWindow * wind = user_data;
SCM make_memo_display = scm_c_eval_string("qif-dialog:make-memo-display");
@@ -1389,6 +1572,7 @@ gnc_ui_qif_import_categories_next_cb(GnomeDruidPage * page,
}
}
/********************************************************************
* gnc_ui_qif_import_memo_prepare_cb
********************************************************************/
@@ -1406,6 +1590,29 @@ gnc_ui_qif_import_memo_prepare_cb(GnomeDruidPage * page,
}
/****************************************************************
* gnc_ui_qif_import_memo_rematch_cb
*
* This handler is invoked when the user clicks the "Change
* GnuCash account" button on the memo mapping page. This
* button is an alternative to double-clicking a row.
****************************************************************/
static void
gnc_ui_qif_import_memo_rematch_cb(GtkButton *button, gpointer user_data)
{
QIFImportWindow *wind = user_data;
g_return_if_fail(wind);
rematch_line(wind,
gtk_tree_view_get_selection(GTK_TREE_VIEW(wind->memo_view)),
wind->memo_display_info,
wind->memo_map_info,
update_memo_page);
}
/****************************************************************
* gnc_ui_qif_import_commodity_update
*
@@ -2469,21 +2676,33 @@ gnc_ui_qif_import_druid_make(void)
G_CALLBACK(gnc_ui_qif_import_default_acct_back_cb), retval);
glade_xml_signal_connect_data
(xml, "gnc_ui_qif_import_accounts_prepare_cb",
G_CALLBACK(gnc_ui_qif_import_accounts_prepare_cb), retval);
(xml, "gnc_ui_qif_import_account_prepare_cb",
G_CALLBACK(gnc_ui_qif_import_account_prepare_cb), retval);
glade_xml_signal_connect_data
(xml, "gnc_ui_qif_import_categories_prepare_cb",
G_CALLBACK(gnc_ui_qif_import_categories_prepare_cb), retval);
(xml, "gnc_ui_qif_import_account_rematch_cb",
G_CALLBACK(gnc_ui_qif_import_account_rematch_cb), retval);
glade_xml_signal_connect_data
(xml, "gnc_ui_qif_import_categories_next_cb",
G_CALLBACK(gnc_ui_qif_import_categories_next_cb), retval);
(xml, "gnc_ui_qif_import_category_prepare_cb",
G_CALLBACK(gnc_ui_qif_import_category_prepare_cb), retval);
glade_xml_signal_connect_data
(xml, "gnc_ui_qif_import_category_rematch_cb",
G_CALLBACK(gnc_ui_qif_import_category_rematch_cb), retval);
glade_xml_signal_connect_data
(xml, "gnc_ui_qif_import_category_next_cb",
G_CALLBACK(gnc_ui_qif_import_category_next_cb), retval);
glade_xml_signal_connect_data
(xml, "gnc_ui_qif_import_memo_prepare_cb",
G_CALLBACK(gnc_ui_qif_import_memo_prepare_cb), retval);
glade_xml_signal_connect_data
(xml, "gnc_ui_qif_import_memo_rematch_cb",
G_CALLBACK(gnc_ui_qif_import_memo_rematch_cb), retval);
glade_xml_signal_connect_data
(xml, "gnc_ui_qif_import_memo_next_cb",
G_CALLBACK(gnc_ui_qif_import_memo_next_cb), retval);
@@ -2523,15 +2742,21 @@ gnc_ui_qif_import_druid_make(void)
retval->match_transactions = SCM_BOOL_F;
retval->selected_transaction = 0;
retval->druid = glade_xml_get_widget(xml, "qif_import_druid");
retval->filename_entry = glade_xml_get_widget(xml, "qif_filename_entry");
retval->acct_entry = glade_xml_get_widget(xml, "qif_account_entry");
retval->druid = glade_xml_get_widget(xml, "qif_import_druid");
retval->filename_entry = glade_xml_get_widget(xml, "qif_filename_entry");
retval->acct_entry = glade_xml_get_widget(xml, "qif_account_entry");
retval->date_format_combo = glade_xml_get_widget(xml, "date_format_combobox");
retval->selected_file_view = glade_xml_get_widget(xml, "selected_file_view");
retval->currency_picker = glade_xml_get_widget(xml, "currency_comboboxentry");
retval->acct_view = glade_xml_get_widget(xml, "account_page_view");
retval->cat_view = glade_xml_get_widget(xml, "category_page_view");
retval->memo_view = glade_xml_get_widget(xml, "memo_page_view");
retval->acct_view = glade_xml_get_widget(xml, "account_page_view");
retval->acct_view_count = glade_xml_get_widget(xml, "account_page_count");
retval->acct_view_btn = glade_xml_get_widget(xml, "account_page_change");
retval->cat_view = glade_xml_get_widget(xml, "category_page_view");
retval->cat_view_count = glade_xml_get_widget(xml, "category_page_count");
retval->cat_view_btn = glade_xml_get_widget(xml, "category_page_change");
retval->memo_view = glade_xml_get_widget(xml, "memo_page_view");
retval->memo_view_count = glade_xml_get_widget(xml, "memo_page_count");
retval->memo_view_btn = glade_xml_get_widget(xml, "memo_page_change");
retval->new_transaction_view =
glade_xml_get_widget(xml, "new_transaction_view");
retval->old_transaction_view =
@@ -2591,14 +2816,22 @@ gnc_ui_qif_import_druid_make(void)
G_CALLBACK(gnc_ui_qif_import_select_loaded_file_cb),
retval);
/* Set up the QIF account to GnuCash account matcher. */
create_account_picker_view(retval->acct_view, _("QIF account name"),
G_CALLBACK(gnc_ui_qif_import_account_line_select_cb),
G_CALLBACK(gnc_ui_qif_import_account_activate_cb),
G_CALLBACK(gnc_ui_qif_import_account_select_cb),
retval);
/* Set up the QIF category to GnuCash account matcher. */
create_account_picker_view(retval->cat_view, _("QIF category name"),
G_CALLBACK(gnc_ui_qif_import_category_line_select_cb),
G_CALLBACK(gnc_ui_qif_import_category_activate_cb),
G_CALLBACK(gnc_ui_qif_import_category_select_cb),
retval);
/* Set up the QIF payee/memo to GnuCash account matcher. */
create_account_picker_view(retval->memo_view, _("QIF payee/memo"),
G_CALLBACK(gnc_ui_qif_import_memo_line_select_cb),
G_CALLBACK(gnc_ui_qif_import_memo_activate_cb),
G_CALLBACK(gnc_ui_qif_import_memo_select_cb),
retval);
/* Set up the new transaction view */

View File

@@ -87,12 +87,31 @@
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkFrame" id="frame1">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="label_yalign">0.5</property>
<property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
<child>
<widget class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="label" translatable="yes">_Select or add a GnuCash account:</property>
<property name="use_underline">Yes</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">5</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">account_tree</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">5</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkScrolledWindow" id="scrolledwindow24">
@@ -117,36 +136,6 @@
</child>
</widget>
</child>
<child>
<widget class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="label" translatable="yes">Select or add a GnuCash account</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="type">label_item</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
@@ -675,7 +664,7 @@ Note that GnuCash will be creating many accounts that did not exist on your othe
<property name="visible">True</property>
<property name="title" translatable="yes">Match QIF accounts with GnuCash accounts</property>
<property name="title_foreground">#f5f5f5f5f5f5</property>
<signal name="prepare" handler="gnc_ui_qif_import_accounts_prepare_cb"/>
<signal name="prepare" handler="gnc_ui_qif_import_account_prepare_cb"/>
<signal name="next" handler="gnc_ui_qif_import_generic_next_cb"/>
<signal name="back" handler="gnc_ui_qif_import_generic_back_cb"/>
@@ -684,7 +673,33 @@ Note that GnuCash will be creating many accounts that did not exist on your othe
<property name="border_width">25</property>
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<property name="spacing">5</property>
<child>
<widget class="GtkLabel" id="label7609">
<property name="visible">True</property>
<property name="label" translatable="yes">_Select the matchings you want to change:</property>
<property name="use_underline">Yes</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">5</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">account_page_view</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">5</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkScrolledWindow" id="scrolledwindow11">
@@ -717,25 +732,81 @@ Note that GnuCash will be creating many accounts that did not exist on your othe
</child>
<child>
<widget class="GtkLabel" id="label828">
<widget class="GtkHBox" id="hbox7609">
<property name="visible">True</property>
<property name="label" translatable="yes">Click &quot;Forward&quot; to check matchings for QIF categories. </property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">True</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkLabel" id="label7610">
<property name="visible">True</property>
<property name="label" translatable="yes">Matchings selected:</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">True</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="account_page_count">
<property name="visible">True</property>
<property name="label" translatable="no">0</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">True</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">3</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkButton" id="account_page_change">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Change GnuCash _Account...</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="gnc_ui_qif_import_account_rematch_cb"/>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">3</property>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
@@ -798,8 +869,8 @@ If you change your mind later, you can reorganize the account structure safely w
<property name="visible">True</property>
<property name="title" translatable="yes">Match QIF categories with GnuCash accounts</property>
<property name="title_foreground">#f5f5f5f5f5f5</property>
<signal name="prepare" handler="gnc_ui_qif_import_categories_prepare_cb"/>
<signal name="next" handler="gnc_ui_qif_import_categories_next_cb"/>
<signal name="prepare" handler="gnc_ui_qif_import_category_prepare_cb"/>
<signal name="next" handler="gnc_ui_qif_import_category_next_cb"/>
<signal name="back" handler="gnc_ui_qif_import_generic_back_cb"/>
<child internal-child="vbox">
@@ -807,7 +878,33 @@ If you change your mind later, you can reorganize the account structure safely w
<property name="border_width">25</property>
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<property name="spacing">5</property>
<child>
<widget class="GtkLabel" id="label7611">
<property name="visible">True</property>
<property name="label" translatable="yes">_Select the matchings you want to change:</property>
<property name="use_underline">Yes</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">5</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">category_page_view</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">5</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkScrolledWindow" id="scrolledwindow12">
@@ -839,25 +936,81 @@ If you change your mind later, you can reorganize the account structure safely w
</child>
<child>
<widget class="GtkLabel" id="label829">
<widget class="GtkHBox" id="hbox7612">
<property name="visible">True</property>
<property name="label" translatable="yes">Click &quot;Forward&quot; to enter information about the currency used in your QIF files.</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkLabel" id="label7613">
<property name="visible">True</property>
<property name="label" translatable="yes">Matchings selected:</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">True</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="category_page_count">
<property name="visible">True</property>
<property name="label" translatable="no">0</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">True</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">3</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkButton" id="category_page_change">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Change GnuCash _Account...</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="gnc_ui_qif_import_category_rematch_cb"/>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">3</property>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
@@ -929,6 +1082,32 @@ In the following page, you will see the text that appears in the Payee and Memo
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkLabel" id="label7614">
<property name="visible">True</property>
<property name="label" translatable="yes">_Select the matchings you want to change:</property>
<property name="use_underline">Yes</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">5</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">memo_page_view</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">5</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkScrolledWindow" id="scrolledwindow12">
<property name="visible">True</property>
@@ -957,6 +1136,87 @@ In the following page, you will see the text that appears in the Payee and Memo
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkHBox" id="hbox7615">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkLabel" id="label7616">
<property name="visible">True</property>
<property name="label" translatable="yes">Matchings selected:</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">True</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="memo_page_count">
<property name="visible">True</property>
<property name="label" translatable="no">0</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">True</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">3</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkButton" id="memo_page_change">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Change GnuCash _Account...</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="gnc_ui_qif_import_memo_rematch_cb"/>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
</child>
</widget>
@@ -980,50 +1240,8 @@ In the following page, you will see the text that appears in the Payee and Memo
<child>
<widget class="GtkLabel" id="label831">
<property name="visible">True</property>
<property name="label" translatable="yes">The QIF importer cannot currently handle multi-currency QIF files. All the accounts in the QIF file(s) you are importing must be denominated in the same currency. This limitation should be removed soon.
Select the currency to use for transactions imported from your QIF files:
<property name="label" translatable="yes">The QIF importer cannot currently handle multi-currency QIF files. All the accounts you are importing must be denominated in the same currency.
</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">True</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkComboBoxEntry" id="currency_comboboxentry">
<property name="visible">True</property>
<property name="items">Dummy currency entry</property>
<property name="add_tearoffs">False</property>
<property name="has_frame">True</property>
<property name="focus_on_click">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label832">
<property name="visible">True</property>
<property name="label" translatable="yes">Click &quot;Forward&quot; to enter information about stocks and mutual funds in the imported data.</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
@@ -1042,7 +1260,47 @@ Select the currency to use for transactions imported from your QIF files:
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label832">
<property name="visible">True</property>
<property name="label" translatable="yes">_Select the currency to use for all imported transactions:</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">4</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">currency_comboboxentry</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkComboBoxEntry" id="currency_comboboxentry">
<property name="visible">True</property>
<property name="items">Dummy currency entry</property>
<property name="add_tearoffs">False</property>
<property name="has_frame">True</property>
<property name="focus_on_click">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>