26 #include <glib/gi18n.h>
34 #include "dialog-find-transactions2.h"
36 #include "gnc-plugin-page-register2.h"
37 #include "search-param.h"
39 #define GNC_PREFS_GROUP_SEARCH "dialogs.find"
49 do_find_cb (
QofQuery *query, gpointer user_data, gpointer *result)
53 gboolean new_ledger = FALSE;
56 ledger = gnc_ledger_display2_find_by_query (ftd->ledger_q);
61 ledger = gnc_ledger_display2_query (query, SEARCH_LEDGER2,
65 gnc_ledger_display2_set_query (ledger, query);
67 gnc_ledger_display2_refresh (ledger);
77 gnc_search_dialog_destroy (ftd->sw);
81 free_ftd_cb (gpointer user_data)
96 static GList *params = NULL;
104 params = gnc_search_param_prepend (params, N_(
"All Accounts"),
106 type, SPLIT_TRANS, TRANS_SPLITLIST,
108 params = gnc_search_param_prepend (params, N_(
"Account"), GNC_ID_ACCOUNT,
109 type, SPLIT_ACCOUNT, QOF_PARAM_GUID,
111 params = gnc_search_param_prepend (params, N_(
"Balanced"), NULL,
112 type, SPLIT_TRANS, TRANS_IS_BALANCED,
114 params = gnc_search_param_prepend (params, N_(
"Closing Entries"), NULL,
115 type, SPLIT_TRANS, TRANS_IS_CLOSING,
117 params = gnc_search_param_prepend (params, N_(
"Reconcile"), RECONCILED_MATCH_TYPE,
118 type, SPLIT_RECONCILE, NULL);
119 params = gnc_search_param_prepend (params, N_(
"Share Price"), NULL,
120 type, SPLIT_SHARE_PRICE, NULL);
121 params = gnc_search_param_prepend (params, N_(
"Shares"), NULL,
122 type, SPLIT_AMOUNT, NULL);
123 params = gnc_search_param_prepend (params, N_(
"Value"), NULL,
124 type, SPLIT_VALUE, NULL);
125 params = gnc_search_param_prepend (params, N_(
"Date Posted"), NULL,
126 type, SPLIT_TRANS, TRANS_DATE_POSTED,
128 params = gnc_search_param_prepend (params, N_(
"Notes"), NULL,
129 type, SPLIT_TRANS, TRANS_NOTES, NULL);
130 params = gnc_search_param_prepend (params, (num_action
131 ? N_(
"Number/Action")
132 : N_(
"Action")), NULL,
133 type, SPLIT_ACTION, NULL);
134 params = gnc_search_param_prepend (params, (num_action
135 ? N_(
"Transaction Number")
136 : N_(
"Number")), NULL,
137 type, SPLIT_TRANS, TRANS_NUM, NULL);
138 params = gnc_search_param_prepend (params, N_(
"Memo"), NULL,
139 type, SPLIT_MEMO, NULL);
140 params = gnc_search_param_prepend (params, N_(
"Description"), NULL,
141 type, SPLIT_TRANS, TRANS_DESCRIPTION,
147 for (l = params; l; l = l->next)
153 if (strcmp (param->title, N_(
"Action")) == 0)
154 gnc_search_param_set_title (param, N_(
"Number/Action"));
155 if (strcmp (param->title, N_(
"Number")) == 0)
156 gnc_search_param_set_title (param, N_(
"Transaction Number"));
160 if (strcmp (param->title, N_(
"Number/Action")) == 0)
161 gnc_search_param_set_title (param, N_(
"Action"));
162 if (strcmp (param->title, N_(
"Transaction Number")) == 0)
163 gnc_search_param_set_title (param, N_(
"Number"));
172 ftd->ledger_q = gnc_ledger_display2_get_query (orig_ledg);
198 xaccQueryAddAccountMatch( start_q, al, QOF_GUID_MATCH_NONE, QOF_QUERY_AND );
207 ftd->sw = gnc_search_dialog_create (type, _(
"Find Transaction"),
208 params, NULL, start_q, show_q,
209 NULL, do_find_cb, NULL,
210 ftd, free_ftd_cb, GNC_PREFS_GROUP_SEARCH, NULL);
utility functions for the GnuCash UI
gboolean qof_book_use_split_action_for_num_field(const QofBook *book)
QofQuery * qof_query_copy(QofQuery *q)
Account * gnc_book_get_template_root(const QofBook *book)
struct _QofQuery QofQuery
void gnc_main_window_open_page(GncMainWindow *window, GncPluginPage *page)
Functions for adding content to a window.
void qof_query_destroy(QofQuery *q)
GncPluginPage * gnc_plugin_page_register2_new_ledger(GNCLedgerDisplay2 *ledger)
#define ACCOUNT_MATCH_ALL_TYPE
void qof_query_set_book(QofQuery *q, QofBook *book)
#define SPLIT_ACCOUNT_GUID
Anchor Scheduled Transaction info in a book. See src/doc/books.txt for design overview.
GList * gnc_account_get_descendants(const Account *account)
API for Transactions and Splits (journal entries)
QofQuery * qof_query_create(void)