diff --git a/gnucash/gnome-utils/dialog-query-view.c b/gnucash/gnome-utils/dialog-query-view.c index 56f01eaf14..c22a2bc15d 100644 --- a/gnucash/gnome-utils/dialog-query-view.c +++ b/gnucash/gnome-utils/dialog-query-view.c @@ -352,6 +352,7 @@ gnc_dialog_query_view_create (GtkWindow *parent, GList *param_list, Query *q, const char *title, const char *label, gboolean abs, gboolean inv_sort, gint sort_column, GtkSortType order, + gint expand_column, GNCDisplayViewButton *buttons, const gchar *pref_group, gpointer user_data) { @@ -380,6 +381,9 @@ gnc_dialog_query_view_create (GtkWindow *parent, GList *param_list, Query *q, /* Set the sort order */ gnc_query_sort_order (GNC_QUERY_VIEW (dqv->qview), sort_column, order); + /* Set the column that expands, columns start from 0 */ + gnc_query_set_expand_column (GNC_QUERY_VIEW (dqv->qview), expand_column); + /* Unselect all rows */ gnc_query_view_unselect_all (GNC_QUERY_VIEW (dqv->qview)); diff --git a/gnucash/gnome-utils/dialog-query-view.h b/gnucash/gnome-utils/dialog-query-view.h index 237955715a..df8ea04c2c 100644 --- a/gnucash/gnome-utils/dialog-query-view.h +++ b/gnucash/gnome-utils/dialog-query-view.h @@ -57,6 +57,7 @@ gnc_dialog_query_view_create (GtkWindow *parent, GList *param_list, Query *q, const char *title, const char *label, gboolean abs, gboolean inv_sort, gint sort_column, GtkSortType order, + gint expand_column, GNCDisplayViewButton *buttons, const gchar *pref_group, gpointer user_data); diff --git a/gnucash/gnome-utils/gnc-query-view.c b/gnucash/gnome-utils/gnc-query-view.c index 31600932b5..4eaf1520eb 100644 --- a/gnucash/gnome-utils/gnc-query-view.c +++ b/gnucash/gnome-utils/gnc-query-view.c @@ -775,6 +775,32 @@ gnc_query_view_set_query_sort (GNCQueryView *qview, gboolean new_column) gnc_query_view_refresh (qview); } +/********************************************************************\ + * gnc_query_set_expand_column * + * sets the column that expands to take up free space starting * + * from 0 * + * * + * Args: qview - view to change the sort order for * + * column - the tree view column to set to expand * + * Returns: nothing * +\********************************************************************/ +void +gnc_query_set_expand_column (GNCQueryView *qview, gint column) +{ + g_return_if_fail (qview != NULL); + g_return_if_fail (GNC_IS_QUERY_VIEW(qview)); + + GtkTreeView *view = GTK_TREE_VIEW(qview); + + gint num_columns = gtk_tree_view_get_n_columns (view); + + if (column >= 0 && column < num_columns) + { + GtkTreeViewColumn *tree_column = gtk_tree_view_get_column (view, column); + gtk_tree_view_column_set_expand (tree_column, TRUE); + } +} + /********************************************************************\ * gnc_query_view_fill * * Add all items to the list store * diff --git a/gnucash/gnome-utils/gnc-query-view.h b/gnucash/gnome-utils/gnc-query-view.h index 420ac455b3..bd50d536c6 100644 --- a/gnucash/gnome-utils/gnc-query-view.h +++ b/gnucash/gnome-utils/gnc-query-view.h @@ -119,6 +119,8 @@ gboolean gnc_query_view_item_in_view (GNCQueryView *qview, gpointer item); void gnc_query_sort_order (GNCQueryView *qview, gint column, GtkSortType order); +void gnc_query_set_expand_column (GNCQueryView *qview, gint column); + void gnc_query_scroll_to_selection (GNCQueryView *qview); void gnc_query_force_scroll_to_selection (GNCQueryView *qview); diff --git a/gnucash/gnome/dialog-invoice.c b/gnucash/gnome/dialog-invoice.c index e615f8f0e3..7189cea869 100644 --- a/gnucash/gnome/dialog-invoice.c +++ b/gnucash/gnome/dialog-invoice.c @@ -3923,6 +3923,7 @@ gnc_invoice_show_docs_due (GtkWindow *parent, QofBook *book, double days_in_adva message, TRUE, FALSE, 1, GTK_SORT_ASCENDING, + 1, // columns start from 0 duetype == DUE_FOR_VENDOR ? vendorbuttons : customerbuttons,