Open a new page for search results.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/branches/gnucash-gnome2-dev@9307 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
David Hampton
2003-09-14 01:33:25 +00:00
parent 1247a248da
commit c49b5f727e
4 changed files with 32 additions and 5 deletions

View File

@@ -17,6 +17,16 @@
* src/gnome/gnc-plugin-register.c: Can now open arbitrary account
registers.
* src/gnome/gnc-main-window.c: Track all open windows. If a
caller tries to open a new page but doesn't specify where, use the
first window available (which should be the initial window).
* src/gnome-search/search.glade: Expand the dialog properly.
* src/gnome/dialog-find-transactions.c:
* src/gnome/gnc-plugin-page-register.[ch]: Open a new page for
search results.
2003-09-09 David Hampton <hampton@employees.org>
* src/gnome-search/dialog-search.c:

View File

@@ -35,7 +35,8 @@
#include "SX-book.h"
#include "Transaction.h"
#include "dialog-find-transactions.h"
#include "window-register.h"
#include "gnc-main-window.h"
#include "gnc-plugin-page-register.h"
#include "messages.h"
#include "search-param.h"
@@ -51,6 +52,7 @@ do_find_cb (QueryNew *query, gpointer user_data, gpointer *result)
struct _ftd_data *ftd = user_data;
GNCLedgerDisplay *ledger;
gboolean new_ledger = FALSE;
GncPluginPage *page;
ledger = gnc_ledger_display_find_by_query (ftd->ledger_q);
if(!ledger) {
@@ -63,8 +65,10 @@ do_find_cb (QueryNew *query, gpointer user_data, gpointer *result)
gnc_ledger_display_refresh (ledger);
if (new_ledger)
regWindowLedger(ledger);
if (new_ledger) {
page = gnc_plugin_page_register_new_ledger (ledger);
gnc_main_window_open_page (NULL, page);
}
gncQueryDestroy (ftd->q);

View File

@@ -168,6 +168,17 @@ gnc_plugin_page_register_new_gl (void)
return GNC_PLUGIN_PAGE (plugin_page);
}
GncPluginPage *
gnc_plugin_page_register_new_ledger (GNCLedgerDisplay *ledger)
{
GncPluginPageRegister *plugin_page;
plugin_page = g_object_new (GNC_TYPE_PLUGIN_PAGE_REGISTER, NULL);
plugin_page->priv->ld = ledger;
return GNC_PLUGIN_PAGE (plugin_page);
}
static void
gnc_plugin_page_register_class_init (GncPluginPageRegisterClass *klass)
{

View File

@@ -28,6 +28,7 @@
#include <gtk/gtkwindow.h>
#include "Account.h"
#include "gnc-ledger-display.h"
#include "gnc-plugin-page.h"
G_BEGIN_DECLS
@@ -58,8 +59,9 @@ typedef struct {
/* function prototypes */
GType gnc_plugin_page_register_get_type (void);
GncPluginPage *gnc_plugin_page_register_new (Account *account, gboolean subaccounts);
GncPluginPage *gnc_plugin_page_register_new_gl (void);
GncPluginPage *gnc_plugin_page_register_new (Account *account, gboolean subaccounts);
GncPluginPage *gnc_plugin_page_register_new_ledger (GNCLedgerDisplay *ledger);
GncPluginPage *gnc_plugin_page_register_new_gl (void);
G_END_DECLS