mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Merge branch 'prices-in' of /mygit/gnucash into prices-in
This commit is contained in:
commit
43f1b2fde0
@ -73,6 +73,23 @@ OPTION (AUTOTOOLS_IN_DIST "Add autotools support to distribution tarballs." ON)
|
|||||||
# These are also settable from the command line in a similar way.
|
# These are also settable from the command line in a similar way.
|
||||||
|
|
||||||
SET(GNUCASH_BUILD_ID "" CACHE STRING "Overrides the GnuCash build identification (Build ID) which defaults to a description of the vcs commit from which gnucash is built. Distributions may want to insert a package management based version number instead")
|
SET(GNUCASH_BUILD_ID "" CACHE STRING "Overrides the GnuCash build identification (Build ID) which defaults to a description of the vcs commit from which gnucash is built. Distributions may want to insert a package management based version number instead")
|
||||||
|
|
||||||
|
# Check that all of the absolute install paths are inside
|
||||||
|
# ${CMAKE_INSTALL_PREFIX}. If they're not, disable binreloc as it
|
||||||
|
# won't be able to find paths that aren't relative to the location of
|
||||||
|
# the executable.
|
||||||
|
foreach(install_dir ${CMAKE_INSTALL_FULL_BINDIR}
|
||||||
|
${CMAKE_INSTALL_FULL_SYSCONFDIR} ${CMAKE_INSTALL_FULL_DATAROOTDIR}
|
||||||
|
${CMAKE_INSTALL_FULL_DATADIR} ${CMAKE_INSTALL_FULL_LIBDIR})
|
||||||
|
string(FIND ${install_dir} ${CMAKE_INSTALL_PREFIX} in_prefix)
|
||||||
|
if(in_prefix EQUAL -1)
|
||||||
|
set(ENABLE_BINRELOC OFF)
|
||||||
|
message(WARNING "${install_dir} is set outside of the intallation prefix ${CMAKE_INSTALL_PREFIX}. That will break relocation so ENABLE_BINRELOC is set to off. With relocation disabled GnuCash will run only in its configured install location. You must set GNC_UNINSTALLED=1 and GNC_BUILDDIR=/path/to/builddir to run from the build directory. GnuCash will not run from a DESTDIR.")
|
||||||
|
break()
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
# GnuCash installs two files in ${CMAKE_INSTALL_SYSCONFDIR}
|
||||||
SET(BINDIR ${CMAKE_INSTALL_BINDIR} CACHE STRING "user executables")
|
SET(BINDIR ${CMAKE_INSTALL_BINDIR} CACHE STRING "user executables")
|
||||||
SET(SYSCONFDIR ${CMAKE_INSTALL_SYSCONFDIR} CACHE STRING "read-only single-machine data")
|
SET(SYSCONFDIR ${CMAKE_INSTALL_SYSCONFDIR} CACHE STRING "read-only single-machine data")
|
||||||
SET(DATAROOTDIR ${CMAKE_INSTALL_DATAROOTDIR} CACHE STRING "read-only arch.-independent data root")
|
SET(DATAROOTDIR ${CMAKE_INSTALL_DATAROOTDIR} CACHE STRING "read-only arch.-independent data root")
|
||||||
@ -82,7 +99,7 @@ SET(LOCALEDIR ${DATAROOTDIR}/locale CACHE STRING "locale-dependent data")
|
|||||||
SET(GNC_HELPDIR ${DATADIR} CACHE STRING "where to store help files")
|
SET(GNC_HELPDIR ${DATADIR} CACHE STRING "where to store help files")
|
||||||
SET(DATADIRNAME share)
|
SET(DATADIRNAME share)
|
||||||
SET(GNC_SYSTEM_XDG_DATA_DIRS /usr/local/share /usr/share)
|
SET(GNC_SYSTEM_XDG_DATA_DIRS /usr/local/share /usr/share)
|
||||||
SET(GNC_DBD_DIR ${CMAKE_PREFIX_PATH}/lib/dbd CACHE PATH "specify location of libdbi drivers")
|
SET(GNC_DBD_DIR ${CMAKE_PREFIX_LIBDIR}/dbd CACHE PATH "specify location of libdbi drivers")
|
||||||
SET(PKGLIBDIR ${CMAKE_INSTALL_LIBDIR}/gnucash)
|
SET(PKGLIBDIR ${CMAKE_INSTALL_LIBDIR}/gnucash)
|
||||||
SET(TEST_MYSQL_URL "" CACHE STRING "MySQL database URL for testing")
|
SET(TEST_MYSQL_URL "" CACHE STRING "MySQL database URL for testing")
|
||||||
SET(TEST_PGSQL_URL "" CACHE STRING "PgSQL database URL for testing")
|
SET(TEST_PGSQL_URL "" CACHE STRING "PgSQL database URL for testing")
|
||||||
|
@ -162,13 +162,13 @@ gnc_search_callback_button_execute (GNCSearchCallbackButton *cb,
|
|||||||
sw->selected_item_list = g_list_reverse(sw->selected_item_list);
|
sw->selected_item_list = g_list_reverse(sw->selected_item_list);
|
||||||
|
|
||||||
// Call the callback
|
// Call the callback
|
||||||
(cb->cb_multiselect_fn)(sw->selected_item_list, sw->user_data);
|
(cb->cb_multiselect_fn)(GTK_WINDOW (sw->dialog), sw->selected_item_list, sw->user_data);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// No, stick to the single-item callback
|
// No, stick to the single-item callback
|
||||||
if (cb->cb_fcn)
|
if (cb->cb_fcn)
|
||||||
(cb->cb_fcn)(&(sw->selected_item), sw->user_data);
|
(cb->cb_fcn)(GTK_WINDOW (sw->dialog), &(sw->selected_item), sw->user_data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -234,11 +234,11 @@ gnc_search_dialog_select_cb (GtkButton *button, GNCSearchWindow *sw)
|
|||||||
if (sw->selected_item == NULL && sw->allow_clear == FALSE)
|
if (sw->selected_item == NULL && sw->allow_clear == FALSE)
|
||||||
{
|
{
|
||||||
char *msg = _("You must select an item from the list");
|
char *msg = _("You must select an item from the list");
|
||||||
gnc_error_dialog (sw->dialog, "%s", msg);
|
gnc_error_dialog (GTK_WINDOW (sw->dialog), "%s", msg);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
(sw->selected_cb)(sw->selected_item, sw->select_arg);
|
(sw->selected_cb)(GTK_WINDOW (sw->dialog), sw->selected_item, sw->select_arg);
|
||||||
gnc_search_dialog_destroy (sw);
|
gnc_search_dialog_destroy (sw);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -637,7 +637,7 @@ search_new_item_cb (GtkButton *button, GNCSearchWindow *sw)
|
|||||||
|
|
||||||
g_return_if_fail (sw->new_item_cb);
|
g_return_if_fail (sw->new_item_cb);
|
||||||
|
|
||||||
res = (sw->new_item_cb)(sw->user_data);
|
res = (sw->new_item_cb)(GTK_WINDOW (sw->dialog), sw->user_data);
|
||||||
|
|
||||||
if (res)
|
if (res)
|
||||||
{
|
{
|
||||||
@ -1300,7 +1300,8 @@ gnc_search_dialog_raise (GNCSearchWindow *sw)
|
|||||||
}
|
}
|
||||||
|
|
||||||
GNCSearchWindow *
|
GNCSearchWindow *
|
||||||
gnc_search_dialog_create (QofIdTypeConst obj_type, const gchar *title,
|
gnc_search_dialog_create (GtkWindow *parent,
|
||||||
|
QofIdTypeConst obj_type, const gchar *title,
|
||||||
GList *param_list,
|
GList *param_list,
|
||||||
GList *display_list,
|
GList *display_list,
|
||||||
QofQuery *start_query, QofQuery *show_start_query,
|
QofQuery *start_query, QofQuery *show_start_query,
|
||||||
@ -1345,6 +1346,7 @@ gnc_search_dialog_create (QofIdTypeConst obj_type, const gchar *title,
|
|||||||
gnc_search_dialog_init_widgets (sw, title);
|
gnc_search_dialog_init_widgets (sw, title);
|
||||||
if (sw->prefs_group)
|
if (sw->prefs_group)
|
||||||
gnc_restore_window_size(sw->prefs_group, GTK_WINDOW(sw->dialog));
|
gnc_restore_window_size(sw->prefs_group, GTK_WINDOW(sw->dialog));
|
||||||
|
gtk_window_set_transient_for(GTK_WINDOW(sw->dialog), parent);
|
||||||
gtk_widget_show(sw->dialog);
|
gtk_widget_show(sw->dialog);
|
||||||
|
|
||||||
// Set the style context for this dialog so it can be easily manipulated with css
|
// Set the style context for this dialog so it can be easily manipulated with css
|
||||||
@ -1465,7 +1467,7 @@ get_display_list (QofIdTypeConst type)
|
|||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
do_nothing (gpointer *a, gpointer b)
|
do_nothing (GtkWindow *dialog, gpointer *a, gpointer b)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1494,7 +1496,7 @@ gnc_search_dialog_test (void)
|
|||||||
display = get_display_list (GNC_ID_SPLIT);
|
display = get_display_list (GNC_ID_SPLIT);
|
||||||
|
|
||||||
/* FIXME: All this does is leak. */
|
/* FIXME: All this does is leak. */
|
||||||
gnc_search_dialog_create (GNC_ID_SPLIT, _("Find Transaction"),
|
gnc_search_dialog_create (NULL, GNC_ID_SPLIT, _("Find Transaction"),
|
||||||
params, display,
|
params, display,
|
||||||
NULL, NULL, buttons, NULL, NULL, NULL, NULL,
|
NULL, NULL, buttons, NULL, NULL, NULL, NULL,
|
||||||
NULL, NULL, NULL);
|
NULL, NULL, NULL);
|
||||||
|
@ -40,7 +40,7 @@ typedef struct _GNCSearchWindow GNCSearchWindow;
|
|||||||
* result will be a pointer to the selected item (if one is selected)
|
* result will be a pointer to the selected item (if one is selected)
|
||||||
* and the callback may change the value.
|
* and the callback may change the value.
|
||||||
*/
|
*/
|
||||||
typedef void (*GNCSearchCallback) (gpointer *obj_p, gpointer user_data);
|
typedef void (*GNCSearchCallback) (GtkWindow *dialog, gpointer *obj_p, gpointer user_data);
|
||||||
typedef void (*GNCSearchResultCB) (QofQuery *query, gpointer user_data,
|
typedef void (*GNCSearchResultCB) (QofQuery *query, gpointer user_data,
|
||||||
gpointer *result);
|
gpointer *result);
|
||||||
|
|
||||||
@ -50,7 +50,7 @@ typedef void (*GNCSearchResultCB) (QofQuery *query, gpointer user_data,
|
|||||||
* will be added to the query, but not selected. This means the GncGUID
|
* will be added to the query, but not selected. This means the GncGUID
|
||||||
* must be set.
|
* must be set.
|
||||||
*/
|
*/
|
||||||
typedef gpointer (*GNCSearchNewItemCB) (gpointer user_data);
|
typedef gpointer (*GNCSearchNewItemCB) (GtkWindow *dialog, gpointer user_data);
|
||||||
|
|
||||||
/* Free the general user_data object */
|
/* Free the general user_data object */
|
||||||
typedef void (*GNCSearchFree) (gpointer user_data);
|
typedef void (*GNCSearchFree) (gpointer user_data);
|
||||||
@ -59,15 +59,17 @@ typedef void (*GNCSearchFree) (gpointer user_data);
|
|||||||
* button. The search dialog will close when this callback function
|
* button. The search dialog will close when this callback function
|
||||||
* returns.
|
* returns.
|
||||||
*/
|
*/
|
||||||
typedef void (*GNCSearchSelectedCB) (gpointer selected_object,
|
typedef void (*GNCSearchSelectedCB) (GtkWindow *dialog,
|
||||||
|
gpointer selected_object,
|
||||||
gpointer user_data);
|
gpointer user_data);
|
||||||
|
|
||||||
/** This callback is called when (if) the user clicks the 'select'
|
/** This callback is called when (if) the user clicks the 'select'
|
||||||
* button. The search dialog will close when this callback function
|
* button. The search dialog will close when this callback function
|
||||||
* returns.
|
* returns.
|
||||||
*/
|
*/
|
||||||
typedef void (*GNCSearchMultiSelectedCB) (GList *list_of_selected_objects,
|
typedef void (*GNCSearchMultiSelectedCB) (GtkWindow *dialog,
|
||||||
gpointer user_data);
|
GList *list_of_selected_objects,
|
||||||
|
gpointer user_data);
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
@ -103,7 +105,8 @@ typedef struct
|
|||||||
* the dialog will use the obj_type instead.
|
* the dialog will use the obj_type instead.
|
||||||
*/
|
*/
|
||||||
GNCSearchWindow *
|
GNCSearchWindow *
|
||||||
gnc_search_dialog_create (QofIdTypeConst obj_type, const gchar *title,
|
gnc_search_dialog_create (GtkWindow *parent,
|
||||||
|
QofIdTypeConst obj_type, const gchar *title,
|
||||||
GList *param_list,
|
GList *param_list,
|
||||||
GList *display_list,
|
GList *display_list,
|
||||||
QofQuery *start_query, QofQuery *show_start_query,
|
QofQuery *start_query, QofQuery *show_start_query,
|
||||||
|
@ -39,6 +39,7 @@
|
|||||||
#include "gnc-component-manager.h"
|
#include "gnc-component-manager.h"
|
||||||
#include "qof.h"
|
#include "qof.h"
|
||||||
#include "gnc-general-search.h"
|
#include "gnc-general-search.h"
|
||||||
|
#include "gnc-ui.h"
|
||||||
|
|
||||||
#define GNCGENERALSEARCH_CLASS "gnc-general-search-widget"
|
#define GNCGENERALSEARCH_CLASS "gnc-general-search-widget"
|
||||||
|
|
||||||
@ -217,7 +218,7 @@ refresh_handler (GHashTable *changes, gpointer data)
|
|||||||
|
|
||||||
/* The user has selected from the search dialog */
|
/* The user has selected from the search dialog */
|
||||||
static void
|
static void
|
||||||
new_item_selected_cb (gpointer item, gpointer user_data)
|
new_item_selected_cb (GtkWindow *dialog, gpointer item, gpointer user_data)
|
||||||
{
|
{
|
||||||
GNCGeneralSearch *gsl = user_data;
|
GNCGeneralSearch *gsl = user_data;
|
||||||
gnc_general_search_set_selected (gsl, item);
|
gnc_general_search_set_selected (gsl, item);
|
||||||
@ -250,7 +251,7 @@ search_cb(GtkButton * button, gpointer user_data)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
sw = (priv->search_cb)(gsl->selected_item, priv->user_data);
|
sw = (priv->search_cb)(gnc_ui_get_gtk_window (GTK_WIDGET (button)), gsl->selected_item, priv->user_data);
|
||||||
|
|
||||||
/* NULL means nothing to 'select' */
|
/* NULL means nothing to 'select' */
|
||||||
if (sw == NULL)
|
if (sw == NULL)
|
||||||
@ -284,7 +285,7 @@ search_cb(GtkButton * button, gpointer user_data)
|
|||||||
* @param comp_iter The iter in the completion's temporary model
|
* @param comp_iter The iter in the completion's temporary model
|
||||||
* that represents the user selected match.
|
* that represents the user selected match.
|
||||||
*
|
*
|
||||||
* @param cbe A pointer to a currency entry widget. */
|
* @param gsl A pointer to a currency entry widget. */
|
||||||
static gboolean
|
static gboolean
|
||||||
gnc_gsl_match_selected_cb (GtkEntryCompletion *completion,
|
gnc_gsl_match_selected_cb (GtkEntryCompletion *completion,
|
||||||
GtkTreeModel *comp_model,
|
GtkTreeModel *comp_model,
|
||||||
|
@ -51,7 +51,7 @@
|
|||||||
* it actually returns a search-window, then this widget will set up the
|
* it actually returns a search-window, then this widget will set up the
|
||||||
* appropriate callbacks to the search window to obtain selections.
|
* appropriate callbacks to the search window to obtain selections.
|
||||||
*/
|
*/
|
||||||
typedef GNCSearchWindow *(*GNCSearchCB) (gpointer start, gpointer user_data);
|
typedef GNCSearchWindow *(*GNCSearchCB) (GtkWindow *parent, gpointer start, gpointer user_data);
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
@ -1132,7 +1132,7 @@ cleanup_parse_file:
|
|||||||
}
|
}
|
||||||
if (message)
|
if (message)
|
||||||
{
|
{
|
||||||
gnc_error_dialog (data->assistant, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (data->assistant), "%s", message);
|
||||||
}
|
}
|
||||||
if (!success)
|
if (!success)
|
||||||
gxi_session_destroy (data);
|
gxi_session_destroy (data);
|
||||||
@ -1306,7 +1306,7 @@ gxi_add_encoding (GncXmlImportData *data, gpointer encoding_ptr)
|
|||||||
if (g_list_find (data->encodings, encoding_ptr))
|
if (g_list_find (data->encodings, encoding_ptr))
|
||||||
{
|
{
|
||||||
message = _("This encoding has been added to the list already.");
|
message = _("This encoding has been added to the list already.");
|
||||||
gnc_error_dialog (data->encodings_dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (data->encodings_dialog), "%s", message);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1317,7 +1317,7 @@ gxi_add_encoding (GncXmlImportData *data, gpointer encoding_ptr)
|
|||||||
g_iconv_close (iconv);
|
g_iconv_close (iconv);
|
||||||
g_free (enc_string);
|
g_free (enc_string);
|
||||||
message = _("This is an invalid encoding.");
|
message = _("This is an invalid encoding.");
|
||||||
gnc_error_dialog (data->encodings_dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (data->encodings_dialog), "%s", message);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
g_iconv_close (iconv);
|
g_iconv_close (iconv);
|
||||||
|
@ -467,7 +467,7 @@ gnc_ui_to_account(AccountWindow *aw)
|
|||||||
if (!gnc_account_create_opening_balance (account, balance, date, aw->book))
|
if (!gnc_account_create_opening_balance (account, balance, date, aw->book))
|
||||||
{
|
{
|
||||||
const char *message = _("Could not create opening balance.");
|
const char *message = _("Could not create opening balance.");
|
||||||
gnc_error_dialog(aw->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (aw->dialog), "%s", message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -756,7 +756,7 @@ gnc_common_ok (AccountWindow *aw)
|
|||||||
if (g_strcmp0(name, "") == 0)
|
if (g_strcmp0(name, "") == 0)
|
||||||
{
|
{
|
||||||
const char *message = _("The account must be given a name.");
|
const char *message = _("The account must be given a name.");
|
||||||
gnc_error_dialog(aw->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (aw->dialog), "%s", message);
|
||||||
LEAVE("bad name");
|
LEAVE("bad name");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -782,7 +782,7 @@ gnc_common_ok (AccountWindow *aw)
|
|||||||
!guid_equal(&aw->account, xaccAccountGetGUID (account)))
|
!guid_equal(&aw->account, xaccAccountGetGUID (account)))
|
||||||
{
|
{
|
||||||
const char *message = _("There is already an account with that name.");
|
const char *message = _("There is already an account with that name.");
|
||||||
gnc_error_dialog(aw->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (aw->dialog), "%s", message);
|
||||||
LEAVE("duplicate name");
|
LEAVE("duplicate name");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -791,7 +791,7 @@ gnc_common_ok (AccountWindow *aw)
|
|||||||
if (!gnc_filter_parent_accounts(parent, aw))
|
if (!gnc_filter_parent_accounts(parent, aw))
|
||||||
{
|
{
|
||||||
const char *message = _("You must choose a valid parent account.");
|
const char *message = _("You must choose a valid parent account.");
|
||||||
gnc_error_dialog(aw->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (aw->dialog), "%s", message);
|
||||||
LEAVE("invalid parent");
|
LEAVE("invalid parent");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -800,7 +800,7 @@ gnc_common_ok (AccountWindow *aw)
|
|||||||
if (aw->type == ACCT_TYPE_INVALID)
|
if (aw->type == ACCT_TYPE_INVALID)
|
||||||
{
|
{
|
||||||
const char *message = _("You must select an account type.");
|
const char *message = _("You must select an account type.");
|
||||||
gnc_error_dialog(aw->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (aw->dialog), "%s", message);
|
||||||
LEAVE("invalid type");
|
LEAVE("invalid type");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -810,7 +810,7 @@ gnc_common_ok (AccountWindow *aw)
|
|||||||
{
|
{
|
||||||
const char *message = _("The selected account type is incompatible with "
|
const char *message = _("The selected account type is incompatible with "
|
||||||
"the one of the selected parent.");
|
"the one of the selected parent.");
|
||||||
gnc_error_dialog(aw->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (aw->dialog), "%s", message);
|
||||||
LEAVE("incompatible types");
|
LEAVE("incompatible types");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -821,7 +821,7 @@ gnc_common_ok (AccountWindow *aw)
|
|||||||
if (!commodity)
|
if (!commodity)
|
||||||
{
|
{
|
||||||
const char *message = _("You must choose a commodity.");
|
const char *message = _("You must choose a commodity.");
|
||||||
gnc_error_dialog(aw->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (aw->dialog), "%s", message);
|
||||||
LEAVE("invalid commodity");
|
LEAVE("invalid commodity");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -878,7 +878,7 @@ gnc_new_account_ok (AccountWindow *aw)
|
|||||||
{
|
{
|
||||||
const char *message = _("You must enter a valid opening balance "
|
const char *message = _("You must enter a valid opening balance "
|
||||||
"or leave it blank.");
|
"or leave it blank.");
|
||||||
gnc_error_dialog(aw->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (aw->dialog), "%s", message);
|
||||||
LEAVE(" ");
|
LEAVE(" ");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -902,7 +902,7 @@ gnc_new_account_ok (AccountWindow *aw)
|
|||||||
{
|
{
|
||||||
const char *message = _("You must select a transfer account or choose"
|
const char *message = _("You must select a transfer account or choose"
|
||||||
" the opening balances equity account.");
|
" the opening balances equity account.");
|
||||||
gnc_error_dialog(aw->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (aw->dialog), "%s", message);
|
||||||
LEAVE(" ");
|
LEAVE(" ");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -297,14 +297,14 @@ gnc_book_close_response_cb(GtkDialog *dialog, gint response, GtkDialog *unused)
|
|||||||
|
|
||||||
if (!income_acct)
|
if (!income_acct)
|
||||||
{
|
{
|
||||||
gnc_error_dialog(cbw->dialog, "%s",
|
gnc_error_dialog(GTK_WINDOW (cbw->dialog), "%s",
|
||||||
_("Please select an Equity account to hold the total Period Income."));
|
_("Please select an Equity account to hold the total Period Income."));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!expense_acct)
|
if (!expense_acct)
|
||||||
{
|
{
|
||||||
gnc_error_dialog(cbw->dialog, "%s",
|
gnc_error_dialog(GTK_WINDOW (cbw->dialog), "%s",
|
||||||
_("Please select an Equity account to hold the total Period Expense."));
|
_("Please select an Equity account to hold the total Period Expense."));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1282,8 +1282,8 @@ gnc_ui_commodity_dialog_to_object(CommodityWindow * w)
|
|||||||
gnc_commodity_commit_edit(c);
|
gnc_commodity_commit_edit(c);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
gnc_warning_dialog(w->dialog, "%s",
|
gnc_warning_dialog (GTK_WINDOW (w->dialog), "%s",
|
||||||
_("You may not create a new national currency."));
|
_("You may not create a new national currency."));
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1292,10 +1292,10 @@ gnc_ui_commodity_dialog_to_object(CommodityWindow * w)
|
|||||||
*/
|
*/
|
||||||
if (g_utf8_collate(name_space, GNC_COMMODITY_NS_TEMPLATE) == 0)
|
if (g_utf8_collate(name_space, GNC_COMMODITY_NS_TEMPLATE) == 0)
|
||||||
{
|
{
|
||||||
gnc_warning_dialog (w->dialog,
|
gnc_warning_dialog (GTK_WINDOW (w->dialog),
|
||||||
_("%s is a reserved commodity type."
|
_("%s is a reserved commodity type."
|
||||||
" Please use something else."), GNC_COMMODITY_NS_TEMPLATE);
|
" Please use something else."), GNC_COMMODITY_NS_TEMPLATE);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fullname && fullname[0] &&
|
if (fullname && fullname[0] &&
|
||||||
@ -1308,7 +1308,7 @@ gnc_ui_commodity_dialog_to_object(CommodityWindow * w)
|
|||||||
if ((!w->edit_commodity && c) ||
|
if ((!w->edit_commodity && c) ||
|
||||||
(w->edit_commodity && c && (c != w->edit_commodity)))
|
(w->edit_commodity && c && (c != w->edit_commodity)))
|
||||||
{
|
{
|
||||||
gnc_warning_dialog (w->dialog, "%s", _("That commodity already exists."));
|
gnc_warning_dialog (GTK_WINDOW (w->dialog), "%s", _("That commodity already exists."));
|
||||||
g_free(name_space);
|
g_free(name_space);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -1356,10 +1356,10 @@ gnc_ui_commodity_dialog_to_object(CommodityWindow * w)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gnc_warning_dialog(w->dialog, "%s",
|
gnc_warning_dialog (GTK_WINDOW (w->dialog), "%s",
|
||||||
_("You must enter a non-empty \"Full name\", "
|
_("You must enter a non-empty \"Full name\", "
|
||||||
"\"Symbol/abbreviation\", "
|
"\"Symbol/abbreviation\", "
|
||||||
"and \"Type\" for the commodity."));
|
"and \"Type\" for the commodity."));
|
||||||
g_free(name_space);
|
g_free(name_space);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -144,15 +144,15 @@ gnc_ui_file_access_response_cb(GtkDialog *dialog, gint response, GtkDialog *unus
|
|||||||
gboolean open_readonly = faw->readonly_checkbutton
|
gboolean open_readonly = faw->readonly_checkbutton
|
||||||
? gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(faw->readonly_checkbutton))
|
? gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(faw->readonly_checkbutton))
|
||||||
: FALSE;
|
: FALSE;
|
||||||
gnc_file_open_file( url, open_readonly );
|
gnc_file_open_file (gnc_ui_get_main_window (GTK_WIDGET (dialog)), url, open_readonly);
|
||||||
}
|
}
|
||||||
else if ( faw->type == FILE_ACCESS_SAVE_AS )
|
else if ( faw->type == FILE_ACCESS_SAVE_AS )
|
||||||
{
|
{
|
||||||
gnc_file_do_save_as( url );
|
gnc_file_do_save_as (gnc_ui_get_main_window (GTK_WIDGET (dialog)), url);
|
||||||
}
|
}
|
||||||
else if ( faw->type == FILE_ACCESS_EXPORT )
|
else if ( faw->type == FILE_ACCESS_EXPORT )
|
||||||
{
|
{
|
||||||
gnc_file_do_export( url );
|
gnc_file_do_export (gnc_ui_get_main_window (GTK_WIDGET (dialog)), url);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -240,7 +240,7 @@ get_default_database( void )
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gnc_ui_file_access( int type )
|
gnc_ui_file_access (GtkWindow *parent, int type)
|
||||||
{
|
{
|
||||||
FileAccessWindow *faw;
|
FileAccessWindow *faw;
|
||||||
GtkBuilder* builder;
|
GtkBuilder* builder;
|
||||||
@ -275,6 +275,7 @@ gnc_ui_file_access( int type )
|
|||||||
builder = gtk_builder_new();
|
builder = gtk_builder_new();
|
||||||
gnc_builder_add_from_file (builder, "dialog-file-access.glade", "file_access_dialog" );
|
gnc_builder_add_from_file (builder, "dialog-file-access.glade", "file_access_dialog" );
|
||||||
faw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "file_access_dialog" ));
|
faw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "file_access_dialog" ));
|
||||||
|
gtk_window_set_transient_for (GTK_WINDOW (faw->dialog), parent);
|
||||||
g_object_set_data_full( G_OBJECT(faw->dialog), "FileAccessWindow", faw, g_free );
|
g_object_set_data_full( G_OBJECT(faw->dialog), "FileAccessWindow", faw, g_free );
|
||||||
|
|
||||||
// Set the style context for this dialog so it can be easily manipulated with css
|
// Set the style context for this dialog so it can be easily manipulated with css
|
||||||
@ -446,21 +447,21 @@ gnc_ui_file_access( int type )
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gnc_ui_file_access_for_open( void )
|
gnc_ui_file_access_for_open (GtkWindow *parent)
|
||||||
{
|
{
|
||||||
gnc_ui_file_access( FILE_ACCESS_OPEN );
|
gnc_ui_file_access (parent, FILE_ACCESS_OPEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
gnc_ui_file_access_for_save_as( void )
|
gnc_ui_file_access_for_save_as (GtkWindow *parent)
|
||||||
{
|
{
|
||||||
gnc_ui_file_access( FILE_ACCESS_SAVE_AS );
|
gnc_ui_file_access (parent, FILE_ACCESS_SAVE_AS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
gnc_ui_file_access_for_export( void )
|
gnc_ui_file_access_for_export (GtkWindow *parent)
|
||||||
{
|
{
|
||||||
gnc_ui_file_access( FILE_ACCESS_EXPORT );
|
gnc_ui_file_access (parent, FILE_ACCESS_EXPORT);
|
||||||
}
|
}
|
||||||
|
@ -34,9 +34,9 @@
|
|||||||
* loading/open and for saving.
|
* loading/open and for saving.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void gnc_ui_file_access_for_open( void );
|
void gnc_ui_file_access_for_open (GtkWindow *parent);
|
||||||
void gnc_ui_file_access_for_save_as( void );
|
void gnc_ui_file_access_for_save_as (GtkWindow *parent);
|
||||||
void gnc_ui_file_access_for_export( void );
|
void gnc_ui_file_access_for_export (GtkWindow *parent);
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
|
@ -834,7 +834,7 @@ gnc_option_changed_gain_loss_account_widget_cb (GtkTreeSelection *selection,
|
|||||||
"the placeholder account by clicking on the arrow " \
|
"the placeholder account by clicking on the arrow " \
|
||||||
"to the left.)");
|
"to the left.)");
|
||||||
|
|
||||||
gnc_error_dialog(NULL, "%s", message);
|
gnc_error_dialog (gnc_ui_get_gtk_window (book_currency_data->default_gain_loss_account_widget), "%s", message);
|
||||||
if (book_currency_data->prior_gain_loss_account)
|
if (book_currency_data->prior_gain_loss_account)
|
||||||
{
|
{
|
||||||
(gnc_tree_view_account_set_selected_account
|
(gnc_tree_view_account_set_selected_account
|
||||||
|
@ -193,7 +193,7 @@ gnc_account_separator_validate_cb (GtkEntry *entry, GdkEvent *event, GtkWidget *
|
|||||||
|
|
||||||
if (conflict_msg)
|
if (conflict_msg)
|
||||||
{
|
{
|
||||||
gnc_warning_dialog(dialog, "%s", conflict_msg);
|
gnc_warning_dialog (GTK_WINDOW (dialog), "%s", conflict_msg);
|
||||||
g_free ( conflict_msg );
|
g_free ( conflict_msg );
|
||||||
}
|
}
|
||||||
g_free (separator);
|
g_free (separator);
|
||||||
|
@ -85,7 +85,7 @@ gnc_dialog_query_run_callback (GNCDisplayViewButton *cb, gpointer item,
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if (cb->cb_fcn)
|
if (cb->cb_fcn)
|
||||||
(cb->cb_fcn)(item, dqv->user_data);
|
(cb->cb_fcn)(GTK_WINDOW (dqv->dialog), item, dqv->user_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -177,7 +177,7 @@ gnc_dialog_query_view_close (GtkButton *button, DialogQueryView *dqv)
|
|||||||
/* PUBLIC INTERFACES */
|
/* PUBLIC INTERFACES */
|
||||||
|
|
||||||
DialogQueryView *
|
DialogQueryView *
|
||||||
gnc_dialog_query_view_new (GList *param_list, Query *q)
|
gnc_dialog_query_view_new (GtkWindow *parent, GList *param_list, Query *q)
|
||||||
{
|
{
|
||||||
GtkBuilder *builder;
|
GtkBuilder *builder;
|
||||||
DialogQueryView *dqv;
|
DialogQueryView *dqv;
|
||||||
@ -191,6 +191,7 @@ gnc_dialog_query_view_new (GList *param_list, Query *q)
|
|||||||
/* Grab the dialog, save the dialog info */
|
/* Grab the dialog, save the dialog info */
|
||||||
dqv->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "query_view_dialog"));
|
dqv->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "query_view_dialog"));
|
||||||
g_object_set_data (G_OBJECT (dqv->dialog), "dialog-info", dqv);
|
g_object_set_data (G_OBJECT (dqv->dialog), "dialog-info", dqv);
|
||||||
|
gtk_window_set_transient_for(GTK_WINDOW(dqv->dialog), parent);
|
||||||
|
|
||||||
// Set the style context for this dialog so it can be easily manipulated with css
|
// Set the style context for this dialog so it can be easily manipulated with css
|
||||||
gnc_widget_set_style_context (GTK_WIDGET(dqv->dialog), "GncQueryViewDialog");
|
gnc_widget_set_style_context (GTK_WIDGET(dqv->dialog), "GncQueryViewDialog");
|
||||||
@ -313,7 +314,7 @@ void gnc_dialog_query_view_destroy (DialogQueryView *dqv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
DialogQueryView *
|
DialogQueryView *
|
||||||
gnc_dialog_query_view_create (GList *param_list, Query *q,
|
gnc_dialog_query_view_create (GtkWindow *parent, GList *param_list, Query *q,
|
||||||
const char *title, const char *label,
|
const char *title, const char *label,
|
||||||
gboolean abs, gboolean inv_sort,
|
gboolean abs, gboolean inv_sort,
|
||||||
gint sort_column, GtkSortType order,
|
gint sort_column, GtkSortType order,
|
||||||
@ -324,7 +325,7 @@ gnc_dialog_query_view_create (GList *param_list, Query *q,
|
|||||||
if (!param_list || !q)
|
if (!param_list || !q)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
dqv = gnc_dialog_query_view_new (param_list, q);
|
dqv = gnc_dialog_query_view_new (parent, param_list, q);
|
||||||
if (!dqv)
|
if (!dqv)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
typedef struct _DialogQueryView DialogQueryView;
|
typedef struct _DialogQueryView DialogQueryView;
|
||||||
|
|
||||||
typedef void (*GNCDisplayViewCB)(gpointer obj, gpointer user_data);
|
typedef void (*GNCDisplayViewCB)(GtkWindow *dialog, gpointer obj, gpointer user_data);
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
const char *label;
|
const char *label;
|
||||||
@ -39,7 +39,7 @@ typedef struct
|
|||||||
} GNCDisplayViewButton;
|
} GNCDisplayViewButton;
|
||||||
|
|
||||||
DialogQueryView *
|
DialogQueryView *
|
||||||
gnc_dialog_query_view_new (GList *param_list, Query *q);
|
gnc_dialog_query_view_new (GtkWindow *parent, GList *param_list, Query *q);
|
||||||
|
|
||||||
void gnc_dialog_query_view_set_title (DialogQueryView *dqv, const char *title);
|
void gnc_dialog_query_view_set_title (DialogQueryView *dqv, const char *title);
|
||||||
void gnc_dialog_query_view_set_label (DialogQueryView *dqv, const char *label);
|
void gnc_dialog_query_view_set_label (DialogQueryView *dqv, const char *label);
|
||||||
@ -53,7 +53,7 @@ void gnc_dialog_query_view_refresh (DialogQueryView *dqv);
|
|||||||
void gnc_dialog_query_view_destroy (DialogQueryView *dqv);
|
void gnc_dialog_query_view_destroy (DialogQueryView *dqv);
|
||||||
|
|
||||||
DialogQueryView *
|
DialogQueryView *
|
||||||
gnc_dialog_query_view_create (GList *param_list, Query *q,
|
gnc_dialog_query_view_create (GtkWindow *parent, GList *param_list, Query *q,
|
||||||
const char *title, const char *label,
|
const char *title, const char *label,
|
||||||
gboolean abs, gboolean inv_sort,
|
gboolean abs, gboolean inv_sort,
|
||||||
gint sort_column, GtkSortType order,
|
gint sort_column, GtkSortType order,
|
||||||
|
@ -114,7 +114,7 @@ new_tax_table_ok_cb (NewTaxTable *ntt)
|
|||||||
if (name == NULL || *name == '\0')
|
if (name == NULL || *name == '\0')
|
||||||
{
|
{
|
||||||
message = _("You must provide a name for this Tax Table.");
|
message = _("You must provide a name for this Tax Table.");
|
||||||
gnc_error_dialog (ntt->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (ntt->dialog), "%s", message);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
if (gncTaxTableLookupByName (ttw->book, name))
|
if (gncTaxTableLookupByName (ttw->book, name))
|
||||||
@ -122,7 +122,7 @@ new_tax_table_ok_cb (NewTaxTable *ntt)
|
|||||||
message = g_strdup_printf(_(
|
message = g_strdup_printf(_(
|
||||||
"You must provide a unique name for this Tax Table. "
|
"You must provide a unique name for this Tax Table. "
|
||||||
"Your choice \"%s\" is already in use."), name);
|
"Your choice \"%s\" is already in use."), name);
|
||||||
gnc_error_dialog (ntt->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (ntt->dialog), "%s", message);
|
||||||
g_free (message);
|
g_free (message);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -135,7 +135,7 @@ new_tax_table_ok_cb (NewTaxTable *ntt)
|
|||||||
gnc_numeric_create (100, 1)) > 0)
|
gnc_numeric_create (100, 1)) > 0)
|
||||||
{
|
{
|
||||||
message = _("Percentage amount must be between -100 and 100.");
|
message = _("Percentage amount must be between -100 and 100.");
|
||||||
gnc_error_dialog (ntt->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (ntt->dialog), "%s", message);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -144,7 +144,7 @@ new_tax_table_ok_cb (NewTaxTable *ntt)
|
|||||||
if (acc == NULL)
|
if (acc == NULL)
|
||||||
{
|
{
|
||||||
message = _("You must choose a Tax Account.");
|
message = _("You must choose a Tax Account.");
|
||||||
gnc_error_dialog (ntt->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (ntt->dialog), "%s", message);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -563,12 +563,12 @@ tax_table_delete_table_cb (GtkButton *button, TaxTableWindow *ttw)
|
|||||||
char *message =
|
char *message =
|
||||||
g_strdup_printf (_("Tax table \"%s\" is in use. You cannot delete it."),
|
g_strdup_printf (_("Tax table \"%s\" is in use. You cannot delete it."),
|
||||||
gncTaxTableGetName (ttw->current_table));
|
gncTaxTableGetName (ttw->current_table));
|
||||||
gnc_error_dialog (ttw->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (ttw->dialog), "%s", message);
|
||||||
g_free (message);
|
g_free (message);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gnc_verify_dialog (ttw->dialog, FALSE,
|
if (gnc_verify_dialog (GTK_WINDOW (ttw->dialog), FALSE,
|
||||||
_("Are you sure you want to delete \"%s\"?"),
|
_("Are you sure you want to delete \"%s\"?"),
|
||||||
gncTaxTableGetName (ttw->current_table)))
|
gncTaxTableGetName (ttw->current_table)))
|
||||||
{
|
{
|
||||||
@ -611,11 +611,11 @@ tax_table_delete_entry_cb (GtkButton *button, TaxTableWindow *ttw)
|
|||||||
{
|
{
|
||||||
char *message = _("You cannot remove the last entry from the tax table. "
|
char *message = _("You cannot remove the last entry from the tax table. "
|
||||||
"Try deleting the tax table if you want to do that.");
|
"Try deleting the tax table if you want to do that.");
|
||||||
gnc_error_dialog (ttw->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (ttw->dialog) , "%s", message);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gnc_verify_dialog (ttw->dialog, FALSE, "%s",
|
if (gnc_verify_dialog (GTK_WINDOW (ttw->dialog), FALSE, "%s",
|
||||||
_("Are you sure you want to delete this entry?")))
|
_("Are you sure you want to delete this entry?")))
|
||||||
{
|
{
|
||||||
/* Ok, let's remove it */
|
/* Ok, let's remove it */
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
#include "gnc-prefs.h"
|
#include "gnc-prefs.h"
|
||||||
#include "gnc-gnome-utils.h"
|
#include "gnc-gnome-utils.h"
|
||||||
#include "gnc-engine.h"
|
#include "gnc-engine.h"
|
||||||
|
#include "gnc-ui.h"
|
||||||
|
|
||||||
#define GNC_PREFS_GROUP "dialogs.totd"
|
#define GNC_PREFS_GROUP "dialogs.totd"
|
||||||
#define GNC_PREF_CURRENT_TIP "current-tip"
|
#define GNC_PREF_CURRENT_TIP "current-tip"
|
||||||
@ -274,7 +275,8 @@ show_handler (const char *class_name, gint component_id,
|
|||||||
return(FALSE);
|
return(FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_window_present(GTK_WINDOW(totd_dialog->dialog));
|
gtk_window_set_transient_for (GTK_WINDOW (totd_dialog->dialog),
|
||||||
|
gnc_ui_get_main_window (NULL));
|
||||||
LEAVE(" ");
|
LEAVE(" ");
|
||||||
return(TRUE);
|
return(TRUE);
|
||||||
}
|
}
|
||||||
@ -374,3 +376,17 @@ gnc_totd_dialog (GtkWindow *parent, gboolean startup)
|
|||||||
|
|
||||||
LEAVE("");
|
LEAVE("");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/****************************************************
|
||||||
|
* Set the totd dialog transient for the currently
|
||||||
|
* active main window. This will prevent the totd
|
||||||
|
* dialog from accidentally hiding behind a main
|
||||||
|
* window.
|
||||||
|
****************************************************/
|
||||||
|
void
|
||||||
|
gnc_totd_dialog_reparent (void)
|
||||||
|
{
|
||||||
|
gnc_forall_gui_components(DIALOG_TOTD_CM_CLASS, show_handler, NULL);
|
||||||
|
}
|
||||||
|
@ -26,5 +26,6 @@
|
|||||||
#define DIALOG_TOTD_H
|
#define DIALOG_TOTD_H
|
||||||
|
|
||||||
void gnc_totd_dialog (GtkWindow *parent, gboolean startup);
|
void gnc_totd_dialog (GtkWindow *parent, gboolean startup);
|
||||||
|
void gnc_totd_dialog_reparent (void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -689,7 +689,7 @@ gnc_parse_error_dialog (XferDialog *xferData, const char *error_string)
|
|||||||
if (error_string == NULL)
|
if (error_string == NULL)
|
||||||
error_string = "";
|
error_string = "";
|
||||||
|
|
||||||
gnc_error_dialog (xferData->dialog,
|
gnc_error_dialog (GTK_WINDOW (xferData->dialog),
|
||||||
"%s\n\n%s: %s.",
|
"%s\n\n%s: %s.",
|
||||||
error_string, _("Error"),
|
error_string, _("Error"),
|
||||||
parse_error_string);
|
parse_error_string);
|
||||||
@ -1417,7 +1417,7 @@ check_accounts (XferDialog* xferData, Account* from_account,
|
|||||||
const char *message = _("You must specify an account to transfer from, "
|
const char *message = _("You must specify an account to transfer from, "
|
||||||
"or to, or both, for this transaction. "
|
"or to, or both, for this transaction. "
|
||||||
"Otherwise, it will not be recorded.");
|
"Otherwise, it will not be recorded.");
|
||||||
gnc_error_dialog(xferData->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (xferData->dialog), "%s", message);
|
||||||
LEAVE("bad account");
|
LEAVE("bad account");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -1426,7 +1426,7 @@ check_accounts (XferDialog* xferData, Account* from_account,
|
|||||||
{
|
{
|
||||||
const char *message = _("You can't transfer from and to the same "
|
const char *message = _("You can't transfer from and to the same "
|
||||||
"account!");
|
"account!");
|
||||||
gnc_error_dialog(xferData->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (xferData->dialog), "%s", message);
|
||||||
LEAVE("same account");
|
LEAVE("same account");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -1442,7 +1442,7 @@ check_accounts (XferDialog* xferData, Account* from_account,
|
|||||||
name = gnc_account_get_full_name(from_account);
|
name = gnc_account_get_full_name(from_account);
|
||||||
else
|
else
|
||||||
name = gnc_account_get_full_name(to_account);
|
name = gnc_account_get_full_name(to_account);
|
||||||
gnc_error_dialog(xferData->dialog, placeholder_format, name);
|
gnc_error_dialog (GTK_WINDOW (xferData->dialog), placeholder_format, name);
|
||||||
g_free(name);
|
g_free(name);
|
||||||
LEAVE("placeholder");
|
LEAVE("placeholder");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -1454,7 +1454,7 @@ check_accounts (XferDialog* xferData, Account* from_account,
|
|||||||
_("You can't transfer from a non-currency account. "
|
_("You can't transfer from a non-currency account. "
|
||||||
"Try reversing the \"from\" and \"to\" accounts "
|
"Try reversing the \"from\" and \"to\" accounts "
|
||||||
"and making the \"amount\" negative.");
|
"and making the \"amount\" negative.");
|
||||||
gnc_error_dialog(xferData->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (xferData->dialog), "%s", message);
|
||||||
LEAVE("non-currency");
|
LEAVE("non-currency");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -1703,7 +1703,7 @@ gnc_xfer_dialog_response_cb (GtkDialog *dialog, gint response, gpointer data)
|
|||||||
if (gnc_numeric_zero_p (amount))
|
if (gnc_numeric_zero_p (amount))
|
||||||
{
|
{
|
||||||
const char *message = _("You must enter an amount to transfer.");
|
const char *message = _("You must enter an amount to transfer.");
|
||||||
gnc_error_dialog(xferData->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (xferData->dialog), "%s", message);
|
||||||
LEAVE("invalid from amount");
|
LEAVE("invalid from amount");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1823,7 +1823,7 @@ gnc_xfer_dialog_fetch (GtkButton *button, XferDialog *xferData)
|
|||||||
}
|
}
|
||||||
|
|
||||||
scm_window = SWIG_NewPointerObj(xferData->dialog,
|
scm_window = SWIG_NewPointerObj(xferData->dialog,
|
||||||
SWIG_TypeQuery("_p_GtkWidget"), 0);
|
SWIG_TypeQuery("_p_GtkWindow"), 0);
|
||||||
|
|
||||||
if (scm_is_true (scm_not (book_scm)))
|
if (scm_is_true (scm_not (book_scm)))
|
||||||
{
|
{
|
||||||
|
@ -187,7 +187,7 @@ static gboolean autosave_timeout_cb(gpointer user_data)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
/* Store the current toplevel window for later use. */
|
/* Store the current toplevel window for later use. */
|
||||||
toplevel = gnc_ui_get_toplevel();
|
toplevel = GTK_WIDGET (gnc_ui_get_main_window (NULL));
|
||||||
|
|
||||||
/* Lookup preference to show an explanatory dialog, if wanted. */
|
/* Lookup preference to show an explanatory dialog, if wanted. */
|
||||||
show_explanation =
|
show_explanation =
|
||||||
@ -211,7 +211,7 @@ static gboolean autosave_timeout_cb(gpointer user_data)
|
|||||||
else
|
else
|
||||||
g_debug("autosave_timeout_cb: toplevel is not a GNC_WINDOW\n");
|
g_debug("autosave_timeout_cb: toplevel is not a GNC_WINDOW\n");
|
||||||
|
|
||||||
gnc_file_save();
|
gnc_file_save (GTK_WINDOW (toplevel));
|
||||||
|
|
||||||
gnc_main_window_set_progressbar_window(NULL);
|
gnc_main_window_set_progressbar_window(NULL);
|
||||||
|
|
||||||
|
@ -76,7 +76,8 @@ static gint save_in_progress = 0;
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
|
|
||||||
char *
|
char *
|
||||||
gnc_file_dialog (const char * title,
|
gnc_file_dialog (GtkWindow *parent,
|
||||||
|
const char * title,
|
||||||
GList * filters,
|
GList * filters,
|
||||||
const char * starting_dir,
|
const char * starting_dir,
|
||||||
GNCFileDialogType type
|
GNCFileDialogType type
|
||||||
@ -124,7 +125,7 @@ gnc_file_dialog (const char * title,
|
|||||||
|
|
||||||
file_box = gtk_file_chooser_dialog_new(
|
file_box = gtk_file_chooser_dialog_new(
|
||||||
title,
|
title,
|
||||||
NULL,
|
parent,
|
||||||
action,
|
action,
|
||||||
_("_Cancel"), GTK_RESPONSE_CANCEL,
|
_("_Cancel"), GTK_RESPONSE_CANCEL,
|
||||||
NULL);
|
NULL);
|
||||||
@ -139,10 +140,6 @@ gnc_file_dialog (const char * title,
|
|||||||
starting_dir);
|
starting_dir);
|
||||||
|
|
||||||
gtk_window_set_modal(GTK_WINDOW(file_box), TRUE);
|
gtk_window_set_modal(GTK_WINDOW(file_box), TRUE);
|
||||||
/*
|
|
||||||
gtk_window_set_transient_for(GTK_WINDOW(file_box),
|
|
||||||
GTK_WINDOW(gnc_ui_get_toplevel()));
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (filters != NULL)
|
if (filters != NULL)
|
||||||
{
|
{
|
||||||
@ -195,11 +192,11 @@ gnc_file_dialog (const char * title,
|
|||||||
|
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
show_session_error (QofBackendError io_error,
|
show_session_error (GtkWindow *parent,
|
||||||
|
QofBackendError io_error,
|
||||||
const char *newfile,
|
const char *newfile,
|
||||||
GNCFileDialogType type)
|
GNCFileDialogType type)
|
||||||
{
|
{
|
||||||
GtkWidget *parent = gnc_ui_get_toplevel();
|
|
||||||
GtkWidget *dialog;
|
GtkWidget *dialog;
|
||||||
gboolean uh_oh = TRUE;
|
gboolean uh_oh = TRUE;
|
||||||
const char *fmt, *label;
|
const char *fmt, *label;
|
||||||
@ -306,7 +303,7 @@ show_session_error (QofBackendError io_error,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
dialog = gtk_message_dialog_new(GTK_WINDOW(parent),
|
dialog = gtk_message_dialog_new(parent,
|
||||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||||
GTK_MESSAGE_QUESTION,
|
GTK_MESSAGE_QUESTION,
|
||||||
GTK_BUTTONS_NONE,
|
GTK_BUTTONS_NONE,
|
||||||
@ -316,7 +313,7 @@ show_session_error (QofBackendError io_error,
|
|||||||
_("_Cancel"), GTK_RESPONSE_CANCEL,
|
_("_Cancel"), GTK_RESPONSE_CANCEL,
|
||||||
label, GTK_RESPONSE_YES,
|
label, GTK_RESPONSE_YES,
|
||||||
NULL);
|
NULL);
|
||||||
if (parent == NULL)
|
if (!parent)
|
||||||
gtk_window_set_skip_taskbar_hint(GTK_WINDOW(dialog), FALSE);
|
gtk_window_set_skip_taskbar_hint(GTK_WINDOW(dialog), FALSE);
|
||||||
response = gtk_dialog_run(GTK_DIALOG(dialog));
|
response = gtk_dialog_run(GTK_DIALOG(dialog));
|
||||||
gtk_widget_destroy(dialog);
|
gtk_widget_destroy(dialog);
|
||||||
@ -531,13 +528,13 @@ gnc_book_opened (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gnc_file_new (void)
|
gnc_file_new (GtkWindow *parent)
|
||||||
{
|
{
|
||||||
QofSession *session;
|
QofSession *session;
|
||||||
|
|
||||||
/* If user attempts to start a new session before saving results of
|
/* If user attempts to start a new session before saving results of
|
||||||
* the last one, prompt them to clean up their act. */
|
* the last one, prompt them to clean up their act. */
|
||||||
if (!gnc_file_query_save (TRUE))
|
if (!gnc_file_query_save (parent, TRUE))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (gnc_current_session_exist())
|
if (gnc_current_session_exist())
|
||||||
@ -568,9 +565,8 @@ gnc_file_new (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
gnc_file_query_save (gboolean can_cancel)
|
gnc_file_query_save (GtkWindow *parent, gboolean can_cancel)
|
||||||
{
|
{
|
||||||
GtkWidget *parent = gnc_ui_get_toplevel();
|
|
||||||
QofBook *current_book;
|
QofBook *current_book;
|
||||||
|
|
||||||
if (!gnc_current_session_exist())
|
if (!gnc_current_session_exist())
|
||||||
@ -595,7 +591,7 @@ gnc_file_query_save (gboolean can_cancel)
|
|||||||
time64 oldest_change;
|
time64 oldest_change;
|
||||||
gint minutes;
|
gint minutes;
|
||||||
|
|
||||||
dialog = gtk_message_dialog_new(GTK_WINDOW(parent),
|
dialog = gtk_message_dialog_new(parent,
|
||||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||||
GTK_MESSAGE_QUESTION,
|
GTK_MESSAGE_QUESTION,
|
||||||
GTK_BUTTONS_NONE,
|
GTK_BUTTONS_NONE,
|
||||||
@ -623,7 +619,7 @@ gnc_file_query_save (gboolean can_cancel)
|
|||||||
switch (response)
|
switch (response)
|
||||||
{
|
{
|
||||||
case GTK_RESPONSE_YES:
|
case GTK_RESPONSE_YES:
|
||||||
gnc_file_save ();
|
gnc_file_save (parent);
|
||||||
/* Go check the loop condition. */
|
/* Go check the loop condition. */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -651,7 +647,7 @@ gnc_file_query_save (gboolean can_cancel)
|
|||||||
#define RESPONSE_READONLY 4
|
#define RESPONSE_READONLY 4
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
gnc_post_file_open (const char * filename, gboolean is_readonly)
|
gnc_post_file_open (GtkWindow *parent, const char * filename, gboolean is_readonly)
|
||||||
{
|
{
|
||||||
QofSession *current_session, *new_session;
|
QofSession *current_session, *new_session;
|
||||||
QofBook *new_book;
|
QofBook *new_book;
|
||||||
@ -677,7 +673,8 @@ RESTART:
|
|||||||
newfile = gnc_uri_normalize_uri ( filename, TRUE );
|
newfile = gnc_uri_normalize_uri ( filename, TRUE );
|
||||||
if (!newfile)
|
if (!newfile)
|
||||||
{
|
{
|
||||||
show_session_error (ERR_FILEIO_FILE_NOT_FOUND, filename,
|
show_session_error (parent,
|
||||||
|
ERR_FILEIO_FILE_NOT_FOUND, filename,
|
||||||
GNC_FILE_DIALOG_OPEN);
|
GNC_FILE_DIALOG_OPEN);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -743,14 +740,14 @@ RESTART:
|
|||||||
if (ERR_BACKEND_BAD_URL == io_err)
|
if (ERR_BACKEND_BAD_URL == io_err)
|
||||||
{
|
{
|
||||||
gchar *directory;
|
gchar *directory;
|
||||||
show_session_error (io_err, newfile, GNC_FILE_DIALOG_OPEN);
|
show_session_error (parent, io_err, newfile, GNC_FILE_DIALOG_OPEN);
|
||||||
io_err = ERR_BACKEND_NO_ERR;
|
io_err = ERR_BACKEND_NO_ERR;
|
||||||
if (g_file_test (filename, G_FILE_TEST_IS_DIR))
|
if (g_file_test (filename, G_FILE_TEST_IS_DIR))
|
||||||
directory = g_strdup (filename);
|
directory = g_strdup (filename);
|
||||||
else
|
else
|
||||||
directory = gnc_get_default_directory (GNC_PREFS_GROUP_OPEN_SAVE);
|
directory = gnc_get_default_directory (GNC_PREFS_GROUP_OPEN_SAVE);
|
||||||
|
|
||||||
filename = gnc_file_dialog (NULL, NULL, directory,
|
filename = gnc_file_dialog (parent, NULL, NULL, directory,
|
||||||
GNC_FILE_DIALOG_OPEN);
|
GNC_FILE_DIALOG_OPEN);
|
||||||
qof_session_destroy (new_session);
|
qof_session_destroy (new_session);
|
||||||
new_session = NULL;
|
new_session = NULL;
|
||||||
@ -780,12 +777,7 @@ RESTART:
|
|||||||
else
|
else
|
||||||
displayname = g_strdup (newfile);
|
displayname = g_strdup (newfile);
|
||||||
|
|
||||||
// Bug#467521: on Mac (and maybe Win?), the dialog will appear below the
|
dialog = gtk_message_dialog_new(parent,
|
||||||
// splash, but is modal, so we can't get rid of the splash... So, get
|
|
||||||
// rid of it now.
|
|
||||||
gnc_destroy_splash_screen();
|
|
||||||
|
|
||||||
dialog = gtk_message_dialog_new(NULL,
|
|
||||||
0,
|
0,
|
||||||
GTK_MESSAGE_WARNING,
|
GTK_MESSAGE_WARNING,
|
||||||
GTK_BUTTONS_NONE,
|
GTK_BUTTONS_NONE,
|
||||||
@ -820,16 +812,10 @@ RESTART:
|
|||||||
break;
|
break;
|
||||||
case RESPONSE_READONLY:
|
case RESPONSE_READONLY:
|
||||||
is_readonly = TRUE;
|
is_readonly = TRUE;
|
||||||
// re-enable the splash screen, file loading and display of
|
|
||||||
// reports may take some time
|
|
||||||
gnc_show_splash_screen();
|
|
||||||
/* user told us to open readonly. We do ignore locks (just as before), but now also force the opening. */
|
/* user told us to open readonly. We do ignore locks (just as before), but now also force the opening. */
|
||||||
qof_session_begin (new_session, newfile, is_readonly, FALSE, TRUE);
|
qof_session_begin (new_session, newfile, is_readonly, FALSE, TRUE);
|
||||||
break;
|
break;
|
||||||
case RESPONSE_OPEN:
|
case RESPONSE_OPEN:
|
||||||
// re-enable the splash screen, file loading and display of
|
|
||||||
// reports may take some time
|
|
||||||
gnc_show_splash_screen();
|
|
||||||
/* user told us to ignore locks. So ignore them. */
|
/* user told us to ignore locks. So ignore them. */
|
||||||
qof_session_begin (new_session, newfile, TRUE, FALSE, FALSE);
|
qof_session_begin (new_session, newfile, TRUE, FALSE, FALSE);
|
||||||
break;
|
break;
|
||||||
@ -838,14 +824,14 @@ RESTART:
|
|||||||
* database so that the user will get a window that
|
* database so that the user will get a window that
|
||||||
* they can click "Exit" on.
|
* they can click "Exit" on.
|
||||||
*/
|
*/
|
||||||
gnc_file_new ();
|
gnc_file_new (parent);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* if the database doesn't exist, ask the user ... */
|
/* if the database doesn't exist, ask the user ... */
|
||||||
else if ((ERR_BACKEND_NO_SUCH_DB == io_err))
|
else if ((ERR_BACKEND_NO_SUCH_DB == io_err))
|
||||||
{
|
{
|
||||||
if (FALSE == show_session_error (io_err, newfile, GNC_FILE_DIALOG_OPEN))
|
if (!show_session_error (parent, io_err, newfile, GNC_FILE_DIALOG_OPEN))
|
||||||
{
|
{
|
||||||
/* user told us to create a new database. Do it. We
|
/* user told us to create a new database. Do it. We
|
||||||
* shouldn't have to worry about locking or clobbering,
|
* shouldn't have to worry about locking or clobbering,
|
||||||
@ -867,7 +853,7 @@ RESTART:
|
|||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
uh_oh = show_session_error (io_err, newfile, GNC_FILE_DIALOG_OPEN);
|
uh_oh = show_session_error (parent, io_err, newfile, GNC_FILE_DIALOG_OPEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!uh_oh)
|
if (!uh_oh)
|
||||||
@ -914,14 +900,14 @@ RESTART:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uh_oh = show_session_error (io_err, newfile, GNC_FILE_DIALOG_OPEN);
|
uh_oh = show_session_error (parent, io_err, newfile, GNC_FILE_DIALOG_OPEN);
|
||||||
/* Attempt to update the database if it's too old */
|
/* Attempt to update the database if it's too old */
|
||||||
if ( !uh_oh && io_err == ERR_SQL_DB_TOO_OLD )
|
if ( !uh_oh && io_err == ERR_SQL_DB_TOO_OLD )
|
||||||
{
|
{
|
||||||
gnc_window_show_progress(_("Re-saving user data..."), 0.0);
|
gnc_window_show_progress(_("Re-saving user data..."), 0.0);
|
||||||
qof_session_safe_save(new_session, gnc_window_show_progress);
|
qof_session_safe_save(new_session, gnc_window_show_progress);
|
||||||
io_err = qof_session_get_error(new_session);
|
io_err = qof_session_get_error(new_session);
|
||||||
uh_oh = show_session_error(io_err, newfile, GNC_FILE_DIALOG_SAVE);
|
uh_oh = show_session_error(parent, io_err, newfile, GNC_FILE_DIALOG_SAVE);
|
||||||
}
|
}
|
||||||
/* Database is either too old and couldn't (or user didn't
|
/* Database is either too old and couldn't (or user didn't
|
||||||
* want it to) be updated or it's too new. Mark it as
|
* want it to) be updated or it's too new. Mark it as
|
||||||
@ -940,7 +926,7 @@ RESTART:
|
|||||||
* The backend forgot to set an error. So make one up. */
|
* The backend forgot to set an error. So make one up. */
|
||||||
if (!uh_oh && !new_root)
|
if (!uh_oh && !new_root)
|
||||||
{
|
{
|
||||||
uh_oh = show_session_error (ERR_BACKEND_MISC, newfile,
|
uh_oh = show_session_error (parent, ERR_BACKEND_MISC, newfile,
|
||||||
GNC_FILE_DIALOG_OPEN);
|
GNC_FILE_DIALOG_OPEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -956,7 +942,7 @@ RESTART:
|
|||||||
uh_oh = TRUE;
|
uh_oh = TRUE;
|
||||||
|
|
||||||
// XXX: should pull out the file name here */
|
// XXX: should pull out the file name here */
|
||||||
gnc_error_dialog(gnc_ui_get_toplevel(), msg, "");
|
gnc_error_dialog (parent, msg, "");
|
||||||
g_free (msg);
|
g_free (msg);
|
||||||
}
|
}
|
||||||
if (template_root != NULL)
|
if (template_root != NULL)
|
||||||
@ -1052,14 +1038,14 @@ RESTART:
|
|||||||
* paths, never db uris.
|
* paths, never db uris.
|
||||||
*/
|
*/
|
||||||
gboolean
|
gboolean
|
||||||
gnc_file_open (void)
|
gnc_file_open (GtkWindow *parent)
|
||||||
{
|
{
|
||||||
const gchar * newfile;
|
const gchar * newfile;
|
||||||
gchar *last = NULL;
|
gchar *last = NULL;
|
||||||
gchar *default_dir = NULL;
|
gchar *default_dir = NULL;
|
||||||
gboolean result;
|
gboolean result;
|
||||||
|
|
||||||
if (!gnc_file_query_save (TRUE))
|
if (!gnc_file_query_save (parent, TRUE))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if ( last && gnc_uri_is_file_uri ( last ) )
|
if ( last && gnc_uri_is_file_uri ( last ) )
|
||||||
@ -1071,11 +1057,11 @@ gnc_file_open (void)
|
|||||||
else
|
else
|
||||||
default_dir = gnc_get_default_directory(GNC_PREFS_GROUP_OPEN_SAVE);
|
default_dir = gnc_get_default_directory(GNC_PREFS_GROUP_OPEN_SAVE);
|
||||||
|
|
||||||
newfile = gnc_file_dialog (_("Open"), NULL, default_dir, GNC_FILE_DIALOG_OPEN);
|
newfile = gnc_file_dialog (parent, _("Open"), NULL, default_dir, GNC_FILE_DIALOG_OPEN);
|
||||||
g_free ( last );
|
g_free ( last );
|
||||||
g_free ( default_dir );
|
g_free ( default_dir );
|
||||||
|
|
||||||
result = gnc_post_file_open ( newfile, /*is_readonly*/ FALSE );
|
result = gnc_post_file_open (parent, newfile, /*is_readonly*/ FALSE );
|
||||||
|
|
||||||
/* This dialogue can show up early in the startup process. If the
|
/* This dialogue can show up early in the startup process. If the
|
||||||
* user fails to pick a file (by e.g. hitting the cancel button), we
|
* user fails to pick a file (by e.g. hitting the cancel button), we
|
||||||
@ -1087,14 +1073,14 @@ gnc_file_open (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
gnc_file_open_file (const char * newfile, gboolean open_readonly)
|
gnc_file_open_file (GtkWindow *parent, const char * newfile, gboolean open_readonly)
|
||||||
{
|
{
|
||||||
if (!newfile) return FALSE;
|
if (!newfile) return FALSE;
|
||||||
|
|
||||||
if (!gnc_file_query_save (TRUE))
|
if (!gnc_file_query_save (parent, TRUE))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
return gnc_post_file_open (newfile, open_readonly);
|
return gnc_post_file_open (parent, newfile, open_readonly);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Note: this dialog will only be used when dbi is not enabled
|
/* Note: this dialog will only be used when dbi is not enabled
|
||||||
@ -1102,7 +1088,7 @@ gnc_file_open_file (const char * newfile, gboolean open_readonly)
|
|||||||
* never db uris
|
* never db uris
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gnc_file_export (void)
|
gnc_file_export (GtkWindow *parent)
|
||||||
{
|
{
|
||||||
const char *filename;
|
const char *filename;
|
||||||
char *default_dir = NULL; /* Default to last open */
|
char *default_dir = NULL; /* Default to last open */
|
||||||
@ -1120,13 +1106,14 @@ gnc_file_export (void)
|
|||||||
else
|
else
|
||||||
default_dir = gnc_get_default_directory(GNC_PREFS_GROUP_EXPORT);
|
default_dir = gnc_get_default_directory(GNC_PREFS_GROUP_EXPORT);
|
||||||
|
|
||||||
filename = gnc_file_dialog (_("Save"), NULL, default_dir,
|
filename = gnc_file_dialog (parent,
|
||||||
|
_("Save"), NULL, default_dir,
|
||||||
GNC_FILE_DIALOG_SAVE);
|
GNC_FILE_DIALOG_SAVE);
|
||||||
g_free ( last );
|
g_free ( last );
|
||||||
g_free ( default_dir );
|
g_free ( default_dir );
|
||||||
if (!filename) return;
|
if (!filename) return;
|
||||||
|
|
||||||
gnc_file_do_export( filename );
|
gnc_file_do_export (parent, filename);
|
||||||
|
|
||||||
LEAVE (" ");
|
LEAVE (" ");
|
||||||
}
|
}
|
||||||
@ -1163,7 +1150,7 @@ check_file_path (const char *path)
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
gnc_file_do_export(const char * filename)
|
gnc_file_do_export(GtkWindow *parent, const char * filename)
|
||||||
{
|
{
|
||||||
QofSession *current_session, *new_session;
|
QofSession *current_session, *new_session;
|
||||||
gboolean ok;
|
gboolean ok;
|
||||||
@ -1186,7 +1173,7 @@ gnc_file_do_export(const char * filename)
|
|||||||
norm_file = gnc_uri_normalize_uri ( filename, TRUE );
|
norm_file = gnc_uri_normalize_uri ( filename, TRUE );
|
||||||
if (!norm_file)
|
if (!norm_file)
|
||||||
{
|
{
|
||||||
show_session_error (ERR_FILEIO_FILE_NOT_FOUND, filename,
|
show_session_error (parent, ERR_FILEIO_FILE_NOT_FOUND, filename,
|
||||||
GNC_FILE_DIALOG_EXPORT);
|
GNC_FILE_DIALOG_EXPORT);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1214,7 +1201,7 @@ gnc_file_do_export(const char * filename)
|
|||||||
{
|
{
|
||||||
if (check_file_path (path))
|
if (check_file_path (path))
|
||||||
{
|
{
|
||||||
show_session_error (ERR_FILEIO_RESERVED_WRITE, newfile,
|
show_session_error (parent, ERR_FILEIO_RESERVED_WRITE, newfile,
|
||||||
GNC_FILE_DIALOG_SAVE);
|
GNC_FILE_DIALOG_SAVE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1228,7 +1215,7 @@ gnc_file_do_export(const char * filename)
|
|||||||
if (strlen (oldfile) && (strcmp(oldfile, newfile) == 0))
|
if (strlen (oldfile) && (strcmp(oldfile, newfile) == 0))
|
||||||
{
|
{
|
||||||
g_free (newfile);
|
g_free (newfile);
|
||||||
show_session_error (ERR_FILEIO_WRITE_ERROR, filename,
|
show_session_error (parent, ERR_FILEIO_WRITE_ERROR, filename,
|
||||||
GNC_FILE_DIALOG_EXPORT);
|
GNC_FILE_DIALOG_EXPORT);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1262,7 +1249,7 @@ gnc_file_do_export(const char * filename)
|
|||||||
/* if file appears to be locked, ask the user ... */
|
/* if file appears to be locked, ask the user ... */
|
||||||
if (ERR_BACKEND_LOCKED == io_err || ERR_BACKEND_READONLY == io_err)
|
if (ERR_BACKEND_LOCKED == io_err || ERR_BACKEND_READONLY == io_err)
|
||||||
{
|
{
|
||||||
if (FALSE == show_session_error (io_err, newfile, GNC_FILE_DIALOG_EXPORT))
|
if (!show_session_error (parent, io_err, newfile, GNC_FILE_DIALOG_EXPORT))
|
||||||
{
|
{
|
||||||
/* user told us to ignore locks. So ignore them. */
|
/* user told us to ignore locks. So ignore them. */
|
||||||
qof_session_begin (new_session, newfile, TRUE, FALSE, FALSE);
|
qof_session_begin (new_session, newfile, TRUE, FALSE, FALSE);
|
||||||
@ -1296,7 +1283,7 @@ gnc_file_do_export(const char * filename)
|
|||||||
static gboolean been_here_before = FALSE;
|
static gboolean been_here_before = FALSE;
|
||||||
|
|
||||||
void
|
void
|
||||||
gnc_file_save (void)
|
gnc_file_save (GtkWindow *parent)
|
||||||
{
|
{
|
||||||
QofBackendError io_err;
|
QofBackendError io_err;
|
||||||
const char * newfile;
|
const char * newfile;
|
||||||
@ -1310,19 +1297,19 @@ gnc_file_save (void)
|
|||||||
|
|
||||||
if (!strlen (qof_session_get_url (session)))
|
if (!strlen (qof_session_get_url (session)))
|
||||||
{
|
{
|
||||||
gnc_file_save_as ();
|
gnc_file_save_as (parent);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (qof_book_is_readonly(qof_session_get_book(session)))
|
if (qof_book_is_readonly(qof_session_get_book(session)))
|
||||||
{
|
{
|
||||||
gint response = gnc_ok_cancel_dialog(gnc_ui_get_toplevel(),
|
gint response = gnc_ok_cancel_dialog(parent,
|
||||||
GTK_RESPONSE_CANCEL,
|
GTK_RESPONSE_CANCEL,
|
||||||
_("The database was opened read-only. "
|
_("The database was opened read-only. "
|
||||||
"Do you want to save it to a different place?"));
|
"Do you want to save it to a different place?"));
|
||||||
if (response == GTK_RESPONSE_OK)
|
if (response == GTK_RESPONSE_OK)
|
||||||
{
|
{
|
||||||
gnc_file_save_as ();
|
gnc_file_save_as (parent);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1342,11 +1329,11 @@ gnc_file_save (void)
|
|||||||
if (ERR_BACKEND_NO_ERR != io_err)
|
if (ERR_BACKEND_NO_ERR != io_err)
|
||||||
{
|
{
|
||||||
newfile = qof_session_get_url(session);
|
newfile = qof_session_get_url(session);
|
||||||
show_session_error (io_err, newfile, GNC_FILE_DIALOG_SAVE);
|
show_session_error (parent, io_err, newfile, GNC_FILE_DIALOG_SAVE);
|
||||||
|
|
||||||
if (been_here_before) return;
|
if (been_here_before) return;
|
||||||
been_here_before = TRUE;
|
been_here_before = TRUE;
|
||||||
gnc_file_save_as (); /* been_here prevents infinite recursion */
|
gnc_file_save_as (parent); /* been_here prevents infinite recursion */
|
||||||
been_here_before = FALSE;
|
been_here_before = FALSE;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1362,7 +1349,7 @@ gnc_file_save (void)
|
|||||||
* never db uris. See gnc_file_do_save_as for that.
|
* never db uris. See gnc_file_do_save_as for that.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gnc_file_save_as (void)
|
gnc_file_save_as (GtkWindow *parent)
|
||||||
{
|
{
|
||||||
const gchar *filename;
|
const gchar *filename;
|
||||||
gchar *default_dir = NULL; /* Default to last open */
|
gchar *default_dir = NULL; /* Default to last open */
|
||||||
@ -1380,19 +1367,20 @@ gnc_file_save_as (void)
|
|||||||
else
|
else
|
||||||
default_dir = gnc_get_default_directory(GNC_PREFS_GROUP_OPEN_SAVE);
|
default_dir = gnc_get_default_directory(GNC_PREFS_GROUP_OPEN_SAVE);
|
||||||
|
|
||||||
filename = gnc_file_dialog (_("Save"), NULL, default_dir,
|
filename = gnc_file_dialog (parent,
|
||||||
|
_("Save"), NULL, default_dir,
|
||||||
GNC_FILE_DIALOG_SAVE);
|
GNC_FILE_DIALOG_SAVE);
|
||||||
g_free ( last );
|
g_free ( last );
|
||||||
g_free ( default_dir );
|
g_free ( default_dir );
|
||||||
if (!filename) return;
|
if (!filename) return;
|
||||||
|
|
||||||
gnc_file_do_save_as( filename );
|
gnc_file_do_save_as (parent, filename);
|
||||||
|
|
||||||
LEAVE (" ");
|
LEAVE (" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gnc_file_do_save_as (const char* filename)
|
gnc_file_do_save_as (GtkWindow *parent, const char* filename)
|
||||||
{
|
{
|
||||||
QofSession *new_session;
|
QofSession *new_session;
|
||||||
QofSession *session;
|
QofSession *session;
|
||||||
@ -1417,7 +1405,7 @@ gnc_file_do_save_as (const char* filename)
|
|||||||
norm_file = gnc_uri_normalize_uri ( filename, TRUE );
|
norm_file = gnc_uri_normalize_uri ( filename, TRUE );
|
||||||
if (!norm_file)
|
if (!norm_file)
|
||||||
{
|
{
|
||||||
show_session_error (ERR_FILEIO_FILE_NOT_FOUND, filename,
|
show_session_error (parent, ERR_FILEIO_FILE_NOT_FOUND, filename,
|
||||||
GNC_FILE_DIALOG_SAVE);
|
GNC_FILE_DIALOG_SAVE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1445,7 +1433,7 @@ gnc_file_do_save_as (const char* filename)
|
|||||||
{
|
{
|
||||||
if (check_file_path (path))
|
if (check_file_path (path))
|
||||||
{
|
{
|
||||||
show_session_error (ERR_FILEIO_RESERVED_WRITE, newfile,
|
show_session_error (parent, ERR_FILEIO_RESERVED_WRITE, newfile,
|
||||||
GNC_FILE_DIALOG_SAVE);
|
GNC_FILE_DIALOG_SAVE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1460,7 +1448,7 @@ gnc_file_do_save_as (const char* filename)
|
|||||||
if (strlen (oldfile) && (strcmp(oldfile, newfile) == 0))
|
if (strlen (oldfile) && (strcmp(oldfile, newfile) == 0))
|
||||||
{
|
{
|
||||||
g_free (newfile);
|
g_free (newfile);
|
||||||
gnc_file_save ();
|
gnc_file_save (parent);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1503,7 +1491,7 @@ gnc_file_do_save_as (const char* filename)
|
|||||||
/* if file appears to be locked, ask the user ... */
|
/* if file appears to be locked, ask the user ... */
|
||||||
else if (ERR_BACKEND_LOCKED == io_err || ERR_BACKEND_READONLY == io_err)
|
else if (ERR_BACKEND_LOCKED == io_err || ERR_BACKEND_READONLY == io_err)
|
||||||
{
|
{
|
||||||
if (FALSE == show_session_error (io_err, newfile, GNC_FILE_DIALOG_SAVE))
|
if (!show_session_error (parent, io_err, newfile, GNC_FILE_DIALOG_SAVE))
|
||||||
{
|
{
|
||||||
/* user told us to ignore locks. So ignore them. */
|
/* user told us to ignore locks. So ignore them. */
|
||||||
qof_session_begin (new_session, newfile, TRUE, FALSE, FALSE);
|
qof_session_begin (new_session, newfile, TRUE, FALSE, FALSE);
|
||||||
@ -1515,7 +1503,7 @@ gnc_file_do_save_as (const char* filename)
|
|||||||
(ERR_BACKEND_NO_SUCH_DB == io_err) ||
|
(ERR_BACKEND_NO_SUCH_DB == io_err) ||
|
||||||
(ERR_SQL_DB_TOO_OLD == io_err))
|
(ERR_SQL_DB_TOO_OLD == io_err))
|
||||||
{
|
{
|
||||||
if (FALSE == show_session_error (io_err, newfile, GNC_FILE_DIALOG_SAVE))
|
if (!show_session_error (parent, io_err, newfile, GNC_FILE_DIALOG_SAVE))
|
||||||
{
|
{
|
||||||
/* user told us to create a new database. Do it. */
|
/* user told us to create a new database. Do it. */
|
||||||
qof_session_begin (new_session, newfile, FALSE, TRUE, FALSE);
|
qof_session_begin (new_session, newfile, FALSE, TRUE, FALSE);
|
||||||
@ -1529,7 +1517,7 @@ gnc_file_do_save_as (const char* filename)
|
|||||||
io_err = qof_session_get_error (new_session);
|
io_err = qof_session_get_error (new_session);
|
||||||
if (ERR_BACKEND_NO_ERR != io_err)
|
if (ERR_BACKEND_NO_ERR != io_err)
|
||||||
{
|
{
|
||||||
show_session_error (io_err, newfile, GNC_FILE_DIALOG_SAVE);
|
show_session_error (parent, io_err, newfile, GNC_FILE_DIALOG_SAVE);
|
||||||
xaccLogDisable();
|
xaccLogDisable();
|
||||||
qof_session_destroy (new_session);
|
qof_session_destroy (new_session);
|
||||||
xaccLogEnable();
|
xaccLogEnable();
|
||||||
@ -1575,7 +1563,7 @@ gnc_file_do_save_as (const char* filename)
|
|||||||
/* Well, poop. The save failed, so the new session is invalid and we
|
/* Well, poop. The save failed, so the new session is invalid and we
|
||||||
* need to restore the old one.
|
* need to restore the old one.
|
||||||
*/
|
*/
|
||||||
show_session_error (io_err, newfile, GNC_FILE_DIALOG_SAVE);
|
show_session_error (parent, io_err, newfile, GNC_FILE_DIALOG_SAVE);
|
||||||
qof_event_suspend();
|
qof_event_suspend();
|
||||||
qof_session_swap_data( new_session, session );
|
qof_session_swap_data( new_session, session );
|
||||||
qof_session_destroy( new_session );
|
qof_session_destroy( new_session );
|
||||||
@ -1604,7 +1592,7 @@ gnc_file_do_save_as (const char* filename)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gnc_file_revert (void)
|
gnc_file_revert (GtkWindow *parent)
|
||||||
{
|
{
|
||||||
QofSession *session;
|
QofSession *session;
|
||||||
const gchar *fileurl, *filename, *tmp;
|
const gchar *fileurl, *filename, *tmp;
|
||||||
@ -1626,7 +1614,7 @@ gnc_file_revert (void)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
qof_book_mark_session_saved (qof_session_get_book (session));
|
qof_book_mark_session_saved (qof_session_get_book (session));
|
||||||
gnc_file_open_file (fileurl, qof_book_is_readonly(gnc_get_current_book()));}
|
gnc_file_open_file (parent, fileurl, qof_book_is_readonly(gnc_get_current_book()));}
|
||||||
|
|
||||||
void
|
void
|
||||||
gnc_file_quit (void)
|
gnc_file_quit (void)
|
||||||
|
@ -126,30 +126,34 @@ typedef enum
|
|||||||
GNC_FILE_DIALOG_EXPORT
|
GNC_FILE_DIALOG_EXPORT
|
||||||
} GNCFileDialogType;
|
} GNCFileDialogType;
|
||||||
|
|
||||||
void gnc_file_new (void);
|
void gnc_file_new (GtkWindow *parent);
|
||||||
gboolean gnc_file_open (void);
|
gboolean gnc_file_open (GtkWindow *parent);
|
||||||
void gnc_file_export(void);
|
void gnc_file_export(GtkWindow *parent);
|
||||||
void gnc_file_save (void);
|
void gnc_file_save (GtkWindow *parent);
|
||||||
void gnc_file_save_as (void);
|
void gnc_file_save_as (GtkWindow *parent);
|
||||||
void gnc_file_do_export(const char* filename);
|
void gnc_file_do_export(GtkWindow *parent, const char* filename);
|
||||||
void gnc_file_do_save_as(const char* filename);
|
void gnc_file_do_save_as(GtkWindow *parent, const char* filename);
|
||||||
void gnc_file_revert (void);
|
void gnc_file_revert (GtkWindow *parent);
|
||||||
|
|
||||||
/** Tell the user about errors in the backends
|
/** Tell the user about errors in the backends
|
||||||
|
|
||||||
*/
|
*/
|
||||||
gboolean show_session_error (QofBackendError io_error,
|
gboolean show_session_error (GtkWindow *parent,
|
||||||
|
QofBackendError io_error,
|
||||||
const char *newfile,
|
const char *newfile,
|
||||||
GNCFileDialogType type);
|
GNCFileDialogType type);
|
||||||
|
|
||||||
char * gnc_file_dialog (const char * title,
|
char * gnc_file_dialog (GtkWindow *parent,
|
||||||
|
const char * title,
|
||||||
GList * filters,
|
GList * filters,
|
||||||
const char * starting_dir,
|
const char * starting_dir,
|
||||||
GNCFileDialogType type);
|
GNCFileDialogType type);
|
||||||
|
|
||||||
gboolean gnc_file_open_file (const char *filename, gboolean open_readonly);
|
gboolean gnc_file_open_file (GtkWindow *parent,
|
||||||
|
const char *filename,
|
||||||
|
gboolean open_readonly);
|
||||||
|
|
||||||
gboolean gnc_file_query_save (gboolean can_cancel);
|
gboolean gnc_file_query_save (GtkWindow *parent, gboolean can_cancel);
|
||||||
|
|
||||||
void gnc_file_quit (void);
|
void gnc_file_quit (void);
|
||||||
|
|
||||||
|
@ -736,7 +736,7 @@ gnc_gui_init(void)
|
|||||||
/* Load css configuration file */
|
/* Load css configuration file */
|
||||||
gnc_add_css_file ();
|
gnc_add_css_file ();
|
||||||
|
|
||||||
gnc_totd_dialog(GTK_WINDOW(main_window), TRUE);
|
gnc_totd_dialog (gnc_get_splash_screen (), TRUE);
|
||||||
|
|
||||||
LEAVE ("");
|
LEAVE ("");
|
||||||
return main_window;
|
return main_window;
|
||||||
@ -782,7 +782,7 @@ gnc_shutdown (int exit_status)
|
|||||||
{
|
{
|
||||||
if (!gnome_is_terminating)
|
if (!gnome_is_terminating)
|
||||||
{
|
{
|
||||||
if (gnc_file_query_save(FALSE))
|
if (gnc_file_query_save (gnc_ui_get_main_window (NULL), FALSE))
|
||||||
{
|
{
|
||||||
gnc_hook_run(HOOK_UI_SHUTDOWN, NULL);
|
gnc_hook_run(HOOK_UI_SHUTDOWN, NULL);
|
||||||
gnc_gui_shutdown();
|
gnc_gui_shutdown();
|
||||||
|
@ -50,7 +50,7 @@
|
|||||||
* Return: the result the user selected *
|
* Return: the result the user selected *
|
||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
gint
|
gint
|
||||||
gnc_ok_cancel_dialog(GtkWidget *parent,
|
gnc_ok_cancel_dialog(GtkWindow *parent,
|
||||||
gint default_result,
|
gint default_result,
|
||||||
const gchar *format, ...)
|
const gchar *format, ...)
|
||||||
{
|
{
|
||||||
@ -59,12 +59,12 @@ gnc_ok_cancel_dialog(GtkWidget *parent,
|
|||||||
gchar *buffer;
|
gchar *buffer;
|
||||||
va_list args;
|
va_list args;
|
||||||
|
|
||||||
if (parent == NULL)
|
if (!parent)
|
||||||
parent = gnc_ui_get_toplevel();
|
parent = gnc_ui_get_main_window (NULL);
|
||||||
|
|
||||||
va_start(args, format);
|
va_start(args, format);
|
||||||
buffer = g_strdup_vprintf(format, args);
|
buffer = g_strdup_vprintf(format, args);
|
||||||
dialog = gtk_message_dialog_new (GTK_WINDOW(parent),
|
dialog = gtk_message_dialog_new (parent,
|
||||||
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
|
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||||
GTK_MESSAGE_QUESTION,
|
GTK_MESSAGE_QUESTION,
|
||||||
GTK_BUTTONS_OK_CANCEL,
|
GTK_BUTTONS_OK_CANCEL,
|
||||||
@ -73,7 +73,7 @@ gnc_ok_cancel_dialog(GtkWidget *parent,
|
|||||||
g_free(buffer);
|
g_free(buffer);
|
||||||
va_end(args);
|
va_end(args);
|
||||||
|
|
||||||
if (parent == NULL)
|
if (!parent)
|
||||||
gtk_window_set_skip_taskbar_hint(GTK_WINDOW(dialog), FALSE);
|
gtk_window_set_skip_taskbar_hint(GTK_WINDOW(dialog), FALSE);
|
||||||
|
|
||||||
gtk_dialog_set_default_response (GTK_DIALOG(dialog), default_result);
|
gtk_dialog_set_default_response (GTK_DIALOG(dialog), default_result);
|
||||||
@ -99,7 +99,7 @@ gnc_ok_cancel_dialog(GtkWidget *parent,
|
|||||||
* string. *
|
* string. *
|
||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
gboolean
|
gboolean
|
||||||
gnc_verify_dialog(GtkWidget *parent, gboolean yes_is_default,
|
gnc_verify_dialog(GtkWindow *parent, gboolean yes_is_default,
|
||||||
const gchar *format, ...)
|
const gchar *format, ...)
|
||||||
{
|
{
|
||||||
GtkWidget *dialog;
|
GtkWidget *dialog;
|
||||||
@ -107,12 +107,12 @@ gnc_verify_dialog(GtkWidget *parent, gboolean yes_is_default,
|
|||||||
gint result;
|
gint result;
|
||||||
va_list args;
|
va_list args;
|
||||||
|
|
||||||
if (parent == NULL)
|
if (!parent)
|
||||||
parent = gnc_ui_get_toplevel();
|
parent = gnc_ui_get_main_window (NULL);
|
||||||
|
|
||||||
va_start(args, format);
|
va_start(args, format);
|
||||||
buffer = g_strdup_vprintf(format, args);
|
buffer = g_strdup_vprintf(format, args);
|
||||||
dialog = gtk_message_dialog_new (GTK_WINDOW(parent),
|
dialog = gtk_message_dialog_new (parent,
|
||||||
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
|
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||||
GTK_MESSAGE_QUESTION,
|
GTK_MESSAGE_QUESTION,
|
||||||
GTK_BUTTONS_YES_NO,
|
GTK_BUTTONS_YES_NO,
|
||||||
@ -121,7 +121,7 @@ gnc_verify_dialog(GtkWidget *parent, gboolean yes_is_default,
|
|||||||
g_free(buffer);
|
g_free(buffer);
|
||||||
va_end(args);
|
va_end(args);
|
||||||
|
|
||||||
if (parent == NULL)
|
if (!parent)
|
||||||
gtk_window_set_skip_taskbar_hint(GTK_WINDOW(dialog), FALSE);
|
gtk_window_set_skip_taskbar_hint(GTK_WINDOW(dialog), FALSE);
|
||||||
|
|
||||||
gtk_dialog_set_default_response(GTK_DIALOG(dialog),
|
gtk_dialog_set_default_response(GTK_DIALOG(dialog),
|
||||||
@ -131,6 +131,30 @@ gnc_verify_dialog(GtkWidget *parent, gboolean yes_is_default,
|
|||||||
return (result == GTK_RESPONSE_YES);
|
return (result == GTK_RESPONSE_YES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gnc_message_dialog_common (GtkWindow *parent, const gchar *format, GtkMessageType msg_type, va_list args)
|
||||||
|
{
|
||||||
|
GtkWidget *dialog = NULL;
|
||||||
|
gchar *buffer;
|
||||||
|
|
||||||
|
if (!parent)
|
||||||
|
parent = gnc_ui_get_main_window (NULL);
|
||||||
|
|
||||||
|
buffer = g_strdup_vprintf(format, args);
|
||||||
|
dialog = gtk_message_dialog_new (parent,
|
||||||
|
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||||
|
msg_type,
|
||||||
|
GTK_BUTTONS_CLOSE,
|
||||||
|
"%s",
|
||||||
|
buffer);
|
||||||
|
g_free(buffer);
|
||||||
|
|
||||||
|
if (!parent)
|
||||||
|
gtk_window_set_skip_taskbar_hint(GTK_WINDOW(dialog), FALSE);
|
||||||
|
|
||||||
|
gtk_dialog_run (GTK_DIALOG (dialog));
|
||||||
|
gtk_widget_destroy (dialog);
|
||||||
|
}
|
||||||
|
|
||||||
/********************************************************************\
|
/********************************************************************\
|
||||||
* gnc_info_dialog *
|
* gnc_info_dialog *
|
||||||
@ -144,36 +168,19 @@ gnc_verify_dialog(GtkWidget *parent, gboolean yes_is_default,
|
|||||||
* Return: none *
|
* Return: none *
|
||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
void
|
void
|
||||||
gnc_info_dialog(GtkWidget *parent, const gchar *format, ...)
|
gnc_info_dialog (GtkWindow *parent, const gchar *format, ...)
|
||||||
{
|
{
|
||||||
GtkWidget *dialog;
|
|
||||||
gchar *buffer;
|
|
||||||
va_list args;
|
va_list args;
|
||||||
|
|
||||||
if (parent == NULL)
|
|
||||||
parent = gnc_ui_get_toplevel();
|
|
||||||
|
|
||||||
va_start(args, format);
|
va_start(args, format);
|
||||||
buffer = g_strdup_vprintf(format, args);
|
gnc_message_dialog_common (parent, format, GTK_MESSAGE_INFO, args);
|
||||||
dialog = gtk_message_dialog_new (GTK_WINDOW(parent),
|
|
||||||
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
|
|
||||||
GTK_MESSAGE_INFO,
|
|
||||||
GTK_BUTTONS_CLOSE,
|
|
||||||
"%s",
|
|
||||||
buffer);
|
|
||||||
va_end(args);
|
va_end(args);
|
||||||
|
|
||||||
if (parent == NULL)
|
|
||||||
gtk_window_set_skip_taskbar_hint(GTK_WINDOW(dialog), FALSE);
|
|
||||||
|
|
||||||
gtk_dialog_run(GTK_DIALOG(dialog));
|
|
||||||
gtk_widget_destroy (dialog);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/********************************************************************\
|
/********************************************************************\
|
||||||
* gnc_warning_dialog_common *
|
* gnc_warning_dialog *
|
||||||
* displays a warning dialog box *
|
* displays a warning dialog box *
|
||||||
* *
|
* *
|
||||||
* Args: parent - the parent window *
|
* Args: parent - the parent window *
|
||||||
@ -183,44 +190,20 @@ gnc_info_dialog(GtkWidget *parent, const gchar *format, ...)
|
|||||||
* string. *
|
* string. *
|
||||||
* Return: none *
|
* Return: none *
|
||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
static void
|
|
||||||
gnc_warning_dialog_common(GtkWidget *parent, const gchar *format, va_list args)
|
|
||||||
{
|
|
||||||
GtkWidget *dialog = NULL;
|
|
||||||
gchar *buffer;
|
|
||||||
|
|
||||||
if (parent == NULL)
|
|
||||||
parent = GTK_WIDGET(gnc_ui_get_toplevel());
|
|
||||||
|
|
||||||
buffer = g_strdup_vprintf(format, args);
|
|
||||||
dialog = gtk_message_dialog_new (GTK_WINDOW(parent),
|
|
||||||
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
|
|
||||||
GTK_MESSAGE_WARNING,
|
|
||||||
GTK_BUTTONS_CLOSE,
|
|
||||||
"%s",
|
|
||||||
buffer);
|
|
||||||
g_free(buffer);
|
|
||||||
|
|
||||||
if (parent == NULL)
|
|
||||||
gtk_window_set_skip_taskbar_hint(GTK_WINDOW(dialog), FALSE);
|
|
||||||
|
|
||||||
gtk_dialog_run (GTK_DIALOG (dialog));
|
|
||||||
gtk_widget_destroy (dialog);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
gnc_warning_dialog(GtkWidget *parent, const gchar *format, ...)
|
gnc_warning_dialog (GtkWindow *parent, const gchar *format, ...)
|
||||||
{
|
{
|
||||||
va_list args;
|
va_list args;
|
||||||
|
|
||||||
va_start(args, format);
|
va_start(args, format);
|
||||||
gnc_warning_dialog_common(parent, format, args);
|
gnc_message_dialog_common (parent, format, GTK_MESSAGE_WARNING, args);
|
||||||
va_end(args);
|
va_end(args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/********************************************************************\
|
/********************************************************************\
|
||||||
* gnc_error_dialog_common *
|
* gnc_error_dialog *
|
||||||
* displays an error dialog box *
|
* displays an error dialog box *
|
||||||
* *
|
* *
|
||||||
* Args: parent - the parent window *
|
* Args: parent - the parent window *
|
||||||
@ -230,38 +213,12 @@ gnc_warning_dialog(GtkWidget *parent, const gchar *format, ...)
|
|||||||
* string. *
|
* string. *
|
||||||
* Return: none *
|
* Return: none *
|
||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
static void
|
void gnc_error_dialog (GtkWindow* parent, const char* format, ...)
|
||||||
gnc_error_dialog_common(GtkWidget *parent, const gchar *format, va_list args)
|
|
||||||
{
|
|
||||||
GtkWidget *dialog;
|
|
||||||
gchar *buffer;
|
|
||||||
|
|
||||||
if (parent == NULL)
|
|
||||||
parent = GTK_WIDGET(gnc_ui_get_toplevel());
|
|
||||||
|
|
||||||
buffer = g_strdup_vprintf(format, args);
|
|
||||||
dialog = gtk_message_dialog_new (GTK_WINDOW(parent),
|
|
||||||
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
|
|
||||||
GTK_MESSAGE_ERROR,
|
|
||||||
GTK_BUTTONS_CLOSE,
|
|
||||||
"%s",
|
|
||||||
buffer);
|
|
||||||
g_free(buffer);
|
|
||||||
|
|
||||||
if (parent == NULL)
|
|
||||||
gtk_window_set_skip_taskbar_hint(GTK_WINDOW(dialog), FALSE);
|
|
||||||
|
|
||||||
gtk_dialog_run(GTK_DIALOG(dialog));
|
|
||||||
gtk_widget_destroy (dialog);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
gnc_error_dialog(GtkWidget *parent, const gchar *format, ...)
|
|
||||||
{
|
{
|
||||||
va_list args;
|
va_list args;
|
||||||
|
|
||||||
va_start(args, format);
|
va_start(args, format);
|
||||||
gnc_error_dialog_common(parent, format, args);
|
gnc_message_dialog_common (parent, format, GTK_MESSAGE_ERROR, args);
|
||||||
va_end(args);
|
va_end(args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,12 +24,11 @@
|
|||||||
#define QUERY_USER_H
|
#define QUERY_USER_H
|
||||||
|
|
||||||
extern void
|
extern void
|
||||||
gnc_info_dialog(GtkWidget *parent,
|
gnc_info_dialog (GtkWindow *parent,
|
||||||
const char *format, ...) G_GNUC_PRINTF (2, 3);
|
|
||||||
|
|
||||||
|
|
||||||
extern void
|
|
||||||
gnc_error_dialog(GtkWidget *parent,
|
|
||||||
const char *format, ...) G_GNUC_PRINTF (2, 3);
|
const char *format, ...) G_GNUC_PRINTF (2, 3);
|
||||||
|
|
||||||
|
|
||||||
|
void gnc_error_dialog (GtkWindow* parent, const char* format, ...) G_GNUC_PRINTF (2, 3);
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -720,8 +720,8 @@ gnc_main_window_restore_window (GncMainWindow *window, GncMainWindowSaveData *da
|
|||||||
if (active_windows)
|
if (active_windows)
|
||||||
DEBUG("first window %p.", active_windows->data);
|
DEBUG("first window %p.", active_windows->data);
|
||||||
window = gnc_main_window_new();
|
window = gnc_main_window_new();
|
||||||
gtk_widget_show(GTK_WIDGET(window));
|
|
||||||
}
|
}
|
||||||
|
gtk_widget_show(GTK_WIDGET(window));
|
||||||
|
|
||||||
priv = GNC_MAIN_WINDOW_GET_PRIVATE(window);
|
priv = GNC_MAIN_WINDOW_GET_PRIVATE(window);
|
||||||
|
|
||||||
@ -952,6 +952,7 @@ gnc_main_window_restore_default_state(GncMainWindow *window)
|
|||||||
DEBUG("no saved state file");
|
DEBUG("no saved state file");
|
||||||
if (!window)
|
if (!window)
|
||||||
window = g_list_nth_data(active_windows, 0);
|
window = g_list_nth_data(active_windows, 0);
|
||||||
|
gtk_widget_show (GTK_WIDGET(window));
|
||||||
action = gnc_main_window_find_action(window, "ViewAccountTreeAction");
|
action = gnc_main_window_find_action(window, "ViewAccountTreeAction");
|
||||||
gtk_action_activate(action);
|
gtk_action_activate(action);
|
||||||
}
|
}
|
||||||
@ -1293,7 +1294,7 @@ gnc_main_window_prompt_for_save (GtkWidget *window)
|
|||||||
switch (response)
|
switch (response)
|
||||||
{
|
{
|
||||||
case GTK_RESPONSE_APPLY:
|
case GTK_RESPONSE_APPLY:
|
||||||
gnc_file_save();
|
gnc_file_save (GTK_WINDOW (window));
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
case GTK_RESPONSE_CLOSE:
|
case GTK_RESPONSE_CLOSE:
|
||||||
@ -1600,14 +1601,13 @@ static guint gnc_statusbar_notification_messageid = 0;
|
|||||||
* statusbar by generate_statusbar_lastmodified_message. */
|
* statusbar by generate_statusbar_lastmodified_message. */
|
||||||
static gboolean statusbar_notification_off(gpointer user_data_unused)
|
static gboolean statusbar_notification_off(gpointer user_data_unused)
|
||||||
{
|
{
|
||||||
GtkWidget *widget = gnc_ui_get_toplevel();
|
GncMainWindow *mainwindow = GNC_MAIN_WINDOW (gnc_ui_get_main_window (NULL));
|
||||||
//g_warning("statusbar_notification_off\n");
|
//g_warning("statusbar_notification_off\n");
|
||||||
if (gnc_statusbar_notification_messageid == 0)
|
if (gnc_statusbar_notification_messageid == 0)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if (widget && GNC_IS_MAIN_WINDOW(widget))
|
if (mainwindow)
|
||||||
{
|
{
|
||||||
GncMainWindow *mainwindow = GNC_MAIN_WINDOW(widget);
|
|
||||||
GtkWidget *statusbar = gnc_main_window_get_statusbar(GNC_WINDOW(mainwindow));
|
GtkWidget *statusbar = gnc_main_window_get_statusbar(GNC_WINDOW(mainwindow));
|
||||||
gtk_statusbar_remove(GTK_STATUSBAR(statusbar), 0, gnc_statusbar_notification_messageid);
|
gtk_statusbar_remove(GTK_STATUSBAR(statusbar), 0, gnc_statusbar_notification_messageid);
|
||||||
gnc_statusbar_notification_messageid = 0;
|
gnc_statusbar_notification_messageid = 0;
|
||||||
@ -2670,16 +2670,16 @@ GncMainWindow *
|
|||||||
gnc_main_window_new (void)
|
gnc_main_window_new (void)
|
||||||
{
|
{
|
||||||
GncMainWindow *window;
|
GncMainWindow *window;
|
||||||
GtkWidget *old_window;
|
GtkWindow *old_window;
|
||||||
|
|
||||||
window = g_object_new (GNC_TYPE_MAIN_WINDOW, NULL);
|
window = g_object_new (GNC_TYPE_MAIN_WINDOW, NULL);
|
||||||
gtk_window_set_default_size(GTK_WINDOW(window), 800, 600);
|
gtk_window_set_default_size(GTK_WINDOW(window), 800, 600);
|
||||||
|
|
||||||
old_window = gnc_ui_get_toplevel();
|
old_window = gnc_ui_get_main_window (NULL);
|
||||||
if (old_window)
|
if (old_window)
|
||||||
{
|
{
|
||||||
gint width, height;
|
gint width, height;
|
||||||
gtk_window_get_size (GTK_WINDOW (old_window), &width, &height);
|
gtk_window_get_size (old_window, &width, &height);
|
||||||
gtk_window_resize (GTK_WINDOW (window), width, height);
|
gtk_window_resize (GTK_WINDOW (window), width, height);
|
||||||
if ((gdk_window_get_state((gtk_widget_get_window (GTK_WIDGET(old_window))))
|
if ((gdk_window_get_state((gtk_widget_get_window (GTK_WIDGET(old_window))))
|
||||||
& GDK_WINDOW_STATE_MAXIMIZED) != 0)
|
& GDK_WINDOW_STATE_MAXIMIZED) != 0)
|
||||||
@ -4554,19 +4554,41 @@ gnc_main_window_show_all_windows(void)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get a pointer to the first active top level window or NULL
|
GtkWindow *
|
||||||
* if there is none.
|
gnc_ui_get_gtk_window (GtkWidget *widget)
|
||||||
*
|
{
|
||||||
* @return A pointer to a GtkWindow object. */
|
GtkWidget *toplevel;
|
||||||
GtkWidget *
|
|
||||||
gnc_ui_get_toplevel (void)
|
if (!widget)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
toplevel = gtk_widget_get_toplevel (widget);
|
||||||
|
if (toplevel && GTK_IS_WINDOW (toplevel))
|
||||||
|
return GTK_WINDOW (toplevel);
|
||||||
|
else
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
GtkWindow *
|
||||||
|
gnc_ui_get_main_window (GtkWidget *widget)
|
||||||
{
|
{
|
||||||
GList *window;
|
GList *window;
|
||||||
|
|
||||||
|
GtkWindow *toplevel = gnc_ui_get_gtk_window (widget);
|
||||||
|
while (toplevel && !GNC_IS_MAIN_WINDOW (toplevel))
|
||||||
|
toplevel = gtk_window_get_transient_for(toplevel);
|
||||||
|
|
||||||
|
if (toplevel)
|
||||||
|
return toplevel;
|
||||||
|
|
||||||
for (window = active_windows; window; window = window->next)
|
for (window = active_windows; window; window = window->next)
|
||||||
if (gtk_window_is_active (GTK_WINDOW (window->data)))
|
if (gtk_window_is_active (GTK_WINDOW (window->data)))
|
||||||
return window->data;
|
return window->data;
|
||||||
|
|
||||||
|
for (window = active_windows; window; window = window->next)
|
||||||
|
if (gtk_widget_get_mapped (GTK_WIDGET(window->data)))
|
||||||
|
return window->data;
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -696,7 +696,8 @@ gnc_plugin_file_history_cmd_open_file (GtkAction *action,
|
|||||||
filename = g_object_get_data(G_OBJECT(action), FILENAME_STRING);
|
filename = g_object_get_data(G_OBJECT(action), FILENAME_STRING);
|
||||||
gnc_window_set_progressbar_window (GNC_WINDOW(data->window));
|
gnc_window_set_progressbar_window (GNC_WINDOW(data->window));
|
||||||
/* also opens new account page */
|
/* also opens new account page */
|
||||||
gnc_file_open_file (filename, /*open_readonly*/ FALSE);
|
gnc_file_open_file (GTK_WINDOW (data->window),
|
||||||
|
filename, /*open_readonly*/ FALSE);
|
||||||
gnc_window_set_progressbar_window (NULL);
|
gnc_window_set_progressbar_window (NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -206,3 +206,8 @@ gnc_update_splash_screen (const gchar *string, double percentage)
|
|||||||
gtk_main_iteration ();
|
gtk_main_iteration ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GtkWindow *gnc_get_splash_screen (void)
|
||||||
|
{
|
||||||
|
return GTK_WINDOW(splash);
|
||||||
|
}
|
||||||
|
@ -22,10 +22,12 @@
|
|||||||
|
|
||||||
#ifndef GNC_SPLASH_H
|
#ifndef GNC_SPLASH_H
|
||||||
#define GNC_SPLASH_H
|
#define GNC_SPLASH_H
|
||||||
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
void gnc_show_splash_screen (void);
|
void gnc_show_splash_screen (void);
|
||||||
void gnc_destroy_splash_screen (void);
|
void gnc_destroy_splash_screen (void);
|
||||||
void gnc_update_splash_screen (const gchar *string, double percentage);
|
void gnc_update_splash_screen (const gchar *string, double percentage);
|
||||||
|
GtkWindow *gnc_get_splash_screen (void);
|
||||||
|
|
||||||
#define GNC_SPLASH_PERCENTAGE_UNKNOWN 101
|
#define GNC_SPLASH_PERCENTAGE_UNKNOWN 101
|
||||||
|
|
||||||
|
@ -167,13 +167,13 @@ gnc_tree_control_split_reg_trans_open_and_warn (GncTreeViewSplitReg *view, Trans
|
|||||||
gboolean
|
gboolean
|
||||||
gtc_sr_trans_test_for_edit (GncTreeViewSplitReg *view, Transaction *trans)
|
gtc_sr_trans_test_for_edit (GncTreeViewSplitReg *view, Transaction *trans)
|
||||||
{
|
{
|
||||||
GtkWidget *window;
|
GtkWindow *window;
|
||||||
Transaction *dirty_trans;
|
Transaction *dirty_trans;
|
||||||
|
|
||||||
/* Make sure we have stopped editing */
|
/* Make sure we have stopped editing */
|
||||||
gnc_tree_view_split_reg_finish_edit (view);
|
gnc_tree_view_split_reg_finish_edit (view);
|
||||||
|
|
||||||
window = gnc_tree_view_split_reg_get_parent (view);
|
window = gnc_ui_get_main_window (GTK_WIDGET (view));
|
||||||
|
|
||||||
/* Get dirty_trans */
|
/* Get dirty_trans */
|
||||||
dirty_trans = gnc_tree_view_split_reg_get_dirty_trans (view);
|
dirty_trans = gnc_tree_view_split_reg_get_dirty_trans (view);
|
||||||
@ -354,7 +354,7 @@ void
|
|||||||
gnc_tree_control_split_reg_exchange_rate (GncTreeViewSplitReg *view)
|
gnc_tree_control_split_reg_exchange_rate (GncTreeViewSplitReg *view)
|
||||||
{
|
{
|
||||||
GncTreeModelSplitReg *model;
|
GncTreeModelSplitReg *model;
|
||||||
GtkWidget *window;
|
GtkWindow *window;
|
||||||
Account *anchor;
|
Account *anchor;
|
||||||
Transaction *trans;
|
Transaction *trans;
|
||||||
Split *split = NULL;
|
Split *split = NULL;
|
||||||
@ -397,7 +397,7 @@ gnc_tree_control_split_reg_exchange_rate (GncTreeViewSplitReg *view)
|
|||||||
if (num_splits < 2)
|
if (num_splits < 2)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
window = gnc_tree_view_split_reg_get_parent (view);
|
window = gnc_ui_get_main_window (GTK_WIDGET (view));
|
||||||
|
|
||||||
/* Make sure we NEED this for this type of register */
|
/* Make sure we NEED this for this type of register */
|
||||||
if (!gnc_tree_util_split_reg_has_rate (view))
|
if (!gnc_tree_util_split_reg_has_rate (view))
|
||||||
@ -1078,7 +1078,7 @@ gnc_tree_control_split_reg_delete (GncTreeViewSplitReg *view, gpointer data)
|
|||||||
void
|
void
|
||||||
gnc_tree_control_split_reg_reverse_current (GncTreeViewSplitReg *view)
|
gnc_tree_control_split_reg_reverse_current (GncTreeViewSplitReg *view)
|
||||||
{
|
{
|
||||||
GtkWidget *window;
|
GtkWindow *window;
|
||||||
Transaction *trans = NULL, *new_trans = NULL;
|
Transaction *trans = NULL, *new_trans = NULL;
|
||||||
GList *snode = NULL;
|
GList *snode = NULL;
|
||||||
|
|
||||||
@ -1113,7 +1113,7 @@ gnc_tree_control_split_reg_reverse_current (GncTreeViewSplitReg *view)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
window = gnc_tree_view_split_reg_get_parent (view);
|
window = gnc_ui_get_main_window (GTK_WIDGET (view));
|
||||||
|
|
||||||
if (xaccTransGetReversedBy (trans))
|
if (xaccTransGetReversedBy (trans))
|
||||||
{
|
{
|
||||||
@ -1167,7 +1167,7 @@ gboolean
|
|||||||
gnc_tree_control_split_reg_duplicate_current (GncTreeViewSplitReg *view)
|
gnc_tree_control_split_reg_duplicate_current (GncTreeViewSplitReg *view)
|
||||||
{
|
{
|
||||||
GncTreeModelSplitReg *model;
|
GncTreeModelSplitReg *model;
|
||||||
GtkWidget *window;
|
GtkWindow *window;
|
||||||
RowDepth depth;
|
RowDepth depth;
|
||||||
Transaction *trans;
|
Transaction *trans;
|
||||||
Split *blank_split;
|
Split *blank_split;
|
||||||
@ -1228,7 +1228,7 @@ gnc_tree_control_split_reg_duplicate_current (GncTreeViewSplitReg *view)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
window = gnc_tree_view_split_reg_get_parent (view);
|
window = gnc_ui_get_main_window (GTK_WIDGET (view));
|
||||||
|
|
||||||
/* Ok, we are now ready to make the copy. */
|
/* Ok, we are now ready to make the copy. */
|
||||||
if (depth == SPLIT3)
|
if (depth == SPLIT3)
|
||||||
@ -1259,7 +1259,7 @@ gnc_tree_control_split_reg_duplicate_current (GncTreeViewSplitReg *view)
|
|||||||
else
|
else
|
||||||
in_num = gnc_get_num_action (NULL, split);
|
in_num = gnc_get_num_action (NULL, split);
|
||||||
|
|
||||||
if (!gnc_dup_trans_dialog (window, title, FALSE,
|
if (!gnc_dup_trans_dialog (GTK_WIDGET (window), title, FALSE,
|
||||||
&date, in_num, &out_num, NULL, NULL))
|
&date, in_num, &out_num, NULL, NULL))
|
||||||
{
|
{
|
||||||
LEAVE("dup cancelled");
|
LEAVE("dup cancelled");
|
||||||
@ -1334,7 +1334,7 @@ gnc_tree_control_split_reg_duplicate_current (GncTreeViewSplitReg *view)
|
|||||||
? gnc_get_num_action (trans, NULL)
|
? gnc_get_num_action (trans, NULL)
|
||||||
: NULL);
|
: NULL);
|
||||||
|
|
||||||
if (!gnc_dup_trans_dialog (window, NULL, TRUE,
|
if (!gnc_dup_trans_dialog (GTK_WIDGET (window), NULL, TRUE,
|
||||||
&date, in_num, &out_num, in_tnum, &out_tnum))
|
&date, in_num, &out_num, in_tnum, &out_tnum))
|
||||||
{
|
{
|
||||||
LEAVE("dup cancelled");
|
LEAVE("dup cancelled");
|
||||||
@ -1348,7 +1348,7 @@ gnc_tree_control_split_reg_duplicate_current (GncTreeViewSplitReg *view)
|
|||||||
gnc_gdate_set_time64 (&d, date);
|
gnc_gdate_set_time64 (&d, date);
|
||||||
if (g_date_compare (&d, readonly_threshold) < 0)
|
if (g_date_compare (&d, readonly_threshold) < 0)
|
||||||
{
|
{
|
||||||
GtkWidget *dialog = gtk_message_dialog_new (GTK_WINDOW (window),
|
GtkWidget *dialog = gtk_message_dialog_new (window,
|
||||||
0,
|
0,
|
||||||
GTK_MESSAGE_ERROR,
|
GTK_MESSAGE_ERROR,
|
||||||
GTK_BUTTONS_OK,
|
GTK_BUTTONS_OK,
|
||||||
@ -1946,7 +1946,7 @@ gnc_tree_control_split_reg_recn_test (GncTreeViewSplitReg *view, GtkTreePath *sp
|
|||||||
Account *
|
Account *
|
||||||
gnc_tree_control_split_reg_get_account_by_name (GncTreeViewSplitReg *view, const char *name)
|
gnc_tree_control_split_reg_get_account_by_name (GncTreeViewSplitReg *view, const char *name)
|
||||||
{
|
{
|
||||||
GtkWidget *window;
|
GtkWindow *window;
|
||||||
const char *placeholder = _("The account %s does not allow transactions.");
|
const char *placeholder = _("The account %s does not allow transactions.");
|
||||||
const char *missing = _("The account %s does not exist. "
|
const char *missing = _("The account %s does not exist. "
|
||||||
"Would you like to create it?");
|
"Would you like to create it?");
|
||||||
@ -1964,7 +1964,7 @@ gnc_tree_control_split_reg_get_account_by_name (GncTreeViewSplitReg *view, const
|
|||||||
if (!account)
|
if (!account)
|
||||||
account = gnc_account_lookup_by_code (gnc_get_current_root_account(), name);
|
account = gnc_account_lookup_by_code (gnc_get_current_root_account(), name);
|
||||||
|
|
||||||
window = gnc_tree_view_split_reg_get_parent (view);
|
window = gnc_ui_get_main_window (GTK_WIDGET (view));
|
||||||
|
|
||||||
if (!account)
|
if (!account)
|
||||||
{
|
{
|
||||||
@ -2106,9 +2106,9 @@ gnc_tree_control_split_reg_paste_trans (GncTreeViewSplitReg *view)
|
|||||||
//FIXME You can not paste from gl to a register, is this too simplistic
|
//FIXME You can not paste from gl to a register, is this too simplistic
|
||||||
if (clipboard_acct == NULL && anchor_acct != NULL)
|
if (clipboard_acct == NULL && anchor_acct != NULL)
|
||||||
{
|
{
|
||||||
GtkWidget *window;
|
GtkWindow *window;
|
||||||
|
|
||||||
window = gnc_tree_view_split_reg_get_parent (view);
|
window = gnc_ui_get_main_window (GTK_WIDGET (view));
|
||||||
gnc_error_dialog (window, "%s",
|
gnc_error_dialog (window, "%s",
|
||||||
_("You can not paste from the general journal to a register."));
|
_("You can not paste from the general journal to a register."));
|
||||||
return;
|
return;
|
||||||
|
@ -824,7 +824,7 @@ void
|
|||||||
gnc_tree_util_split_reg_set_value_for (GncTreeViewSplitReg *view, Transaction *trans, Split *split, gnc_numeric input, gboolean force)
|
gnc_tree_util_split_reg_set_value_for (GncTreeViewSplitReg *view, Transaction *trans, Split *split, gnc_numeric input, gboolean force)
|
||||||
{
|
{
|
||||||
// GncTreeModelSplitReg *model;
|
// GncTreeModelSplitReg *model;
|
||||||
GtkWidget *window;
|
GtkWindow *window;
|
||||||
// Account *anchor;
|
// Account *anchor;
|
||||||
// Account *acct = xaccSplitGetAccount (split);
|
// Account *acct = xaccSplitGetAccount (split);
|
||||||
// gnc_commodity *currency;
|
// gnc_commodity *currency;
|
||||||
@ -845,7 +845,7 @@ gnc_tree_util_split_reg_set_value_for (GncTreeViewSplitReg *view, Transaction *t
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
window = gnc_tree_view_split_reg_get_parent (view);
|
window = gnc_ui_get_main_window (GTK_WIDGET (view));
|
||||||
|
|
||||||
if (gtu_sr_needs_exchange_rate (view, trans, split))
|
if (gtu_sr_needs_exchange_rate (view, trans, split))
|
||||||
{
|
{
|
||||||
|
@ -79,27 +79,27 @@
|
|||||||
/* Dialog windows ***************************************************/
|
/* Dialog windows ***************************************************/
|
||||||
|
|
||||||
extern gboolean
|
extern gboolean
|
||||||
gnc_verify_dialog(GtkWidget *parent,
|
gnc_verify_dialog (GtkWindow *parent,
|
||||||
gboolean yes_is_default,
|
gboolean yes_is_default,
|
||||||
const char *format, ...) G_GNUC_PRINTF (3, 4);
|
const char *format, ...) G_GNUC_PRINTF (3, 4);
|
||||||
|
|
||||||
extern gint
|
extern gint
|
||||||
gnc_ok_cancel_dialog(GtkWidget *parent,
|
gnc_ok_cancel_dialog (GtkWindow *parent,
|
||||||
gint default_result,
|
gint default_result,
|
||||||
const char *format, ...) G_GNUC_PRINTF (3, 4);
|
const char *format, ...) G_GNUC_PRINTF (3, 4);
|
||||||
|
|
||||||
extern void
|
extern void
|
||||||
gnc_warning_dialog(GtkWidget *parent,
|
gnc_warning_dialog (GtkWindow *parent,
|
||||||
const char *format, ...) G_GNUC_PRINTF (2, 3);
|
const char *format, ...) G_GNUC_PRINTF (2, 3);
|
||||||
|
|
||||||
extern void
|
extern void
|
||||||
gnc_info_dialog(GtkWidget *parent,
|
gnc_info_dialog (GtkWindow *parent,
|
||||||
const char *format, ...) G_GNUC_PRINTF (2, 3);
|
|
||||||
|
|
||||||
extern void
|
|
||||||
gnc_error_dialog(GtkWidget *parent,
|
|
||||||
const char *format, ...) G_GNUC_PRINTF (2, 3);
|
const char *format, ...) G_GNUC_PRINTF (2, 3);
|
||||||
|
|
||||||
|
extern void
|
||||||
|
gnc_error_dialog (GtkWindow *parent,
|
||||||
|
const char *format, ...) G_GNUC_PRINTF (2, 3);
|
||||||
|
|
||||||
|
|
||||||
extern void
|
extern void
|
||||||
gnc_gnome_help (const char *file_name, const char *target_link);
|
gnc_gnome_help (const char *file_name, const char *target_link);
|
||||||
@ -141,7 +141,34 @@ gboolean gnc_get_username_password (GtkWidget *parent,
|
|||||||
|
|
||||||
/* Managing the GUI Windows *****************************************/
|
/* Managing the GUI Windows *****************************************/
|
||||||
|
|
||||||
GtkWidget *gnc_ui_get_toplevel (void);
|
/** Get a pointer to the widget's immediate top level GtkWindow. This can be a dialog
|
||||||
|
* window or a GncMainWindow. If the widget is not a child of
|
||||||
|
* a GtkWindow (yet), NULL is returned.
|
||||||
|
*
|
||||||
|
* @param widget the widget to find a GtkWindow for.
|
||||||
|
* @return A pointer to a GtkWindow object or NULL if no toplevel was found. */
|
||||||
|
GtkWindow *gnc_ui_get_gtk_window (GtkWidget *widget);
|
||||||
|
|
||||||
|
/** Get a pointer to the final GncMainWindow widget is rooted
|
||||||
|
* in. If widget is a child of a GncMainWindow return that window.
|
||||||
|
* If it's a child of a dialog window recursively query the
|
||||||
|
* dialog's transient parent until the first parent that's a GncMainWindow
|
||||||
|
* and return that. If widget is NULL or not part of any GtkWindow,
|
||||||
|
* get a pointer to the first active top level window. If there is
|
||||||
|
* none, return the first mapped window. If there's no mapped window
|
||||||
|
* return NULL.
|
||||||
|
*
|
||||||
|
* An example of why searching for a GncMainWindow makes sense: suppose
|
||||||
|
* a user has opened a search dialog for vendors and in that dialog has
|
||||||
|
* clicked "View vendor invoices". This opens another search window in
|
||||||
|
* which the user can click "View/Edit bill". Clicking that button should
|
||||||
|
* open a new tab in the GncMainWindow from which the first search dialog
|
||||||
|
* was opened.
|
||||||
|
*
|
||||||
|
* @param widget the widget to find a GncMainWindow for.
|
||||||
|
* @return A pointer to a GtkWindow object. */
|
||||||
|
|
||||||
|
GtkWindow *gnc_ui_get_main_window (GtkWidget *widget);
|
||||||
|
|
||||||
/* Changing the GUI Cursor ******************************************/
|
/* Changing the GUI Cursor ******************************************/
|
||||||
|
|
||||||
|
@ -57,18 +57,18 @@ void gnc_options_dialog_set_scm_callbacks (GNCOptionWin *win,
|
|||||||
SCM apply_cb, SCM close_cb);
|
SCM apply_cb, SCM close_cb);
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
gnc_verify_dialog(GtkWidget *parent, gboolean yes_is_default,
|
gnc_verify_dialog (GtkWindow *parent, gboolean yes_is_default,
|
||||||
const gchar *format, ...);
|
const gchar *format, ...);
|
||||||
|
|
||||||
void
|
void
|
||||||
gnc_warning_dialog(GtkWidget *parent,
|
gnc_warning_dialog (GtkWindow *parent,
|
||||||
const gchar *format, ...);
|
const gchar *format, ...);
|
||||||
void
|
void
|
||||||
gnc_error_dialog(GtkWidget *parent,
|
gnc_error_dialog (GtkWindow *parent,
|
||||||
|
const char *format, ...);
|
||||||
|
void
|
||||||
|
gnc_info_dialog (GtkWindow *parent,
|
||||||
const char *format, ...);
|
const char *format, ...);
|
||||||
void
|
|
||||||
gnc_info_dialog(GtkWidget *parent,
|
|
||||||
const char *format, ...);
|
|
||||||
|
|
||||||
void gnc_add_scm_extension (SCM extension);
|
void gnc_add_scm_extension (SCM extension);
|
||||||
|
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
<interface>
|
<interface>
|
||||||
<requires lib="gtk+" version="3.10"/>
|
<requires lib="gtk+" version="3.10"/>
|
||||||
<object class="GtkDialog" id="totd_dialog">
|
<object class="GtkDialog" id="totd_dialog">
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="border_width">6</property>
|
<property name="border_width">6</property>
|
||||||
<property name="title" translatable="yes">GnuCash Tip Of The Day</property>
|
<property name="title" translatable="yes">GnuCash Tip Of The Day</property>
|
||||||
|
@ -58,6 +58,7 @@
|
|||||||
#include "gnc-path.h"
|
#include "gnc-path.h"
|
||||||
#include "gnc-gui-query.h"
|
#include "gnc-gui-query.h"
|
||||||
#include "gnc-tree-view-account.h"
|
#include "gnc-tree-view-account.h"
|
||||||
|
#include "gnc-ui.h"
|
||||||
#include "gnc-ui-util.h"
|
#include "gnc-ui-util.h"
|
||||||
#include "io-example-account.h"
|
#include "io-example-account.h"
|
||||||
#include "top-level.h"
|
#include "top-level.h"
|
||||||
@ -1317,7 +1318,7 @@ static void
|
|||||||
after_assistant(void)
|
after_assistant(void)
|
||||||
{
|
{
|
||||||
qof_book_mark_session_dirty(gnc_get_current_book());
|
qof_book_mark_session_dirty(gnc_get_current_book());
|
||||||
gnc_ui_file_access_for_save_as();
|
gnc_ui_file_access_for_save_as (gnc_ui_get_main_window (NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -410,7 +410,7 @@ gnc_stock_split_assistant_finish (GtkAssistant *assistant,
|
|||||||
pdb = gnc_pricedb_get_db (book);
|
pdb = gnc_pricedb_get_db (book);
|
||||||
|
|
||||||
if (!gnc_pricedb_add_price (pdb, price))
|
if (!gnc_pricedb_add_price (pdb, price))
|
||||||
gnc_error_dialog (info->window, "%s", _("Error adding price."));
|
gnc_error_dialog (GTK_WINDOW (info->window), "%s", _("Error adding price."));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -778,7 +778,7 @@ gnc_stock_split_dialog (GtkWidget *parent, Account * initial)
|
|||||||
|
|
||||||
if (fill_account_list (info, initial) == 0)
|
if (fill_account_list (info, initial) == 0)
|
||||||
{
|
{
|
||||||
gnc_warning_dialog (parent, "%s", _("You don't have any stock accounts with balances!"));
|
gnc_warning_dialog (GTK_WINDOW (parent), "%s", _("You don't have any stock accounts with balances!"));
|
||||||
gnc_close_gui_component_by_data (ASSISTANT_STOCK_SPLIT_CM_CLASS, info);
|
gnc_close_gui_component_by_data (ASSISTANT_STOCK_SPLIT_CM_CLASS, info);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -189,14 +189,14 @@ typedef struct _invoice_select_info
|
|||||||
} GncISI;
|
} GncISI;
|
||||||
|
|
||||||
static GNCSearchWindow *
|
static GNCSearchWindow *
|
||||||
gnc_invoice_select_search_cb (gpointer start, gpointer isip)
|
gnc_invoice_select_search_cb (GtkWindow *parent, gpointer start, gpointer isip)
|
||||||
{
|
{
|
||||||
GncISI *isi = isip;
|
GncISI *isi = isip;
|
||||||
|
|
||||||
if (!isi) return NULL;
|
if (!isi) return NULL;
|
||||||
g_assert(isi->book);
|
g_assert(isi->book);
|
||||||
|
|
||||||
return gnc_invoice_search (start,
|
return gnc_invoice_search (parent, start,
|
||||||
isi->have_owner ? &isi->owner : NULL,
|
isi->have_owner ? &isi->owner : NULL,
|
||||||
isi->book);
|
isi->book);
|
||||||
}
|
}
|
||||||
|
@ -95,7 +95,7 @@ customerCB (const char *location, const char *label,
|
|||||||
/* href="...:customer=<guid>" */
|
/* href="...:customer=<guid>" */
|
||||||
HANDLE_TYPE ("customer=", GNC_ID_CUSTOMER);
|
HANDLE_TYPE ("customer=", GNC_ID_CUSTOMER);
|
||||||
customer = (GncCustomer *) entity;
|
customer = (GncCustomer *) entity;
|
||||||
gnc_ui_customer_edit (customer);
|
gnc_ui_customer_edit (result->parent, customer);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@ -110,7 +110,7 @@ vendorCB (const char *location, const char *label,
|
|||||||
/* href="...:vendor=<guid>" */
|
/* href="...:vendor=<guid>" */
|
||||||
HANDLE_TYPE ("vendor=", GNC_ID_VENDOR);
|
HANDLE_TYPE ("vendor=", GNC_ID_VENDOR);
|
||||||
vendor = (GncVendor *) entity;
|
vendor = (GncVendor *) entity;
|
||||||
gnc_ui_vendor_edit (vendor);
|
gnc_ui_vendor_edit (result->parent, vendor);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@ -126,7 +126,7 @@ employeeCB (const char *location, const char *label,
|
|||||||
HANDLE_TYPE ("employee=", GNC_ID_EMPLOYEE);
|
HANDLE_TYPE ("employee=", GNC_ID_EMPLOYEE);
|
||||||
|
|
||||||
employee = (GncEmployee *) entity;
|
employee = (GncEmployee *) entity;
|
||||||
gnc_ui_employee_edit (employee);
|
gnc_ui_employee_edit (result->parent, employee);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@ -141,7 +141,7 @@ invoiceCB (const char *location, const char *label,
|
|||||||
/* href="...:invoice=<guid>" */
|
/* href="...:invoice=<guid>" */
|
||||||
HANDLE_TYPE ("invoice=", GNC_ID_INVOICE);
|
HANDLE_TYPE ("invoice=", GNC_ID_INVOICE);
|
||||||
invoice = (GncInvoice *) entity;
|
invoice = (GncInvoice *) entity;
|
||||||
gnc_ui_invoice_edit (invoice);
|
gnc_ui_invoice_edit (result->parent, invoice);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@ -156,7 +156,7 @@ jobCB (const char *location, const char *label,
|
|||||||
/* href="...:job=<guid>" */
|
/* href="...:job=<guid>" */
|
||||||
HANDLE_TYPE ("job=", GNC_ID_JOB);
|
HANDLE_TYPE ("job=", GNC_ID_JOB);
|
||||||
job = (GncJob *) entity;
|
job = (GncJob *) entity;
|
||||||
gnc_ui_job_edit (job);
|
gnc_ui_job_edit (result->parent, job);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@ -306,7 +306,7 @@ ownerreportCB (const char *location, const char *label,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Ok, let's run this report */
|
/* Ok, let's run this report */
|
||||||
gnc_business_call_owner_report (&owner, acc);
|
gnc_business_call_owner_report (result->parent, &owner, acc);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -289,14 +289,14 @@ verify_term_ok (NewBillTerm *nbt)
|
|||||||
case GNC_TERM_TYPE_DAYS:
|
case GNC_TERM_TYPE_DAYS:
|
||||||
if (days_due_days<days_disc_days)
|
if (days_due_days<days_disc_days)
|
||||||
{
|
{
|
||||||
gnc_error_dialog (nbt->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (nbt->dialog), "%s", message);
|
||||||
result=FALSE;
|
result=FALSE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case GNC_TERM_TYPE_PROXIMO:
|
case GNC_TERM_TYPE_PROXIMO:
|
||||||
if (prox_due_days<prox_disc_days)
|
if (prox_due_days<prox_disc_days)
|
||||||
{
|
{
|
||||||
gnc_error_dialog (nbt->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (nbt->dialog), "%s", message);
|
||||||
result=FALSE;
|
result=FALSE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -324,7 +324,7 @@ new_billterm_ok_cb (NewBillTerm *nbt)
|
|||||||
if (name == NULL || *name == '\0')
|
if (name == NULL || *name == '\0')
|
||||||
{
|
{
|
||||||
message = _("You must provide a name for this Billing Term.");
|
message = _("You must provide a name for this Billing Term.");
|
||||||
gnc_error_dialog (nbt->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (nbt->dialog), "%s", message);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
if (gncBillTermLookupByName (btw->book, name))
|
if (gncBillTermLookupByName (btw->book, name))
|
||||||
@ -332,7 +332,7 @@ new_billterm_ok_cb (NewBillTerm *nbt)
|
|||||||
message = g_strdup_printf(_(
|
message = g_strdup_printf(_(
|
||||||
"You must provide a unique name for this Billing Term. "
|
"You must provide a unique name for this Billing Term. "
|
||||||
"Your choice \"%s\" is already in use."), name);
|
"Your choice \"%s\" is already in use."), name);
|
||||||
gnc_error_dialog (nbt->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (nbt->dialog), "%s", message);
|
||||||
g_free (message);
|
g_free (message);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -664,13 +664,13 @@ billterms_delete_term_cb (GtkButton *button, BillTermsWindow *btw)
|
|||||||
|
|
||||||
if (gncBillTermGetRefcount (btw->current_term) > 0)
|
if (gncBillTermGetRefcount (btw->current_term) > 0)
|
||||||
{
|
{
|
||||||
gnc_error_dialog (btw->dialog,
|
gnc_error_dialog (GTK_WINDOW (btw->dialog),
|
||||||
_("Term \"%s\" is in use. You cannot delete it."),
|
_("Term \"%s\" is in use. You cannot delete it."),
|
||||||
gncBillTermGetName (btw->current_term));
|
gncBillTermGetName (btw->current_term));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gnc_verify_dialog (btw->dialog, FALSE,
|
if (gnc_verify_dialog (GTK_WINDOW (btw->dialog), FALSE,
|
||||||
_("Are you sure you want to delete \"%s\"?"),
|
_("Are you sure you want to delete \"%s\"?"),
|
||||||
gncBillTermGetName (btw->current_term)))
|
gncBillTermGetName (btw->current_term)))
|
||||||
{
|
{
|
||||||
|
@ -157,7 +157,7 @@ remove_clicked (CommoditiesDialog *cd)
|
|||||||
"at least one of your accounts. You may "
|
"at least one of your accounts. You may "
|
||||||
"not delete it.");
|
"not delete it.");
|
||||||
|
|
||||||
gnc_warning_dialog (cd->dialog, "%s", message);
|
gnc_warning_dialog (GTK_WINDOW (cd->dialog), "%s", message);
|
||||||
g_list_free (accounts);
|
g_list_free (accounts);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -115,8 +115,8 @@ typedef enum
|
|||||||
|
|
||||||
struct _customer_select_window
|
struct _customer_select_window
|
||||||
{
|
{
|
||||||
QofBook * book;
|
QofBook *book;
|
||||||
QofQuery * q;
|
QofQuery *q;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _customer_window
|
struct _customer_window
|
||||||
@ -279,14 +279,14 @@ static void gnc_ui_to_customer (CustomerWindow *cw, GncCustomer *cust)
|
|||||||
gnc_resume_gui_refresh ();
|
gnc_resume_gui_refresh ();
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean check_edit_amount (GtkWidget *dialog, GtkWidget *amount,
|
static gboolean check_edit_amount (GtkWidget *amount,
|
||||||
gnc_numeric *min, gnc_numeric *max,
|
gnc_numeric *min, gnc_numeric *max,
|
||||||
const char * error_message)
|
const char * error_message)
|
||||||
{
|
{
|
||||||
if (!gnc_amount_edit_evaluate (GNC_AMOUNT_EDIT (amount)))
|
if (!gnc_amount_edit_evaluate (GNC_AMOUNT_EDIT (amount)))
|
||||||
{
|
{
|
||||||
if (error_message)
|
if (error_message)
|
||||||
gnc_error_dialog (dialog, "%s", error_message);
|
gnc_error_dialog (gnc_ui_get_gtk_window (amount), "%s", error_message);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
/* We've got a valid-looking number; check mix/max */
|
/* We've got a valid-looking number; check mix/max */
|
||||||
@ -297,21 +297,21 @@ static gboolean check_edit_amount (GtkWidget *dialog, GtkWidget *amount,
|
|||||||
(max && gnc_numeric_compare (val, *max) > 0))
|
(max && gnc_numeric_compare (val, *max) > 0))
|
||||||
{
|
{
|
||||||
if (error_message)
|
if (error_message)
|
||||||
gnc_error_dialog (dialog, "%s", error_message);
|
gnc_error_dialog (gnc_ui_get_gtk_window (amount), "%s", error_message);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean check_entry_nonempty (GtkWidget *dialog, GtkWidget *entry,
|
static gboolean check_entry_nonempty (GtkWidget *entry,
|
||||||
const char * error_message)
|
const char * error_message)
|
||||||
{
|
{
|
||||||
const char *res = gtk_entry_get_text (GTK_ENTRY (entry));
|
const char *res = gtk_entry_get_text (GTK_ENTRY (entry));
|
||||||
if (g_strcmp0 (res, "") == 0)
|
if (g_strcmp0 (res, "") == 0)
|
||||||
{
|
{
|
||||||
if (error_message)
|
if (error_message)
|
||||||
gnc_error_dialog (dialog, "%s", error_message);
|
gnc_error_dialog (gnc_ui_get_gtk_window (entry), "%s", error_message);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -325,7 +325,7 @@ gnc_customer_window_ok_cb (GtkWidget *widget, gpointer data)
|
|||||||
gchar *string;
|
gchar *string;
|
||||||
|
|
||||||
/* Check for valid company name */
|
/* Check for valid company name */
|
||||||
if (check_entry_nonempty (cw->dialog, cw->company_entry,
|
if (check_entry_nonempty (cw->company_entry,
|
||||||
_("You must enter a company name. "
|
_("You must enter a company name. "
|
||||||
"If this customer is an individual (and not a company) "
|
"If this customer is an individual (and not a company) "
|
||||||
"you should enter the same value for:\nIdentification "
|
"you should enter the same value for:\nIdentification "
|
||||||
@ -333,13 +333,13 @@ gnc_customer_window_ok_cb (GtkWidget *widget, gpointer data)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
/* Make sure we have an address */
|
/* Make sure we have an address */
|
||||||
if (check_entry_nonempty (cw->dialog, cw->addr1_entry, NULL) &&
|
if (check_entry_nonempty (cw->addr1_entry, NULL) &&
|
||||||
check_entry_nonempty (cw->dialog, cw->addr2_entry, NULL) &&
|
check_entry_nonempty (cw->addr2_entry, NULL) &&
|
||||||
check_entry_nonempty (cw->dialog, cw->addr3_entry, NULL) &&
|
check_entry_nonempty (cw->addr3_entry, NULL) &&
|
||||||
check_entry_nonempty (cw->dialog, cw->addr4_entry, NULL))
|
check_entry_nonempty (cw->addr4_entry, NULL))
|
||||||
{
|
{
|
||||||
const char *msg = _("You must enter a billing address.");
|
const char *msg = _("You must enter a billing address.");
|
||||||
gnc_error_dialog (cw->dialog, "%s", msg);
|
gnc_error_dialog (gnc_ui_get_gtk_window (widget), "%s", msg);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -347,12 +347,12 @@ gnc_customer_window_ok_cb (GtkWidget *widget, gpointer data)
|
|||||||
min = gnc_numeric_zero ();
|
min = gnc_numeric_zero ();
|
||||||
max = gnc_numeric_create (100, 1);
|
max = gnc_numeric_create (100, 1);
|
||||||
|
|
||||||
if (check_edit_amount (cw->dialog, cw->discount_amount, &min, &max,
|
if (check_edit_amount (cw->discount_amount, &min, &max,
|
||||||
_("Discount percentage must be between 0-100 "
|
_("Discount percentage must be between 0-100 "
|
||||||
"or you must leave it blank.")))
|
"or you must leave it blank.")))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (check_edit_amount (cw->dialog, cw->credit_amount, &min, NULL,
|
if (check_edit_amount (cw->credit_amount, &min, NULL,
|
||||||
_("Credit must be a positive amount or "
|
_("Credit must be a positive amount or "
|
||||||
"you must leave it blank.")))
|
"you must leave it blank.")))
|
||||||
return;
|
return;
|
||||||
@ -528,7 +528,7 @@ find_handler (gpointer find_data, gpointer user_data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static CustomerWindow *
|
static CustomerWindow *
|
||||||
gnc_customer_new_window (QofBook *bookp, GncCustomer *cust)
|
gnc_customer_new_window (GtkWindow *parent, QofBook *bookp, GncCustomer *cust)
|
||||||
{
|
{
|
||||||
CustomerWindow *cw;
|
CustomerWindow *cw;
|
||||||
GtkBuilder *builder;
|
GtkBuilder *builder;
|
||||||
@ -549,6 +549,7 @@ gnc_customer_new_window (QofBook *bookp, GncCustomer *cust)
|
|||||||
find_handler, &customer_guid);
|
find_handler, &customer_guid);
|
||||||
if (cw)
|
if (cw)
|
||||||
{
|
{
|
||||||
|
gtk_window_set_transient_for (GTK_WINDOW(cw->dialog), parent);
|
||||||
gtk_window_present (GTK_WINDOW(cw->dialog));
|
gtk_window_present (GTK_WINDOW(cw->dialog));
|
||||||
return(cw);
|
return(cw);
|
||||||
}
|
}
|
||||||
@ -574,6 +575,7 @@ gnc_customer_new_window (QofBook *bookp, GncCustomer *cust)
|
|||||||
gnc_builder_add_from_file (builder, "dialog-customer.glade", "taxtable_store");
|
gnc_builder_add_from_file (builder, "dialog-customer.glade", "taxtable_store");
|
||||||
gnc_builder_add_from_file (builder, "dialog-customer.glade", "customer_dialog");
|
gnc_builder_add_from_file (builder, "dialog-customer.glade", "customer_dialog");
|
||||||
cw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "customer_dialog"));
|
cw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "customer_dialog"));
|
||||||
|
gtk_window_set_transient_for (GTK_WINDOW(cw->dialog), parent);
|
||||||
|
|
||||||
// Set the style context for this dialog so it can be easily manipulated with css
|
// Set the style context for this dialog so it can be easily manipulated with css
|
||||||
gnc_widget_set_style_context (GTK_WIDGET(cw->dialog), "GncCustomerDialog");
|
gnc_widget_set_style_context (GTK_WIDGET(cw->dialog), "GncCustomerDialog");
|
||||||
@ -752,26 +754,26 @@ gnc_customer_new_window (QofBook *bookp, GncCustomer *cust)
|
|||||||
}
|
}
|
||||||
|
|
||||||
CustomerWindow *
|
CustomerWindow *
|
||||||
gnc_ui_customer_edit (GncCustomer *cust)
|
gnc_ui_customer_edit (GtkWindow *parent, GncCustomer *cust)
|
||||||
{
|
{
|
||||||
CustomerWindow *cw;
|
CustomerWindow *cw;
|
||||||
|
|
||||||
if (!cust) return NULL;
|
if (!cust) return NULL;
|
||||||
|
|
||||||
cw = gnc_customer_new_window (gncCustomerGetBook(cust), cust);
|
cw = gnc_customer_new_window (parent, gncCustomerGetBook(cust), cust);
|
||||||
|
|
||||||
return cw;
|
return cw;
|
||||||
}
|
}
|
||||||
|
|
||||||
CustomerWindow *
|
CustomerWindow *
|
||||||
gnc_ui_customer_new (QofBook *bookp)
|
gnc_ui_customer_new (GtkWindow *parent, QofBook *bookp)
|
||||||
{
|
{
|
||||||
CustomerWindow *cw;
|
CustomerWindow *cw;
|
||||||
|
|
||||||
/* Make sure required options exist */
|
/* Make sure required options exist */
|
||||||
if (!bookp) return NULL;
|
if (!bookp) return NULL;
|
||||||
|
|
||||||
cw = gnc_customer_new_window (bookp, NULL);
|
cw = gnc_customer_new_window (parent, bookp, NULL);
|
||||||
|
|
||||||
return cw;
|
return cw;
|
||||||
}
|
}
|
||||||
@ -779,7 +781,7 @@ gnc_ui_customer_new (QofBook *bookp)
|
|||||||
/* Functions for customer selection widgets */
|
/* Functions for customer selection widgets */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
invoice_customer_cb (gpointer *cust_p, gpointer user_data)
|
invoice_customer_cb (GtkWindow *dialog, gpointer *cust_p, gpointer user_data)
|
||||||
{
|
{
|
||||||
struct _customer_select_window *sw = user_data;
|
struct _customer_select_window *sw = user_data;
|
||||||
GncOwner owner;
|
GncOwner owner;
|
||||||
@ -793,12 +795,12 @@ invoice_customer_cb (gpointer *cust_p, gpointer user_data)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
gncOwnerInitCustomer (&owner, cust);
|
gncOwnerInitCustomer (&owner, cust);
|
||||||
gnc_invoice_search (NULL, &owner, sw->book);
|
gnc_invoice_search (dialog, NULL, &owner, sw->book);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
order_customer_cb (gpointer *cust_p, gpointer user_data)
|
order_customer_cb (GtkWindow *dialog, gpointer *cust_p, gpointer user_data)
|
||||||
{
|
{
|
||||||
struct _customer_select_window *sw = user_data;
|
struct _customer_select_window *sw = user_data;
|
||||||
GncOwner owner;
|
GncOwner owner;
|
||||||
@ -812,12 +814,12 @@ order_customer_cb (gpointer *cust_p, gpointer user_data)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
gncOwnerInitCustomer (&owner, cust);
|
gncOwnerInitCustomer (&owner, cust);
|
||||||
gnc_order_search (NULL, &owner, sw->book);
|
gnc_order_search (dialog, NULL, &owner, sw->book);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
jobs_customer_cb (gpointer *cust_p, gpointer user_data)
|
jobs_customer_cb (GtkWindow *dialog, gpointer *cust_p, gpointer user_data)
|
||||||
{
|
{
|
||||||
struct _customer_select_window *sw = user_data;
|
struct _customer_select_window *sw = user_data;
|
||||||
GncOwner owner;
|
GncOwner owner;
|
||||||
@ -831,12 +833,12 @@ jobs_customer_cb (gpointer *cust_p, gpointer user_data)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
gncOwnerInitCustomer (&owner, cust);
|
gncOwnerInitCustomer (&owner, cust);
|
||||||
gnc_job_search (NULL, &owner, sw->book);
|
gnc_job_search (dialog, NULL, &owner, sw->book);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
payment_customer_cb (gpointer *cust_p, gpointer user_data)
|
payment_customer_cb (GtkWindow *dialog, gpointer *cust_p, gpointer user_data)
|
||||||
{
|
{
|
||||||
struct _customer_select_window *sw = user_data;
|
struct _customer_select_window *sw = user_data;
|
||||||
GncOwner owner;
|
GncOwner owner;
|
||||||
@ -850,12 +852,12 @@ payment_customer_cb (gpointer *cust_p, gpointer user_data)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
gncOwnerInitCustomer (&owner, cust);
|
gncOwnerInitCustomer (&owner, cust);
|
||||||
gnc_ui_payment_new (&owner, sw->book);
|
gnc_ui_payment_new (dialog, &owner, sw->book);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
edit_customer_cb (gpointer *cust_p, gpointer user_data)
|
edit_customer_cb (GtkWindow *dialog, gpointer *cust_p, gpointer user_data)
|
||||||
{
|
{
|
||||||
GncCustomer *cust;
|
GncCustomer *cust;
|
||||||
|
|
||||||
@ -865,20 +867,20 @@ edit_customer_cb (gpointer *cust_p, gpointer user_data)
|
|||||||
if (!cust)
|
if (!cust)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
gnc_ui_customer_edit (cust);
|
gnc_ui_customer_edit (dialog, cust);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
new_customer_cb (gpointer user_data)
|
new_customer_cb (GtkWindow *dialog, gpointer user_data)
|
||||||
{
|
{
|
||||||
struct _customer_select_window *sw = user_data;
|
struct _customer_select_window *sw = user_data;
|
||||||
CustomerWindow *cw;
|
CustomerWindow *cw;
|
||||||
|
|
||||||
g_return_val_if_fail (sw, NULL);
|
g_return_val_if_fail (sw, NULL);
|
||||||
|
|
||||||
cw = gnc_ui_customer_new (sw->book);
|
cw = gnc_ui_customer_new (dialog, sw->book);
|
||||||
return cw_get_customer (cw);
|
return cw_get_customer (cw);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -894,7 +896,7 @@ free_userdata_cb (gpointer user_data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
GNCSearchWindow *
|
GNCSearchWindow *
|
||||||
gnc_customer_search (GncCustomer *start, QofBook *book)
|
gnc_customer_search (GtkWindow *parent, GncCustomer *start, QofBook *book)
|
||||||
{
|
{
|
||||||
QofQuery *q, *q2 = NULL;
|
QofQuery *q, *q2 = NULL;
|
||||||
QofIdType type = GNC_CUSTOMER_MODULE_NAME;
|
QofIdType type = GNC_CUSTOMER_MODULE_NAME;
|
||||||
@ -957,7 +959,7 @@ gnc_customer_search (GncCustomer *start, QofBook *book)
|
|||||||
sw->book = book;
|
sw->book = book;
|
||||||
sw->q = q;
|
sw->q = q;
|
||||||
|
|
||||||
return gnc_search_dialog_create (type, _("Find Customer"),
|
return gnc_search_dialog_create (parent, type, _("Find Customer"),
|
||||||
params, columns, q, q2, buttons, NULL,
|
params, columns, q, q2, buttons, NULL,
|
||||||
new_customer_cb, sw, free_userdata_cb,
|
new_customer_cb, sw, free_userdata_cb,
|
||||||
GNC_PREFS_GROUP_SEARCH, NULL,
|
GNC_PREFS_GROUP_SEARCH, NULL,
|
||||||
@ -965,18 +967,18 @@ gnc_customer_search (GncCustomer *start, QofBook *book)
|
|||||||
}
|
}
|
||||||
|
|
||||||
GNCSearchWindow *
|
GNCSearchWindow *
|
||||||
gnc_customer_search_select (gpointer start, gpointer book)
|
gnc_customer_search_select (GtkWindow *parent, gpointer start, gpointer book)
|
||||||
{
|
{
|
||||||
if (!book) return NULL;
|
if (!book) return NULL;
|
||||||
|
|
||||||
return gnc_customer_search (start, book);
|
return gnc_customer_search (parent, start, book);
|
||||||
}
|
}
|
||||||
|
|
||||||
GNCSearchWindow *
|
GNCSearchWindow *
|
||||||
gnc_customer_search_edit (gpointer start, gpointer book)
|
gnc_customer_search_edit (GtkWindow *parent, gpointer start, gpointer book)
|
||||||
{
|
{
|
||||||
if (start)
|
if (start)
|
||||||
gnc_ui_customer_edit (start);
|
gnc_ui_customer_edit (parent, start);
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -31,11 +31,11 @@ typedef struct _customer_window CustomerWindow;
|
|||||||
#include "dialog-search.h"
|
#include "dialog-search.h"
|
||||||
|
|
||||||
/* Functions to create and edit a customer */
|
/* Functions to create and edit a customer */
|
||||||
CustomerWindow * gnc_ui_customer_edit (GncCustomer *cust);
|
CustomerWindow * gnc_ui_customer_edit (GtkWindow *parent, GncCustomer *cust);
|
||||||
CustomerWindow * gnc_ui_customer_new (QofBook *book);
|
CustomerWindow * gnc_ui_customer_new (GtkWindow *parent, QofBook *book);
|
||||||
|
|
||||||
/* Search for customers */
|
/* Search for customers */
|
||||||
GNCSearchWindow *gnc_customer_search (GncCustomer *start, QofBook *book);
|
GNCSearchWindow *gnc_customer_search (GtkWindow *parent, GncCustomer *start, QofBook *book);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These callbacks are for use with the gnc_general_search widget
|
* These callbacks are for use with the gnc_general_search widget
|
||||||
@ -43,7 +43,7 @@ GNCSearchWindow *gnc_customer_search (GncCustomer *start, QofBook *book);
|
|||||||
* select() provides a Select Dialog and returns it.
|
* select() provides a Select Dialog and returns it.
|
||||||
* edit() opens the existing customer for editing and returns NULL.
|
* edit() opens the existing customer for editing and returns NULL.
|
||||||
*/
|
*/
|
||||||
GNCSearchWindow * gnc_customer_search_select (gpointer start, gpointer book);
|
GNCSearchWindow * gnc_customer_search_select (GtkWindow *parent, gpointer start, gpointer book);
|
||||||
GNCSearchWindow * gnc_customer_search_edit (gpointer start, gpointer book);
|
GNCSearchWindow * gnc_customer_search_edit (GtkWindow *parent, gpointer start, gpointer book);
|
||||||
|
|
||||||
#endif /* GNC_DIALOG_CUSTOMER_H_ */
|
#endif /* GNC_DIALOG_CUSTOMER_H_ */
|
||||||
|
@ -71,14 +71,14 @@ gnc_dialog_date_close_ok_cb (GtkWidget *widget, gpointer user_data)
|
|||||||
|
|
||||||
if (!acc)
|
if (!acc)
|
||||||
{
|
{
|
||||||
gnc_error_dialog (ddc->dialog, "%s",
|
gnc_error_dialog (GTK_WINDOW (ddc->dialog), "%s",
|
||||||
_("No Account selected. Please try again."));
|
_("No Account selected. Please try again."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (xaccAccountGetPlaceholder (acc))
|
if (xaccAccountGetPlaceholder (acc))
|
||||||
{
|
{
|
||||||
gnc_error_dialog (ddc->dialog, "%s",
|
gnc_error_dialog (GTK_WINDOW (ddc->dialog), "%s",
|
||||||
_("Placeholder account selected. Please try again."));
|
_("Placeholder account selected. Please try again."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -46,6 +46,7 @@
|
|||||||
#include "dialog-employee.h"
|
#include "dialog-employee.h"
|
||||||
#include "dialog-invoice.h"
|
#include "dialog-invoice.h"
|
||||||
#include "dialog-payment.h"
|
#include "dialog-payment.h"
|
||||||
|
#include "business-gnome-utils.h"
|
||||||
|
|
||||||
#define DIALOG_NEW_EMPLOYEE_CM_CLASS "dialog-new-employee"
|
#define DIALOG_NEW_EMPLOYEE_CM_CLASS "dialog-new-employee"
|
||||||
#define DIALOG_EDIT_EMPLOYEE_CM_CLASS "dialog-edit-employee"
|
#define DIALOG_EDIT_EMPLOYEE_CM_CLASS "dialog-edit-employee"
|
||||||
@ -67,8 +68,8 @@ typedef enum
|
|||||||
|
|
||||||
struct _employee_select_window
|
struct _employee_select_window
|
||||||
{
|
{
|
||||||
QofBook * book;
|
QofBook *book;
|
||||||
QofQuery * q;
|
QofQuery *q;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _employee_window
|
struct _employee_window
|
||||||
@ -174,41 +175,14 @@ static void gnc_ui_to_employee (EmployeeWindow *ew, GncEmployee *employee)
|
|||||||
gnc_resume_gui_refresh ();
|
gnc_resume_gui_refresh ();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
static gboolean check_entry_nonempty (GtkWidget *entry,
|
||||||
static gboolean check_edit_amount (GtkWidget *dialog, GtkWidget *amount,
|
|
||||||
gnc_numeric *min, gnc_numeric *max,
|
|
||||||
const char * error_message)
|
|
||||||
{
|
|
||||||
if (!gnc_amount_edit_evaluate (GNC_AMOUNT_EDIT (amount)))
|
|
||||||
{
|
|
||||||
if (error_message)
|
|
||||||
gnc_error_dialog (dialog, error_message);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
/* We've got a valid-looking number; check mix/max */
|
|
||||||
if (min || max)
|
|
||||||
{
|
|
||||||
gnc_numeric val = gnc_amount_edit_get_amount (GNC_AMOUNT_EDIT (amount));
|
|
||||||
if ((min && gnc_numeric_compare (*min, val) > 0) ||
|
|
||||||
(max && gnc_numeric_compare (val, *max) > 0))
|
|
||||||
{
|
|
||||||
if (error_message)
|
|
||||||
gnc_error_dialog (dialog, error_message);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static gboolean check_entry_nonempty (GtkWidget *dialog, GtkWidget *entry,
|
|
||||||
const char * error_message)
|
const char * error_message)
|
||||||
{
|
{
|
||||||
const char *res = gtk_entry_get_text (GTK_ENTRY (entry));
|
const char *res = gtk_entry_get_text (GTK_ENTRY (entry));
|
||||||
if (g_strcmp0 (res, "") == 0)
|
if (g_strcmp0 (res, "") == 0)
|
||||||
{
|
{
|
||||||
if (error_message)
|
if (error_message)
|
||||||
gnc_error_dialog (dialog, "%s", error_message);
|
gnc_error_dialog (gnc_ui_get_gtk_window(entry), "%s", error_message);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -221,23 +195,23 @@ gnc_employee_window_ok_cb (GtkWidget *widget, gpointer data)
|
|||||||
gchar *string;
|
gchar *string;
|
||||||
|
|
||||||
/* Check for valid username */
|
/* Check for valid username */
|
||||||
if (check_entry_nonempty (ew->dialog, ew->username_entry,
|
if (check_entry_nonempty (ew->username_entry,
|
||||||
_("You must enter a username.")))
|
_("You must enter a username.")))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Check for valid username */
|
/* Check for valid username */
|
||||||
if (check_entry_nonempty (ew->dialog, ew->name_entry,
|
if (check_entry_nonempty (ew->name_entry,
|
||||||
_("You must enter the employee's name.")))
|
_("You must enter the employee's name.")))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Make sure we have an address */
|
/* Make sure we have an address */
|
||||||
if (check_entry_nonempty (ew->dialog, ew->addr1_entry, NULL) &&
|
if (check_entry_nonempty (ew->addr1_entry, NULL) &&
|
||||||
check_entry_nonempty (ew->dialog, ew->addr2_entry, NULL) &&
|
check_entry_nonempty (ew->addr2_entry, NULL) &&
|
||||||
check_entry_nonempty (ew->dialog, ew->addr3_entry, NULL) &&
|
check_entry_nonempty (ew->addr3_entry, NULL) &&
|
||||||
check_entry_nonempty (ew->dialog, ew->addr4_entry, NULL))
|
check_entry_nonempty (ew->addr4_entry, NULL))
|
||||||
{
|
{
|
||||||
const char *msg = _("You must enter an address.");
|
const char *msg = _("You must enter an address.");
|
||||||
gnc_error_dialog (ew->dialog, "%s", msg);
|
gnc_error_dialog (gnc_ui_get_gtk_window (widget), "%s", msg);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -391,7 +365,8 @@ find_handler (gpointer find_data, gpointer user_data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static EmployeeWindow *
|
static EmployeeWindow *
|
||||||
gnc_employee_new_window (QofBook *bookp,
|
gnc_employee_new_window (GtkWindow *parent,
|
||||||
|
QofBook *bookp,
|
||||||
GncEmployee *employee)
|
GncEmployee *employee)
|
||||||
{
|
{
|
||||||
EmployeeWindow *ew;
|
EmployeeWindow *ew;
|
||||||
@ -415,6 +390,7 @@ gnc_employee_new_window (QofBook *bookp,
|
|||||||
find_handler, &employee_guid);
|
find_handler, &employee_guid);
|
||||||
if (ew)
|
if (ew)
|
||||||
{
|
{
|
||||||
|
gtk_window_set_transient_for (GTK_WINDOW(ew->dialog), parent);
|
||||||
gtk_window_present (GTK_WINDOW(ew->dialog));
|
gtk_window_present (GTK_WINDOW(ew->dialog));
|
||||||
return(ew);
|
return(ew);
|
||||||
}
|
}
|
||||||
@ -437,6 +413,7 @@ gnc_employee_new_window (QofBook *bookp,
|
|||||||
builder = gtk_builder_new();
|
builder = gtk_builder_new();
|
||||||
gnc_builder_add_from_file (builder, "dialog-employee.glade", "employee_dialog");
|
gnc_builder_add_from_file (builder, "dialog-employee.glade", "employee_dialog");
|
||||||
ew->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "employee_dialog"));
|
ew->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "employee_dialog"));
|
||||||
|
gtk_window_set_transient_for (GTK_WINDOW(ew->dialog), parent);
|
||||||
|
|
||||||
// Set the style context for this dialog so it can be easily manipulated with css
|
// Set the style context for this dialog so it can be easily manipulated with css
|
||||||
gnc_widget_set_style_context (GTK_WIDGET(ew->dialog), "GncEmployeeDialog");
|
gnc_widget_set_style_context (GTK_WIDGET(ew->dialog), "GncEmployeeDialog");
|
||||||
@ -597,26 +574,26 @@ gnc_employee_new_window (QofBook *bookp,
|
|||||||
}
|
}
|
||||||
|
|
||||||
EmployeeWindow *
|
EmployeeWindow *
|
||||||
gnc_ui_employee_new (QofBook *bookp)
|
gnc_ui_employee_new (GtkWindow *parent, QofBook *bookp)
|
||||||
{
|
{
|
||||||
EmployeeWindow *ew;
|
EmployeeWindow *ew;
|
||||||
|
|
||||||
/* Make sure required options exist */
|
/* Make sure required options exist */
|
||||||
if (!bookp) return NULL;
|
if (!bookp) return NULL;
|
||||||
|
|
||||||
ew = gnc_employee_new_window (bookp, NULL);
|
ew = gnc_employee_new_window (parent, bookp, NULL);
|
||||||
|
|
||||||
return ew;
|
return ew;
|
||||||
}
|
}
|
||||||
|
|
||||||
EmployeeWindow *
|
EmployeeWindow *
|
||||||
gnc_ui_employee_edit (GncEmployee *employee)
|
gnc_ui_employee_edit (GtkWindow *parent, GncEmployee *employee)
|
||||||
{
|
{
|
||||||
EmployeeWindow *ew;
|
EmployeeWindow *ew;
|
||||||
|
|
||||||
if (!employee) return NULL;
|
if (!employee) return NULL;
|
||||||
|
|
||||||
ew = gnc_employee_new_window (gncEmployeeGetBook(employee), employee);
|
ew = gnc_employee_new_window (parent, gncEmployeeGetBook(employee), employee);
|
||||||
|
|
||||||
return ew;
|
return ew;
|
||||||
}
|
}
|
||||||
@ -624,7 +601,7 @@ gnc_ui_employee_edit (GncEmployee *employee)
|
|||||||
/* Functions for employee selection widgets */
|
/* Functions for employee selection widgets */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
invoice_employee_cb (gpointer *employee_p, gpointer user_data)
|
invoice_employee_cb (GtkWindow *dialog, gpointer *employee_p, gpointer user_data)
|
||||||
{
|
{
|
||||||
struct _employee_select_window *sw = user_data;
|
struct _employee_select_window *sw = user_data;
|
||||||
GncOwner owner;
|
GncOwner owner;
|
||||||
@ -638,12 +615,12 @@ invoice_employee_cb (gpointer *employee_p, gpointer user_data)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
gncOwnerInitEmployee (&owner, employee);
|
gncOwnerInitEmployee (&owner, employee);
|
||||||
gnc_invoice_search (NULL, &owner, sw->book);
|
gnc_invoice_search (dialog, NULL, &owner, sw->book);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
payment_employee_cb (gpointer *employee_p, gpointer user_data)
|
payment_employee_cb (GtkWindow *dialog, gpointer *employee_p, gpointer user_data)
|
||||||
{
|
{
|
||||||
struct _employee_select_window *sw = user_data;
|
struct _employee_select_window *sw = user_data;
|
||||||
GncOwner owner;
|
GncOwner owner;
|
||||||
@ -657,12 +634,12 @@ payment_employee_cb (gpointer *employee_p, gpointer user_data)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
gncOwnerInitEmployee (&owner, employee);
|
gncOwnerInitEmployee (&owner, employee);
|
||||||
gnc_ui_payment_new (&owner, sw->book);
|
gnc_ui_payment_new (dialog, &owner, sw->book);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
edit_employee_cb (gpointer *employee_p, gpointer user_data)
|
edit_employee_cb (GtkWindow *dialog, gpointer *employee_p, gpointer user_data)
|
||||||
{
|
{
|
||||||
GncEmployee *employee;
|
GncEmployee *employee;
|
||||||
|
|
||||||
@ -673,19 +650,19 @@ edit_employee_cb (gpointer *employee_p, gpointer user_data)
|
|||||||
if (!employee)
|
if (!employee)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
gnc_ui_employee_edit (employee);
|
gnc_ui_employee_edit (dialog, employee);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
new_employee_cb (gpointer user_data)
|
new_employee_cb (GtkWindow *dialog, gpointer user_data)
|
||||||
{
|
{
|
||||||
struct _employee_select_window *sw = user_data;
|
struct _employee_select_window *sw = user_data;
|
||||||
EmployeeWindow *ew;
|
EmployeeWindow *ew;
|
||||||
|
|
||||||
g_return_val_if_fail (user_data, NULL);
|
g_return_val_if_fail (user_data, NULL);
|
||||||
|
|
||||||
ew = gnc_ui_employee_new (sw->book);
|
ew = gnc_ui_employee_new (dialog, sw->book);
|
||||||
return ew_get_employee (ew);
|
return ew_get_employee (ew);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -701,7 +678,7 @@ free_employee_cb (gpointer user_data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
GNCSearchWindow *
|
GNCSearchWindow *
|
||||||
gnc_employee_search (GncEmployee *start, QofBook *book)
|
gnc_employee_search (GtkWindow *parent, GncEmployee *start, QofBook *book)
|
||||||
{
|
{
|
||||||
QofIdType type = GNC_EMPLOYEE_MODULE_NAME;
|
QofIdType type = GNC_EMPLOYEE_MODULE_NAME;
|
||||||
struct _employee_select_window *sw;
|
struct _employee_select_window *sw;
|
||||||
@ -758,7 +735,7 @@ gnc_employee_search (GncEmployee *start, QofBook *book)
|
|||||||
sw->book = book;
|
sw->book = book;
|
||||||
sw->q = q;
|
sw->q = q;
|
||||||
|
|
||||||
return gnc_search_dialog_create (type, _("Find Employee"),
|
return gnc_search_dialog_create (parent, type, _("Find Employee"),
|
||||||
params, columns, q, q2,
|
params, columns, q, q2,
|
||||||
buttons, NULL, new_employee_cb,
|
buttons, NULL, new_employee_cb,
|
||||||
sw, free_employee_cb,
|
sw, free_employee_cb,
|
||||||
@ -767,18 +744,18 @@ gnc_employee_search (GncEmployee *start, QofBook *book)
|
|||||||
}
|
}
|
||||||
|
|
||||||
GNCSearchWindow *
|
GNCSearchWindow *
|
||||||
gnc_employee_search_select (gpointer start, gpointer book)
|
gnc_employee_search_select (GtkWindow *parent, gpointer start, gpointer book)
|
||||||
{
|
{
|
||||||
if (!book) return NULL;
|
if (!book) return NULL;
|
||||||
|
|
||||||
return gnc_employee_search (start, book);
|
return gnc_employee_search (parent, start, book);
|
||||||
}
|
}
|
||||||
|
|
||||||
GNCSearchWindow *
|
GNCSearchWindow *
|
||||||
gnc_employee_search_edit (gpointer start, gpointer book)
|
gnc_employee_search_edit (GtkWindow *parent, gpointer start, gpointer book)
|
||||||
{
|
{
|
||||||
if (start)
|
if (start)
|
||||||
gnc_ui_employee_edit (start);
|
gnc_ui_employee_edit (parent, start);
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -31,11 +31,11 @@ typedef struct _employee_window EmployeeWindow;
|
|||||||
#include "dialog-search.h"
|
#include "dialog-search.h"
|
||||||
|
|
||||||
/* Functions to edit and create employees */
|
/* Functions to edit and create employees */
|
||||||
EmployeeWindow * gnc_ui_employee_edit (GncEmployee *employee);
|
EmployeeWindow * gnc_ui_employee_edit (GtkWindow *parent, GncEmployee *employee);
|
||||||
EmployeeWindow * gnc_ui_employee_new (QofBook *book);
|
EmployeeWindow * gnc_ui_employee_new (GtkWindow *parent, QofBook *book);
|
||||||
|
|
||||||
/* Search for an employee */
|
/* Search for an employee */
|
||||||
GNCSearchWindow * gnc_employee_search (GncEmployee *start, QofBook *book);
|
GNCSearchWindow * gnc_employee_search (GtkWindow *parent, GncEmployee *start, QofBook *book);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These callbacks are for use with the gnc_general_search widget
|
* These callbacks are for use with the gnc_general_search widget
|
||||||
@ -43,7 +43,7 @@ GNCSearchWindow * gnc_employee_search (GncEmployee *start, QofBook *book);
|
|||||||
* select() provides a Select Dialog and returns it.
|
* select() provides a Select Dialog and returns it.
|
||||||
* edit() opens the existing vendor for editing and returns NULL.
|
* edit() opens the existing vendor for editing and returns NULL.
|
||||||
*/
|
*/
|
||||||
GNCSearchWindow * gnc_employee_search_select (gpointer start, gpointer book);
|
GNCSearchWindow * gnc_employee_search_select (GtkWindow *parent, gpointer start, gpointer book);
|
||||||
GNCSearchWindow * gnc_employee_search_edit (gpointer start, gpointer book);
|
GNCSearchWindow * gnc_employee_search_edit (GtkWindow *parent, gpointer start, gpointer book);
|
||||||
|
|
||||||
#endif /* GNC_DIALOG_EMPLOYEE_H_ */
|
#endif /* GNC_DIALOG_EMPLOYEE_H_ */
|
||||||
|
@ -398,7 +398,7 @@ calc_value(FinCalcDialog *fcd, FinCalcValue value)
|
|||||||
{
|
{
|
||||||
GtkWidget *entry;
|
GtkWidget *entry;
|
||||||
|
|
||||||
gnc_error_dialog(fcd->dialog, "%s", string);
|
gnc_error_dialog (GTK_WINDOW (fcd->dialog), "%s", string);
|
||||||
if (error_item == 0)
|
if (error_item == 0)
|
||||||
entry = fcd->amounts[0];
|
entry = fcd->amounts[0];
|
||||||
else
|
else
|
||||||
|
@ -41,9 +41,10 @@
|
|||||||
|
|
||||||
struct _ftd_data
|
struct _ftd_data
|
||||||
{
|
{
|
||||||
QofQuery * q;
|
QofQuery *q;
|
||||||
QofQuery * ledger_q;
|
QofQuery *ledger_q;
|
||||||
GNCSearchWindow * sw;
|
GNCSearchWindow *sw;
|
||||||
|
GtkWindow *parent;
|
||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -69,7 +70,7 @@ do_find_cb (QofQuery *query, gpointer user_data, gpointer *result)
|
|||||||
if (new_ledger)
|
if (new_ledger)
|
||||||
{
|
{
|
||||||
page = gnc_plugin_page_register_new_ledger (ledger);
|
page = gnc_plugin_page_register_new_ledger (ledger);
|
||||||
gnc_main_window_open_page (NULL, page);
|
gnc_main_window_open_page (GNC_MAIN_WINDOW(ftd->parent), page);
|
||||||
}
|
}
|
||||||
|
|
||||||
qof_query_destroy (ftd->q);
|
qof_query_destroy (ftd->q);
|
||||||
@ -97,6 +98,7 @@ gnc_ui_find_transactions_dialog_create(GNCLedgerDisplay * orig_ledg)
|
|||||||
QofQuery *start_q, *show_q = NULL;
|
QofQuery *start_q, *show_q = NULL;
|
||||||
gboolean num_action =
|
gboolean num_action =
|
||||||
qof_book_use_split_action_for_num_field(gnc_get_current_book());
|
qof_book_use_split_action_for_num_field(gnc_get_current_book());
|
||||||
|
GtkWindow *parent = GTK_WINDOW(gnc_ledger_display_get_parent(orig_ledg));
|
||||||
|
|
||||||
/* Build parameter list in reverse order */
|
/* Build parameter list in reverse order */
|
||||||
if (params == NULL)
|
if (params == NULL)
|
||||||
@ -221,7 +223,9 @@ gnc_ui_find_transactions_dialog_create(GNCLedgerDisplay * orig_ledg)
|
|||||||
ftd->q = start_q; /* save this to destroy it later */
|
ftd->q = start_q; /* save this to destroy it later */
|
||||||
}
|
}
|
||||||
|
|
||||||
ftd->sw = gnc_search_dialog_create (type, _("Find Transaction"),
|
ftd->parent = parent;
|
||||||
|
|
||||||
|
ftd->sw = gnc_search_dialog_create (parent, type, _("Find Transaction"),
|
||||||
params, NULL, start_q, show_q,
|
params, NULL, start_q, show_q,
|
||||||
NULL, do_find_cb, NULL,
|
NULL, do_find_cb, NULL,
|
||||||
ftd, free_ftd_cb, GNC_PREFS_GROUP_SEARCH, NULL,
|
ftd, free_ftd_cb, GNC_PREFS_GROUP_SEARCH, NULL,
|
||||||
|
@ -41,9 +41,10 @@
|
|||||||
|
|
||||||
struct _ftd_data
|
struct _ftd_data
|
||||||
{
|
{
|
||||||
QofQuery * q;
|
QofQuery *q;
|
||||||
QofQuery * ledger_q;
|
QofQuery *ledger_q;
|
||||||
GNCSearchWindow * sw;
|
GNCSearchWindow *sw;
|
||||||
|
GtkWindow *parent;
|
||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -70,7 +71,7 @@ do_find_cb (QofQuery *query, gpointer user_data, gpointer *result)
|
|||||||
if (new_ledger)
|
if (new_ledger)
|
||||||
{
|
{
|
||||||
page = gnc_plugin_page_register2_new_ledger (ledger);
|
page = gnc_plugin_page_register2_new_ledger (ledger);
|
||||||
gnc_main_window_open_page (NULL, page);
|
gnc_main_window_open_page (GNC_MAIN_WINDOW(ftd->parent), page);
|
||||||
}
|
}
|
||||||
|
|
||||||
qof_query_destroy (ftd->q);
|
qof_query_destroy (ftd->q);
|
||||||
@ -98,6 +99,7 @@ gnc_ui_find_transactions_dialog_create2 (GNCLedgerDisplay2 * orig_ledg)
|
|||||||
QofQuery *start_q, *show_q = NULL;
|
QofQuery *start_q, *show_q = NULL;
|
||||||
gboolean num_action =
|
gboolean num_action =
|
||||||
qof_book_use_split_action_for_num_field(gnc_get_current_book());
|
qof_book_use_split_action_for_num_field(gnc_get_current_book());
|
||||||
|
GtkWindow *parent = GTK_WINDOW(gnc_ledger_display2_get_parent (orig_ledg));
|
||||||
|
|
||||||
/* Build parameter list in reverse order */
|
/* Build parameter list in reverse order */
|
||||||
if (params == NULL)
|
if (params == NULL)
|
||||||
@ -222,7 +224,9 @@ gnc_ui_find_transactions_dialog_create2 (GNCLedgerDisplay2 * orig_ledg)
|
|||||||
ftd->q = start_q; /* save this to destroy it later */
|
ftd->q = start_q; /* save this to destroy it later */
|
||||||
}
|
}
|
||||||
|
|
||||||
ftd->sw = gnc_search_dialog_create (type, _("Find Transaction"),
|
ftd->parent = parent;
|
||||||
|
|
||||||
|
ftd->sw = gnc_search_dialog_create (parent, type, _("Find Transaction"),
|
||||||
params, NULL, start_q, show_q,
|
params, NULL, start_q, show_q,
|
||||||
NULL, do_find_cb, NULL,
|
NULL, do_find_cb, NULL,
|
||||||
ftd, free_ftd_cb, GNC_PREFS_GROUP_SEARCH, NULL,
|
ftd, free_ftd_cb, GNC_PREFS_GROUP_SEARCH, NULL,
|
||||||
|
@ -120,10 +120,10 @@ typedef enum
|
|||||||
|
|
||||||
struct _invoice_select_window
|
struct _invoice_select_window
|
||||||
{
|
{
|
||||||
QofBook * book;
|
QofBook *book;
|
||||||
GncOwner * owner;
|
GncOwner *owner;
|
||||||
QofQuery * q;
|
QofQuery *q;
|
||||||
GncOwner owner_def;
|
GncOwner owner_def;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define UNUSED_VAR __attribute__ ((unused))
|
#define UNUSED_VAR __attribute__ ((unused))
|
||||||
@ -207,17 +207,16 @@ struct _invoice_window
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* Forward definitions for CB functions */
|
/* Forward definitions for CB functions */
|
||||||
void gnc_invoice_window_closeCB (GtkWidget *widget, gpointer data);
|
|
||||||
void gnc_invoice_window_active_toggled_cb (GtkWidget *widget, gpointer data);
|
void gnc_invoice_window_active_toggled_cb (GtkWidget *widget, gpointer data);
|
||||||
gboolean gnc_invoice_window_leave_notes_cb (GtkWidget *widget, GdkEventFocus *event, gpointer data);
|
gboolean gnc_invoice_window_leave_notes_cb (GtkWidget *widget, GdkEventFocus *event, gpointer data);
|
||||||
DialogQueryView *gnc_invoice_show_bills_due (QofBook *book, double days_in_advance, GncWhichDueType duetype);
|
DialogQueryView *gnc_invoice_show_docs_due (GtkWindow *parent, QofBook *book, double days_in_advance, GncWhichDueType duetype);
|
||||||
|
|
||||||
#define INV_WIDTH_PREFIX "invoice_reg"
|
#define INV_WIDTH_PREFIX "invoice_reg"
|
||||||
#define BILL_WIDTH_PREFIX "bill_reg"
|
#define BILL_WIDTH_PREFIX "bill_reg"
|
||||||
#define VOUCHER_WIDTH_PREFIX "voucher_reg"
|
#define VOUCHER_WIDTH_PREFIX "voucher_reg"
|
||||||
|
|
||||||
static void gnc_invoice_update_window (InvoiceWindow *iw, GtkWidget *widget);
|
static void gnc_invoice_update_window (InvoiceWindow *iw, GtkWidget *widget);
|
||||||
static InvoiceWindow * gnc_ui_invoice_modify (GncInvoice *invoice);
|
static InvoiceWindow * gnc_ui_invoice_modify (GtkWindow *parent, GncInvoice *invoice);
|
||||||
|
|
||||||
/*******************************************************************************/
|
/*******************************************************************************/
|
||||||
/* FUNCTIONS FOR ACCESSING DATA STRUCTURE FIELDS */
|
/* FUNCTIONS FOR ACCESSING DATA STRUCTURE FIELDS */
|
||||||
@ -389,7 +388,7 @@ gnc_invoice_window_verify_ok (InvoiceWindow *iw)
|
|||||||
res = gncOwnerGetName (&(iw->owner));
|
res = gncOwnerGetName (&(iw->owner));
|
||||||
if (res == NULL || g_strcmp0 (res, "") == 0)
|
if (res == NULL || g_strcmp0 (res, "") == 0)
|
||||||
{
|
{
|
||||||
gnc_error_dialog (iw_get_window(iw), "%s",
|
gnc_error_dialog (GTK_WINDOW (iw_get_window(iw)), "%s",
|
||||||
/* Translators: In this context,
|
/* Translators: In this context,
|
||||||
* 'Billing information' maps to the
|
* 'Billing information' maps to the
|
||||||
* label in the frame and means
|
* label in the frame and means
|
||||||
@ -450,7 +449,7 @@ gnc_invoice_window_ok_cb (GtkWidget *widget, gpointer data)
|
|||||||
*/
|
*/
|
||||||
if ((iw->dialog_type == NEW_INVOICE || iw->dialog_type == DUP_INVOICE)
|
if ((iw->dialog_type == NEW_INVOICE || iw->dialog_type == DUP_INVOICE)
|
||||||
&& iw->created_invoice)
|
&& iw->created_invoice)
|
||||||
gnc_ui_invoice_edit (iw->created_invoice);
|
gnc_ui_invoice_edit (gnc_ui_get_main_window (iw->dialog), iw->created_invoice);
|
||||||
|
|
||||||
gnc_close_gui_component (iw->component_id);
|
gnc_close_gui_component (iw->component_id);
|
||||||
}
|
}
|
||||||
@ -495,29 +494,23 @@ gnc_invoice_window_destroy_cb (GtkWidget *widget, gpointer data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gnc_invoice_window_closeCB (GtkWidget *widget, gpointer data)
|
gnc_invoice_window_editCB (GtkWindow *parent, gpointer data)
|
||||||
{
|
|
||||||
gnc_invoice_window_ok_cb (widget, data);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
gnc_invoice_window_editCB (GtkWidget *widget, gpointer data)
|
|
||||||
{
|
{
|
||||||
InvoiceWindow *iw = data;
|
InvoiceWindow *iw = data;
|
||||||
GncInvoice *invoice = iw_get_invoice (iw);
|
GncInvoice *invoice = iw_get_invoice (iw);
|
||||||
|
|
||||||
if (invoice)
|
if (invoice)
|
||||||
gnc_ui_invoice_modify (invoice);
|
gnc_ui_invoice_modify (parent, invoice);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gnc_invoice_window_duplicateInvoiceCB (GtkWidget *widget, gpointer data)
|
gnc_invoice_window_duplicateInvoiceCB (GtkWindow *parent, gpointer data)
|
||||||
{
|
{
|
||||||
InvoiceWindow *iw = data;
|
InvoiceWindow *iw = data;
|
||||||
GncInvoice *invoice = iw_get_invoice (iw);
|
GncInvoice *invoice = iw_get_invoice (iw);
|
||||||
|
|
||||||
if (invoice)
|
if (invoice)
|
||||||
gnc_ui_invoice_duplicate (invoice, TRUE, NULL);
|
gnc_ui_invoice_duplicate (parent, invoice, TRUE, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void gnc_invoice_window_entryUpCB (GtkWidget *widget, gpointer data)
|
void gnc_invoice_window_entryUpCB (GtkWidget *widget, gpointer data)
|
||||||
@ -600,7 +593,7 @@ gnc_invoice_window_deleteCB (GtkWidget *widget, gpointer data)
|
|||||||
else
|
else
|
||||||
msg = g_strdup (message);
|
msg = g_strdup (message);
|
||||||
|
|
||||||
result = gnc_verify_dialog (iw_get_window(iw), FALSE, "%s", msg);
|
result = gnc_verify_dialog (GTK_WINDOW (iw_get_window(iw)), FALSE, "%s", msg);
|
||||||
g_free (msg);
|
g_free (msg);
|
||||||
|
|
||||||
if (!result)
|
if (!result)
|
||||||
@ -648,7 +641,7 @@ gnc_invoice_window_blankCB (GtkWidget *widget, gpointer data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gnc_invoice_window_print_invoice(GncInvoice *invoice)
|
gnc_invoice_window_print_invoice(GtkWindow *parent, GncInvoice *invoice)
|
||||||
{
|
{
|
||||||
SCM func, arg, arg2;
|
SCM func, arg, arg2;
|
||||||
SCM args = SCM_EOL;
|
SCM args = SCM_EOL;
|
||||||
@ -674,13 +667,13 @@ gnc_invoice_window_print_invoice(GncInvoice *invoice)
|
|||||||
|
|
||||||
/* scm_gc_unprotect_object(func); */
|
/* scm_gc_unprotect_object(func); */
|
||||||
if (report_id >= 0)
|
if (report_id >= 0)
|
||||||
reportWindow (report_id);
|
reportWindow (report_id, parent);
|
||||||
}
|
}
|
||||||
void
|
void
|
||||||
gnc_invoice_window_printCB (GtkWidget *unused_widget, gpointer data)
|
gnc_invoice_window_printCB (GtkWindow* parent, gpointer data)
|
||||||
{
|
{
|
||||||
InvoiceWindow *iw = data;
|
InvoiceWindow *iw = data;
|
||||||
gnc_invoice_window_print_invoice(iw_get_invoice (iw));
|
gnc_invoice_window_print_invoice (parent, iw_get_invoice (iw));
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
@ -764,6 +757,7 @@ struct post_invoice_params
|
|||||||
char *memo; /* Memo for posting transaction */
|
char *memo; /* Memo for posting transaction */
|
||||||
Account *acc; /* Account to post to */
|
Account *acc; /* Account to post to */
|
||||||
gboolean accumulate; /* Whether to accumulate splits */
|
gboolean accumulate; /* Whether to accumulate splits */
|
||||||
|
GtkWindow *parent;
|
||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -794,7 +788,7 @@ gnc_invoice_post(InvoiceWindow *iw, struct post_invoice_params *post_params)
|
|||||||
/* Check that there is at least one Entry */
|
/* Check that there is at least one Entry */
|
||||||
if (gncInvoiceGetEntries (invoice) == NULL)
|
if (gncInvoiceGetEntries (invoice) == NULL)
|
||||||
{
|
{
|
||||||
gnc_error_dialog (iw_get_window(iw), "%s",
|
gnc_error_dialog (GTK_WINDOW (iw_get_window(iw)), "%s",
|
||||||
_("The Invoice must have at least one Entry."));
|
_("The Invoice must have at least one Entry."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -853,7 +847,7 @@ gnc_invoice_post(InvoiceWindow *iw, struct post_invoice_params *post_params)
|
|||||||
*/
|
*/
|
||||||
if (show_dialog)
|
if (show_dialog)
|
||||||
{
|
{
|
||||||
gnc_info_dialog(iw_get_window(iw), "%s", text);
|
gnc_info_dialog(GTK_WINDOW (iw_get_window(iw)), "%s", text);
|
||||||
show_dialog = FALSE;
|
show_dialog = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -967,7 +961,7 @@ cleanup:
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
text = _("The post action was canceled because not all exchange rates were given.");
|
text = _("The post action was canceled because not all exchange rates were given.");
|
||||||
gnc_info_dialog(iw_get_window(iw), "%s", text);
|
gnc_info_dialog(GTK_WINDOW (iw_get_window(iw)), "%s", text);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ... and redisplay here. */
|
/* ... and redisplay here. */
|
||||||
@ -1028,20 +1022,20 @@ void gnc_invoice_window_paste_cb (GtkWidget *widget, gpointer data)
|
|||||||
gnucash_register_paste_clipboard (iw->reg);
|
gnucash_register_paste_clipboard (iw->reg);
|
||||||
}
|
}
|
||||||
|
|
||||||
void gnc_invoice_window_new_invoice_cb (GtkWidget *widget, gpointer data)
|
void gnc_invoice_window_new_invoice_cb (GtkWindow *parent, gpointer data)
|
||||||
{
|
{
|
||||||
InvoiceWindow *iw = data;
|
InvoiceWindow *iw = data;
|
||||||
if (gncOwnerGetJob (&iw->job))
|
if (gncOwnerGetJob (&iw->job))
|
||||||
{
|
{
|
||||||
gnc_ui_invoice_new (&iw->job, iw->book);
|
gnc_ui_invoice_new (parent, &iw->job, iw->book);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gnc_ui_invoice_new (&iw->owner, iw->book);
|
gnc_ui_invoice_new (parent, &iw->owner, iw->book);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void gnc_business_call_owner_report (GncOwner *owner, Account *acc)
|
void gnc_business_call_owner_report (GtkWindow *parent, GncOwner *owner, Account *acc)
|
||||||
{
|
{
|
||||||
int id;
|
int id;
|
||||||
SCM args;
|
SCM args;
|
||||||
@ -1079,24 +1073,24 @@ void gnc_business_call_owner_report (GncOwner *owner, Account *acc)
|
|||||||
id = scm_to_int (arg);
|
id = scm_to_int (arg);
|
||||||
|
|
||||||
if (id >= 0)
|
if (id >= 0)
|
||||||
reportWindow (id);
|
reportWindow (id, parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
void gnc_invoice_window_report_owner_cb (GtkWidget *widget, gpointer data)
|
void gnc_invoice_window_report_owner_cb (GtkWindow *parent, gpointer data)
|
||||||
{
|
{
|
||||||
InvoiceWindow *iw = data;
|
InvoiceWindow *iw = data;
|
||||||
gnc_business_call_owner_report (&iw->owner, NULL);
|
gnc_business_call_owner_report (parent, &iw->owner, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void gnc_invoice_window_payment_cb (GtkWidget *widget, gpointer data)
|
void gnc_invoice_window_payment_cb (GtkWindow *parent, gpointer data)
|
||||||
{
|
{
|
||||||
InvoiceWindow *iw = data;
|
InvoiceWindow *iw = data;
|
||||||
GncInvoice *invoice = iw_get_invoice(iw);
|
GncInvoice *invoice = iw_get_invoice(iw);
|
||||||
|
|
||||||
if (gncOwnerGetJob (&iw->job))
|
if (gncOwnerGetJob (&iw->job))
|
||||||
gnc_ui_payment_new_with_invoice (&iw->job, iw->book, invoice);
|
gnc_ui_payment_new_with_invoice (parent, &iw->job, iw->book, invoice);
|
||||||
else
|
else
|
||||||
gnc_ui_payment_new_with_invoice (&iw->owner, iw->book, invoice);
|
gnc_ui_payment_new_with_invoice (parent, &iw->owner, iw->book, invoice);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Sorting callbacks */
|
/* Sorting callbacks */
|
||||||
@ -1285,7 +1279,7 @@ gnc_invoice_job_changed_cb (GtkWidget *widget, gpointer data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static GNCSearchWindow *
|
static GNCSearchWindow *
|
||||||
gnc_invoice_select_job_cb (gpointer jobp, gpointer user_data)
|
gnc_invoice_select_job_cb (GtkWindow *parent, gpointer jobp, gpointer user_data)
|
||||||
{
|
{
|
||||||
GncJob *j = jobp;
|
GncJob *j = jobp;
|
||||||
InvoiceWindow *iw = user_data;
|
InvoiceWindow *iw = user_data;
|
||||||
@ -1301,7 +1295,7 @@ gnc_invoice_select_job_cb (gpointer jobp, gpointer user_data)
|
|||||||
else
|
else
|
||||||
gncOwnerCopy (&(iw->owner), &owner);
|
gncOwnerCopy (&(iw->owner), &owner);
|
||||||
|
|
||||||
return gnc_job_search (j, &owner, iw->book);
|
return gnc_job_search (parent, j, &owner, iw->book);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -1347,7 +1341,7 @@ gnc_invoice_update_job_choice (InvoiceWindow *iw)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static GNCSearchWindow *
|
static GNCSearchWindow *
|
||||||
gnc_invoice_select_proj_job_cb (gpointer jobp, gpointer user_data)
|
gnc_invoice_select_proj_job_cb (GtkWindow *parent, gpointer jobp, gpointer user_data)
|
||||||
{
|
{
|
||||||
GncJob *j = jobp;
|
GncJob *j = jobp;
|
||||||
InvoiceWindow *iw = user_data;
|
InvoiceWindow *iw = user_data;
|
||||||
@ -1363,7 +1357,7 @@ gnc_invoice_select_proj_job_cb (gpointer jobp, gpointer user_data)
|
|||||||
else
|
else
|
||||||
gncOwnerCopy (&(iw->proj_cust), &owner);
|
gncOwnerCopy (&(iw->proj_cust), &owner);
|
||||||
|
|
||||||
return gnc_job_search (j, &owner, iw->book);
|
return gnc_job_search (parent, j, &owner, iw->book);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -2456,7 +2450,7 @@ gnc_invoice_create_page (InvoiceWindow *iw, gpointer page)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static InvoiceWindow *
|
static InvoiceWindow *
|
||||||
gnc_invoice_window_new_invoice (InvoiceDialogType dialog_type, QofBook *bookp,
|
gnc_invoice_window_new_invoice (GtkWindow *parent, InvoiceDialogType dialog_type, QofBook *bookp,
|
||||||
const GncOwner *owner, GncInvoice *invoice)
|
const GncOwner *owner, GncInvoice *invoice)
|
||||||
{
|
{
|
||||||
InvoiceWindow *iw;
|
InvoiceWindow *iw;
|
||||||
@ -2483,6 +2477,7 @@ gnc_invoice_window_new_invoice (InvoiceDialogType dialog_type, QofBook *bookp,
|
|||||||
find_handler, &invoice_guid);
|
find_handler, &invoice_guid);
|
||||||
if (iw)
|
if (iw)
|
||||||
{
|
{
|
||||||
|
gtk_window_set_transient_for (GTK_WINDOW(iw->dialog), parent);
|
||||||
gtk_window_present (GTK_WINDOW(iw->dialog));
|
gtk_window_present (GTK_WINDOW(iw->dialog));
|
||||||
return(iw);
|
return(iw);
|
||||||
}
|
}
|
||||||
@ -2542,6 +2537,7 @@ gnc_invoice_window_new_invoice (InvoiceDialogType dialog_type, QofBook *bookp,
|
|||||||
gnc_builder_add_from_file (builder, "dialog-invoice.glade", "terms_store");
|
gnc_builder_add_from_file (builder, "dialog-invoice.glade", "terms_store");
|
||||||
gnc_builder_add_from_file (builder, "dialog-invoice.glade", "new_invoice_dialog");
|
gnc_builder_add_from_file (builder, "dialog-invoice.glade", "new_invoice_dialog");
|
||||||
iw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "new_invoice_dialog"));
|
iw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "new_invoice_dialog"));
|
||||||
|
gtk_window_set_transient_for (GTK_WINDOW(iw->dialog), parent);
|
||||||
|
|
||||||
// Set the style context for this dialog so it can be easily manipulated with css
|
// Set the style context for this dialog so it can be easily manipulated with css
|
||||||
gnc_widget_set_style_context (GTK_WIDGET(iw->dialog), "GncInvoiceDialog");
|
gnc_widget_set_style_context (GTK_WIDGET(iw->dialog), "GncInvoiceDialog");
|
||||||
@ -2672,7 +2668,7 @@ gnc_invoice_window_new_invoice (InvoiceDialogType dialog_type, QofBook *bookp,
|
|||||||
}
|
}
|
||||||
|
|
||||||
InvoiceWindow *
|
InvoiceWindow *
|
||||||
gnc_ui_invoice_edit (GncInvoice *invoice)
|
gnc_ui_invoice_edit (GtkWindow *parent, GncInvoice *invoice)
|
||||||
{
|
{
|
||||||
InvoiceWindow *iw;
|
InvoiceWindow *iw;
|
||||||
InvoiceDialogType type;
|
InvoiceDialogType type;
|
||||||
@ -2686,18 +2682,19 @@ gnc_ui_invoice_edit (GncInvoice *invoice)
|
|||||||
type = EDIT_INVOICE;
|
type = EDIT_INVOICE;
|
||||||
|
|
||||||
iw = gnc_invoice_new_page (gncInvoiceGetBook(invoice), type,
|
iw = gnc_invoice_new_page (gncInvoiceGetBook(invoice), type,
|
||||||
invoice, gncInvoiceGetOwner (invoice), NULL);
|
invoice, gncInvoiceGetOwner (invoice),
|
||||||
|
GNC_MAIN_WINDOW(gnc_ui_get_main_window (GTK_WIDGET (parent))));
|
||||||
|
|
||||||
return iw;
|
return iw;
|
||||||
}
|
}
|
||||||
|
|
||||||
static InvoiceWindow *
|
static InvoiceWindow *
|
||||||
gnc_ui_invoice_modify (GncInvoice *invoice)
|
gnc_ui_invoice_modify (GtkWindow *parent, GncInvoice *invoice)
|
||||||
{
|
{
|
||||||
InvoiceWindow *iw;
|
InvoiceWindow *iw;
|
||||||
if (!invoice) return NULL;
|
if (!invoice) return NULL;
|
||||||
|
|
||||||
iw = gnc_invoice_window_new_invoice (MOD_INVOICE, NULL, NULL, invoice);
|
iw = gnc_invoice_window_new_invoice (parent, MOD_INVOICE, NULL, NULL, invoice);
|
||||||
return iw;
|
return iw;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2715,7 +2712,7 @@ set_gncEntry_date(gpointer data, gpointer user_data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
InvoiceWindow * gnc_ui_invoice_duplicate (GncInvoice *old_invoice, gboolean open_properties, const GDate *new_date)
|
InvoiceWindow * gnc_ui_invoice_duplicate (GtkWindow *parent, GncInvoice *old_invoice, gboolean open_properties, const GDate *new_date)
|
||||||
{
|
{
|
||||||
InvoiceWindow *iw = NULL;
|
InvoiceWindow *iw = NULL;
|
||||||
GncInvoice *new_invoice = NULL;
|
GncInvoice *new_invoice = NULL;
|
||||||
@ -2764,12 +2761,12 @@ InvoiceWindow * gnc_ui_invoice_duplicate (GncInvoice *old_invoice, gboolean open
|
|||||||
if (open_properties)
|
if (open_properties)
|
||||||
{
|
{
|
||||||
// Open the "properties" pop-up for the invoice...
|
// Open the "properties" pop-up for the invoice...
|
||||||
iw = gnc_invoice_window_new_invoice (DUP_INVOICE, NULL, NULL, new_invoice);
|
iw = gnc_invoice_window_new_invoice (parent, DUP_INVOICE, NULL, NULL, new_invoice);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Open the newly created invoice in the "edit" window
|
// Open the newly created invoice in the "edit" window
|
||||||
iw = gnc_ui_invoice_edit (new_invoice);
|
iw = gnc_ui_invoice_edit (parent, new_invoice);
|
||||||
// Check the ID; set one if necessary
|
// Check the ID; set one if necessary
|
||||||
if (g_strcmp0 (gtk_entry_get_text (GTK_ENTRY (iw->id_entry)), "") == 0)
|
if (g_strcmp0 (gtk_entry_get_text (GTK_ENTRY (iw->id_entry)), "") == 0)
|
||||||
{
|
{
|
||||||
@ -2780,22 +2777,22 @@ InvoiceWindow * gnc_ui_invoice_duplicate (GncInvoice *old_invoice, gboolean open
|
|||||||
}
|
}
|
||||||
|
|
||||||
InvoiceWindow *
|
InvoiceWindow *
|
||||||
gnc_ui_invoice_new (GncOwner *ownerp, QofBook *bookp)
|
gnc_ui_invoice_new (GtkWindow *parent, GncOwner *owner, QofBook *book)
|
||||||
{
|
{
|
||||||
InvoiceWindow *iw;
|
InvoiceWindow *iw;
|
||||||
GncOwner owner;
|
GncOwner inv_owner;
|
||||||
|
|
||||||
if (ownerp)
|
if (owner)
|
||||||
{
|
{
|
||||||
gncOwnerCopy (ownerp, &owner);
|
gncOwnerCopy (owner, &inv_owner);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
gncOwnerInitCustomer (&owner, NULL); /* XXX: pass in the owner type? */
|
gncOwnerInitCustomer (&inv_owner, NULL); /* XXX: pass in the owner type? */
|
||||||
|
|
||||||
/* Make sure required options exist */
|
/* Make sure required options exist */
|
||||||
if (!bookp) return NULL;
|
if (!book) return NULL;
|
||||||
|
|
||||||
iw = gnc_invoice_window_new_invoice (NEW_INVOICE, bookp, &owner, NULL);
|
iw = gnc_invoice_window_new_invoice (parent, NEW_INVOICE, book, &inv_owner, NULL);
|
||||||
|
|
||||||
return iw;
|
return iw;
|
||||||
}
|
}
|
||||||
@ -2803,47 +2800,67 @@ gnc_ui_invoice_new (GncOwner *ownerp, QofBook *bookp)
|
|||||||
/* Functions for invoice selection widgets */
|
/* Functions for invoice selection widgets */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
edit_invoice_direct (gpointer invoice, gpointer user_data)
|
edit_invoice_direct (GtkWindow *dialog, gpointer invoice, gpointer user_data)
|
||||||
{
|
{
|
||||||
g_return_if_fail (invoice);
|
g_return_if_fail (invoice);
|
||||||
gnc_ui_invoice_edit (invoice);
|
gnc_ui_invoice_edit (gnc_ui_get_main_window (GTK_WIDGET (dialog)), invoice);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
edit_invoice_cb (gpointer inv, gpointer user_data)
|
edit_invoice_cb (GtkWindow *dialog, gpointer inv, gpointer user_data)
|
||||||
{
|
{
|
||||||
GncInvoice *invoice = inv;
|
GncInvoice *invoice = inv;
|
||||||
g_return_if_fail (invoice && user_data);
|
g_return_if_fail (invoice && user_data);
|
||||||
edit_invoice_direct (invoice, user_data);
|
edit_invoice_direct (dialog, invoice, user_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
multi_edit_invoice_cb (GList *invoice_list, gpointer user_data)
|
struct multi_edit_invoice_data
|
||||||
{
|
{
|
||||||
g_list_foreach(invoice_list, edit_invoice_cb, user_data);
|
gpointer user_data;
|
||||||
|
GtkWindow *parent;
|
||||||
|
};
|
||||||
|
|
||||||
|
static void
|
||||||
|
multi_edit_invoice_one (gpointer inv, gpointer user_data)
|
||||||
|
{
|
||||||
|
struct multi_edit_invoice_data *meid = user_data;
|
||||||
|
edit_invoice_cb (meid->parent, inv, meid->user_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
pay_invoice_direct (gpointer inv, gpointer user_data)
|
multi_edit_invoice_cb (GtkWindow *dialog, GList *invoice_list, gpointer user_data)
|
||||||
|
{
|
||||||
|
struct multi_edit_invoice_data meid;
|
||||||
|
|
||||||
|
meid.user_data = user_data;
|
||||||
|
meid.parent = dialog;
|
||||||
|
g_list_foreach (invoice_list, multi_edit_invoice_one, &meid);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
pay_invoice_direct (GtkWindow *dialog, gpointer inv, gpointer user_data)
|
||||||
{
|
{
|
||||||
GncInvoice *invoice = inv;
|
GncInvoice *invoice = inv;
|
||||||
|
|
||||||
g_return_if_fail (invoice);
|
g_return_if_fail (invoice);
|
||||||
gnc_ui_payment_new_with_invoice (gncInvoiceGetOwner (invoice),
|
gnc_ui_payment_new_with_invoice (dialog, gncInvoiceGetOwner (invoice),
|
||||||
gncInvoiceGetBook (invoice), invoice);
|
gncInvoiceGetBook (invoice), invoice);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
pay_invoice_cb (gpointer *invoice_p, gpointer user_data)
|
pay_invoice_cb (GtkWindow *dialog, gpointer *invoice_p, gpointer user_data)
|
||||||
{
|
{
|
||||||
g_return_if_fail (invoice_p && user_data);
|
g_return_if_fail (invoice_p && user_data);
|
||||||
if (! *invoice_p)
|
if (! *invoice_p)
|
||||||
return;
|
return;
|
||||||
pay_invoice_direct (*invoice_p, user_data);
|
pay_invoice_direct (dialog, *invoice_p, user_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct multi_duplicate_invoice_data
|
struct multi_duplicate_invoice_data
|
||||||
{
|
{
|
||||||
GDate date;
|
GDate date;
|
||||||
|
GtkWindow *parent;
|
||||||
};
|
};
|
||||||
|
|
||||||
static void multi_duplicate_invoice_one(gpointer data, gpointer user_data)
|
static void multi_duplicate_invoice_one(gpointer data, gpointer user_data)
|
||||||
@ -2858,7 +2875,7 @@ static void multi_duplicate_invoice_one(gpointer data, gpointer user_data)
|
|||||||
// In this simplest form, we just use the existing duplication
|
// In this simplest form, we just use the existing duplication
|
||||||
// algorithm, only without opening the "edit invoice" window for editing
|
// algorithm, only without opening the "edit invoice" window for editing
|
||||||
// the number etc. for each of the invoices.
|
// the number etc. for each of the invoices.
|
||||||
InvoiceWindow *iw = gnc_ui_invoice_duplicate(old_invoice, FALSE, &dup_user_data->date);
|
InvoiceWindow *iw = gnc_ui_invoice_duplicate(dup_user_data->parent, old_invoice, FALSE, &dup_user_data->date);
|
||||||
// FIXME: Now we could use this invoice and manipulate further data.
|
// FIXME: Now we could use this invoice and manipulate further data.
|
||||||
g_assert(iw);
|
g_assert(iw);
|
||||||
new_invoice = iw_get_invoice(iw);
|
new_invoice = iw_get_invoice(iw);
|
||||||
@ -2867,7 +2884,7 @@ static void multi_duplicate_invoice_one(gpointer data, gpointer user_data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
multi_duplicate_invoice_cb (GList *invoice_list, gpointer user_data)
|
multi_duplicate_invoice_cb (GtkWindow *dialog, GList *invoice_list, gpointer user_data)
|
||||||
{
|
{
|
||||||
g_return_if_fail (invoice_list);
|
g_return_if_fail (invoice_list);
|
||||||
switch (g_list_length(invoice_list))
|
switch (g_list_length(invoice_list))
|
||||||
@ -2878,7 +2895,7 @@ multi_duplicate_invoice_cb (GList *invoice_list, gpointer user_data)
|
|||||||
{
|
{
|
||||||
// Duplicate exactly one invoice
|
// Duplicate exactly one invoice
|
||||||
GncInvoice *old_invoice = invoice_list->data;
|
GncInvoice *old_invoice = invoice_list->data;
|
||||||
gnc_ui_invoice_duplicate(old_invoice, TRUE, NULL);
|
gnc_ui_invoice_duplicate(dialog, old_invoice, TRUE, NULL);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
@ -2889,7 +2906,8 @@ multi_duplicate_invoice_cb (GList *invoice_list, gpointer user_data)
|
|||||||
|
|
||||||
// Default date: Today
|
// Default date: Today
|
||||||
gnc_gdate_set_time64(&dup_user_data.date, gnc_time (NULL));
|
gnc_gdate_set_time64(&dup_user_data.date, gnc_time (NULL));
|
||||||
dialog_ok = gnc_dup_date_dialog (NULL, _("Date of duplicated entries"), &dup_user_data.date);
|
dup_user_data.parent = dialog;
|
||||||
|
dialog_ok = gnc_dup_date_dialog (GTK_WIDGET(dialog), _("Date of duplicated entries"), &dup_user_data.date);
|
||||||
if (!dialog_ok)
|
if (!dialog_ok)
|
||||||
{
|
{
|
||||||
// User pressed cancel, so don't duplicate anything here.
|
// User pressed cancel, so don't duplicate anything here.
|
||||||
@ -2909,7 +2927,7 @@ static void post_one_invoice_cb(gpointer data, gpointer user_data)
|
|||||||
{
|
{
|
||||||
GncInvoice *invoice = data;
|
GncInvoice *invoice = data;
|
||||||
struct post_invoice_params *post_params = user_data;
|
struct post_invoice_params *post_params = user_data;
|
||||||
InvoiceWindow *iw = gnc_ui_invoice_edit(invoice);
|
InvoiceWindow *iw = gnc_ui_invoice_edit(post_params->parent, invoice);
|
||||||
gnc_invoice_post(iw, post_params);
|
gnc_invoice_post(iw, post_params);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2917,7 +2935,7 @@ static void gnc_invoice_is_posted(gpointer inv, gpointer test_value)
|
|||||||
{
|
{
|
||||||
GncInvoice *invoice = inv;
|
GncInvoice *invoice = inv;
|
||||||
gboolean *test = (gboolean*)test_value;
|
gboolean *test = (gboolean*)test_value;
|
||||||
|
|
||||||
if (gncInvoiceIsPosted (invoice))
|
if (gncInvoiceIsPosted (invoice))
|
||||||
{
|
{
|
||||||
*test = TRUE;
|
*test = TRUE;
|
||||||
@ -2926,7 +2944,7 @@ static void gnc_invoice_is_posted(gpointer inv, gpointer test_value)
|
|||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
multi_post_invoice_cb (GList *invoice_list, gpointer user_data)
|
multi_post_invoice_cb (GtkWindow *dialog, GList *invoice_list, gpointer user_data)
|
||||||
{
|
{
|
||||||
struct post_invoice_params post_params;
|
struct post_invoice_params post_params;
|
||||||
gboolean test;
|
gboolean test;
|
||||||
@ -2935,7 +2953,7 @@ multi_post_invoice_cb (GList *invoice_list, gpointer user_data)
|
|||||||
if (g_list_length(invoice_list) == 0)
|
if (g_list_length(invoice_list) == 0)
|
||||||
return;
|
return;
|
||||||
// Get the posting parameters for these invoices
|
// Get the posting parameters for these invoices
|
||||||
iw = gnc_ui_invoice_edit(invoice_list->data);
|
iw = gnc_ui_invoice_edit(dialog, invoice_list->data);
|
||||||
test = FALSE;
|
test = FALSE;
|
||||||
gnc_suspend_gui_refresh (); // Turn off GUI refresh for the duration.
|
gnc_suspend_gui_refresh (); // Turn off GUI refresh for the duration.
|
||||||
// Check if any of the selected invoices have already been posted.
|
// Check if any of the selected invoices have already been posted.
|
||||||
@ -2943,16 +2961,17 @@ multi_post_invoice_cb (GList *invoice_list, gpointer user_data)
|
|||||||
gnc_resume_gui_refresh ();
|
gnc_resume_gui_refresh ();
|
||||||
if (test)
|
if (test)
|
||||||
{
|
{
|
||||||
gnc_error_dialog (iw_get_window(iw), "%s",
|
gnc_error_dialog (GTK_WINDOW (iw_get_window(iw)), "%s",
|
||||||
_("One or more selected invoices have already been posted.\nRe-check your selection."));
|
_("One or more selected invoices have already been posted.\nRe-check your selection."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!gnc_dialog_post_invoice(iw, _("Do you really want to post these invoices?"),
|
if (!gnc_dialog_post_invoice(iw, _("Do you really want to post these invoices?"),
|
||||||
&post_params.ddue, &post_params.postdate,
|
&post_params.ddue, &post_params.postdate,
|
||||||
&post_params.memo, &post_params.acc,
|
&post_params.memo, &post_params.acc,
|
||||||
&post_params.accumulate))
|
&post_params.accumulate))
|
||||||
return;
|
return;
|
||||||
|
post_params.parent = dialog;
|
||||||
|
|
||||||
// Turn off GUI refresh for the duration. This is more than just an
|
// Turn off GUI refresh for the duration. This is more than just an
|
||||||
// optimization. If the search that got us here is based on the "posted"
|
// optimization. If the search that got us here is based on the "posted"
|
||||||
@ -2963,30 +2982,41 @@ multi_post_invoice_cb (GList *invoice_list, gpointer user_data)
|
|||||||
gnc_resume_gui_refresh ();
|
gnc_resume_gui_refresh ();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void print_one_invoice_cb(gpointer data, gpointer user_data)
|
static void print_one_invoice_cb(GtkWindow *dialog, gpointer data, gpointer user_data)
|
||||||
{
|
{
|
||||||
GncInvoice *invoice = data;
|
GncInvoice *invoice = data;
|
||||||
gnc_invoice_window_print_invoice(invoice); // that's all!
|
gnc_invoice_window_print_invoice (dialog, invoice);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
multi_print_invoice_cb (GList *invoice_list, gpointer user_data)
|
multi_print_invoice_one (gpointer data, gpointer user_data)
|
||||||
{
|
{
|
||||||
|
struct multi_edit_invoice_data *meid = user_data;
|
||||||
|
print_one_invoice_cb (meid->parent, data, meid->user_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
multi_print_invoice_cb (GtkWindow *dialog, GList *invoice_list, gpointer user_data)
|
||||||
|
{
|
||||||
|
struct multi_edit_invoice_data meid;
|
||||||
|
|
||||||
if (g_list_length(invoice_list) == 0)
|
if (g_list_length(invoice_list) == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
g_list_foreach(invoice_list, print_one_invoice_cb, user_data);
|
meid.user_data = user_data;
|
||||||
|
meid.parent = dialog;
|
||||||
|
g_list_foreach (invoice_list, multi_print_invoice_one, &meid);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
new_invoice_cb (gpointer user_data)
|
new_invoice_cb (GtkWindow *dialog, gpointer user_data)
|
||||||
{
|
{
|
||||||
struct _invoice_select_window *sw = user_data;
|
struct _invoice_select_window *sw = user_data;
|
||||||
InvoiceWindow *iw;
|
InvoiceWindow *iw;
|
||||||
|
|
||||||
g_return_val_if_fail (user_data, NULL);
|
g_return_val_if_fail (user_data, NULL);
|
||||||
|
|
||||||
iw = gnc_ui_invoice_new (sw->owner, sw->book);
|
iw = gnc_ui_invoice_new (dialog, sw->owner, sw->book);
|
||||||
return iw_get_invoice (iw);
|
return iw_get_invoice (iw);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3002,7 +3032,7 @@ free_invoice_cb (gpointer user_data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
GNCSearchWindow *
|
GNCSearchWindow *
|
||||||
gnc_invoice_search (GncInvoice *start, GncOwner *owner, QofBook *book)
|
gnc_invoice_search (GtkWindow *parent, GncInvoice *start, GncOwner *owner, QofBook *book)
|
||||||
{
|
{
|
||||||
QofIdType type = GNC_INVOICE_MODULE_NAME;
|
QofIdType type = GNC_INVOICE_MODULE_NAME;
|
||||||
struct _invoice_select_window *sw;
|
struct _invoice_select_window *sw;
|
||||||
@ -3269,14 +3299,14 @@ gnc_invoice_search (GncInvoice *start, GncOwner *owner, QofBook *book)
|
|||||||
buttons = inv_buttons;
|
buttons = inv_buttons;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return gnc_search_dialog_create (type, title, params, columns, q, q2,
|
return gnc_search_dialog_create (parent, type, title, params, columns, q, q2,
|
||||||
buttons, NULL, new_invoice_cb,
|
buttons, NULL, new_invoice_cb,
|
||||||
sw, free_invoice_cb, GNC_PREFS_GROUP_SEARCH,
|
sw, free_invoice_cb, GNC_PREFS_GROUP_SEARCH,
|
||||||
label, style_class);
|
label, style_class);
|
||||||
}
|
}
|
||||||
|
|
||||||
DialogQueryView *
|
DialogQueryView *
|
||||||
gnc_invoice_show_bills_due (QofBook *book, double days_in_advance, GncWhichDueType duetype)
|
gnc_invoice_show_docs_due (GtkWindow *parent, QofBook *book, double days_in_advance, GncWhichDueType duetype)
|
||||||
{
|
{
|
||||||
QofIdType type = GNC_INVOICE_MODULE_NAME;
|
QofIdType type = GNC_INVOICE_MODULE_NAME;
|
||||||
Query *q;
|
Query *q;
|
||||||
@ -3411,7 +3441,8 @@ gnc_invoice_show_bills_due (QofBook *book, double days_in_advance, GncWhichDueTy
|
|||||||
len);
|
len);
|
||||||
title = _("Due Invoices Reminder");
|
title = _("Due Invoices Reminder");
|
||||||
}
|
}
|
||||||
dialog = gnc_dialog_query_view_create(param_list, q,
|
|
||||||
|
dialog = gnc_dialog_query_view_create(parent, param_list, q,
|
||||||
title,
|
title,
|
||||||
message,
|
message,
|
||||||
TRUE, FALSE,
|
TRUE, FALSE,
|
||||||
@ -3426,7 +3457,7 @@ gnc_invoice_show_bills_due (QofBook *book, double days_in_advance, GncWhichDueTy
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gnc_invoice_remind_bills_due (void)
|
gnc_invoice_remind_bills_due (GtkWindow *parent)
|
||||||
{
|
{
|
||||||
QofBook *book;
|
QofBook *book;
|
||||||
gint days;
|
gint days;
|
||||||
@ -3435,11 +3466,11 @@ gnc_invoice_remind_bills_due (void)
|
|||||||
book = qof_session_get_book(gnc_get_current_session());
|
book = qof_session_get_book(gnc_get_current_session());
|
||||||
days = gnc_prefs_get_float(GNC_PREFS_GROUP_BILL, GNC_PREF_DAYS_IN_ADVANCE);
|
days = gnc_prefs_get_float(GNC_PREFS_GROUP_BILL, GNC_PREF_DAYS_IN_ADVANCE);
|
||||||
|
|
||||||
gnc_invoice_show_bills_due(book, days, DUE_FOR_VENDOR);
|
gnc_invoice_show_docs_due (parent, book, days, DUE_FOR_VENDOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gnc_invoice_remind_invoices_due (void)
|
gnc_invoice_remind_invoices_due (GtkWindow *parent)
|
||||||
{
|
{
|
||||||
QofBook *book;
|
QofBook *book;
|
||||||
gint days;
|
gint days;
|
||||||
@ -3448,7 +3479,7 @@ gnc_invoice_remind_invoices_due (void)
|
|||||||
book = qof_session_get_book(gnc_get_current_session());
|
book = qof_session_get_book(gnc_get_current_session());
|
||||||
days = gnc_prefs_get_float(GNC_PREFS_GROUP_INVOICE, GNC_PREF_DAYS_IN_ADVANCE);
|
days = gnc_prefs_get_float(GNC_PREFS_GROUP_INVOICE, GNC_PREF_DAYS_IN_ADVANCE);
|
||||||
|
|
||||||
gnc_invoice_show_bills_due(book, days, DUE_FOR_CUSTOMER);
|
gnc_invoice_show_docs_due (parent, book, days, DUE_FOR_CUSTOMER);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -3457,7 +3488,7 @@ gnc_invoice_remind_bills_due_cb (void)
|
|||||||
if (!gnc_prefs_get_bool(GNC_PREFS_GROUP_BILL, GNC_PREF_NOTIFY_WHEN_DUE))
|
if (!gnc_prefs_get_bool(GNC_PREFS_GROUP_BILL, GNC_PREF_NOTIFY_WHEN_DUE))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
gnc_invoice_remind_bills_due();
|
gnc_invoice_remind_bills_due (GTK_WINDOW(gnc_ui_get_main_window (NULL)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -3466,5 +3497,5 @@ gnc_invoice_remind_invoices_due_cb (void)
|
|||||||
if (!gnc_prefs_get_bool(GNC_PREFS_GROUP_INVOICE, GNC_PREF_NOTIFY_WHEN_DUE))
|
if (!gnc_prefs_get_bool(GNC_PREFS_GROUP_INVOICE, GNC_PREF_NOTIFY_WHEN_DUE))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
gnc_invoice_remind_invoices_due();
|
gnc_invoice_remind_invoices_due (GTK_WINDOW(gnc_ui_get_main_window (NULL)));
|
||||||
}
|
}
|
||||||
|
@ -47,12 +47,12 @@ typedef enum
|
|||||||
|
|
||||||
|
|
||||||
/* Create and edit an invoice */
|
/* Create and edit an invoice */
|
||||||
InvoiceWindow * gnc_ui_invoice_edit (GncInvoice *invoice);
|
InvoiceWindow * gnc_ui_invoice_edit (GtkWindow *parent, GncInvoice *invoice);
|
||||||
InvoiceWindow * gnc_ui_invoice_new (GncOwner *owner, QofBook *book);
|
InvoiceWindow * gnc_ui_invoice_new (GtkWindow *parent, GncOwner *owner, QofBook *book);
|
||||||
|
|
||||||
/** Create a new invoice as a duplicate of the given existing invoice.
|
/** Create a new invoice as a duplicate of the given existing invoice.
|
||||||
*
|
*
|
||||||
* \param invoice The invoice which is being duplicated
|
* \param old_invoice The invoice which is being duplicated
|
||||||
* \param open_properties If TRUE, open the "invoice properties" dialog window after creating the new invoice
|
* \param open_properties If TRUE, open the "invoice properties" dialog window after creating the new invoice
|
||||||
* \param new_date If non-NULL, use this date as the date for the "opening date" and also as date for all invoice entries.
|
* \param new_date If non-NULL, use this date as the date for the "opening date" and also as date for all invoice entries.
|
||||||
*
|
*
|
||||||
@ -60,12 +60,12 @@ InvoiceWindow * gnc_ui_invoice_new (GncOwner *owner, QofBook *book);
|
|||||||
* among others the "created_invoice" as a GncInvoice* pointer on the newly
|
* among others the "created_invoice" as a GncInvoice* pointer on the newly
|
||||||
* created invoice.
|
* created invoice.
|
||||||
*/
|
*/
|
||||||
InvoiceWindow * gnc_ui_invoice_duplicate (GncInvoice *invoice, gboolean open_properties, const GDate *new_date);
|
InvoiceWindow* gnc_ui_invoice_duplicate (GtkWindow* parent, GncInvoice* old_invoice, gboolean open_properties, const GDate* new_date);
|
||||||
|
|
||||||
/* Search for invoices */
|
/* Search for invoices */
|
||||||
GNCSearchWindow * gnc_invoice_search (GncInvoice *start, GncOwner *owner, QofBook *book);
|
GNCSearchWindow * gnc_invoice_search (GtkWindow *parent, GncInvoice *start, GncOwner *owner, QofBook *book);
|
||||||
|
|
||||||
void gnc_business_call_owner_report (GncOwner *owner, Account *acc);
|
void gnc_business_call_owner_report (GtkWindow* parent, GncOwner *owner, Account *acc);
|
||||||
|
|
||||||
void gnc_invoice_window_sort (InvoiceWindow *iw, invoice_sort_type_t sort_code);
|
void gnc_invoice_window_sort (InvoiceWindow *iw, invoice_sort_type_t sort_code);
|
||||||
|
|
||||||
@ -90,13 +90,13 @@ GtkWidget *gnc_invoice_get_register(InvoiceWindow *iw);
|
|||||||
/* definitions for CB functions */
|
/* definitions for CB functions */
|
||||||
void gnc_invoice_window_destroy_cb (GtkWidget *widget, gpointer data);
|
void gnc_invoice_window_destroy_cb (GtkWidget *widget, gpointer data);
|
||||||
|
|
||||||
void gnc_invoice_window_new_invoice_cb (GtkWidget *widget, gpointer data);
|
void gnc_invoice_window_new_invoice_cb (GtkWindow* parent, gpointer data);
|
||||||
void gnc_invoice_window_printCB (GtkWidget *widget, gpointer data);
|
void gnc_invoice_window_printCB (GtkWindow* parent, gpointer data);
|
||||||
void gnc_invoice_window_cut_cb (GtkWidget *widget, gpointer data);
|
void gnc_invoice_window_cut_cb (GtkWidget *widget, gpointer data);
|
||||||
void gnc_invoice_window_copy_cb (GtkWidget *widget, gpointer data);
|
void gnc_invoice_window_copy_cb (GtkWidget *widget, gpointer data);
|
||||||
void gnc_invoice_window_paste_cb (GtkWidget *widget, gpointer data);
|
void gnc_invoice_window_paste_cb (GtkWidget *widget, gpointer data);
|
||||||
void gnc_invoice_window_editCB (GtkWidget *widget, gpointer data);
|
void gnc_invoice_window_editCB (GtkWindow* parent, gpointer data);
|
||||||
void gnc_invoice_window_duplicateInvoiceCB (GtkWidget *widget, gpointer data);
|
void gnc_invoice_window_duplicateInvoiceCB (GtkWindow* parent, gpointer data);
|
||||||
void gnc_invoice_window_postCB (GtkWidget *widget, gpointer data);
|
void gnc_invoice_window_postCB (GtkWidget *widget, gpointer data);
|
||||||
void gnc_invoice_window_unpostCB (GtkWidget *widget, gpointer data);
|
void gnc_invoice_window_unpostCB (GtkWidget *widget, gpointer data);
|
||||||
void gnc_invoice_window_recordCB (GtkWidget *widget, gpointer data);
|
void gnc_invoice_window_recordCB (GtkWidget *widget, gpointer data);
|
||||||
@ -104,8 +104,8 @@ void gnc_invoice_window_cancelCB (GtkWidget *widget, gpointer data);
|
|||||||
void gnc_invoice_window_deleteCB (GtkWidget *widget, gpointer data);
|
void gnc_invoice_window_deleteCB (GtkWidget *widget, gpointer data);
|
||||||
void gnc_invoice_window_blankCB (GtkWidget *widget, gpointer data);
|
void gnc_invoice_window_blankCB (GtkWidget *widget, gpointer data);
|
||||||
void gnc_invoice_window_duplicateCB (GtkWidget *widget, gpointer data);
|
void gnc_invoice_window_duplicateCB (GtkWidget *widget, gpointer data);
|
||||||
void gnc_invoice_window_payment_cb (GtkWidget *widget, gpointer data);
|
void gnc_invoice_window_payment_cb (GtkWindow *parent, gpointer data);
|
||||||
void gnc_invoice_window_report_owner_cb (GtkWidget *widget, gpointer data);
|
void gnc_invoice_window_report_owner_cb (GtkWindow *parent, gpointer data);
|
||||||
|
|
||||||
void gnc_invoice_window_entryUpCB (GtkWidget *widget, gpointer data);
|
void gnc_invoice_window_entryUpCB (GtkWidget *widget, gpointer data);
|
||||||
void gnc_invoice_window_entryDownCB (GtkWidget *widget, gpointer data);
|
void gnc_invoice_window_entryDownCB (GtkWidget *widget, gpointer data);
|
||||||
|
@ -63,10 +63,10 @@ typedef enum
|
|||||||
|
|
||||||
struct _job_select_window
|
struct _job_select_window
|
||||||
{
|
{
|
||||||
QofBook * book;
|
QofBook *book;
|
||||||
GncOwner * owner;
|
GncOwner *owner;
|
||||||
QofQuery * q;
|
QofQuery *q;
|
||||||
GncOwner owner_def;
|
GncOwner owner_def;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _job_window
|
struct _job_window
|
||||||
@ -137,7 +137,7 @@ gnc_job_verify_ok (JobWindow *jw)
|
|||||||
if (g_strcmp0 (res, "") == 0)
|
if (g_strcmp0 (res, "") == 0)
|
||||||
{
|
{
|
||||||
const char *message = _("The Job must be given a name.");
|
const char *message = _("The Job must be given a name.");
|
||||||
gnc_error_dialog(jw->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (jw->dialog), "%s", message);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -147,7 +147,7 @@ gnc_job_verify_ok (JobWindow *jw)
|
|||||||
if (res == NULL || g_strcmp0 (res, "") == 0)
|
if (res == NULL || g_strcmp0 (res, "") == 0)
|
||||||
{
|
{
|
||||||
const char *message = _("You must choose an owner for this job.");
|
const char *message = _("You must choose an owner for this job.");
|
||||||
gnc_error_dialog(jw->dialog, "%s", message);
|
gnc_error_dialog (GTK_WINDOW (jw->dialog), "%s", message);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -302,7 +302,7 @@ find_handler (gpointer find_data, gpointer user_data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static JobWindow *
|
static JobWindow *
|
||||||
gnc_job_new_window (QofBook *bookp, GncOwner *owner, GncJob *job)
|
gnc_job_new_window (GtkWindow *parent, QofBook *bookp, GncOwner *owner, GncJob *job)
|
||||||
{
|
{
|
||||||
JobWindow *jw;
|
JobWindow *jw;
|
||||||
GtkBuilder *builder;
|
GtkBuilder *builder;
|
||||||
@ -321,6 +321,7 @@ gnc_job_new_window (QofBook *bookp, GncOwner *owner, GncJob *job)
|
|||||||
find_handler, &job_guid);
|
find_handler, &job_guid);
|
||||||
if (jw)
|
if (jw)
|
||||||
{
|
{
|
||||||
|
gtk_window_set_transient_for (GTK_WINDOW(jw->dialog), parent);
|
||||||
gtk_window_present (GTK_WINDOW(jw->dialog));
|
gtk_window_present (GTK_WINDOW(jw->dialog));
|
||||||
return(jw);
|
return(jw);
|
||||||
}
|
}
|
||||||
@ -339,6 +340,7 @@ gnc_job_new_window (QofBook *bookp, GncOwner *owner, GncJob *job)
|
|||||||
|
|
||||||
/* Find the dialog */
|
/* Find the dialog */
|
||||||
jw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "job_dialog"));
|
jw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "job_dialog"));
|
||||||
|
gtk_window_set_transient_for (GTK_WINDOW(jw->dialog), parent);
|
||||||
|
|
||||||
// Set the style context for this dialog so it can be easily manipulated with css
|
// Set the style context for this dialog so it can be easily manipulated with css
|
||||||
gnc_widget_set_style_context (GTK_WIDGET(jw->dialog), "GncJobDialog");
|
gnc_widget_set_style_context (GTK_WIDGET(jw->dialog), "GncJobDialog");
|
||||||
@ -433,17 +435,8 @@ gnc_job_new_window (QofBook *bookp, GncOwner *owner, GncJob *job)
|
|||||||
return jw;
|
return jw;
|
||||||
}
|
}
|
||||||
|
|
||||||
GncJob *
|
|
||||||
gnc_ui_job_new_return_handle (GncOwner *owner, QofBook *book)
|
|
||||||
{
|
|
||||||
JobWindow *jw;
|
|
||||||
if (!book) return NULL;
|
|
||||||
jw = gnc_ui_job_new (owner, book);
|
|
||||||
return jw_get_job (jw);
|
|
||||||
}
|
|
||||||
|
|
||||||
JobWindow *
|
JobWindow *
|
||||||
gnc_ui_job_new (GncOwner *ownerp, QofBook *bookp)
|
gnc_ui_job_new (GtkWindow *parent, GncOwner *ownerp, QofBook *bookp)
|
||||||
{
|
{
|
||||||
JobWindow *jw;
|
JobWindow *jw;
|
||||||
GncOwner owner;
|
GncOwner owner;
|
||||||
@ -461,25 +454,25 @@ gnc_ui_job_new (GncOwner *ownerp, QofBook *bookp)
|
|||||||
else
|
else
|
||||||
gncOwnerInitCustomer (&owner, NULL); /* XXX */
|
gncOwnerInitCustomer (&owner, NULL); /* XXX */
|
||||||
|
|
||||||
jw = gnc_job_new_window (bookp, &owner, NULL);
|
jw = gnc_job_new_window (parent, bookp, &owner, NULL);
|
||||||
return jw;
|
return jw;
|
||||||
}
|
}
|
||||||
|
|
||||||
JobWindow *
|
JobWindow *
|
||||||
gnc_ui_job_edit (GncJob *job)
|
gnc_ui_job_edit (GtkWindow *parent, GncJob *job)
|
||||||
{
|
{
|
||||||
JobWindow *jw;
|
JobWindow *jw;
|
||||||
|
|
||||||
if (!job) return NULL;
|
if (!job) return NULL;
|
||||||
|
|
||||||
jw = gnc_job_new_window (gncJobGetBook(job), gncJobGetOwner(job), job);
|
jw = gnc_job_new_window (parent, gncJobGetBook(job), gncJobGetOwner(job), job);
|
||||||
return jw;
|
return jw;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Search functionality */
|
/* Search functionality */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
edit_job_cb (gpointer *job_p, gpointer user_data)
|
edit_job_cb (GtkWindow *dialog, gpointer *job_p, gpointer user_data)
|
||||||
{
|
{
|
||||||
GncJob *job;
|
GncJob *job;
|
||||||
|
|
||||||
@ -490,11 +483,11 @@ edit_job_cb (gpointer *job_p, gpointer user_data)
|
|||||||
if (!job)
|
if (!job)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
gnc_ui_job_edit (job);
|
gnc_ui_job_edit (dialog, job);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
invoice_job_cb (gpointer *job_p, gpointer user_data)
|
invoice_job_cb (GtkWindow *dialog, gpointer *job_p, gpointer user_data)
|
||||||
{
|
{
|
||||||
struct _job_select_window * sw = user_data;
|
struct _job_select_window * sw = user_data;
|
||||||
GncJob *job;
|
GncJob *job;
|
||||||
@ -507,11 +500,11 @@ invoice_job_cb (gpointer *job_p, gpointer user_data)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
gncOwnerInitJob (&owner, job);
|
gncOwnerInitJob (&owner, job);
|
||||||
gnc_invoice_search (NULL, &owner, sw->book);
|
gnc_invoice_search (dialog, NULL, &owner, sw->book);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
payment_job_cb (gpointer *job_p, gpointer user_data)
|
payment_job_cb (GtkWindow *dialog, gpointer *job_p, gpointer user_data)
|
||||||
{
|
{
|
||||||
struct _job_select_window *sw = user_data;
|
struct _job_select_window *sw = user_data;
|
||||||
GncOwner owner;
|
GncOwner owner;
|
||||||
@ -525,19 +518,19 @@ payment_job_cb (gpointer *job_p, gpointer user_data)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
gncOwnerInitJob (&owner, job);
|
gncOwnerInitJob (&owner, job);
|
||||||
gnc_ui_payment_new (&owner, sw->book);
|
gnc_ui_payment_new (dialog, &owner, sw->book);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
new_job_cb (gpointer user_data)
|
new_job_cb (GtkWindow *dialog, gpointer user_data)
|
||||||
{
|
{
|
||||||
struct _job_select_window *sw = user_data;
|
struct _job_select_window *sw = user_data;
|
||||||
JobWindow *jw;
|
JobWindow *jw;
|
||||||
|
|
||||||
g_return_val_if_fail (user_data, NULL);
|
g_return_val_if_fail (user_data, NULL);
|
||||||
|
|
||||||
jw = gnc_ui_job_new (sw->owner, sw->book);
|
jw = gnc_ui_job_new (dialog, sw->owner, sw->book);
|
||||||
return jw_get_job (jw);
|
return jw_get_job (jw);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -553,7 +546,7 @@ free_userdata_cb (gpointer user_data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
GNCSearchWindow *
|
GNCSearchWindow *
|
||||||
gnc_job_search (GncJob *start, GncOwner *owner, QofBook *book)
|
gnc_job_search (GtkWindow *parent, GncJob *start, GncOwner *owner, QofBook *book)
|
||||||
{
|
{
|
||||||
QofQuery *q, *q2 = NULL;
|
QofQuery *q, *q2 = NULL;
|
||||||
QofIdType type = GNC_JOB_MODULE_NAME;
|
QofIdType type = GNC_JOB_MODULE_NAME;
|
||||||
@ -647,7 +640,7 @@ gnc_job_search (GncJob *start, GncOwner *owner, QofBook *book)
|
|||||||
sw->book = book;
|
sw->book = book;
|
||||||
sw->q = q;
|
sw->q = q;
|
||||||
|
|
||||||
return gnc_search_dialog_create (type, _("Find Job"),
|
return gnc_search_dialog_create (parent, type, _("Find Job"),
|
||||||
params, columns, q, q2, buttons, NULL,
|
params, columns, q, q2, buttons, NULL,
|
||||||
new_job_cb, sw, free_userdata_cb,
|
new_job_cb, sw, free_userdata_cb,
|
||||||
GNC_PREFS_GROUP_SEARCH, NULL,
|
GNC_PREFS_GROUP_SEARCH, NULL,
|
||||||
@ -657,7 +650,7 @@ gnc_job_search (GncJob *start, GncOwner *owner, QofBook *book)
|
|||||||
/* Functions for widgets for job selection */
|
/* Functions for widgets for job selection */
|
||||||
|
|
||||||
GNCSearchWindow *
|
GNCSearchWindow *
|
||||||
gnc_job_search_select (gpointer start, gpointer book)
|
gnc_job_search_select (GtkWindow *parent, gpointer start, gpointer book)
|
||||||
{
|
{
|
||||||
GncJob *j = start;
|
GncJob *j = start;
|
||||||
GncOwner owner, *ownerp;
|
GncOwner owner, *ownerp;
|
||||||
@ -672,14 +665,14 @@ gnc_job_search_select (gpointer start, gpointer book)
|
|||||||
else
|
else
|
||||||
gncOwnerInitCustomer (&owner, NULL); /* XXX */
|
gncOwnerInitCustomer (&owner, NULL); /* XXX */
|
||||||
|
|
||||||
return gnc_job_search (start, &owner, book);
|
return gnc_job_search (parent, start, &owner, book);
|
||||||
}
|
}
|
||||||
|
|
||||||
GNCSearchWindow *
|
GNCSearchWindow *
|
||||||
gnc_job_search_edit (gpointer start, gpointer book)
|
gnc_job_search_edit (GtkWindow *parent, gpointer start, gpointer book)
|
||||||
{
|
{
|
||||||
if (start)
|
if (start)
|
||||||
gnc_ui_job_edit (start);
|
gnc_ui_job_edit (parent, start);
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -32,13 +32,12 @@ typedef struct _job_window JobWindow;
|
|||||||
#include "dialog-search.h"
|
#include "dialog-search.h"
|
||||||
|
|
||||||
/* Create or Edit a job */
|
/* Create or Edit a job */
|
||||||
GncJob * gnc_ui_job_new_return_handle (GncOwner *owner, QofBook *book);
|
JobWindow * gnc_ui_job_edit (GtkWindow *parent, GncJob *job);
|
||||||
JobWindow * gnc_ui_job_edit (GncJob *job);
|
JobWindow * gnc_ui_job_new (GtkWindow *parent, GncOwner *owner, QofBook *book);
|
||||||
JobWindow * gnc_ui_job_new (GncOwner *owner, QofBook *book);
|
|
||||||
|
|
||||||
/* Search for Jobs */
|
/* Search for Jobs */
|
||||||
GNCSearchWindow * gnc_job_search (GncJob *start, GncOwner *owner,
|
GNCSearchWindow * gnc_job_search (GtkWindow *parent, GncJob *start,
|
||||||
QofBook *book);
|
GncOwner *owner, QofBook *book);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These callbacks are for use with the gnc_general_search widget
|
* These callbacks are for use with the gnc_general_search widget
|
||||||
@ -46,7 +45,7 @@ GNCSearchWindow * gnc_job_search (GncJob *start, GncOwner *owner,
|
|||||||
* select() provides a Select Dialog and returns it.
|
* select() provides a Select Dialog and returns it.
|
||||||
* edit() opens the existing customer for editing and returns NULL.
|
* edit() opens the existing customer for editing and returns NULL.
|
||||||
*/
|
*/
|
||||||
GNCSearchWindow * gnc_job_search_select (gpointer start, gpointer book);
|
GNCSearchWindow * gnc_job_search_select (GtkWindow *parent, gpointer start, gpointer book);
|
||||||
GNCSearchWindow * gnc_job_search_edit (gpointer start, gpointer book);
|
GNCSearchWindow * gnc_job_search_edit (GtkWindow *parent, gpointer start, gpointer book);
|
||||||
|
|
||||||
#endif /* GNC_DIALOG_JOB_H_ */
|
#endif /* GNC_DIALOG_JOB_H_ */
|
||||||
|
@ -67,7 +67,7 @@ after_hierarchy_assistant(void)
|
|||||||
gnc_set_first_startup (FALSE);
|
gnc_set_first_startup (FALSE);
|
||||||
|
|
||||||
qof_book_mark_session_dirty(gnc_get_current_book());
|
qof_book_mark_session_dirty(gnc_get_current_book());
|
||||||
gnc_ui_file_access_for_save_as();
|
gnc_ui_file_access_for_save_as (gnc_ui_get_main_window (NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -71,10 +71,10 @@ typedef enum
|
|||||||
|
|
||||||
struct _order_select_window
|
struct _order_select_window
|
||||||
{
|
{
|
||||||
QofBook * book;
|
QofBook *book;
|
||||||
GncOwner * owner;
|
GncOwner *owner;
|
||||||
QofQuery * q;
|
QofQuery *q;
|
||||||
GncOwner owner_def;
|
GncOwner owner_def;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _order_window
|
struct _order_window
|
||||||
@ -168,7 +168,7 @@ gnc_order_window_verify_ok (OrderWindow *ow)
|
|||||||
res = gtk_entry_get_text (GTK_ENTRY (ow->id_entry));
|
res = gtk_entry_get_text (GTK_ENTRY (ow->id_entry));
|
||||||
if (g_strcmp0 (res, "") == 0)
|
if (g_strcmp0 (res, "") == 0)
|
||||||
{
|
{
|
||||||
gnc_error_dialog (ow->dialog, "%s",
|
gnc_error_dialog (GTK_WINDOW (ow->dialog), "%s",
|
||||||
_("The Order must be given an ID."));
|
_("The Order must be given an ID."));
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -178,7 +178,7 @@ gnc_order_window_verify_ok (OrderWindow *ow)
|
|||||||
res = gncOwnerGetName (&(ow->owner));
|
res = gncOwnerGetName (&(ow->owner));
|
||||||
if (res == NULL || g_strcmp0 (res, "") == 0)
|
if (res == NULL || g_strcmp0 (res, "") == 0)
|
||||||
{
|
{
|
||||||
gnc_error_dialog (ow->dialog, "%s",
|
gnc_error_dialog (GTK_WINDOW (ow->dialog), "%s",
|
||||||
_("You need to supply Billing Information."));
|
_("You need to supply Billing Information."));
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -246,7 +246,7 @@ gnc_order_window_invoice_cb (GtkWidget *widget, gpointer data)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
/* Ok, go make an invoice */
|
/* Ok, go make an invoice */
|
||||||
gnc_invoice_search (NULL, &(ow->owner), ow->book);
|
gnc_invoice_search (gtk_window_get_transient_for(GTK_WINDOW(ow->dialog)), NULL, &(ow->owner), ow->book);
|
||||||
|
|
||||||
/* refresh the window */
|
/* refresh the window */
|
||||||
gnc_order_update_window (ow);
|
gnc_order_update_window (ow);
|
||||||
@ -274,7 +274,7 @@ gnc_order_window_close_order_cb (GtkWidget *widget, gpointer data)
|
|||||||
/* Check that there is at least one Entry */
|
/* Check that there is at least one Entry */
|
||||||
if (gncOrderGetEntries (order) == NULL)
|
if (gncOrderGetEntries (order) == NULL)
|
||||||
{
|
{
|
||||||
gnc_error_dialog (ow->dialog, "%s",
|
gnc_error_dialog (GTK_WINDOW (ow->dialog), "%s",
|
||||||
_("The Order must have at least one Entry."));
|
_("The Order must have at least one Entry."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -301,7 +301,7 @@ gnc_order_window_close_order_cb (GtkWidget *widget, gpointer data)
|
|||||||
"Are you sure you want to close it out before "
|
"Are you sure you want to close it out before "
|
||||||
"you invoice all the entries?");
|
"you invoice all the entries?");
|
||||||
|
|
||||||
if (gnc_verify_dialog (ow->dialog, FALSE, "%s", message) == FALSE)
|
if (gnc_verify_dialog (GTK_WINDOW (ow->dialog), FALSE, "%s", message) == FALSE)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -539,7 +539,7 @@ find_handler (gpointer find_data, gpointer user_data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static OrderWindow *
|
static OrderWindow *
|
||||||
gnc_order_new_window (QofBook *bookp, OrderDialogType type,
|
gnc_order_new_window (GtkWindow *parent, QofBook *bookp, OrderDialogType type,
|
||||||
GncOrder *order, GncOwner *owner)
|
GncOrder *order, GncOwner *owner)
|
||||||
{
|
{
|
||||||
OrderWindow *ow;
|
OrderWindow *ow;
|
||||||
@ -573,6 +573,7 @@ gnc_order_new_window (QofBook *bookp, OrderDialogType type,
|
|||||||
if (ow)
|
if (ow)
|
||||||
{
|
{
|
||||||
gtk_window_present (GTK_WINDOW(ow->dialog));
|
gtk_window_present (GTK_WINDOW(ow->dialog));
|
||||||
|
gtk_window_set_transient_for (GTK_WINDOW(ow->dialog), parent);
|
||||||
return(ow);
|
return(ow);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -591,6 +592,7 @@ gnc_order_new_window (QofBook *bookp, OrderDialogType type,
|
|||||||
builder = gtk_builder_new();
|
builder = gtk_builder_new();
|
||||||
gnc_builder_add_from_file (builder, "dialog-order.glade", "order_entry_dialog");
|
gnc_builder_add_from_file (builder, "dialog-order.glade", "order_entry_dialog");
|
||||||
ow->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "order_entry_dialog"));
|
ow->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "order_entry_dialog"));
|
||||||
|
gtk_window_set_transient_for (GTK_WINDOW(ow->dialog), parent);
|
||||||
|
|
||||||
// Set the style context for this dialog so it can be easily manipulated with css
|
// Set the style context for this dialog so it can be easily manipulated with css
|
||||||
gnc_widget_set_style_context (GTK_WIDGET(ow->dialog), "GncOrderDialog");
|
gnc_widget_set_style_context (GTK_WIDGET(ow->dialog), "GncOrderDialog");
|
||||||
@ -683,7 +685,7 @@ gnc_order_new_window (QofBook *bookp, OrderDialogType type,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static OrderWindow *
|
static OrderWindow *
|
||||||
gnc_order_window_new_order (QofBook *bookp, GncOwner *owner)
|
gnc_order_window_new_order (GtkWindow *parent, QofBook *bookp, GncOwner *owner)
|
||||||
{
|
{
|
||||||
OrderWindow *ow;
|
OrderWindow *ow;
|
||||||
GtkBuilder *builder;
|
GtkBuilder *builder;
|
||||||
@ -706,6 +708,7 @@ gnc_order_window_new_order (QofBook *bookp, GncOwner *owner)
|
|||||||
gnc_builder_add_from_file (builder, "dialog-order.glade", "new_order_dialog");
|
gnc_builder_add_from_file (builder, "dialog-order.glade", "new_order_dialog");
|
||||||
|
|
||||||
ow->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "new_order_dialog"));
|
ow->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "new_order_dialog"));
|
||||||
|
gtk_window_set_transient_for (GTK_WINDOW(ow->dialog), parent);
|
||||||
|
|
||||||
// Set the style context for this dialog so it can be easily manipulated with css
|
// Set the style context for this dialog so it can be easily manipulated with css
|
||||||
gnc_widget_set_style_context (GTK_WIDGET(ow->dialog), "GncOrderDialog");
|
gnc_widget_set_style_context (GTK_WIDGET(ow->dialog), "GncOrderDialog");
|
||||||
@ -759,7 +762,7 @@ gnc_order_window_new_order (QofBook *bookp, GncOwner *owner)
|
|||||||
}
|
}
|
||||||
|
|
||||||
OrderWindow *
|
OrderWindow *
|
||||||
gnc_ui_order_edit (GncOrder *order)
|
gnc_ui_order_edit (GtkWindow *parent, GncOrder *order)
|
||||||
{
|
{
|
||||||
OrderWindow *ow;
|
OrderWindow *ow;
|
||||||
OrderDialogType type;
|
OrderDialogType type;
|
||||||
@ -773,14 +776,14 @@ gnc_ui_order_edit (GncOrder *order)
|
|||||||
type = VIEW_ORDER;
|
type = VIEW_ORDER;
|
||||||
}
|
}
|
||||||
|
|
||||||
ow = gnc_order_new_window (gncOrderGetBook(order), type, order,
|
ow = gnc_order_new_window (parent, gncOrderGetBook(order), type, order,
|
||||||
gncOrderGetOwner (order));
|
gncOrderGetOwner (order));
|
||||||
|
|
||||||
return ow;
|
return ow;
|
||||||
}
|
}
|
||||||
|
|
||||||
OrderWindow *
|
OrderWindow *
|
||||||
gnc_ui_order_new (GncOwner *ownerp, QofBook *bookp)
|
gnc_ui_order_new (GtkWindow *parent, GncOwner *ownerp, QofBook *bookp)
|
||||||
{
|
{
|
||||||
OrderWindow *ow;
|
OrderWindow *ow;
|
||||||
GncOwner owner;
|
GncOwner owner;
|
||||||
@ -806,7 +809,7 @@ gnc_ui_order_new (GncOwner *ownerp, QofBook *bookp)
|
|||||||
/* Make sure required options exist */
|
/* Make sure required options exist */
|
||||||
if (!bookp) return NULL;
|
if (!bookp) return NULL;
|
||||||
|
|
||||||
ow = gnc_order_window_new_order (bookp, &owner);
|
ow = gnc_order_window_new_order (parent, bookp, &owner);
|
||||||
|
|
||||||
return ow;
|
return ow;
|
||||||
}
|
}
|
||||||
@ -814,7 +817,7 @@ gnc_ui_order_new (GncOwner *ownerp, QofBook *bookp)
|
|||||||
/* Functions for order selection widgets */
|
/* Functions for order selection widgets */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
edit_order_cb (gpointer *order_p, gpointer user_data)
|
edit_order_cb (GtkWindow *dialog, gpointer *order_p, gpointer user_data)
|
||||||
{
|
{
|
||||||
GncOrder *order;
|
GncOrder *order;
|
||||||
|
|
||||||
@ -823,20 +826,20 @@ edit_order_cb (gpointer *order_p, gpointer user_data)
|
|||||||
order = *order_p;
|
order = *order_p;
|
||||||
|
|
||||||
if (order)
|
if (order)
|
||||||
gnc_ui_order_edit (order);
|
gnc_ui_order_edit (dialog, order);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
new_order_cb (gpointer user_data)
|
new_order_cb (GtkWindow *dialog, gpointer user_data)
|
||||||
{
|
{
|
||||||
struct _order_select_window *sw = user_data;
|
struct _order_select_window *sw = user_data;
|
||||||
OrderWindow *ow;
|
OrderWindow *ow;
|
||||||
|
|
||||||
g_return_val_if_fail (user_data, NULL);
|
g_return_val_if_fail (user_data, NULL);
|
||||||
|
|
||||||
ow = gnc_ui_order_new (sw->owner, sw->book);
|
ow = gnc_ui_order_new (dialog, sw->owner, sw->book);
|
||||||
return ow_get_order (ow);
|
return ow_get_order (ow);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -852,7 +855,7 @@ free_order_cb (gpointer user_data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
GNCSearchWindow *
|
GNCSearchWindow *
|
||||||
gnc_order_search (GncOrder *start, GncOwner *owner, QofBook *book)
|
gnc_order_search (GtkWindow *parent, GncOrder *start, GncOwner *owner, QofBook *book)
|
||||||
{
|
{
|
||||||
QofIdType type = GNC_ORDER_MODULE_NAME;
|
QofIdType type = GNC_ORDER_MODULE_NAME;
|
||||||
struct _order_select_window *sw;
|
struct _order_select_window *sw;
|
||||||
@ -950,7 +953,7 @@ gnc_order_search (GncOrder *start, GncOwner *owner, QofBook *book)
|
|||||||
sw->book = book;
|
sw->book = book;
|
||||||
sw->q = q;
|
sw->q = q;
|
||||||
|
|
||||||
return gnc_search_dialog_create (type, _("Find Order"),
|
return gnc_search_dialog_create (parent, type, _("Find Order"),
|
||||||
params, columns, q, q2,
|
params, columns, q, q2,
|
||||||
buttons, NULL, new_order_cb,
|
buttons, NULL, new_order_cb,
|
||||||
sw, free_order_cb, GNC_PREFS_GROUP_SEARCH,
|
sw, free_order_cb, GNC_PREFS_GROUP_SEARCH,
|
||||||
@ -958,7 +961,7 @@ gnc_order_search (GncOrder *start, GncOwner *owner, QofBook *book)
|
|||||||
}
|
}
|
||||||
|
|
||||||
GNCSearchWindow *
|
GNCSearchWindow *
|
||||||
gnc_order_search_select (gpointer start, gpointer book)
|
gnc_order_search_select (GtkWindow *parent, gpointer start, gpointer book)
|
||||||
{
|
{
|
||||||
GncOrder *o = start;
|
GncOrder *o = start;
|
||||||
GncOwner owner, *ownerp;
|
GncOwner owner, *ownerp;
|
||||||
@ -973,14 +976,14 @@ gnc_order_search_select (gpointer start, gpointer book)
|
|||||||
else
|
else
|
||||||
gncOwnerInitCustomer (&owner, NULL); /* XXX */
|
gncOwnerInitCustomer (&owner, NULL); /* XXX */
|
||||||
|
|
||||||
return gnc_order_search (start, NULL, book);
|
return gnc_order_search (parent, start, NULL, book);
|
||||||
}
|
}
|
||||||
|
|
||||||
GNCSearchWindow *
|
GNCSearchWindow *
|
||||||
gnc_order_search_edit (gpointer start, gpointer book)
|
gnc_order_search_edit (GtkWindow *parent, gpointer start, gpointer book)
|
||||||
{
|
{
|
||||||
if (start)
|
if (start)
|
||||||
gnc_ui_order_edit (start);
|
gnc_ui_order_edit (parent, start);
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -32,11 +32,11 @@ typedef struct _order_window OrderWindow;
|
|||||||
#include "dialog-search.h"
|
#include "dialog-search.h"
|
||||||
|
|
||||||
/* Create and edit an order */
|
/* Create and edit an order */
|
||||||
OrderWindow * gnc_ui_order_edit (GncOrder *order);
|
OrderWindow * gnc_ui_order_edit (GtkWindow *parent, GncOrder *order);
|
||||||
OrderWindow * gnc_ui_order_new (GncOwner *owner, QofBook *book);
|
OrderWindow * gnc_ui_order_new (GtkWindow *parent, GncOwner *owner, QofBook *book);
|
||||||
|
|
||||||
/* Search for orders */
|
/* Search for orders */
|
||||||
GNCSearchWindow * gnc_order_search (GncOrder *start, GncOwner *owner,
|
GNCSearchWindow * gnc_order_search (GtkWindow *parent, GncOrder *start, GncOwner *owner,
|
||||||
QofBook *book);
|
QofBook *book);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -45,7 +45,7 @@ GNCSearchWindow * gnc_order_search (GncOrder *start, GncOwner *owner,
|
|||||||
* select() provides a Select Dialog and returns it.
|
* select() provides a Select Dialog and returns it.
|
||||||
* edit() opens the existing order for editing and returns NULL.
|
* edit() opens the existing order for editing and returns NULL.
|
||||||
*/
|
*/
|
||||||
GNCSearchWindow * gnc_order_search_select (gpointer start, gpointer book);
|
GNCSearchWindow * gnc_order_search_select (GtkWindow *parent, gpointer start, gpointer book);
|
||||||
GNCSearchWindow * gnc_order_search_edit (gpointer start, gpointer book);
|
GNCSearchWindow * gnc_order_search_edit (GtkWindow *parent, gpointer start, gpointer book);
|
||||||
|
|
||||||
#endif /* GNC_DIALOG_ORDER_H_ */
|
#endif /* GNC_DIALOG_ORDER_H_ */
|
||||||
|
@ -954,7 +954,7 @@ gnc_payment_ok_cb (G_GNUC_UNUSED GtkWidget *widget, gpointer data)
|
|||||||
text = _("The transfer and post accounts are associated with different currencies. Please specify the conversion rate.");
|
text = _("The transfer and post accounts are associated with different currencies. Please specify the conversion rate.");
|
||||||
|
|
||||||
xfer = gnc_xfer_dialog(pw->dialog, pw->post_acct);
|
xfer = gnc_xfer_dialog(pw->dialog, pw->post_acct);
|
||||||
gnc_info_dialog(pw->dialog, "%s", text);
|
gnc_info_dialog (GTK_WINDOW (pw->dialog), "%s", text);
|
||||||
|
|
||||||
gnc_xfer_dialog_select_to_account(xfer, pw->xfer_acct);
|
gnc_xfer_dialog_select_to_account(xfer, pw->xfer_acct);
|
||||||
gnc_xfer_dialog_set_amount(xfer, pw->amount_tot);
|
gnc_xfer_dialog_set_amount(xfer, pw->amount_tot);
|
||||||
@ -1117,7 +1117,7 @@ static void print_date (G_GNUC_UNUSED GtkTreeViewColumn *tree_column,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static PaymentWindow *
|
static PaymentWindow *
|
||||||
new_payment_window (GtkWidget *parent, QofBook *book, InitialPaymentInfo *tx_info)
|
new_payment_window (GtkWindow *parent, QofBook *book, InitialPaymentInfo *tx_info)
|
||||||
{
|
{
|
||||||
PaymentWindow *pw;
|
PaymentWindow *pw;
|
||||||
GtkBuilder *builder;
|
GtkBuilder *builder;
|
||||||
@ -1154,6 +1154,7 @@ new_payment_window (GtkWidget *parent, QofBook *book, InitialPaymentInfo *tx_inf
|
|||||||
gncOwnerCopy (&pw->tx_info->owner, &(pw->owner));
|
gncOwnerCopy (&pw->tx_info->owner, &(pw->owner));
|
||||||
gnc_payment_set_owner_type (pw, gncOwnerGetType(&pw->tx_info->owner));
|
gnc_payment_set_owner_type (pw, gncOwnerGetType(&pw->tx_info->owner));
|
||||||
|
|
||||||
|
gtk_window_set_transient_for (GTK_WINDOW(pw->dialog), parent);
|
||||||
gtk_window_present (GTK_WINDOW(pw->dialog));
|
gtk_window_present (GTK_WINDOW(pw->dialog));
|
||||||
return(pw);
|
return(pw);
|
||||||
}
|
}
|
||||||
@ -1173,6 +1174,7 @@ new_payment_window (GtkWidget *parent, QofBook *book, InitialPaymentInfo *tx_inf
|
|||||||
gnc_builder_add_from_file (builder, "dialog-payment.glade", "owner_type_combo_model");
|
gnc_builder_add_from_file (builder, "dialog-payment.glade", "owner_type_combo_model");
|
||||||
gnc_builder_add_from_file (builder, "dialog-payment.glade", "payment_dialog");
|
gnc_builder_add_from_file (builder, "dialog-payment.glade", "payment_dialog");
|
||||||
pw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "payment_dialog"));
|
pw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "payment_dialog"));
|
||||||
|
gtk_window_set_transient_for (GTK_WINDOW(pw->dialog), parent);
|
||||||
|
|
||||||
// Set the style context for this dialog so it can be easily manipulated with css
|
// Set the style context for this dialog so it can be easily manipulated with css
|
||||||
gnc_widget_set_style_context (GTK_WIDGET(pw->dialog), "GncPaymentDialog");
|
gnc_widget_set_style_context (GTK_WIDGET(pw->dialog), "GncPaymentDialog");
|
||||||
@ -1341,7 +1343,7 @@ new_payment_window (GtkWidget *parent, QofBook *book, InitialPaymentInfo *tx_inf
|
|||||||
* Let's assert this to protect from potential future changes. */
|
* Let's assert this to protect from potential future changes. */
|
||||||
g_assert (g_list_length (pw->acct_types) == 1);
|
g_assert (g_list_length (pw->acct_types) == 1);
|
||||||
acct_type = xaccAccountGetTypeStr(GPOINTER_TO_INT(pw->acct_types->data));
|
acct_type = xaccAccountGetTypeStr(GPOINTER_TO_INT(pw->acct_types->data));
|
||||||
gnc_warning_dialog(pw->dialog,
|
gnc_warning_dialog(GTK_WINDOW (pw->dialog),
|
||||||
_("You have no valid \"Post To\" accounts. "
|
_("You have no valid \"Post To\" accounts. "
|
||||||
"Please create an account of type \"%s\" "
|
"Please create an account of type \"%s\" "
|
||||||
"before you continue to process this payment. "
|
"before you continue to process this payment. "
|
||||||
@ -1364,8 +1366,8 @@ gnc_ui_payment_window_destroy (PaymentWindow *pw)
|
|||||||
}
|
}
|
||||||
|
|
||||||
PaymentWindow *
|
PaymentWindow *
|
||||||
gnc_ui_payment_new_with_invoice (const GncOwner *owner, QofBook *book,
|
gnc_ui_payment_new_with_invoice (GtkWindow *parent, const GncOwner *owner,
|
||||||
GncInvoice *invoice)
|
QofBook *book, GncInvoice *invoice)
|
||||||
{
|
{
|
||||||
GNCLot *postlot;
|
GNCLot *postlot;
|
||||||
InitialPaymentInfo *tx_info;
|
InitialPaymentInfo *tx_info;
|
||||||
@ -1395,13 +1397,13 @@ gnc_ui_payment_new_with_invoice (const GncOwner *owner, QofBook *book,
|
|||||||
lot_info->amount = gnc_numeric_zero ();
|
lot_info->amount = gnc_numeric_zero ();
|
||||||
tx_info->lots = g_list_prepend (tx_info->lots, lot_info);
|
tx_info->lots = g_list_prepend (tx_info->lots, lot_info);
|
||||||
}
|
}
|
||||||
return new_payment_window (NULL, book, tx_info);
|
return new_payment_window (parent, book, tx_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
PaymentWindow *
|
PaymentWindow *
|
||||||
gnc_ui_payment_new (GncOwner *owner, QofBook *book)
|
gnc_ui_payment_new (GtkWindow *parent, GncOwner *owner, QofBook *book)
|
||||||
{
|
{
|
||||||
return gnc_ui_payment_new_with_invoice (owner, book, NULL);
|
return gnc_ui_payment_new_with_invoice (parent, owner, book, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ///////////////
|
// ///////////////
|
||||||
@ -1477,7 +1479,7 @@ static char *gen_split_desc (Transaction *txn, Split *split)
|
|||||||
return split_str;
|
return split_str;
|
||||||
}
|
}
|
||||||
|
|
||||||
static Split *select_payment_split (GtkWidget *parent, Transaction *txn)
|
static Split *select_payment_split (GtkWindow *parent, Transaction *txn)
|
||||||
{
|
{
|
||||||
/* We require the txn to have one split in an Asset account.
|
/* We require the txn to have one split in an Asset account.
|
||||||
* The only exception would be a lot link transaction
|
* The only exception would be a lot link transaction
|
||||||
@ -1490,7 +1492,7 @@ static Split *select_payment_split (GtkWidget *parent, Transaction *txn)
|
|||||||
if (xaccTransGetTxnType(txn) == TXN_TYPE_LINK)
|
if (xaccTransGetTxnType(txn) == TXN_TYPE_LINK)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
dialog = gtk_message_dialog_new (GTK_WINDOW(parent),
|
dialog = gtk_message_dialog_new (parent,
|
||||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||||
GTK_MESSAGE_INFO,
|
GTK_MESSAGE_INFO,
|
||||||
GTK_BUTTONS_CLOSE,
|
GTK_BUTTONS_CLOSE,
|
||||||
@ -1513,7 +1515,7 @@ static Split *select_payment_split (GtkWidget *parent, Transaction *txn)
|
|||||||
"Please select one, the others will be ignored.\n\n");
|
"Please select one, the others will be ignored.\n\n");
|
||||||
GtkDialog *dialog = GTK_DIALOG(
|
GtkDialog *dialog = GTK_DIALOG(
|
||||||
gtk_dialog_new_with_buttons (_("Warning"),
|
gtk_dialog_new_with_buttons (_("Warning"),
|
||||||
GTK_WINDOW(parent),
|
parent,
|
||||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||||
_("Continue"), GTK_BUTTONS_OK,
|
_("Continue"), GTK_BUTTONS_OK,
|
||||||
_("Cancel"), GTK_BUTTONS_CANCEL,
|
_("Cancel"), GTK_BUTTONS_CANCEL,
|
||||||
@ -1569,7 +1571,7 @@ static Split *select_payment_split (GtkWidget *parent, Transaction *txn)
|
|||||||
return payment_splits->data;
|
return payment_splits->data;
|
||||||
}
|
}
|
||||||
|
|
||||||
static GList *select_txn_lots (GtkWidget *parent, Transaction *txn, Account **post_acct, gboolean *abort)
|
static GList *select_txn_lots (GtkWindow *parent, Transaction *txn, Account **post_acct, gboolean *abort)
|
||||||
{
|
{
|
||||||
gboolean has_no_lot_apar_splits = FALSE;
|
gboolean has_no_lot_apar_splits = FALSE;
|
||||||
SplitList *post_splits = NULL, *no_lot_post_splits = NULL;
|
SplitList *post_splits = NULL, *no_lot_post_splits = NULL;
|
||||||
@ -1624,7 +1626,7 @@ static GList *select_txn_lots (GtkWidget *parent, Transaction *txn, Account **po
|
|||||||
split_str = tmp_str2;
|
split_str = tmp_str2;
|
||||||
}
|
}
|
||||||
|
|
||||||
dialog = gtk_message_dialog_new (GTK_WINDOW(parent),
|
dialog = gtk_message_dialog_new (parent,
|
||||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||||
GTK_MESSAGE_WARNING,
|
GTK_MESSAGE_WARNING,
|
||||||
GTK_BUTTONS_CANCEL,
|
GTK_BUTTONS_CANCEL,
|
||||||
@ -1648,7 +1650,7 @@ static GList *select_txn_lots (GtkWidget *parent, Transaction *txn, Account **po
|
|||||||
return txn_lots;
|
return txn_lots;
|
||||||
}
|
}
|
||||||
|
|
||||||
PaymentWindow * gnc_ui_payment_new_with_txn (GtkWidget* parent, GncOwner *owner, Transaction *txn)
|
PaymentWindow * gnc_ui_payment_new_with_txn (GtkWindow* parent, GncOwner *owner, Transaction *txn)
|
||||||
{
|
{
|
||||||
Split *payment_split = NULL;
|
Split *payment_split = NULL;
|
||||||
Account *post_acct = NULL;
|
Account *post_acct = NULL;
|
||||||
@ -1682,7 +1684,7 @@ PaymentWindow * gnc_ui_payment_new_with_txn (GtkWidget* parent, GncOwner *owner,
|
|||||||
tx_info->lots = txn_lots;
|
tx_info->lots = txn_lots;
|
||||||
gncOwnerCopy (owner, &tx_info->owner);
|
gncOwnerCopy (owner, &tx_info->owner);
|
||||||
|
|
||||||
pw = new_payment_window (NULL,
|
pw = new_payment_window (parent,
|
||||||
qof_instance_get_book(QOF_INSTANCE(txn)),
|
qof_instance_get_book(QOF_INSTANCE(txn)),
|
||||||
tx_info);
|
tx_info);
|
||||||
|
|
||||||
|
@ -30,11 +30,12 @@ typedef struct _payment_window PaymentWindow;
|
|||||||
#include "gncInvoice.h"
|
#include "gncInvoice.h"
|
||||||
|
|
||||||
/* Create a payment window */
|
/* Create a payment window */
|
||||||
PaymentWindow * gnc_ui_payment_new (GncOwner *owner, QofBook *book);
|
PaymentWindow * gnc_ui_payment_new (GtkWindow *parent, GncOwner *owner, QofBook *book);
|
||||||
PaymentWindow * gnc_ui_payment_new_with_invoice (const GncOwner *owner,
|
PaymentWindow * gnc_ui_payment_new_with_invoice (GtkWindow *parent,
|
||||||
QofBook *book,
|
const GncOwner *owner,
|
||||||
GncInvoice *invoice);
|
QofBook *book,
|
||||||
PaymentWindow * gnc_ui_payment_new_with_txn (GtkWidget *parent, GncOwner *owner, Transaction *txn);
|
GncInvoice *invoice);
|
||||||
|
PaymentWindow * gnc_ui_payment_new_with_txn (GtkWindow *parent, GncOwner *owner, Transaction *txn);
|
||||||
|
|
||||||
/** Returns TRUE if the given transaction (to be used with gnc_ui_payment_new_with_txn() )
|
/** Returns TRUE if the given transaction (to be used with gnc_ui_payment_new_with_txn() )
|
||||||
* is for a customer, or FALSE if it's from a vendor or employee voucher. */
|
* is for a customer, or FALSE if it's from a vendor or employee voucher. */
|
||||||
|
@ -452,7 +452,7 @@ gnc_prices_dialog_remove_old_clicked (GtkWidget *widget, gpointer data)
|
|||||||
GList *comm_list = gnc_prices_dialog_get_commodities (pdb_dialog->remove_view);
|
GList *comm_list = gnc_prices_dialog_get_commodities (pdb_dialog->remove_view);
|
||||||
|
|
||||||
// Are you sure you want to delete the entries and we have commodities
|
// Are you sure you want to delete the entries and we have commodities
|
||||||
if ((g_list_length (comm_list) != 0) && (gnc_verify_dialog (pdb_dialog->remove_dialog, FALSE, fmt, NULL)))
|
if ((g_list_length (comm_list) != 0) && (gnc_verify_dialog (GTK_WINDOW (pdb_dialog->remove_dialog), FALSE, fmt, NULL)))
|
||||||
{
|
{
|
||||||
Timespec last_ts;
|
Timespec last_ts;
|
||||||
GDate fiscal_end_date = get_fiscal_end_date ();
|
GDate fiscal_end_date = get_fiscal_end_date ();
|
||||||
@ -550,7 +550,7 @@ gnc_prices_dialog_get_quotes_clicked (GtkWidget *widget, gpointer data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
scm_window = SWIG_NewPointerObj(pdb_dialog->dialog,
|
scm_window = SWIG_NewPointerObj(pdb_dialog->dialog,
|
||||||
SWIG_TypeQuery("_p_GtkWidget"), 0);
|
SWIG_TypeQuery("_p_GtkWindow"), 0);
|
||||||
|
|
||||||
gnc_set_busy_cursor (NULL, TRUE);
|
gnc_set_busy_cursor (NULL, TRUE);
|
||||||
scm_call_2 (quotes_func, scm_window, book_scm);
|
scm_call_2 (quotes_func, scm_window, book_scm);
|
||||||
|
@ -279,7 +279,7 @@ pedit_dialog_response_cb (GtkDialog *dialog, gint response, gpointer data)
|
|||||||
error_str = gui_to_price (pedit_dialog);
|
error_str = gui_to_price (pedit_dialog);
|
||||||
if (error_str)
|
if (error_str)
|
||||||
{
|
{
|
||||||
gnc_warning_dialog (pedit_dialog->dialog, "%s", error_str);
|
gnc_warning_dialog (GTK_WINDOW (pedit_dialog->dialog), "%s", error_str);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -200,7 +200,7 @@ sxed_confirmed_cancel(GncSxEditorDialog *sxed)
|
|||||||
const char *sx_changed_msg =
|
const char *sx_changed_msg =
|
||||||
_( "This Scheduled Transaction has changed; are you "
|
_( "This Scheduled Transaction has changed; are you "
|
||||||
"sure you want to cancel?" );
|
"sure you want to cancel?" );
|
||||||
if (!gnc_verify_dialog(sxed->dialog, FALSE, "%s", sx_changed_msg))
|
if (!gnc_verify_dialog (GTK_WINDOW (sxed->dialog), FALSE, "%s", sx_changed_msg))
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -490,7 +490,7 @@ gnc_sxed_check_names (GncSxEditorDialog *sxed)
|
|||||||
{
|
{
|
||||||
const char *sx_has_no_name_msg =
|
const char *sx_has_no_name_msg =
|
||||||
_( "Please name the Scheduled Transaction." );
|
_( "Please name the Scheduled Transaction." );
|
||||||
gnc_error_dialog( sxed->dialog, "%s", sx_has_no_name_msg );
|
gnc_error_dialog (GTK_WINDOW (sxed->dialog), "%s", sx_has_no_name_msg );
|
||||||
g_free( name );
|
g_free( name );
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
@ -517,7 +517,7 @@ gnc_sxed_check_names (GncSxEditorDialog *sxed)
|
|||||||
const char *sx_has_existing_name_msg =
|
const char *sx_has_existing_name_msg =
|
||||||
_("A Scheduled Transaction with the name \"%s\" already exists. "
|
_("A Scheduled Transaction with the name \"%s\" already exists. "
|
||||||
"Are you sure you want to name this one the same?");
|
"Are you sure you want to name this one the same?");
|
||||||
if (!gnc_verify_dialog (sxed->dialog, FALSE,
|
if (!gnc_verify_dialog (GTK_WINDOW (sxed->dialog), FALSE,
|
||||||
sx_has_existing_name_msg, name))
|
sx_has_existing_name_msg, name))
|
||||||
{
|
{
|
||||||
g_free (name);
|
g_free (name);
|
||||||
@ -540,7 +540,7 @@ gnc_sxed_check_endpoint (GncSxEditorDialog *sxed)
|
|||||||
{
|
{
|
||||||
const char *sx_end_spec_msg =
|
const char *sx_end_spec_msg =
|
||||||
_("Please provide a valid end selection.");
|
_("Please provide a valid end selection.");
|
||||||
gnc_error_dialog (sxed->dialog, "%s", sx_end_spec_msg);
|
gnc_error_dialog (GTK_WINDOW (sxed->dialog), "%s", sx_end_spec_msg);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -555,7 +555,7 @@ gnc_sxed_check_endpoint (GncSxEditorDialog *sxed)
|
|||||||
{
|
{
|
||||||
const char *sx_occur_count_zero_msg =
|
const char *sx_occur_count_zero_msg =
|
||||||
_("There must be some number of occurrences.");
|
_("There must be some number of occurrences.");
|
||||||
gnc_error_dialog (sxed->dialog, "%s", sx_occur_count_zero_msg);
|
gnc_error_dialog (GTK_WINDOW (sxed->dialog), "%s", sx_occur_count_zero_msg);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -564,7 +564,7 @@ gnc_sxed_check_endpoint (GncSxEditorDialog *sxed)
|
|||||||
const char *sx_occur_counts_wrong_msg =
|
const char *sx_occur_counts_wrong_msg =
|
||||||
_("The number of remaining occurrences (%d) is greater than "
|
_("The number of remaining occurrences (%d) is greater than "
|
||||||
"the number of total occurrences (%d).");
|
"the number of total occurrences (%d).");
|
||||||
gnc_error_dialog (sxed->dialog, sx_occur_counts_wrong_msg,
|
gnc_error_dialog (GTK_WINDOW (sxed->dialog), sx_occur_counts_wrong_msg,
|
||||||
rem, occur);
|
rem, occur);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -593,7 +593,7 @@ gnc_sxed_check_endpoint (GncSxEditorDialog *sxed)
|
|||||||
const char *invalid_sx_check_msg =
|
const char *invalid_sx_check_msg =
|
||||||
_("You have attempted to create a Scheduled Transaction which "
|
_("You have attempted to create a Scheduled Transaction which "
|
||||||
"will never run. Do you really want to do this?");
|
"will never run. Do you really want to do this?");
|
||||||
if (!gnc_verify_dialog(sxed->dialog, FALSE,
|
if (!gnc_verify_dialog (GTK_WINDOW (sxed->dialog), FALSE,
|
||||||
"%s", invalid_sx_check_msg))
|
"%s", invalid_sx_check_msg))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -612,7 +612,7 @@ gnc_sxed_check_autocreate (GncSxEditorDialog *sxed, int ttVarCount,
|
|||||||
|
|
||||||
if (((ttVarCount > 0) || multi_commodity) && autocreateState)
|
if (((ttVarCount > 0) || multi_commodity) && autocreateState)
|
||||||
{
|
{
|
||||||
gnc_warning_dialog(sxed->dialog, "%s",
|
gnc_warning_dialog(GTK_WINDOW (sxed->dialog), "%s",
|
||||||
_("Scheduled Transactions with variables "
|
_("Scheduled Transactions with variables "
|
||||||
"or involving more than one commodity "
|
"or involving more than one commodity "
|
||||||
"cannot be automatically created."));
|
"cannot be automatically created."));
|
||||||
@ -623,7 +623,7 @@ gnc_sxed_check_autocreate (GncSxEditorDialog *sxed, int ttVarCount,
|
|||||||
* only valid if there's actually a transaction to create. */
|
* only valid if there's actually a transaction to create. */
|
||||||
if (autocreateState && splitCount == 0)
|
if (autocreateState && splitCount == 0)
|
||||||
{
|
{
|
||||||
gnc_warning_dialog(sxed->dialog, "%s",
|
gnc_warning_dialog(GTK_WINDOW (sxed->dialog), "%s",
|
||||||
_("Scheduled Transactions without a template "
|
_("Scheduled Transactions without a template "
|
||||||
"transaction cannot be automatically created.") );
|
"transaction cannot be automatically created.") );
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -672,7 +672,7 @@ gnc_sxed_split_calculate_formula (GncSxEditorDialog *sxed, Split *s,
|
|||||||
{
|
{
|
||||||
gchar *err = g_strdup_printf (_("Couldn't parse %s for split \"%s\"."),
|
gchar *err = g_strdup_printf (_("Couldn't parse %s for split \"%s\"."),
|
||||||
key, xaccSplitGetMemo (s));
|
key, xaccSplitGetMemo (s));
|
||||||
gnc_error_dialog (GTK_WIDGET(sxed->dialog), "%s", err);
|
gnc_error_dialog (GTK_WINDOW (sxed->dialog), "%s", err);
|
||||||
g_free (err);
|
g_free (err);
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -870,7 +870,7 @@ gnc_sxed_check_consistent( GncSxEditorDialog *sxed )
|
|||||||
const char *msg =
|
const char *msg =
|
||||||
_("The Scheduled Transaction Editor cannot automatically "
|
_("The Scheduled Transaction Editor cannot automatically "
|
||||||
"balance this transaction. Should it still be entered?");
|
"balance this transaction. Should it still be entered?");
|
||||||
if (!gnc_verify_dialog (sxed->dialog, FALSE, "%s", msg))
|
if (!gnc_verify_dialog (GTK_WINDOW (sxed->dialog), FALSE, "%s", msg))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1557,7 +1557,7 @@ gnc_sxed_reg_check_close(GncSxEditorDialog *sxed)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gnc_verify_dialog(sxed->dialog, TRUE, "%s", message))
|
if (gnc_verify_dialog (GTK_WINDOW (sxed->dialog), TRUE, "%s", message))
|
||||||
{
|
{
|
||||||
if ( !gnc_split_register_save( reg, TRUE ) )
|
if ( !gnc_split_register_save( reg, TRUE ) )
|
||||||
return;
|
return;
|
||||||
|
@ -198,7 +198,7 @@ sxed_confirmed_cancel (GncSxEditorDialog2 *sxed)
|
|||||||
const char *sx_changed_msg =
|
const char *sx_changed_msg =
|
||||||
_( "This Scheduled Transaction has changed; are you "
|
_( "This Scheduled Transaction has changed; are you "
|
||||||
"sure you want to cancel?" );
|
"sure you want to cancel?" );
|
||||||
if (!gnc_verify_dialog (sxed->dialog, FALSE, "%s", sx_changed_msg))
|
if (!gnc_verify_dialog (GTK_WINDOW (sxed->dialog), FALSE, "%s", sx_changed_msg))
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -636,7 +636,7 @@ gnc_sxed_check_consistent (GncSxEditorDialog2 *sxed)
|
|||||||
_( "Couldn't parse credit formula for "
|
_( "Couldn't parse credit formula for "
|
||||||
"split \"%s\"." ),
|
"split \"%s\"." ),
|
||||||
xaccSplitGetMemo( s ) );
|
xaccSplitGetMemo( s ) );
|
||||||
gnc_error_dialog( GTK_WIDGET(sxed->dialog), "%s",
|
gnc_error_dialog (GTK_WINDOW (sxed->dialog), "%s",
|
||||||
errStr->str );
|
errStr->str );
|
||||||
g_string_free( errStr, TRUE );
|
g_string_free( errStr, TRUE );
|
||||||
|
|
||||||
@ -658,7 +658,7 @@ gnc_sxed_check_consistent (GncSxEditorDialog2 *sxed)
|
|||||||
_( "Couldn't parse debit formula for "
|
_( "Couldn't parse debit formula for "
|
||||||
"split \"%s\"." ),
|
"split \"%s\"." ),
|
||||||
xaccSplitGetMemo( s ) );
|
xaccSplitGetMemo( s ) );
|
||||||
gnc_error_dialog( GTK_WIDGET(sxed->dialog), "%s",
|
gnc_error_dialog (GTK_WINDOW (sxed->dialog), "%s",
|
||||||
(gchar*)errStr->str );
|
(gchar*)errStr->str );
|
||||||
g_string_free( errStr, TRUE );
|
g_string_free( errStr, TRUE );
|
||||||
|
|
||||||
@ -686,7 +686,7 @@ gnc_sxed_check_consistent (GncSxEditorDialog2 *sxed)
|
|||||||
g_hash_table_destroy (txns);
|
g_hash_table_destroy (txns);
|
||||||
|
|
||||||
if (unbalanceable
|
if (unbalanceable
|
||||||
&& !gnc_verify_dialog (sxed->dialog, FALSE,
|
&& !gnc_verify_dialog (GTK_WINDOW (sxed->dialog), FALSE,
|
||||||
"%s",
|
"%s",
|
||||||
_("The Scheduled Transaction Editor "
|
_("The Scheduled Transaction Editor "
|
||||||
"cannot automatically balance "
|
"cannot automatically balance "
|
||||||
@ -710,7 +710,7 @@ gnc_sxed_check_consistent (GncSxEditorDialog2 *sxed)
|
|||||||
{
|
{
|
||||||
const char *sx_has_no_name_msg =
|
const char *sx_has_no_name_msg =
|
||||||
_("Please name the Scheduled Transaction.");
|
_("Please name the Scheduled Transaction.");
|
||||||
gnc_error_dialog (sxed->dialog, "%s", sx_has_no_name_msg);
|
gnc_error_dialog (GTK_WINDOW (sxed->dialog), "%s", sx_has_no_name_msg);
|
||||||
g_free (name);
|
g_free (name);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
@ -740,7 +740,7 @@ gnc_sxed_check_consistent (GncSxEditorDialog2 *sxed)
|
|||||||
"name \"%s\" already exists. "
|
"name \"%s\" already exists. "
|
||||||
"Are you sure you want to name "
|
"Are you sure you want to name "
|
||||||
"this one the same?");
|
"this one the same?");
|
||||||
if (!gnc_verify_dialog (sxed->dialog, FALSE,
|
if (!gnc_verify_dialog (GTK_WINDOW (sxed->dialog), FALSE,
|
||||||
sx_has_existing_name_msg,
|
sx_has_existing_name_msg,
|
||||||
name))
|
name))
|
||||||
{
|
{
|
||||||
@ -763,7 +763,7 @@ gnc_sxed_check_consistent (GncSxEditorDialog2 *sxed)
|
|||||||
|
|
||||||
if (((ttVarCount > 0) || multi_commodity) && autocreateState)
|
if (((ttVarCount > 0) || multi_commodity) && autocreateState)
|
||||||
{
|
{
|
||||||
gnc_warning_dialog (sxed->dialog, "%s",
|
gnc_warning_dialog (GTK_WINDOW (sxed->dialog), "%s",
|
||||||
_("Scheduled Transactions with variables "
|
_("Scheduled Transactions with variables "
|
||||||
"cannot be automatically created."));
|
"cannot be automatically created."));
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -773,7 +773,7 @@ gnc_sxed_check_consistent (GncSxEditorDialog2 *sxed)
|
|||||||
* only valid if there's actually a transaction to create. */
|
* only valid if there's actually a transaction to create. */
|
||||||
if (autocreateState && splitCount == 0)
|
if (autocreateState && splitCount == 0)
|
||||||
{
|
{
|
||||||
gnc_warning_dialog (sxed->dialog, "%s",
|
gnc_warning_dialog (GTK_WINDOW (sxed->dialog), "%s",
|
||||||
_("Scheduled Transactions without a template "
|
_("Scheduled Transactions without a template "
|
||||||
"transaction cannot be automatically created."));
|
"transaction cannot be automatically created."));
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -790,7 +790,7 @@ gnc_sxed_check_consistent (GncSxEditorDialog2 *sxed)
|
|||||||
{
|
{
|
||||||
const char *sx_end_spec_msg =
|
const char *sx_end_spec_msg =
|
||||||
_("Please provide a valid end selection.");
|
_("Please provide a valid end selection.");
|
||||||
gnc_error_dialog (sxed->dialog, "%s", sx_end_spec_msg);
|
gnc_error_dialog (GTK_WINDOW (sxed->dialog), "%s", sx_end_spec_msg);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -808,7 +808,7 @@ gnc_sxed_check_consistent (GncSxEditorDialog2 *sxed)
|
|||||||
{
|
{
|
||||||
const char *sx_occur_count_zero_msg =
|
const char *sx_occur_count_zero_msg =
|
||||||
_("There must be some number of occurrences.");
|
_("There must be some number of occurrences.");
|
||||||
gnc_error_dialog (sxed->dialog, "%s",
|
gnc_error_dialog (GTK_WINDOW (sxed->dialog), "%s",
|
||||||
sx_occur_count_zero_msg);
|
sx_occur_count_zero_msg);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -819,7 +819,7 @@ gnc_sxed_check_consistent (GncSxEditorDialog2 *sxed)
|
|||||||
_("The number of remaining occurrences "
|
_("The number of remaining occurrences "
|
||||||
"(%d) is greater than the number of "
|
"(%d) is greater than the number of "
|
||||||
"total occurrences (%d).");
|
"total occurrences (%d).");
|
||||||
gnc_error_dialog (sxed->dialog,
|
gnc_error_dialog (GTK_WINDOW (sxed->dialog),
|
||||||
sx_occur_counts_wrong_msg,
|
sx_occur_counts_wrong_msg,
|
||||||
rem, occur);
|
rem, occur);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -851,7 +851,7 @@ gnc_sxed_check_consistent (GncSxEditorDialog2 *sxed)
|
|||||||
_("You have attempted to create a Scheduled "
|
_("You have attempted to create a Scheduled "
|
||||||
"Transaction which will never run. Do you "
|
"Transaction which will never run. Do you "
|
||||||
"really want to do this?");
|
"really want to do this?");
|
||||||
if (!gnc_verify_dialog (sxed->dialog, FALSE,
|
if (!gnc_verify_dialog (GTK_WINDOW (sxed->dialog), FALSE,
|
||||||
"%s", invalid_sx_check_msg))
|
"%s", invalid_sx_check_msg))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -1521,7 +1521,7 @@ gnc_sxed_reg_check_close (GncSxEditorDialog2 *sxed)
|
|||||||
if (dirty_trans == NULL)
|
if (dirty_trans == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (gnc_verify_dialog (sxed->dialog, TRUE, "%s", message))
|
if (gnc_verify_dialog (GTK_WINDOW (sxed->dialog), TRUE, "%s", message))
|
||||||
{
|
{
|
||||||
/* Save the template transactions changes */
|
/* Save the template transactions changes */
|
||||||
xaccTransCommitEdit (dirty_trans);
|
xaccTransCommitEdit (dirty_trans);
|
||||||
|
@ -256,7 +256,7 @@ sxftd_add_template_trans(SXFromTransInfo *sxfti)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ( ! gnc_numeric_zero_p( runningBalance )
|
if ( ! gnc_numeric_zero_p( runningBalance )
|
||||||
&& !gnc_verify_dialog( (GtkWidget *)sxfti->dialog,
|
&& !gnc_verify_dialog (GTK_WINDOW (sxfti->dialog),
|
||||||
FALSE, "%s",
|
FALSE, "%s",
|
||||||
_("The Scheduled Transaction Editor "
|
_("The Scheduled Transaction Editor "
|
||||||
"cannot automatically balance "
|
"cannot automatically balance "
|
||||||
@ -553,7 +553,7 @@ sxftd_ok_clicked(SXFromTransInfo *sxfti)
|
|||||||
{
|
{
|
||||||
if ( sx_error == SXFTD_ERRNO_UNBALANCED_XACTION )
|
if ( sx_error == SXFTD_ERRNO_UNBALANCED_XACTION )
|
||||||
{
|
{
|
||||||
gnc_error_dialog( gnc_ui_get_toplevel(), "%s",
|
gnc_error_dialog (GTK_WINDOW (sxfti->dialog), "%s",
|
||||||
_( "The Scheduled Transaction is unbalanced. "
|
_( "The Scheduled Transaction is unbalanced. "
|
||||||
"You are strongly encouraged to correct this situation." ) );
|
"You are strongly encouraged to correct this situation." ) );
|
||||||
}
|
}
|
||||||
@ -781,7 +781,7 @@ gnc_sx_create_from_trans( Transaction *trans )
|
|||||||
{
|
{
|
||||||
if ( errno == SXFTD_ERRNO_OPEN_XACTION )
|
if ( errno == SXFTD_ERRNO_OPEN_XACTION )
|
||||||
{
|
{
|
||||||
gnc_error_dialog( gnc_ui_get_toplevel(), "%s",
|
gnc_error_dialog (NULL, "%s",
|
||||||
_( "Cannot create a Scheduled Transaction "
|
_( "Cannot create a Scheduled Transaction "
|
||||||
"from a Transaction currently "
|
"from a Transaction currently "
|
||||||
"being edited. Please Enter the "
|
"being edited. Please Enter the "
|
||||||
|
@ -41,6 +41,7 @@
|
|||||||
#include "dialog-sx-since-last-run.h"
|
#include "dialog-sx-since-last-run.h"
|
||||||
|
|
||||||
#include "gnc-prefs.h"
|
#include "gnc-prefs.h"
|
||||||
|
#include "gnc-ui.h"
|
||||||
#include "gnc-ui-util.h"
|
#include "gnc-ui-util.h"
|
||||||
#include "Query.h"
|
#include "Query.h"
|
||||||
#include "qof.h"
|
#include "qof.h"
|
||||||
@ -847,7 +848,7 @@ gnc_sx_sxsincelast_book_opened(void)
|
|||||||
|
|
||||||
if (summary.need_dialog)
|
if (summary.need_dialog)
|
||||||
{
|
{
|
||||||
gnc_ui_sx_since_last_run_dialog(inst_model, auto_created_txns);
|
gnc_ui_sx_since_last_run_dialog (gnc_ui_get_main_window (NULL), inst_model, auto_created_txns);
|
||||||
auto_created_txns = NULL;
|
auto_created_txns = NULL;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -858,7 +859,7 @@ gnc_sx_sxsincelast_book_opened(void)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
gnc_info_dialog
|
gnc_info_dialog
|
||||||
(NULL,
|
(gnc_ui_get_main_window (NULL),
|
||||||
ngettext
|
ngettext
|
||||||
("There are no Scheduled Transactions to be entered at this time. "
|
("There are no Scheduled Transactions to be entered at this time. "
|
||||||
"(One transaction automatically created)",
|
"(One transaction automatically created)",
|
||||||
@ -959,7 +960,7 @@ variable_value_changed_cb(GtkCellRendererText *cell,
|
|||||||
}
|
}
|
||||||
|
|
||||||
GncSxSinceLastRunDialog*
|
GncSxSinceLastRunDialog*
|
||||||
gnc_ui_sx_since_last_run_dialog(GncSxInstanceModel *sx_instances, GList *auto_created_txn_guids)
|
gnc_ui_sx_since_last_run_dialog (GtkWindow *parent, GncSxInstanceModel *sx_instances, GList *auto_created_txn_guids)
|
||||||
{
|
{
|
||||||
GncSxSinceLastRunDialog *dialog;
|
GncSxSinceLastRunDialog *dialog;
|
||||||
GtkBuilder *builder;
|
GtkBuilder *builder;
|
||||||
@ -970,6 +971,7 @@ gnc_ui_sx_since_last_run_dialog(GncSxInstanceModel *sx_instances, GList *auto_cr
|
|||||||
gnc_builder_add_from_file (builder, "dialog-sx.glade", "since_last_run_dialog");
|
gnc_builder_add_from_file (builder, "dialog-sx.glade", "since_last_run_dialog");
|
||||||
|
|
||||||
dialog->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "since_last_run_dialog"));
|
dialog->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "since_last_run_dialog"));
|
||||||
|
gtk_window_set_transient_for (GTK_WINDOW (dialog->dialog), parent);
|
||||||
|
|
||||||
// Set the style context for this dialog so it can be easily manipulated with css
|
// Set the style context for this dialog so it can be easily manipulated with css
|
||||||
gnc_widget_set_style_context (GTK_WIDGET(dialog->dialog), "GncSxSinceLastRunDialog");
|
gnc_widget_set_style_context (GTK_WIDGET(dialog->dialog), "GncSxSinceLastRunDialog");
|
||||||
|
@ -47,7 +47,7 @@ void gnc_sx_sxsincelast_book_opened(void);
|
|||||||
/**
|
/**
|
||||||
* Create the since-last-run dialog.
|
* Create the since-last-run dialog.
|
||||||
**/
|
**/
|
||||||
GncSxSinceLastRunDialog* gnc_ui_sx_since_last_run_dialog(GncSxInstanceModel *sx_instances,
|
GncSxSinceLastRunDialog* gnc_ui_sx_since_last_run_dialog (GtkWindow *parent, GncSxInstanceModel *sx_instances,
|
||||||
GList *auto_created_txn_guids);
|
GList *auto_created_txn_guids);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -272,7 +272,8 @@ row_selected_cb (GtkTreeView *view, GtkTreePath *path,
|
|||||||
g_free (uri_scheme);
|
g_free (uri_scheme);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
gnc_error_dialog (NULL, "%s", _("This transaction is not associated with a valid URI."));
|
gnc_error_dialog (gnc_ui_get_gtk_window(GTK_WIDGET (view)),
|
||||||
|
"%s", _("This transaction is not associated with a valid URI."));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Open transaction
|
// Open transaction
|
||||||
|
@ -70,8 +70,8 @@ typedef enum
|
|||||||
|
|
||||||
struct _vendor_select_window
|
struct _vendor_select_window
|
||||||
{
|
{
|
||||||
QofBook * book;
|
QofBook *book;
|
||||||
QofQuery * q;
|
QofQuery *q;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _vendor_window
|
struct _vendor_window
|
||||||
@ -190,14 +190,14 @@ static void gnc_ui_to_vendor (VendorWindow *vw, GncVendor *vendor)
|
|||||||
gnc_resume_gui_refresh ();
|
gnc_resume_gui_refresh ();
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean check_entry_nonempty (GtkWidget *dialog, GtkWidget *entry,
|
static gboolean check_entry_nonempty (GtkWidget *entry,
|
||||||
const char * error_message)
|
const char * error_message)
|
||||||
{
|
{
|
||||||
const char *res = gtk_entry_get_text (GTK_ENTRY (entry));
|
const char *res = gtk_entry_get_text (GTK_ENTRY (entry));
|
||||||
if (g_strcmp0 (res, "") == 0)
|
if (g_strcmp0 (res, "") == 0)
|
||||||
{
|
{
|
||||||
if (error_message)
|
if (error_message)
|
||||||
gnc_error_dialog (dialog, "%s", error_message);
|
gnc_error_dialog (gnc_ui_get_gtk_window (entry), "%s", error_message);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -210,7 +210,7 @@ gnc_vendor_window_ok_cb (GtkWidget *widget, gpointer data)
|
|||||||
gchar *string;
|
gchar *string;
|
||||||
|
|
||||||
/* Check for valid company name */
|
/* Check for valid company name */
|
||||||
if (check_entry_nonempty (vw->dialog, vw->company_entry,
|
if (check_entry_nonempty (vw->company_entry,
|
||||||
_("You must enter a company name. "
|
_("You must enter a company name. "
|
||||||
"If this vendor is an individual (and not a company) "
|
"If this vendor is an individual (and not a company) "
|
||||||
"you should enter the same value for:\nIdentification "
|
"you should enter the same value for:\nIdentification "
|
||||||
@ -218,13 +218,13 @@ gnc_vendor_window_ok_cb (GtkWidget *widget, gpointer data)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
/* Make sure we have an address */
|
/* Make sure we have an address */
|
||||||
if (check_entry_nonempty (vw->dialog, vw->addr1_entry, NULL) &&
|
if (check_entry_nonempty (vw->addr1_entry, NULL) &&
|
||||||
check_entry_nonempty (vw->dialog, vw->addr2_entry, NULL) &&
|
check_entry_nonempty (vw->addr2_entry, NULL) &&
|
||||||
check_entry_nonempty (vw->dialog, vw->addr3_entry, NULL) &&
|
check_entry_nonempty (vw->addr3_entry, NULL) &&
|
||||||
check_entry_nonempty (vw->dialog, vw->addr4_entry, NULL))
|
check_entry_nonempty (vw->addr4_entry, NULL))
|
||||||
{
|
{
|
||||||
const char *msg = _("You must enter a payment address.");
|
const char *msg = _("You must enter a payment address.");
|
||||||
gnc_error_dialog (vw->dialog, "%s", msg);
|
gnc_error_dialog (gnc_ui_get_gtk_window (widget), "%s", msg);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -395,7 +395,7 @@ find_handler (gpointer find_data, gpointer user_data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static VendorWindow *
|
static VendorWindow *
|
||||||
gnc_vendor_new_window (QofBook *bookp, GncVendor *vendor)
|
gnc_vendor_new_window (GtkWindow *parent, QofBook *bookp, GncVendor *vendor)
|
||||||
{
|
{
|
||||||
VendorWindow *vw;
|
VendorWindow *vw;
|
||||||
GtkBuilder *builder;
|
GtkBuilder *builder;
|
||||||
@ -415,6 +415,7 @@ gnc_vendor_new_window (QofBook *bookp, GncVendor *vendor)
|
|||||||
find_handler, &vendor_guid);
|
find_handler, &vendor_guid);
|
||||||
if (vw)
|
if (vw)
|
||||||
{
|
{
|
||||||
|
gtk_window_set_transient_for (GTK_WINDOW(vw->dialog), parent);
|
||||||
gtk_window_present (GTK_WINDOW(vw->dialog));
|
gtk_window_present (GTK_WINDOW(vw->dialog));
|
||||||
return(vw);
|
return(vw);
|
||||||
}
|
}
|
||||||
@ -440,6 +441,7 @@ gnc_vendor_new_window (QofBook *bookp, GncVendor *vendor)
|
|||||||
gnc_builder_add_from_file (builder, "dialog-vendor.glade", "taxtable_store");
|
gnc_builder_add_from_file (builder, "dialog-vendor.glade", "taxtable_store");
|
||||||
gnc_builder_add_from_file (builder, "dialog-vendor.glade", "vendor_dialog");
|
gnc_builder_add_from_file (builder, "dialog-vendor.glade", "vendor_dialog");
|
||||||
vw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "vendor_dialog"));
|
vw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "vendor_dialog"));
|
||||||
|
gtk_window_set_transient_for (GTK_WINDOW(vw->dialog), parent);
|
||||||
|
|
||||||
// Set the style context for this dialog so it can be easily manipulated with css
|
// Set the style context for this dialog so it can be easily manipulated with css
|
||||||
gnc_widget_set_style_context (GTK_WIDGET(vw->dialog), "GncVendorDialog");
|
gnc_widget_set_style_context (GTK_WIDGET(vw->dialog), "GncVendorDialog");
|
||||||
@ -559,25 +561,25 @@ gnc_vendor_new_window (QofBook *bookp, GncVendor *vendor)
|
|||||||
}
|
}
|
||||||
|
|
||||||
VendorWindow *
|
VendorWindow *
|
||||||
gnc_ui_vendor_new (QofBook *bookp)
|
gnc_ui_vendor_new (GtkWindow *parent, QofBook *bookp)
|
||||||
{
|
{
|
||||||
VendorWindow *vw;
|
VendorWindow *vw;
|
||||||
|
|
||||||
/* Make sure required options exist */
|
/* Make sure required options exist */
|
||||||
if (!bookp) return NULL;
|
if (!bookp) return NULL;
|
||||||
|
|
||||||
vw = gnc_vendor_new_window (bookp, NULL);
|
vw = gnc_vendor_new_window (parent, bookp, NULL);
|
||||||
return vw;
|
return vw;
|
||||||
}
|
}
|
||||||
|
|
||||||
VendorWindow *
|
VendorWindow *
|
||||||
gnc_ui_vendor_edit (GncVendor *vendor)
|
gnc_ui_vendor_edit (GtkWindow *parent, GncVendor *vendor)
|
||||||
{
|
{
|
||||||
VendorWindow *vw;
|
VendorWindow *vw;
|
||||||
|
|
||||||
if (!vendor) return NULL;
|
if (!vendor) return NULL;
|
||||||
|
|
||||||
vw = gnc_vendor_new_window (gncVendorGetBook(vendor), vendor);
|
vw = gnc_vendor_new_window (parent, gncVendorGetBook(vendor), vendor);
|
||||||
|
|
||||||
return vw;
|
return vw;
|
||||||
}
|
}
|
||||||
@ -585,7 +587,7 @@ gnc_ui_vendor_edit (GncVendor *vendor)
|
|||||||
/* Functions for vendor selection widgets */
|
/* Functions for vendor selection widgets */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
invoice_vendor_cb (gpointer *vendor_p, gpointer user_data)
|
invoice_vendor_cb (GtkWindow *dialog, gpointer *vendor_p, gpointer user_data)
|
||||||
{
|
{
|
||||||
struct _vendor_select_window *sw = user_data;
|
struct _vendor_select_window *sw = user_data;
|
||||||
GncOwner owner;
|
GncOwner owner;
|
||||||
@ -599,12 +601,12 @@ invoice_vendor_cb (gpointer *vendor_p, gpointer user_data)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
gncOwnerInitVendor (&owner, vendor);
|
gncOwnerInitVendor (&owner, vendor);
|
||||||
gnc_invoice_search (NULL, &owner, sw->book);
|
gnc_invoice_search (dialog, NULL, &owner, sw->book);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
order_vendor_cb (gpointer *vendor_p, gpointer user_data)
|
order_vendor_cb (GtkWindow *dialog, gpointer *vendor_p, gpointer user_data)
|
||||||
{
|
{
|
||||||
struct _vendor_select_window *sw = user_data;
|
struct _vendor_select_window *sw = user_data;
|
||||||
GncOwner owner;
|
GncOwner owner;
|
||||||
@ -618,12 +620,12 @@ order_vendor_cb (gpointer *vendor_p, gpointer user_data)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
gncOwnerInitVendor (&owner, vendor);
|
gncOwnerInitVendor (&owner, vendor);
|
||||||
gnc_order_search (NULL, &owner, sw->book);
|
gnc_order_search (dialog, NULL, &owner, sw->book);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
jobs_vendor_cb (gpointer *vendor_p, gpointer user_data)
|
jobs_vendor_cb (GtkWindow *dialog, gpointer *vendor_p, gpointer user_data)
|
||||||
{
|
{
|
||||||
struct _vendor_select_window *sw = user_data;
|
struct _vendor_select_window *sw = user_data;
|
||||||
GncOwner owner;
|
GncOwner owner;
|
||||||
@ -637,12 +639,12 @@ jobs_vendor_cb (gpointer *vendor_p, gpointer user_data)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
gncOwnerInitVendor (&owner, vendor);
|
gncOwnerInitVendor (&owner, vendor);
|
||||||
gnc_job_search (NULL, &owner, sw->book);
|
gnc_job_search (dialog, NULL, &owner, sw->book);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
payment_vendor_cb (gpointer *vendor_p, gpointer user_data)
|
payment_vendor_cb (GtkWindow *dialog, gpointer *vendor_p, gpointer user_data)
|
||||||
{
|
{
|
||||||
struct _vendor_select_window *sw = user_data;
|
struct _vendor_select_window *sw = user_data;
|
||||||
GncOwner owner;
|
GncOwner owner;
|
||||||
@ -656,12 +658,12 @@ payment_vendor_cb (gpointer *vendor_p, gpointer user_data)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
gncOwnerInitVendor (&owner, vendor);
|
gncOwnerInitVendor (&owner, vendor);
|
||||||
gnc_ui_payment_new (&owner, sw->book);
|
gnc_ui_payment_new (dialog, &owner, sw->book);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
edit_vendor_cb (gpointer *vendor_p, gpointer user_data)
|
edit_vendor_cb (GtkWindow *dialog, gpointer *vendor_p, gpointer user_data)
|
||||||
{
|
{
|
||||||
GncVendor *vendor;
|
GncVendor *vendor;
|
||||||
|
|
||||||
@ -672,19 +674,19 @@ edit_vendor_cb (gpointer *vendor_p, gpointer user_data)
|
|||||||
if (!vendor)
|
if (!vendor)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
gnc_ui_vendor_edit (vendor);
|
gnc_ui_vendor_edit (dialog, vendor);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
new_vendor_cb (gpointer user_data)
|
new_vendor_cb (GtkWindow *dialog, gpointer user_data)
|
||||||
{
|
{
|
||||||
struct _vendor_select_window *sw = user_data;
|
struct _vendor_select_window *sw = user_data;
|
||||||
VendorWindow *vw;
|
VendorWindow *vw;
|
||||||
|
|
||||||
g_return_val_if_fail (user_data, NULL);
|
g_return_val_if_fail (user_data, NULL);
|
||||||
|
|
||||||
vw = gnc_ui_vendor_new (sw->book);
|
vw = gnc_ui_vendor_new (dialog, sw->book);
|
||||||
return vw_get_vendor (vw);
|
return vw_get_vendor (vw);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -699,7 +701,7 @@ free_vendor_cb (gpointer user_data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
GNCSearchWindow *
|
GNCSearchWindow *
|
||||||
gnc_vendor_search (GncVendor *start, QofBook *book)
|
gnc_vendor_search (GtkWindow *parent, GncVendor *start, QofBook *book)
|
||||||
{
|
{
|
||||||
QofIdType type = GNC_VENDOR_MODULE_NAME;
|
QofIdType type = GNC_VENDOR_MODULE_NAME;
|
||||||
struct _vendor_select_window *sw;
|
struct _vendor_select_window *sw;
|
||||||
@ -759,7 +761,7 @@ gnc_vendor_search (GncVendor *start, QofBook *book)
|
|||||||
sw->book = book;
|
sw->book = book;
|
||||||
sw->q = q;
|
sw->q = q;
|
||||||
|
|
||||||
return gnc_search_dialog_create (type, _("Find Vendor"),
|
return gnc_search_dialog_create (parent, type, _("Find Vendor"),
|
||||||
params, columns, q, q2, buttons, NULL,
|
params, columns, q, q2, buttons, NULL,
|
||||||
new_vendor_cb, sw, free_vendor_cb,
|
new_vendor_cb, sw, free_vendor_cb,
|
||||||
GNC_PREFS_GROUP_SEARCH, NULL,
|
GNC_PREFS_GROUP_SEARCH, NULL,
|
||||||
@ -767,18 +769,18 @@ gnc_vendor_search (GncVendor *start, QofBook *book)
|
|||||||
}
|
}
|
||||||
|
|
||||||
GNCSearchWindow *
|
GNCSearchWindow *
|
||||||
gnc_vendor_search_select (gpointer start, gpointer book)
|
gnc_vendor_search_select (GtkWindow *parent, gpointer start, gpointer book)
|
||||||
{
|
{
|
||||||
if (!book) return NULL;
|
if (!book) return NULL;
|
||||||
|
|
||||||
return gnc_vendor_search (start, book);
|
return gnc_vendor_search (parent, start, book);
|
||||||
}
|
}
|
||||||
|
|
||||||
GNCSearchWindow *
|
GNCSearchWindow *
|
||||||
gnc_vendor_search_edit (gpointer start, gpointer book)
|
gnc_vendor_search_edit (GtkWindow *parent, gpointer start, gpointer book)
|
||||||
{
|
{
|
||||||
if (start)
|
if (start)
|
||||||
gnc_ui_vendor_edit (start);
|
gnc_ui_vendor_edit (parent, start);
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -31,11 +31,11 @@ typedef struct _vendor_window VendorWindow;
|
|||||||
#include "dialog-search.h"
|
#include "dialog-search.h"
|
||||||
|
|
||||||
/* Create or Edit Vendors */
|
/* Create or Edit Vendors */
|
||||||
VendorWindow * gnc_ui_vendor_edit (GncVendor *vendor);
|
VendorWindow * gnc_ui_vendor_edit (GtkWindow *parent, GncVendor *vendor);
|
||||||
VendorWindow * gnc_ui_vendor_new (QofBook *book);
|
VendorWindow * gnc_ui_vendor_new (GtkWindow *parent, QofBook *book);
|
||||||
|
|
||||||
/* Search for vendors */
|
/* Search for vendors */
|
||||||
GNCSearchWindow * gnc_vendor_search (GncVendor *start, QofBook *book);
|
GNCSearchWindow * gnc_vendor_search (GtkWindow *parent, GncVendor *start, QofBook *book);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These callbacks are for use with the gnc_general_search widget
|
* These callbacks are for use with the gnc_general_search widget
|
||||||
@ -43,7 +43,7 @@ GNCSearchWindow * gnc_vendor_search (GncVendor *start, QofBook *book);
|
|||||||
* select() provides a Select Dialog and returns it.
|
* select() provides a Select Dialog and returns it.
|
||||||
* edit() opens the existing vendor for editing and returns NULL.
|
* edit() opens the existing vendor for editing and returns NULL.
|
||||||
*/
|
*/
|
||||||
GNCSearchWindow * gnc_vendor_search_select (gpointer start, gpointer book);
|
GNCSearchWindow * gnc_vendor_search_select (GtkWindow *parent, gpointer start, gpointer book);
|
||||||
GNCSearchWindow * gnc_vendor_search_edit (gpointer start, gpointer book);
|
GNCSearchWindow * gnc_vendor_search_edit (GtkWindow *parent, gpointer start, gpointer book);
|
||||||
|
|
||||||
#endif /* GNC_DIALOG_VENDOR_H_ */
|
#endif /* GNC_DIALOG_VENDOR_H_ */
|
||||||
|
@ -422,7 +422,7 @@ gnc_plugin_basic_commands_class_init (GncPluginBasicCommandsClass *klass)
|
|||||||
/** Initialize a new instance of a basic commands plugin. This
|
/** Initialize a new instance of a basic commands plugin. This
|
||||||
* function currently does nothing.
|
* function currently does nothing.
|
||||||
*
|
*
|
||||||
* @param page The new object instance created by the object
|
* @param plugin The new object instance created by the object
|
||||||
* system. */
|
* system. */
|
||||||
static void
|
static void
|
||||||
gnc_plugin_basic_commands_init (GncPluginBasicCommands *plugin)
|
gnc_plugin_basic_commands_init (GncPluginBasicCommands *plugin)
|
||||||
@ -456,7 +456,7 @@ gnc_main_window_cmd_file_new (GtkAction *action, GncMainWindowActionData *data)
|
|||||||
if (!gnc_main_window_all_finish_pending())
|
if (!gnc_main_window_all_finish_pending())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
gnc_file_new ();
|
gnc_file_new (GTK_WINDOW (data->window));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -469,9 +469,9 @@ gnc_main_window_cmd_file_open (GtkAction *action, GncMainWindowActionData *data)
|
|||||||
|
|
||||||
gnc_window_set_progressbar_window (GNC_WINDOW(data->window));
|
gnc_window_set_progressbar_window (GNC_WINDOW(data->window));
|
||||||
#ifdef HAVE_DBI_DBI_H
|
#ifdef HAVE_DBI_DBI_H
|
||||||
gnc_ui_file_access_for_open();
|
gnc_ui_file_access_for_open (GTK_WINDOW (data->window));
|
||||||
#else
|
#else
|
||||||
gnc_file_open ();
|
gnc_file_open (GTK_WINDOW (data->window));
|
||||||
#endif
|
#endif
|
||||||
gnc_window_set_progressbar_window (NULL);
|
gnc_window_set_progressbar_window (NULL);
|
||||||
}
|
}
|
||||||
@ -485,7 +485,7 @@ gnc_main_window_cmd_file_save (GtkAction *action, GncMainWindowActionData *data)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
gnc_window_set_progressbar_window (GNC_WINDOW(data->window));
|
gnc_window_set_progressbar_window (GNC_WINDOW(data->window));
|
||||||
gnc_file_save ();
|
gnc_file_save (GTK_WINDOW (data->window));
|
||||||
gnc_window_set_progressbar_window (NULL);
|
gnc_window_set_progressbar_window (NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -499,9 +499,9 @@ gnc_main_window_cmd_file_save_as (GtkAction *action, GncMainWindowActionData *da
|
|||||||
|
|
||||||
gnc_window_set_progressbar_window (GNC_WINDOW(data->window));
|
gnc_window_set_progressbar_window (GNC_WINDOW(data->window));
|
||||||
#ifdef HAVE_DBI_DBI_H
|
#ifdef HAVE_DBI_DBI_H
|
||||||
gnc_ui_file_access_for_save_as();
|
gnc_ui_file_access_for_save_as (GTK_WINDOW (data->window));
|
||||||
#else
|
#else
|
||||||
gnc_file_save_as ();
|
gnc_file_save_as (GTK_WINDOW (data->window));
|
||||||
#endif
|
#endif
|
||||||
gnc_window_set_progressbar_window (NULL);
|
gnc_window_set_progressbar_window (NULL);
|
||||||
}
|
}
|
||||||
@ -515,7 +515,7 @@ gnc_main_window_cmd_file_revert (GtkAction *action, GncMainWindowActionData *dat
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
gnc_window_set_progressbar_window (GNC_WINDOW(data->window));
|
gnc_window_set_progressbar_window (GNC_WINDOW(data->window));
|
||||||
gnc_file_revert();
|
gnc_file_revert(GTK_WINDOW (data->window));
|
||||||
gnc_window_set_progressbar_window (NULL);
|
gnc_window_set_progressbar_window (NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -526,7 +526,7 @@ gnc_main_window_cmd_file_export_accounts (GtkAction *action, GncMainWindowAction
|
|||||||
|
|
||||||
gnc_window_set_progressbar_window (GNC_WINDOW(data->window));
|
gnc_window_set_progressbar_window (GNC_WINDOW(data->window));
|
||||||
#ifdef HAVE_DBI_DBI_H
|
#ifdef HAVE_DBI_DBI_H
|
||||||
gnc_ui_file_access_for_export();
|
gnc_ui_file_access_for_export (GTK_WINDOW (data->window));
|
||||||
#else
|
#else
|
||||||
gnc_file_export ();
|
gnc_file_export ();
|
||||||
#endif
|
#endif
|
||||||
@ -551,7 +551,7 @@ gnc_main_window_cmd_actions_scheduled_transaction_editor (GtkAction *action, Gnc
|
|||||||
static void
|
static void
|
||||||
gnc_main_window_cmd_actions_since_last_run (GtkAction *action, GncMainWindowActionData *data)
|
gnc_main_window_cmd_actions_since_last_run (GtkAction *action, GncMainWindowActionData *data)
|
||||||
{
|
{
|
||||||
GncMainWindow *window;
|
GtkWindow *window;
|
||||||
GncSxInstanceModel *sx_instances;
|
GncSxInstanceModel *sx_instances;
|
||||||
GncSxSummary summary;
|
GncSxSummary summary;
|
||||||
GList *auto_created_txns = NULL;
|
GList *auto_created_txns = NULL;
|
||||||
@ -560,7 +560,7 @@ gnc_main_window_cmd_actions_since_last_run (GtkAction *action, GncMainWindowActi
|
|||||||
|
|
||||||
g_return_if_fail (data != NULL);
|
g_return_if_fail (data != NULL);
|
||||||
|
|
||||||
window = data->window;
|
window = GTK_WINDOW (data->window);
|
||||||
|
|
||||||
if (qof_book_is_readonly(gnc_get_current_book()))
|
if (qof_book_is_readonly(gnc_get_current_book()))
|
||||||
{
|
{
|
||||||
@ -573,18 +573,18 @@ gnc_main_window_cmd_actions_since_last_run (GtkAction *action, GncMainWindowActi
|
|||||||
gnc_sx_instance_model_effect_change(sx_instances, TRUE, &auto_created_txns, NULL);
|
gnc_sx_instance_model_effect_change(sx_instances, TRUE, &auto_created_txns, NULL);
|
||||||
if (summary.need_dialog)
|
if (summary.need_dialog)
|
||||||
{
|
{
|
||||||
gnc_ui_sx_since_last_run_dialog(sx_instances, auto_created_txns);
|
gnc_ui_sx_since_last_run_dialog (window, sx_instances, auto_created_txns);
|
||||||
auto_created_txns = NULL;
|
auto_created_txns = NULL;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (summary.num_auto_create_no_notify_instances == 0)
|
if (summary.num_auto_create_no_notify_instances == 0)
|
||||||
{
|
{
|
||||||
gnc_info_dialog(GTK_WIDGET(&window->gtk_window), "%s", nothing_to_do_msg);
|
gnc_info_dialog (window, "%s", nothing_to_do_msg);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gnc_info_dialog(GTK_WIDGET(&window->gtk_window), ngettext
|
gnc_info_dialog(window, ngettext
|
||||||
/* Translators: %d is the number of transactions. This is a
|
/* Translators: %d is the number of transactions. This is a
|
||||||
ngettext(3) message. */
|
ngettext(3) message. */
|
||||||
("There are no Scheduled Transactions to be entered at this time. "
|
("There are no Scheduled Transactions to be entered at this time. "
|
||||||
|
@ -471,7 +471,7 @@ gnc_plugin_business_cmd_customer_new_customer (GtkAction *action,
|
|||||||
g_return_if_fail (mw != NULL);
|
g_return_if_fail (mw != NULL);
|
||||||
g_return_if_fail (GNC_IS_PLUGIN_BUSINESS (mw->data));
|
g_return_if_fail (GNC_IS_PLUGIN_BUSINESS (mw->data));
|
||||||
|
|
||||||
gnc_ui_customer_new (gnc_get_current_book());
|
gnc_ui_customer_new (GTK_WINDOW (mw->window), gnc_get_current_book ());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -488,7 +488,7 @@ gnc_plugin_business_cmd_customer_find_customer (GtkAction *action,
|
|||||||
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
||||||
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
||||||
customer = gncOwnerGetCustomer (priv->last_customer);
|
customer = gncOwnerGetCustomer (priv->last_customer);
|
||||||
gnc_customer_search (customer, gnc_get_current_book());
|
gnc_customer_search (GTK_WINDOW (mw->window), customer, gnc_get_current_book ());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -504,7 +504,7 @@ gnc_plugin_business_cmd_customer_new_invoice (GtkAction *action,
|
|||||||
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
||||||
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
||||||
last_window = mw->window;
|
last_window = mw->window;
|
||||||
gnc_ui_invoice_new (priv->last_customer, gnc_get_current_book());
|
gnc_ui_invoice_new (GTK_WINDOW (mw->window), priv->last_customer, gnc_get_current_book ());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -520,7 +520,7 @@ gnc_plugin_business_cmd_customer_find_invoice (GtkAction *action,
|
|||||||
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
||||||
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
||||||
last_window = mw->window;
|
last_window = mw->window;
|
||||||
gnc_invoice_search (NULL, priv->last_customer, gnc_get_current_book());
|
gnc_invoice_search (GTK_WINDOW (mw->window), NULL, priv->last_customer, gnc_get_current_book ());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -535,7 +535,7 @@ gnc_plugin_business_cmd_customer_new_job (GtkAction *action,
|
|||||||
|
|
||||||
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
||||||
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
||||||
gnc_ui_job_new (priv->last_customer, gnc_get_current_book());
|
gnc_ui_job_new (GTK_WINDOW (mw->window), priv->last_customer, gnc_get_current_book ());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -550,7 +550,7 @@ gnc_plugin_business_cmd_customer_find_job (GtkAction *action,
|
|||||||
|
|
||||||
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
||||||
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
||||||
gnc_job_search (NULL, priv->last_customer, gnc_get_current_book());
|
gnc_job_search (GTK_WINDOW (mw->window), NULL, priv->last_customer, gnc_get_current_book ());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -565,7 +565,7 @@ gnc_plugin_business_cmd_customer_process_payment (GtkAction *action,
|
|||||||
|
|
||||||
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
||||||
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
||||||
gnc_ui_payment_new (priv->last_customer, gnc_get_current_book());
|
gnc_ui_payment_new (GTK_WINDOW (mw->window), priv->last_customer, gnc_get_current_book ());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -588,7 +588,7 @@ gnc_plugin_business_cmd_vendor_new_vendor (GtkAction *action,
|
|||||||
g_return_if_fail (mw != NULL);
|
g_return_if_fail (mw != NULL);
|
||||||
g_return_if_fail (GNC_IS_PLUGIN_BUSINESS (mw->data));
|
g_return_if_fail (GNC_IS_PLUGIN_BUSINESS (mw->data));
|
||||||
|
|
||||||
gnc_ui_vendor_new (gnc_get_current_book());
|
gnc_ui_vendor_new (GTK_WINDOW (mw->window), gnc_get_current_book ());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -605,7 +605,7 @@ gnc_plugin_business_cmd_vendor_find_vendor (GtkAction *action,
|
|||||||
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
||||||
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
||||||
vendor = gncOwnerGetVendor (priv->last_vendor);
|
vendor = gncOwnerGetVendor (priv->last_vendor);
|
||||||
gnc_vendor_search (vendor, gnc_get_current_book());
|
gnc_vendor_search (GTK_WINDOW (mw->window), vendor, gnc_get_current_book ());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -621,7 +621,7 @@ gnc_plugin_business_cmd_vendor_new_bill (GtkAction *action,
|
|||||||
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
||||||
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
||||||
last_window = mw->window;
|
last_window = mw->window;
|
||||||
gnc_ui_invoice_new (priv->last_vendor, gnc_get_current_book());
|
gnc_ui_invoice_new (GTK_WINDOW (mw->window), priv->last_vendor, gnc_get_current_book ());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -637,7 +637,7 @@ gnc_plugin_business_cmd_vendor_find_bill (GtkAction *action,
|
|||||||
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
||||||
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
||||||
last_window = mw->window;
|
last_window = mw->window;
|
||||||
gnc_invoice_search (NULL, priv->last_vendor, gnc_get_current_book());
|
gnc_invoice_search (GTK_WINDOW (mw->window), NULL, priv->last_vendor, gnc_get_current_book ());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -652,7 +652,7 @@ gnc_plugin_business_cmd_vendor_new_job (GtkAction *action,
|
|||||||
|
|
||||||
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
||||||
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
||||||
gnc_ui_job_new (priv->last_vendor, gnc_get_current_book());
|
gnc_ui_job_new (GTK_WINDOW (mw->window), priv->last_vendor, gnc_get_current_book ());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -667,7 +667,7 @@ gnc_plugin_business_cmd_vendor_find_job (GtkAction *action,
|
|||||||
|
|
||||||
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
||||||
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
||||||
gnc_job_search (NULL, priv->last_vendor, gnc_get_current_book());
|
gnc_job_search (GTK_WINDOW (mw->window), NULL, priv->last_vendor, gnc_get_current_book ());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -682,7 +682,7 @@ gnc_plugin_business_cmd_vendor_process_payment (GtkAction *action,
|
|||||||
|
|
||||||
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
||||||
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
||||||
gnc_ui_payment_new (priv->last_vendor, gnc_get_current_book());
|
gnc_ui_payment_new (GTK_WINDOW (mw->window), priv->last_vendor, gnc_get_current_book ());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -705,7 +705,7 @@ gnc_plugin_business_cmd_employee_new_employee (GtkAction *action,
|
|||||||
g_return_if_fail (mw != NULL);
|
g_return_if_fail (mw != NULL);
|
||||||
g_return_if_fail (GNC_IS_PLUGIN_BUSINESS (mw->data));
|
g_return_if_fail (GNC_IS_PLUGIN_BUSINESS (mw->data));
|
||||||
|
|
||||||
gnc_ui_employee_new (gnc_get_current_book());
|
gnc_ui_employee_new (GTK_WINDOW (mw->window), gnc_get_current_book ());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -722,7 +722,7 @@ gnc_plugin_business_cmd_employee_find_employee (GtkAction *action,
|
|||||||
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
||||||
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
||||||
employee = gncOwnerGetEmployee (priv->last_employee);
|
employee = gncOwnerGetEmployee (priv->last_employee);
|
||||||
gnc_employee_search (employee, gnc_get_current_book());
|
gnc_employee_search (GTK_WINDOW (mw->window), employee, gnc_get_current_book ());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -738,7 +738,7 @@ gnc_plugin_business_cmd_employee_new_expense_voucher (GtkAction *action,
|
|||||||
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
||||||
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
||||||
last_window = mw->window;
|
last_window = mw->window;
|
||||||
gnc_ui_invoice_new (priv->last_employee, gnc_get_current_book());
|
gnc_ui_invoice_new (GTK_WINDOW (mw->window), priv->last_employee, gnc_get_current_book ());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -754,7 +754,7 @@ gnc_plugin_business_cmd_employee_find_expense_voucher (GtkAction *action,
|
|||||||
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
||||||
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
||||||
last_window = mw->window;
|
last_window = mw->window;
|
||||||
gnc_invoice_search (NULL, priv->last_employee, gnc_get_current_book());
|
gnc_invoice_search (GTK_WINDOW (mw->window), NULL, priv->last_employee, gnc_get_current_book ());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -769,7 +769,7 @@ gnc_plugin_business_cmd_employee_process_payment (GtkAction *action,
|
|||||||
|
|
||||||
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
plugin = GNC_PLUGIN_BUSINESS (mw->data);
|
||||||
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
priv = GNC_PLUGIN_BUSINESS_GET_PRIVATE (plugin);
|
||||||
gnc_ui_payment_new (priv->last_employee, gnc_get_current_book());
|
gnc_ui_payment_new (GTK_WINDOW (mw->window), priv->last_employee, gnc_get_current_book ());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -800,7 +800,7 @@ gnc_plugin_business_cmd_bills_due_reminder (GtkAction *action,
|
|||||||
g_return_if_fail (mw != NULL);
|
g_return_if_fail (mw != NULL);
|
||||||
g_return_if_fail (GNC_IS_PLUGIN_BUSINESS (mw->data));
|
g_return_if_fail (GNC_IS_PLUGIN_BUSINESS (mw->data));
|
||||||
|
|
||||||
gnc_invoice_remind_bills_due();
|
gnc_invoice_remind_bills_due (GTK_WINDOW (mw->window));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -811,7 +811,7 @@ gnc_plugin_business_cmd_invoices_due_reminder (GtkAction *action,
|
|||||||
g_return_if_fail (mw != NULL);
|
g_return_if_fail (mw != NULL);
|
||||||
g_return_if_fail (GNC_IS_PLUGIN_BUSINESS (mw->data));
|
g_return_if_fail (GNC_IS_PLUGIN_BUSINESS (mw->data));
|
||||||
|
|
||||||
gnc_invoice_remind_invoices_due();
|
gnc_invoice_remind_invoices_due (GTK_WINDOW (mw->window));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -821,7 +821,7 @@ gnc_plugin_business_cmd_test_search (GtkAction *action,
|
|||||||
gnc_search_dialog_test();
|
gnc_search_dialog_test();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gnc_business_assign_payment (GtkWidget *parent,
|
static void gnc_business_assign_payment (GtkWindow *parent,
|
||||||
Transaction *trans,
|
Transaction *trans,
|
||||||
GncOwner *owner)
|
GncOwner *owner)
|
||||||
{
|
{
|
||||||
@ -883,7 +883,7 @@ static void gnc_plugin_business_cmd_assign_payment (GtkAction *action,
|
|||||||
else
|
else
|
||||||
owner_p = plugin_business_priv->last_vendor;
|
owner_p = plugin_business_priv->last_vendor;
|
||||||
|
|
||||||
gnc_business_assign_payment (gnc_plugin_page_get_window(plugin_page),
|
gnc_business_assign_payment (GTK_WINDOW (mw->window),
|
||||||
trans, owner_p);
|
trans, owner_p);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1019,7 +1019,7 @@ gnc_plugin_business_cmd_test_init_data (GtkAction *action,
|
|||||||
gnc_account_append_child(root, tax_acct);
|
gnc_account_append_child(root, tax_acct);
|
||||||
|
|
||||||
// Launch the invoice editor
|
// Launch the invoice editor
|
||||||
gnc_ui_invoice_edit(invoice);
|
gnc_ui_invoice_edit (GTK_WINDOW (data->window), invoice);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This is the list of actions which are switched inactive in a read-only book. */
|
/* This is the list of actions which are switched inactive in a read-only book. */
|
||||||
|
@ -60,8 +60,8 @@ GncPlugin *gnc_plugin_business_new (void);
|
|||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
GncMainWindow *gnc_plugin_business_get_window (void);
|
GncMainWindow *gnc_plugin_business_get_window (void);
|
||||||
void gnc_invoice_remind_bills_due (void);
|
void gnc_invoice_remind_bills_due (GtkWindow *parent);
|
||||||
void gnc_invoice_remind_invoices_due (void);
|
void gnc_invoice_remind_invoices_due (GtkWindow *parent);
|
||||||
void gnc_invoice_remind_bills_due_cb (void);
|
void gnc_invoice_remind_bills_due_cb (void);
|
||||||
void gnc_invoice_remind_invoices_due_cb (void);
|
void gnc_invoice_remind_invoices_due_cb (void);
|
||||||
const char *gnc_plugin_business_get_invoice_printreport(void);
|
const char *gnc_plugin_business_get_invoice_printreport(void);
|
||||||
|
@ -648,12 +648,14 @@ gnc_plugin_page_invoice_cmd_new_invoice (GtkAction *action,
|
|||||||
GncPluginPageInvoice *plugin_page)
|
GncPluginPageInvoice *plugin_page)
|
||||||
{
|
{
|
||||||
GncPluginPageInvoicePrivate *priv;
|
GncPluginPageInvoicePrivate *priv;
|
||||||
|
GtkWindow *parent;
|
||||||
|
|
||||||
g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
|
g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
|
||||||
|
|
||||||
ENTER("(action %p, plugin_page %p)", action, plugin_page);
|
ENTER("(action %p, plugin_page %p)", action, plugin_page);
|
||||||
priv = GNC_PLUGIN_PAGE_INVOICE_GET_PRIVATE(plugin_page);
|
priv = GNC_PLUGIN_PAGE_INVOICE_GET_PRIVATE(plugin_page);
|
||||||
gnc_invoice_window_new_invoice_cb(NULL, priv->iw);
|
parent = GTK_WINDOW (gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (plugin_page)));
|
||||||
|
gnc_invoice_window_new_invoice_cb(parent, priv->iw);
|
||||||
LEAVE(" ");
|
LEAVE(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -673,12 +675,14 @@ gnc_plugin_page_invoice_cmd_print (GtkAction *action,
|
|||||||
GncPluginPageInvoice *plugin_page)
|
GncPluginPageInvoice *plugin_page)
|
||||||
{
|
{
|
||||||
GncPluginPageInvoicePrivate *priv;
|
GncPluginPageInvoicePrivate *priv;
|
||||||
|
GtkWindow *parent;
|
||||||
|
|
||||||
g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
|
g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
|
||||||
|
|
||||||
ENTER("(action %p, plugin_page %p)", action, plugin_page);
|
ENTER("(action %p, plugin_page %p)", action, plugin_page);
|
||||||
priv = GNC_PLUGIN_PAGE_INVOICE_GET_PRIVATE(plugin_page);
|
priv = GNC_PLUGIN_PAGE_INVOICE_GET_PRIVATE(plugin_page);
|
||||||
gnc_invoice_window_printCB(NULL, priv->iw);
|
parent = GTK_WINDOW (gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (plugin_page)));
|
||||||
|
gnc_invoice_window_printCB (parent, priv->iw);
|
||||||
LEAVE(" ");
|
LEAVE(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -729,12 +733,14 @@ gnc_plugin_page_invoice_cmd_edit (GtkAction *action,
|
|||||||
GncPluginPageInvoice *plugin_page)
|
GncPluginPageInvoice *plugin_page)
|
||||||
{
|
{
|
||||||
GncPluginPageInvoicePrivate *priv;
|
GncPluginPageInvoicePrivate *priv;
|
||||||
|
GtkWindow *parent;
|
||||||
|
|
||||||
g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
|
g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
|
||||||
|
|
||||||
ENTER("(action %p, plugin_page %p)", action, plugin_page);
|
ENTER("(action %p, plugin_page %p)", action, plugin_page);
|
||||||
priv = GNC_PLUGIN_PAGE_INVOICE_GET_PRIVATE(plugin_page);
|
priv = GNC_PLUGIN_PAGE_INVOICE_GET_PRIVATE(plugin_page);
|
||||||
gnc_invoice_window_editCB(NULL, priv->iw);
|
parent = GTK_WINDOW (gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (plugin_page)));
|
||||||
|
gnc_invoice_window_editCB (parent, priv->iw);
|
||||||
LEAVE(" ");
|
LEAVE(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -743,12 +749,14 @@ gnc_plugin_page_invoice_cmd_duplicateInvoice (GtkAction *action,
|
|||||||
GncPluginPageInvoice *plugin_page)
|
GncPluginPageInvoice *plugin_page)
|
||||||
{
|
{
|
||||||
GncPluginPageInvoicePrivate *priv;
|
GncPluginPageInvoicePrivate *priv;
|
||||||
|
GtkWindow *parent;
|
||||||
|
|
||||||
g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
|
g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
|
||||||
|
|
||||||
ENTER("(action %p, plugin_page %p)", action, plugin_page);
|
ENTER("(action %p, plugin_page %p)", action, plugin_page);
|
||||||
priv = GNC_PLUGIN_PAGE_INVOICE_GET_PRIVATE(plugin_page);
|
priv = GNC_PLUGIN_PAGE_INVOICE_GET_PRIVATE(plugin_page);
|
||||||
gnc_invoice_window_duplicateInvoiceCB(NULL, priv->iw);
|
parent = GTK_WINDOW (gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (plugin_page)));
|
||||||
|
gnc_invoice_window_duplicateInvoiceCB(parent, priv->iw);
|
||||||
LEAVE(" ");
|
LEAVE(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -906,12 +914,14 @@ gnc_plugin_page_invoice_cmd_pay_invoice (GtkAction *action,
|
|||||||
GncPluginPageInvoice *plugin_page)
|
GncPluginPageInvoice *plugin_page)
|
||||||
{
|
{
|
||||||
GncPluginPageInvoicePrivate *priv;
|
GncPluginPageInvoicePrivate *priv;
|
||||||
|
GtkWindow *parent;
|
||||||
|
|
||||||
g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
|
g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
|
||||||
|
|
||||||
ENTER("(action %p, plugin_page %p)", action, plugin_page);
|
ENTER("(action %p, plugin_page %p)", action, plugin_page);
|
||||||
priv = GNC_PLUGIN_PAGE_INVOICE_GET_PRIVATE(plugin_page);
|
priv = GNC_PLUGIN_PAGE_INVOICE_GET_PRIVATE(plugin_page);
|
||||||
gnc_invoice_window_payment_cb(NULL, priv->iw);
|
parent = GTK_WINDOW (gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (plugin_page)));
|
||||||
|
gnc_invoice_window_payment_cb (parent, priv->iw);
|
||||||
LEAVE(" ");
|
LEAVE(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -920,12 +930,14 @@ gnc_plugin_page_invoice_cmd_company_report (GtkAction *action,
|
|||||||
GncPluginPageInvoice *plugin_page)
|
GncPluginPageInvoice *plugin_page)
|
||||||
{
|
{
|
||||||
GncPluginPageInvoicePrivate *priv;
|
GncPluginPageInvoicePrivate *priv;
|
||||||
|
GtkWindow *parent;
|
||||||
|
|
||||||
g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
|
g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
|
||||||
|
|
||||||
ENTER("(action %p, plugin_page %p)", action, plugin_page);
|
ENTER("(action %p, plugin_page %p)", action, plugin_page);
|
||||||
priv = GNC_PLUGIN_PAGE_INVOICE_GET_PRIVATE(plugin_page);
|
priv = GNC_PLUGIN_PAGE_INVOICE_GET_PRIVATE(plugin_page);
|
||||||
gnc_invoice_window_report_owner_cb(NULL, priv->iw);
|
parent = GTK_WINDOW (gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (plugin_page)));
|
||||||
|
gnc_invoice_window_report_owner_cb (parent, priv->iw);
|
||||||
LEAVE(" ");
|
LEAVE(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -775,7 +775,7 @@ gnc_plugin_page_owner_tree_recreate_page (GtkWidget *window,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Wrapper function to open the proper edit dialog, depending on the owner type */
|
/* Wrapper function to open the proper edit dialog, depending on the owner type */
|
||||||
static void gnc_ui_owner_edit (GncOwner *owner)
|
static void gnc_ui_owner_edit (GtkWindow *parent, GncOwner *owner)
|
||||||
{
|
{
|
||||||
if (NULL == owner) return;
|
if (NULL == owner) return;
|
||||||
|
|
||||||
@ -786,22 +786,22 @@ static void gnc_ui_owner_edit (GncOwner *owner)
|
|||||||
break;
|
break;
|
||||||
case GNC_OWNER_CUSTOMER :
|
case GNC_OWNER_CUSTOMER :
|
||||||
{
|
{
|
||||||
gnc_ui_customer_edit (owner->owner.customer);
|
gnc_ui_customer_edit (parent, owner->owner.customer);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GNC_OWNER_JOB :
|
case GNC_OWNER_JOB :
|
||||||
{
|
{
|
||||||
gnc_ui_job_edit (owner->owner.job);
|
gnc_ui_job_edit (parent, owner->owner.job);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GNC_OWNER_VENDOR :
|
case GNC_OWNER_VENDOR :
|
||||||
{
|
{
|
||||||
gnc_ui_vendor_edit (owner->owner.vendor);
|
gnc_ui_vendor_edit (parent, owner->owner.vendor);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GNC_OWNER_EMPLOYEE :
|
case GNC_OWNER_EMPLOYEE :
|
||||||
{
|
{
|
||||||
gnc_ui_employee_edit (owner->owner.employee);
|
gnc_ui_employee_edit (parent, owner->owner.employee);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -842,10 +842,12 @@ gnc_plugin_page_owner_tree_double_click_cb (GtkTreeView *treeview,
|
|||||||
GncPluginPageOwnerTree *page)
|
GncPluginPageOwnerTree *page)
|
||||||
{
|
{
|
||||||
GncOwner *owner;
|
GncOwner *owner;
|
||||||
|
GtkWindow *parent;
|
||||||
|
|
||||||
g_return_if_fail (GNC_IS_PLUGIN_PAGE_OWNER_TREE (page));
|
g_return_if_fail (GNC_IS_PLUGIN_PAGE_OWNER_TREE (page));
|
||||||
owner = gnc_tree_view_owner_get_owner_from_path (GNC_TREE_VIEW_OWNER(treeview), path);
|
owner = gnc_tree_view_owner_get_owner_from_path (GNC_TREE_VIEW_OWNER(treeview), path);
|
||||||
gnc_ui_owner_edit (owner);
|
parent = GTK_WINDOW (gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (page)));
|
||||||
|
gnc_ui_owner_edit (parent, owner);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -993,10 +995,12 @@ static void
|
|||||||
gnc_plugin_page_owner_tree_cmd_new_owner (GtkAction *action, GncPluginPageOwnerTree *page)
|
gnc_plugin_page_owner_tree_cmd_new_owner (GtkAction *action, GncPluginPageOwnerTree *page)
|
||||||
{
|
{
|
||||||
GncPluginPageOwnerTreePrivate *priv;
|
GncPluginPageOwnerTreePrivate *priv;
|
||||||
|
GtkWindow *parent;
|
||||||
|
|
||||||
g_return_if_fail(GNC_IS_PLUGIN_PAGE_OWNER_TREE(page));
|
g_return_if_fail(GNC_IS_PLUGIN_PAGE_OWNER_TREE(page));
|
||||||
|
|
||||||
priv = GNC_PLUGIN_PAGE_OWNER_TREE_GET_PRIVATE (page);
|
priv = GNC_PLUGIN_PAGE_OWNER_TREE_GET_PRIVATE (page);
|
||||||
|
parent = GTK_WINDOW (gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (page)));
|
||||||
|
|
||||||
switch (priv->owner_type)
|
switch (priv->owner_type)
|
||||||
{
|
{
|
||||||
@ -1005,7 +1009,7 @@ gnc_plugin_page_owner_tree_cmd_new_owner (GtkAction *action, GncPluginPageOwnerT
|
|||||||
break;
|
break;
|
||||||
case GNC_OWNER_CUSTOMER :
|
case GNC_OWNER_CUSTOMER :
|
||||||
{
|
{
|
||||||
gnc_ui_customer_new (gnc_get_current_book ());
|
gnc_ui_customer_new (parent, gnc_get_current_book ());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GNC_OWNER_JOB :
|
case GNC_OWNER_JOB :
|
||||||
@ -1016,12 +1020,12 @@ gnc_plugin_page_owner_tree_cmd_new_owner (GtkAction *action, GncPluginPageOwnerT
|
|||||||
}
|
}
|
||||||
case GNC_OWNER_VENDOR :
|
case GNC_OWNER_VENDOR :
|
||||||
{
|
{
|
||||||
gnc_ui_vendor_new (gnc_get_current_book ());
|
gnc_ui_vendor_new (parent, gnc_get_current_book ());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GNC_OWNER_EMPLOYEE :
|
case GNC_OWNER_EMPLOYEE :
|
||||||
{
|
{
|
||||||
gnc_ui_employee_new (gnc_get_current_book ());
|
gnc_ui_employee_new (parent, gnc_get_current_book ());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1030,12 +1034,14 @@ gnc_plugin_page_owner_tree_cmd_new_owner (GtkAction *action, GncPluginPageOwnerT
|
|||||||
static void
|
static void
|
||||||
gnc_plugin_page_owner_tree_cmd_edit_owner (GtkAction *action, GncPluginPageOwnerTree *page)
|
gnc_plugin_page_owner_tree_cmd_edit_owner (GtkAction *action, GncPluginPageOwnerTree *page)
|
||||||
{
|
{
|
||||||
|
GtkWindow *parent;
|
||||||
GncOwner *owner = gnc_plugin_page_owner_tree_get_current_owner (page);
|
GncOwner *owner = gnc_plugin_page_owner_tree_get_current_owner (page);
|
||||||
if (NULL == owner) return;
|
if (NULL == owner) return;
|
||||||
|
|
||||||
ENTER("action %p, page %p", action, page);
|
ENTER("action %p, page %p", action, page);
|
||||||
|
|
||||||
gnc_ui_owner_edit (owner);
|
parent = GTK_WINDOW (gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (page)));
|
||||||
|
gnc_ui_owner_edit (parent, owner);
|
||||||
|
|
||||||
LEAVE(" ");
|
LEAVE(" ");
|
||||||
}
|
}
|
||||||
@ -1132,6 +1138,7 @@ gnc_plugin_page_owner_tree_cmd_new_invoice (GtkAction *action,
|
|||||||
{
|
{
|
||||||
GncPluginPageOwnerTreePrivate *priv;
|
GncPluginPageOwnerTreePrivate *priv;
|
||||||
GncOwner current_owner;
|
GncOwner current_owner;
|
||||||
|
GtkWindow *parent;
|
||||||
|
|
||||||
ENTER("action %p, page %p", action, page);
|
ENTER("action %p, page %p", action, page);
|
||||||
|
|
||||||
@ -1168,8 +1175,9 @@ gnc_plugin_page_owner_tree_cmd_new_invoice (GtkAction *action,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
parent = GTK_WINDOW (gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (page)));
|
||||||
if (gncOwnerGetType(¤t_owner) != GNC_OWNER_UNDEFINED)
|
if (gncOwnerGetType(¤t_owner) != GNC_OWNER_UNDEFINED)
|
||||||
gnc_ui_invoice_new (¤t_owner, gnc_get_current_book());
|
gnc_ui_invoice_new (parent, ¤t_owner, gnc_get_current_book ());
|
||||||
|
|
||||||
LEAVE(" ");
|
LEAVE(" ");
|
||||||
}
|
}
|
||||||
|
@ -694,7 +694,8 @@ gnc_plugin_page_register_new (Account *account, gboolean subaccounts)
|
|||||||
|
|
||||||
if (guid_equal (xaccAccountGetGUID (account), xaccAccountGetGUID (new_account)))
|
if (guid_equal (xaccAccountGetGUID (account), xaccAccountGetGUID (new_account)))
|
||||||
{
|
{
|
||||||
gnc_error_dialog (NULL, "%s",
|
GtkWindow *window = GTK_WINDOW (gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (new_register_page)));
|
||||||
|
gnc_error_dialog (window, "%s",
|
||||||
_("You have tried to open an account in the old register while it is open in the new register."));
|
_("You have tried to open an account in the old register while it is open in the new register."));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -1570,7 +1571,7 @@ gnc_plugin_page_register_finish_pending (GncPluginPage *page)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
name = gnc_plugin_page_register_get_tab_name(page);
|
name = gnc_plugin_page_register_get_tab_name(page);
|
||||||
window = gnc_plugin_page_get_window(page);
|
window = gnc_plugin_page_get_window (page);
|
||||||
dialog = gtk_message_dialog_new(GTK_WINDOW(window),
|
dialog = gtk_message_dialog_new(GTK_WINDOW(window),
|
||||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||||
GTK_MESSAGE_WARNING,
|
GTK_MESSAGE_WARNING,
|
||||||
@ -2802,7 +2803,7 @@ gnc_plugin_page_register_cmd_print_check (GtkAction *action,
|
|||||||
priv = GNC_PLUGIN_PAGE_REGISTER_GET_PRIVATE(plugin_page);
|
priv = GNC_PLUGIN_PAGE_REGISTER_GET_PRIVATE(plugin_page);
|
||||||
reg = gnc_ledger_display_get_split_register (priv->ledger);
|
reg = gnc_ledger_display_get_split_register (priv->ledger);
|
||||||
ledger_type = gnc_ledger_display_type(priv->ledger);
|
ledger_type = gnc_ledger_display_type(priv->ledger);
|
||||||
window = gnc_plugin_page_get_window(GNC_PLUGIN_PAGE(plugin_page));
|
window = gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (plugin_page));
|
||||||
if (ledger_type == LD_SINGLE || ledger_type == LD_SUBACCOUNT)
|
if (ledger_type == LD_SINGLE || ledger_type == LD_SUBACCOUNT)
|
||||||
{
|
{
|
||||||
account = gnc_plugin_page_register_get_account (plugin_page);
|
account = gnc_plugin_page_register_get_account (plugin_page);
|
||||||
@ -2879,7 +2880,7 @@ gnc_plugin_page_register_cmd_print_check (GtkAction *action,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gnc_error_dialog(window, "%s",
|
gnc_error_dialog(GTK_WINDOW (window), "%s",
|
||||||
_("You can only print checks from a bank account register or search results."));
|
_("You can only print checks from a bank account register or search results."));
|
||||||
LEAVE("Unsupported ledger type");
|
LEAVE("Unsupported ledger type");
|
||||||
return;
|
return;
|
||||||
@ -2957,8 +2958,7 @@ gnc_plugin_page_register_cmd_find_account (GtkAction *action,
|
|||||||
|
|
||||||
g_return_if_fail(GNC_IS_PLUGIN_PAGE_REGISTER(page));
|
g_return_if_fail(GNC_IS_PLUGIN_PAGE_REGISTER(page));
|
||||||
|
|
||||||
window = gnc_plugin_page_get_window (GNC_PLUGIN_PAGE(page));
|
window = gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (page));
|
||||||
|
|
||||||
gnc_find_account_dialog (window, NULL);
|
gnc_find_account_dialog (window, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3041,11 +3041,13 @@ gnc_plugin_page_register_cmd_void_transaction (GtkAction *action,
|
|||||||
GtkBuilder *builder;
|
GtkBuilder *builder;
|
||||||
const char *reason;
|
const char *reason;
|
||||||
gint result;
|
gint result;
|
||||||
|
GtkWindow *window;
|
||||||
|
|
||||||
ENTER("(action %p, page %p)", action, page);
|
ENTER("(action %p, page %p)", action, page);
|
||||||
|
|
||||||
g_return_if_fail(GNC_IS_PLUGIN_PAGE_REGISTER(page));
|
g_return_if_fail(GNC_IS_PLUGIN_PAGE_REGISTER(page));
|
||||||
|
|
||||||
|
window = GTK_WINDOW (gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (page)));
|
||||||
priv = GNC_PLUGIN_PAGE_REGISTER_GET_PRIVATE(page);
|
priv = GNC_PLUGIN_PAGE_REGISTER_GET_PRIVATE(page);
|
||||||
reg = gnc_ledger_display_get_split_register(priv->ledger);
|
reg = gnc_ledger_display_get_split_register(priv->ledger);
|
||||||
trans = gnc_split_register_get_current_trans(reg);
|
trans = gnc_split_register_get_current_trans(reg);
|
||||||
@ -3055,13 +3057,13 @@ gnc_plugin_page_register_cmd_void_transaction (GtkAction *action,
|
|||||||
return;
|
return;
|
||||||
if (xaccTransHasReconciledSplits(trans) || xaccTransHasSplitsInState(trans, CREC))
|
if (xaccTransHasReconciledSplits(trans) || xaccTransHasSplitsInState(trans, CREC))
|
||||||
{
|
{
|
||||||
gnc_error_dialog(NULL, "%s", _("You cannot void a transaction with reconciled or cleared splits."));
|
gnc_error_dialog (window, "%s", _("You cannot void a transaction with reconciled or cleared splits."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
reason = xaccTransGetReadOnly (trans);
|
reason = xaccTransGetReadOnly (trans);
|
||||||
if (reason)
|
if (reason)
|
||||||
{
|
{
|
||||||
gnc_error_dialog(NULL, _("This transaction is marked read-only with the comment: '%s'"), reason);
|
gnc_error_dialog(window, _("This transaction is marked read-only with the comment: '%s'"), reason);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3131,7 +3133,7 @@ gnc_plugin_page_register_cmd_reverse_transaction (GtkAction *action,
|
|||||||
|
|
||||||
if (xaccTransGetReversedBy(trans))
|
if (xaccTransGetReversedBy(trans))
|
||||||
{
|
{
|
||||||
gnc_error_dialog(gnc_plugin_page_get_window(GNC_PLUGIN_PAGE(page)), "%s",
|
gnc_error_dialog(GTK_WINDOW (gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (page))), "%s",
|
||||||
_("A reversing entry has already been created for this transaction."));
|
_("A reversing entry has already been created for this transaction."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -4155,7 +4157,7 @@ gnc_plugin_page_register_event_handler (QofInstance *entity,
|
|||||||
ENTER("entity %p of type %d, page %p, event data %p",
|
ENTER("entity %p of type %d, page %p, event data %p",
|
||||||
entity, event_type, page, ed);
|
entity, event_type, page, ed);
|
||||||
|
|
||||||
window = gnc_plugin_page_get_window(GNC_PLUGIN_PAGE(page));
|
window = gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (page));
|
||||||
|
|
||||||
if (GNC_IS_ACCOUNT(entity))
|
if (GNC_IS_ACCOUNT(entity))
|
||||||
{
|
{
|
||||||
|
@ -678,7 +678,8 @@ gnc_plugin_page_register2_new (Account *account, gboolean subaccounts)
|
|||||||
|
|
||||||
if (guid_equal (xaccAccountGetGUID (account), xaccAccountGetGUID (old_account)))
|
if (guid_equal (xaccAccountGetGUID (account), xaccAccountGetGUID (old_account)))
|
||||||
{
|
{
|
||||||
gnc_error_dialog (NULL, "%s",
|
GtkWindow *window = GTK_WINDOW (gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (old_register_page)));
|
||||||
|
gnc_error_dialog (window, "%s",
|
||||||
_("You have tried to open an account in the new register while it is open in the old register."));
|
_("You have tried to open an account in the new register while it is open in the old register."));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -2624,7 +2625,7 @@ gnc_plugin_page_register2_cmd_print_check (GtkAction *action,
|
|||||||
gnc_ui_print_check_dialog_create (window, splits);
|
gnc_ui_print_check_dialog_create (window, splits);
|
||||||
g_list_free(splits);
|
g_list_free(splits);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (ledger_type == LD2_GL && model->type == SEARCH_LEDGER2)
|
else if (ledger_type == LD2_GL && model->type == SEARCH_LEDGER2)
|
||||||
@ -2675,7 +2676,7 @@ gnc_plugin_page_register2_cmd_print_check (GtkAction *action,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gnc_error_dialog (window, "%s",
|
gnc_error_dialog (GTK_WINDOW (window), "%s",
|
||||||
_("You can only print checks from a bank account register or search results."));
|
_("You can only print checks from a bank account register or search results."));
|
||||||
LEAVE("Unsupported ledger type");
|
LEAVE("Unsupported ledger type");
|
||||||
return;
|
return;
|
||||||
@ -2769,7 +2770,7 @@ gnc_plugin_page_register2_cmd_find_account (GtkAction *action,
|
|||||||
|
|
||||||
g_return_if_fail(GNC_IS_PLUGIN_PAGE_REGISTER2(page));
|
g_return_if_fail(GNC_IS_PLUGIN_PAGE_REGISTER2(page));
|
||||||
|
|
||||||
window = gnc_plugin_page_get_window (GNC_PLUGIN_PAGE(page));
|
window = gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (page));
|
||||||
|
|
||||||
gnc_find_account_dialog (window, NULL);
|
gnc_find_account_dialog (window, NULL);
|
||||||
}
|
}
|
||||||
@ -2869,6 +2870,7 @@ gnc_plugin_page_register2_cmd_void_transaction (GtkAction *action,
|
|||||||
}
|
}
|
||||||
if (xaccTransHasReconciledSplits (trans) || xaccTransHasSplitsInState (trans, CREC))
|
if (xaccTransHasReconciledSplits (trans) || xaccTransHasSplitsInState (trans, CREC))
|
||||||
{
|
{
|
||||||
|
GtkWindow *window = GTK_WINDOW (gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (page)));
|
||||||
gnc_error_dialog (NULL, "%s", _("You cannot void a transaction with reconciled or cleared splits."));
|
gnc_error_dialog (NULL, "%s", _("You cannot void a transaction with reconciled or cleared splits."));
|
||||||
LEAVE("trans with reconciled splits");
|
LEAVE("trans with reconciled splits");
|
||||||
return;
|
return;
|
||||||
@ -4032,7 +4034,7 @@ gnc_plugin_page_register2_event_handler (QofInstance *entity,
|
|||||||
ENTER("entity %p of type %d, page %p, event data %p",
|
ENTER("entity %p of type %d, page %p, event data %p",
|
||||||
entity, event_type, page, ed);
|
entity, event_type, page, ed);
|
||||||
|
|
||||||
window = gnc_plugin_page_get_window(GNC_PLUGIN_PAGE(page));
|
window = gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (page));
|
||||||
|
|
||||||
if (GNC_IS_ACCOUNT(entity))
|
if (GNC_IS_ACCOUNT(entity))
|
||||||
{
|
{
|
||||||
|
@ -747,6 +747,7 @@ gnc_plugin_page_sx_list_cmd_delete(GtkAction *action, GncPluginPageSxList *page)
|
|||||||
GtkTreeSelection *selection;
|
GtkTreeSelection *selection;
|
||||||
GList *selected_paths, *to_delete = NULL;
|
GList *selected_paths, *to_delete = NULL;
|
||||||
GtkTreeModel *model;
|
GtkTreeModel *model;
|
||||||
|
GtkWindow *window;
|
||||||
|
|
||||||
selection = gtk_tree_view_get_selection(priv->tree_view);
|
selection = gtk_tree_view_get_selection(priv->tree_view);
|
||||||
selected_paths = gtk_tree_selection_get_selected_rows(selection, &model);
|
selected_paths = gtk_tree_selection_get_selected_rows(selection, &model);
|
||||||
@ -767,11 +768,12 @@ gnc_plugin_page_sx_list_cmd_delete(GtkAction *action, GncPluginPageSxList *page)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
window = GTK_WINDOW (gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (page)));
|
||||||
/* FIXME: Does this always refer to only one transaction? Or could
|
/* FIXME: Does this always refer to only one transaction? Or could
|
||||||
multiple SXs be deleted as well? Ideally, the number of
|
multiple SXs be deleted as well? Ideally, the number of
|
||||||
to-be-deleted SXs should be mentioned here; see
|
to-be-deleted SXs should be mentioned here; see
|
||||||
dialog-sx-since-last-run.c:807 */
|
dialog-sx-since-last-run.c:807 */
|
||||||
if (gnc_verify_dialog(NULL, FALSE, "%s", _("Do you really want to delete this scheduled transaction?")))
|
if (gnc_verify_dialog (window, FALSE, "%s", _("Do you really want to delete this scheduled transaction?")))
|
||||||
{
|
{
|
||||||
g_list_foreach(to_delete, (GFunc)_destroy_sx, NULL);
|
g_list_foreach(to_delete, (GFunc)_destroy_sx, NULL);
|
||||||
}
|
}
|
||||||
|
@ -762,8 +762,8 @@ gsr_default_reverse_txn_handler (GNCSplitReg *gsr, gpointer data)
|
|||||||
|
|
||||||
if (xaccTransGetReversedBy(trans))
|
if (xaccTransGetReversedBy(trans))
|
||||||
{
|
{
|
||||||
gnc_error_dialog(gsr->window, "%s",
|
gnc_error_dialog (GTK_WINDOW (gsr->window), "%s",
|
||||||
_("A reversing entry has already been created for this transaction."));
|
_("A reversing entry has already been created for this transaction."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1114,7 +1114,7 @@ gsr_default_execassociated_handler (GNCSplitReg *gsr, gpointer data)
|
|||||||
uri = xaccTransGetAssociation (trans);
|
uri = xaccTransGetAssociation (trans);
|
||||||
|
|
||||||
if (g_strcmp0 (uri, "") == 0 && g_strcmp0 (uri, NULL) == 0)
|
if (g_strcmp0 (uri, "") == 0 && g_strcmp0 (uri, NULL) == 0)
|
||||||
gnc_error_dialog (NULL, "%s", _("This transaction is not associated with a URI."));
|
gnc_error_dialog (GTK_WINDOW (gsr->window), "%s", _("This transaction is not associated with a URI."));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (g_str_has_prefix (uri,"file:/") && !g_str_has_prefix (uri,"file://")) // Check for relative path
|
if (g_str_has_prefix (uri,"file:/") && !g_str_has_prefix (uri,"file://")) // Check for relative path
|
||||||
@ -1140,7 +1140,7 @@ gsr_default_execassociated_handler (GNCSplitReg *gsr, gpointer data)
|
|||||||
g_free (uri_scheme);
|
g_free (uri_scheme);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
gnc_error_dialog (NULL, "%s", _("This transaction is not associated with a valid URI."));
|
gnc_error_dialog (GTK_WINDOW (gsr->window), "%s", _("This transaction is not associated with a valid URI."));
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@
|
|||||||
</columns>
|
</columns>
|
||||||
</object>
|
</object>
|
||||||
<object class="GtkDialog" id="customer_dialog">
|
<object class="GtkDialog" id="customer_dialog">
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="title" translatable="yes">New Customer</property>
|
<property name="title" translatable="yes">New Customer</property>
|
||||||
<property name="type_hint">dialog</property>
|
<property name="type_hint">dialog</property>
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
<interface>
|
<interface>
|
||||||
<requires lib="gtk+" version="3.10"/>
|
<requires lib="gtk+" version="3.10"/>
|
||||||
<object class="GtkDialog" id="employee_dialog">
|
<object class="GtkDialog" id="employee_dialog">
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="title" translatable="yes">New Employee</property>
|
<property name="title" translatable="yes">New Employee</property>
|
||||||
<property name="type_hint">dialog</property>
|
<property name="type_hint">dialog</property>
|
||||||
|
@ -677,7 +677,6 @@
|
|||||||
</columns>
|
</columns>
|
||||||
</object>
|
</object>
|
||||||
<object class="GtkDialog" id="new_invoice_dialog">
|
<object class="GtkDialog" id="new_invoice_dialog">
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="title" translatable="yes">New Invoice</property>
|
<property name="title" translatable="yes">New Invoice</property>
|
||||||
<property name="type_hint">dialog</property>
|
<property name="type_hint">dialog</property>
|
||||||
@ -1282,7 +1281,6 @@
|
|||||||
</action-widgets>
|
</action-widgets>
|
||||||
</object>
|
</object>
|
||||||
<object class="GtkDialog" id="unpost_message_dialog">
|
<object class="GtkDialog" id="unpost_message_dialog">
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="resizable">False</property>
|
<property name="resizable">False</property>
|
||||||
<property name="modal">True</property>
|
<property name="modal">True</property>
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
<interface>
|
<interface>
|
||||||
<requires lib="gtk+" version="3.10"/>
|
<requires lib="gtk+" version="3.10"/>
|
||||||
<object class="GtkDialog" id="job_dialog">
|
<object class="GtkDialog" id="job_dialog">
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="title" translatable="yes">Job Dialog</property>
|
<property name="title" translatable="yes">Job Dialog</property>
|
||||||
<property name="resizable">False</property>
|
<property name="resizable">False</property>
|
||||||
@ -232,11 +231,11 @@
|
|||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkLabel" id="labelrate">
|
<object class="GtkLabel" id="label4">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="halign">end</property>
|
<property name="halign">end</property>
|
||||||
<property name="label" translatable="yes">Rate</property>
|
<property name="label" translatable="yes">Billing ID</property>
|
||||||
<property name="justify">right</property>
|
<property name="justify">right</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
@ -246,11 +245,11 @@
|
|||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkLabel" id="label4">
|
<object class="GtkLabel" id="labelrate">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="halign">end</property>
|
<property name="halign">end</property>
|
||||||
<property name="label" translatable="yes">Billing ID</property>
|
<property name="label" translatable="yes">Rate</property>
|
||||||
<property name="justify">right</property>
|
<property name="justify">right</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
@ -287,20 +286,6 @@
|
|||||||
<property name="position">0</property>
|
<property name="position">0</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
|
||||||
<object class="GtkBox" id="rate_entry">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<child>
|
|
||||||
<placeholder/>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">1</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkEntry" id="desc_entry">
|
<object class="GtkEntry" id="desc_entry">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
@ -315,6 +300,20 @@
|
|||||||
<property name="position">1</property>
|
<property name="position">1</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="rate_entry">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">True</property>
|
<property name="expand">True</property>
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
<requires lib="gtk+" version="3.10"/>
|
<requires lib="gtk+" version="3.10"/>
|
||||||
<object class="GtkTextBuffer" id="notes_buffer"/>
|
<object class="GtkTextBuffer" id="notes_buffer"/>
|
||||||
<object class="GtkDialog" id="order_entry_dialog">
|
<object class="GtkDialog" id="order_entry_dialog">
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="title" translatable="yes">Order Entry</property>
|
<property name="title" translatable="yes">Order Entry</property>
|
||||||
<property name="default_width">950</property>
|
<property name="default_width">950</property>
|
||||||
@ -526,7 +525,6 @@
|
|||||||
</object>
|
</object>
|
||||||
<object class="GtkTextBuffer" id="text_buffer"/>
|
<object class="GtkTextBuffer" id="text_buffer"/>
|
||||||
<object class="GtkDialog" id="new_order_dialog">
|
<object class="GtkDialog" id="new_order_dialog">
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="title" translatable="yes">New Order</property>
|
<property name="title" translatable="yes">New Order</property>
|
||||||
<property name="type_hint">dialog</property>
|
<property name="type_hint">dialog</property>
|
||||||
|
@ -57,7 +57,6 @@
|
|||||||
</columns>
|
</columns>
|
||||||
</object>
|
</object>
|
||||||
<object class="GtkDialog" id="payment_dialog">
|
<object class="GtkDialog" id="payment_dialog">
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="title" translatable="yes">Process Payment</property>
|
<property name="title" translatable="yes">Process Payment</property>
|
||||||
<property name="default_height">560</property>
|
<property name="default_height">560</property>
|
||||||
|
@ -1456,7 +1456,6 @@
|
|||||||
</action-widgets>
|
</action-widgets>
|
||||||
</object>
|
</object>
|
||||||
<object class="GtkDialog" id="since_last_run_dialog">
|
<object class="GtkDialog" id="since_last_run_dialog">
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="title" translatable="yes">Since Last Run...</property>
|
<property name="title" translatable="yes">Since Last Run...</property>
|
||||||
<property name="window_position">center-on-parent</property>
|
<property name="window_position">center-on-parent</property>
|
||||||
|
@ -27,7 +27,6 @@
|
|||||||
</columns>
|
</columns>
|
||||||
</object>
|
</object>
|
||||||
<object class="GtkDialog" id="vendor_dialog">
|
<object class="GtkDialog" id="vendor_dialog">
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="title" translatable="yes">New Vendor</property>
|
<property name="title" translatable="yes">New Vendor</property>
|
||||||
<property name="type_hint">dialog</property>
|
<property name="type_hint">dialog</property>
|
||||||
|
@ -183,7 +183,7 @@ gnc_html_register_url_cb (const char *location, const char *label,
|
|||||||
}
|
}
|
||||||
|
|
||||||
page = gnc_plugin_page_register_new (account, FALSE);
|
page = gnc_plugin_page_register_new (account, FALSE);
|
||||||
gnc_main_window_open_page (NULL, page);
|
gnc_main_window_open_page (GNC_MAIN_WINDOW (result->parent), page);
|
||||||
if (split)
|
if (split)
|
||||||
{
|
{
|
||||||
gsr = gnc_plugin_page_register_get_gsr(page);
|
gsr = gnc_plugin_page_register_get_gsr(page);
|
||||||
@ -213,7 +213,7 @@ gnc_html_price_url_cb (const char *location, const char *label,
|
|||||||
if (!validate_type("price-guid=", location, GNC_ID_PRICE, result, &guid, &entity))
|
if (!validate_type("price-guid=", location, GNC_ID_PRICE, result, &guid, &entity))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if (!gnc_price_edit_by_guid (NULL, &guid))
|
if (!gnc_price_edit_by_guid (GTK_WIDGET (result->parent), &guid))
|
||||||
{
|
{
|
||||||
result->error_message = g_strdup_printf (_("No such price: %s"),
|
result->error_message = g_strdup_printf (_("No such price: %s"),
|
||||||
location);
|
location);
|
||||||
@ -295,6 +295,8 @@ cleanup:
|
|||||||
g_error_free(error);
|
g_error_free(error);
|
||||||
if (file_guid)
|
if (file_guid)
|
||||||
g_free(file_guid);
|
g_free(file_guid);
|
||||||
|
|
||||||
|
gnc_totd_dialog_reparent ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -377,8 +379,6 @@ gnc_main_gui_init (void)
|
|||||||
gnc_html_register_url_handler (URL_TYPE_PRICE,
|
gnc_html_register_url_handler (URL_TYPE_PRICE,
|
||||||
gnc_html_price_url_cb);
|
gnc_html_price_url_cb);
|
||||||
|
|
||||||
gnc_ui_sx_initialize();
|
|
||||||
|
|
||||||
/* Register the Owner search type */
|
/* Register the Owner search type */
|
||||||
gnc_search_core_register_type (GNC_OWNER_MODULE_NAME,
|
gnc_search_core_register_type (GNC_OWNER_MODULE_NAME,
|
||||||
(GNCSearchCoreNew) gnc_search_owner_new);
|
(GNCSearchCoreNew) gnc_search_owner_new);
|
||||||
@ -421,6 +421,8 @@ gnc_main_gui_init (void)
|
|||||||
gnc_hook_add_dangler(HOOK_BOOK_OPENED,
|
gnc_hook_add_dangler(HOOK_BOOK_OPENED,
|
||||||
(GFunc)gnc_invoice_remind_invoices_due_cb, NULL);
|
(GFunc)gnc_invoice_remind_invoices_due_cb, NULL);
|
||||||
|
|
||||||
|
gnc_ui_sx_initialize();
|
||||||
|
|
||||||
/* Add to preferences under Business */
|
/* Add to preferences under Business */
|
||||||
/* The parameters are; glade file, items to add from glade file - last being the dialog, preference tab name */
|
/* The parameters are; glade file, items to add from glade file - last being the dialog, preference tab name */
|
||||||
gnc_preferences_add_page("business-prefs.glade", "liststore_printinvoice,days_in_adj,cust_days_in_adj,business_prefs",
|
gnc_preferences_add_page("business-prefs.glade", "liststore_printinvoice,days_in_adj,cust_days_in_adj,business_prefs",
|
||||||
|
@ -1314,7 +1314,7 @@ gnc_ui_reconcile_window_delete_cb(GtkButton *button, gpointer data)
|
|||||||
"transaction?");
|
"transaction?");
|
||||||
gboolean result;
|
gboolean result;
|
||||||
|
|
||||||
result = gnc_verify_dialog(recnData->window, FALSE, "%s", message);
|
result = gnc_verify_dialog (GTK_WINDOW (recnData->window), FALSE, "%s", message);
|
||||||
|
|
||||||
if (!result)
|
if (!result)
|
||||||
return;
|
return;
|
||||||
@ -1990,7 +1990,7 @@ recn_cancel(RecnWindow *recnData)
|
|||||||
{
|
{
|
||||||
const char *message = _("You have made changes to this reconcile "
|
const char *message = _("You have made changes to this reconcile "
|
||||||
"window. Are you sure you want to cancel?");
|
"window. Are you sure you want to cancel?");
|
||||||
if (!gnc_verify_dialog(recnData->window, FALSE, "%s", message))
|
if (!gnc_verify_dialog (GTK_WINDOW (recnData->window), FALSE, "%s", message))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2108,7 +2108,7 @@ recnFinishCB (GtkAction *action, RecnWindow *recnData)
|
|||||||
{
|
{
|
||||||
const char *message = _("The account is not balanced. "
|
const char *message = _("The account is not balanced. "
|
||||||
"Are you sure you want to finish?");
|
"Are you sure you want to finish?");
|
||||||
if (!gnc_verify_dialog (recnData->window, FALSE, "%s", message))
|
if (!gnc_verify_dialog (GTK_WINDOW (recnData->window), FALSE, "%s", message))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2165,7 +2165,7 @@ recnPostponeCB (GtkAction *action, gpointer data)
|
|||||||
{
|
{
|
||||||
const char *message = _("Do you want to postpone this reconciliation "
|
const char *message = _("Do you want to postpone this reconciliation "
|
||||||
"and finish it later?");
|
"and finish it later?");
|
||||||
if (!gnc_verify_dialog (recnData->window, FALSE, "%s", message))
|
if (!gnc_verify_dialog (GTK_WINDOW (recnData->window), FALSE, "%s", message))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1278,7 +1278,7 @@ gnc_ui_reconcile_window_delete_cb (GtkButton *button, gpointer data)
|
|||||||
"transaction?");
|
"transaction?");
|
||||||
gboolean result;
|
gboolean result;
|
||||||
|
|
||||||
result = gnc_verify_dialog (recnData->window, FALSE, "%s", message);
|
result = gnc_verify_dialog (GTK_WINDOW (recnData->window), FALSE, "%s", message);
|
||||||
|
|
||||||
if (!result)
|
if (!result)
|
||||||
return;
|
return;
|
||||||
@ -1951,7 +1951,7 @@ recn_cancel (RecnWindow2 *recnData)
|
|||||||
{
|
{
|
||||||
const char *message = _("You have made changes to this reconcile "
|
const char *message = _("You have made changes to this reconcile "
|
||||||
"window. Are you sure you want to cancel?");
|
"window. Are you sure you want to cancel?");
|
||||||
if (!gnc_verify_dialog(recnData->window, FALSE, "%s", message))
|
if (!gnc_verify_dialog (GTK_WINDOW (recnData->window), FALSE, "%s", message))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2069,7 +2069,7 @@ recnFinishCB (GtkAction *action, RecnWindow2 *recnData)
|
|||||||
{
|
{
|
||||||
const char *message = _("The account is not balanced. "
|
const char *message = _("The account is not balanced. "
|
||||||
"Are you sure you want to finish?");
|
"Are you sure you want to finish?");
|
||||||
if (!gnc_verify_dialog (recnData->window, FALSE, "%s", message))
|
if (!gnc_verify_dialog (GTK_WINDOW (recnData->window), FALSE, "%s", message))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2126,7 +2126,7 @@ recnPostponeCB (GtkAction *action, gpointer data)
|
|||||||
{
|
{
|
||||||
const char *message = _("Do you want to postpone this reconciliation "
|
const char *message = _("Do you want to postpone this reconciliation "
|
||||||
"and finish it later?");
|
"and finish it later?");
|
||||||
if (!gnc_verify_dialog (recnData->window, FALSE, "%s", message))
|
if (!gnc_verify_dialog (GTK_WINDOW (recnData->window), FALSE, "%s", message))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -646,7 +646,7 @@ inner_main (void *closure, int argc, char **argv)
|
|||||||
if (!nofile && (fn = get_file_to_load()))
|
if (!nofile && (fn = get_file_to_load()))
|
||||||
{
|
{
|
||||||
gnc_update_splash_screen(_("Loading data..."), GNC_SPLASH_PERCENTAGE_UNKNOWN);
|
gnc_update_splash_screen(_("Loading data..."), GNC_SPLASH_PERCENTAGE_UNKNOWN);
|
||||||
gnc_file_open_file(fn, /*open_readonly*/ FALSE);
|
gnc_file_open_file(gnc_get_splash_screen(), fn, /*open_readonly*/ FALSE);
|
||||||
g_free(fn);
|
g_free(fn);
|
||||||
}
|
}
|
||||||
else if (gnc_prefs_get_bool(GNC_PREFS_GROUP_NEW_USER, GNC_PREF_FIRST_STARTUP))
|
else if (gnc_prefs_get_bool(GNC_PREFS_GROUP_NEW_USER, GNC_PREF_FIRST_STARTUP))
|
||||||
|
@ -543,7 +543,7 @@ load_to_stream( GncHtmlWebkit* self, URLType type,
|
|||||||
{
|
{
|
||||||
if ( !https_allowed() )
|
if ( !https_allowed() )
|
||||||
{
|
{
|
||||||
gnc_error_dialog( priv->base.parent, "%s",
|
gnc_error_dialog (GTK_WINDOW (priv->base.parent), "%s",
|
||||||
_("Secure HTTP access is disabled. "
|
_("Secure HTTP access is disabled. "
|
||||||
"You can enable it in the Network section of "
|
"You can enable it in the Network section of "
|
||||||
"the Preferences dialog."));
|
"the Preferences dialog."));
|
||||||
@ -553,7 +553,7 @@ load_to_stream( GncHtmlWebkit* self, URLType type,
|
|||||||
|
|
||||||
if ( !http_allowed() )
|
if ( !http_allowed() )
|
||||||
{
|
{
|
||||||
gnc_error_dialog( priv->base.parent, "%s",
|
gnc_error_dialog (GTK_WINDOW (priv->base.parent), "%s",
|
||||||
_("Network HTTP access is disabled. "
|
_("Network HTTP access is disabled. "
|
||||||
"You can enable it in the Network section of "
|
"You can enable it in the Network section of "
|
||||||
"the Preferences dialog."));
|
"the Preferences dialog."));
|
||||||
@ -881,18 +881,19 @@ impl_webkit_show_url( GncHtml* self, URLType type,
|
|||||||
result.base_type = URL_TYPE_FILE;
|
result.base_type = URL_TYPE_FILE;
|
||||||
result.base_location = NULL;
|
result.base_location = NULL;
|
||||||
result.error_message = NULL;
|
result.error_message = NULL;
|
||||||
|
result.parent = GTK_WINDOW (priv->base.parent);
|
||||||
|
|
||||||
ok = url_handler( location, label, new_window, &result );
|
ok = url_handler( location, label, new_window, &result );
|
||||||
if ( !ok )
|
if ( !ok )
|
||||||
{
|
{
|
||||||
if ( result.error_message )
|
if ( result.error_message )
|
||||||
{
|
{
|
||||||
gnc_error_dialog( priv->base.parent, "%s", result.error_message );
|
gnc_error_dialog (GTK_WINDOW (priv->base.parent), "%s", result.error_message );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* %s is a URL (some location somewhere). */
|
/* %s is a URL (some location somewhere). */
|
||||||
gnc_error_dialog( priv->base.parent, _("There was an error accessing %s."), location );
|
gnc_error_dialog (GTK_WINDOW (priv->base.parent), _("There was an error accessing %s."), location );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( priv->base.load_cb )
|
if ( priv->base.load_cb )
|
||||||
@ -958,7 +959,7 @@ impl_webkit_show_url( GncHtml* self, URLType type,
|
|||||||
{
|
{
|
||||||
if ( !https_allowed() )
|
if ( !https_allowed() )
|
||||||
{
|
{
|
||||||
gnc_error_dialog( priv->base.parent, "%s",
|
gnc_error_dialog (GTK_WINDOW (priv->base.parent), "%s",
|
||||||
_("Secure HTTP access is disabled. "
|
_("Secure HTTP access is disabled. "
|
||||||
"You can enable it in the Network section of "
|
"You can enable it in the Network section of "
|
||||||
"the Preferences dialog.") );
|
"the Preferences dialog.") );
|
||||||
@ -970,7 +971,7 @@ impl_webkit_show_url( GncHtml* self, URLType type,
|
|||||||
{
|
{
|
||||||
if ( !http_allowed() )
|
if ( !http_allowed() )
|
||||||
{
|
{
|
||||||
gnc_error_dialog( priv->base.parent, "%s",
|
gnc_error_dialog (GTK_WINDOW (priv->base.parent), "%s",
|
||||||
_("Network HTTP access is disabled. "
|
_("Network HTTP access is disabled. "
|
||||||
"You can enable it in the Network section of "
|
"You can enable it in the Network section of "
|
||||||
"the Preferences dialog.") );
|
"the Preferences dialog.") );
|
||||||
|
@ -561,7 +561,7 @@ load_to_stream( GncHtmlWebkit* self, URLType type,
|
|||||||
{
|
{
|
||||||
if ( !https_allowed() )
|
if ( !https_allowed() )
|
||||||
{
|
{
|
||||||
gnc_error_dialog( priv->base.parent, "%s",
|
gnc_error_dialog (GTK_WINDOW (priv->base.parent), "%s",
|
||||||
_("Secure HTTP access is disabled. "
|
_("Secure HTTP access is disabled. "
|
||||||
"You can enable it in the Network section of "
|
"You can enable it in the Network section of "
|
||||||
"the Preferences dialog."));
|
"the Preferences dialog."));
|
||||||
@ -571,7 +571,7 @@ load_to_stream( GncHtmlWebkit* self, URLType type,
|
|||||||
|
|
||||||
if ( !http_allowed() )
|
if ( !http_allowed() )
|
||||||
{
|
{
|
||||||
gnc_error_dialog( priv->base.parent, "%s",
|
gnc_error_dialog (GTK_WINDOW (priv->base.parent), "%s",
|
||||||
_("Network HTTP access is disabled. "
|
_("Network HTTP access is disabled. "
|
||||||
"You can enable it in the Network section of "
|
"You can enable it in the Network section of "
|
||||||
"the Preferences dialog."));
|
"the Preferences dialog."));
|
||||||
@ -853,18 +853,19 @@ impl_webkit_show_url( GncHtml* self, URLType type,
|
|||||||
result.base_type = URL_TYPE_FILE;
|
result.base_type = URL_TYPE_FILE;
|
||||||
result.base_location = NULL;
|
result.base_location = NULL;
|
||||||
result.error_message = NULL;
|
result.error_message = NULL;
|
||||||
|
result.parent = GTK_WINDOW (priv->base.parent);
|
||||||
|
|
||||||
ok = url_handler( location, label, new_window, &result );
|
ok = url_handler( location, label, new_window, &result );
|
||||||
if ( !ok )
|
if ( !ok )
|
||||||
{
|
{
|
||||||
if ( result.error_message )
|
if ( result.error_message )
|
||||||
{
|
{
|
||||||
gnc_error_dialog( priv->base.parent, "%s", result.error_message );
|
gnc_error_dialog (GTK_WINDOW (priv->base.parent), "%s", result.error_message );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* %s is a URL (some location somewhere). */
|
/* %s is a URL (some location somewhere). */
|
||||||
gnc_error_dialog( priv->base.parent, _("There was an error accessing %s."), location );
|
gnc_error_dialog (GTK_WINDOW (priv->base.parent), _("There was an error accessing %s."), location );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( priv->base.load_cb )
|
if ( priv->base.load_cb )
|
||||||
@ -930,7 +931,7 @@ impl_webkit_show_url( GncHtml* self, URLType type,
|
|||||||
{
|
{
|
||||||
if ( !https_allowed() )
|
if ( !https_allowed() )
|
||||||
{
|
{
|
||||||
gnc_error_dialog( priv->base.parent, "%s",
|
gnc_error_dialog (GTK_WINDOW (priv->base.parent), "%s",
|
||||||
_("Secure HTTP access is disabled. "
|
_("Secure HTTP access is disabled. "
|
||||||
"You can enable it in the Network section of "
|
"You can enable it in the Network section of "
|
||||||
"the Preferences dialog.") );
|
"the Preferences dialog.") );
|
||||||
@ -942,7 +943,7 @@ impl_webkit_show_url( GncHtml* self, URLType type,
|
|||||||
{
|
{
|
||||||
if ( !http_allowed() )
|
if ( !http_allowed() )
|
||||||
{
|
{
|
||||||
gnc_error_dialog( priv->base.parent, "%s",
|
gnc_error_dialog (GTK_WINDOW (priv->base.parent), "%s",
|
||||||
_("Network HTTP access is disabled. "
|
_("Network HTTP access is disabled. "
|
||||||
"You can enable it in the Network section of "
|
"You can enable it in the Network section of "
|
||||||
"the Preferences dialog.") );
|
"the Preferences dialog.") );
|
||||||
|
@ -67,6 +67,9 @@ typedef struct
|
|||||||
URLType base_type;
|
URLType base_type;
|
||||||
gchar* base_location;
|
gchar* base_location;
|
||||||
|
|
||||||
|
/* The window that triggered this URL request */
|
||||||
|
GtkWindow *parent;
|
||||||
|
|
||||||
/* The following members are used if the handler fails (returns FALSE). */
|
/* The following members are used if the handler fails (returns FALSE). */
|
||||||
gchar* error_message;
|
gchar* error_message;
|
||||||
} GNCURLResult;
|
} GNCURLResult;
|
||||||
|
@ -373,7 +373,7 @@ aai_wizard_button_clicked_cb(GtkButton *button, gpointer user_data)
|
|||||||
{
|
{
|
||||||
g_warning("on_aqhbci_button: Oops, no aqhbci setup wizard found.");
|
g_warning("on_aqhbci_button: Oops, no aqhbci setup wizard found.");
|
||||||
gnc_error_dialog
|
gnc_error_dialog
|
||||||
(info->window,
|
(GTK_WINDOW (info->window),
|
||||||
_("The external program \"AqBanking Setup Wizard\" has not "
|
_("The external program \"AqBanking Setup Wizard\" has not "
|
||||||
"been found. \n\n"
|
"been found. \n\n"
|
||||||
"The %s package should include the "
|
"The %s package should include the "
|
||||||
@ -530,7 +530,7 @@ child_exit_cb(GPid pid, gint status, gpointer data)
|
|||||||
"value: %d. The called program was \"%s\".\n",
|
"value: %d. The called program was \"%s\".\n",
|
||||||
exit_status, deferred_info->wizard_path);
|
exit_status, deferred_info->wizard_path);
|
||||||
gnc_error_dialog
|
gnc_error_dialog
|
||||||
(info->window, "%s",
|
(GTK_WINDOW (info->window), "%s",
|
||||||
_("The external program \"AqBanking Setup Wizard\" failed "
|
_("The external program \"AqBanking Setup Wizard\" failed "
|
||||||
"to run successfully because the "
|
"to run successfully because the "
|
||||||
"additional software \"Qt\" was not found. "
|
"additional software \"Qt\" was not found. "
|
||||||
@ -551,7 +551,7 @@ child_exit_cb(GPid pid, gint status, gpointer data)
|
|||||||
"value: %d. The called program was \"%s\".\n",
|
"value: %d. The called program was \"%s\".\n",
|
||||||
exit_status, deferred_info->wizard_path);
|
exit_status, deferred_info->wizard_path);
|
||||||
gnc_error_dialog
|
gnc_error_dialog
|
||||||
(info->window, "%s",
|
(GTK_WINDOW (info->window), "%s",
|
||||||
_("The external program \"AqBanking Setup Wizard\" failed "
|
_("The external program \"AqBanking Setup Wizard\" failed "
|
||||||
"to run successfully. Online Banking can only be setup "
|
"to run successfully. Online Banking can only be setup "
|
||||||
"if this wizard has run successfully. "
|
"if this wizard has run successfully. "
|
||||||
|
@ -606,7 +606,7 @@ gnc_ab_trans_dialog_verify_values(GncABTransDialog *td)
|
|||||||
const char* localBankCode = AB_Transaction_GetLocalBankCode(td->ab_trans);
|
const char* localBankCode = AB_Transaction_GetLocalBankCode(td->ab_trans);
|
||||||
const char* localAccountCode = AB_Transaction_GetLocalAccountNumber(td->ab_trans);
|
const char* localAccountCode = AB_Transaction_GetLocalAccountNumber(td->ab_trans);
|
||||||
values_ok = FALSE;
|
values_ok = FALSE;
|
||||||
gnc_error_dialog(td->dialog,
|
gnc_error_dialog(GTK_WINDOW (td->dialog),
|
||||||
_("Your local bank account does not yet have the SEPA account information stored."
|
_("Your local bank account does not yet have the SEPA account information stored."
|
||||||
" We are sorry, but in this development version one additional step is necessary "
|
" We are sorry, but in this development version one additional step is necessary "
|
||||||
"which has not yet been implemented directly in gnucash. "
|
"which has not yet been implemented directly in gnucash. "
|
||||||
@ -1179,7 +1179,7 @@ gnc_ab_trans_dialog_add_templ_cb(GtkButton *button, gpointer user_data)
|
|||||||
find_templ_helper, &data);
|
find_templ_helper, &data);
|
||||||
if (data.pointer)
|
if (data.pointer)
|
||||||
{
|
{
|
||||||
gnc_error_dialog(dialog, "%s",
|
gnc_error_dialog(GTK_WINDOW (dialog), "%s",
|
||||||
_("A template with the given name already exists. "
|
_("A template with the given name already exists. "
|
||||||
"Please enter another name."));
|
"Please enter another name."));
|
||||||
continue;
|
continue;
|
||||||
@ -1313,8 +1313,8 @@ gnc_ab_trans_dialog_del_templ_cb(GtkButton *button, gpointer user_data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
gtk_tree_model_get(model, &iter, TEMPLATE_NAME, &name, -1);
|
gtk_tree_model_get(model, &iter, TEMPLATE_NAME, &name, -1);
|
||||||
if (gnc_verify_dialog(
|
if (gnc_verify_dialog (
|
||||||
td->parent, FALSE,
|
GTK_WINDOW (td->parent), FALSE,
|
||||||
_("Do you really want to delete the template with the name \"%s\"?"),
|
_("Do you really want to delete the template with the name \"%s\"?"),
|
||||||
name))
|
name))
|
||||||
{
|
{
|
||||||
|
@ -80,7 +80,7 @@ gnc_ab_getbalance(GtkWidget *parent, Account *gnc_acc)
|
|||||||
if (!ab_acc)
|
if (!ab_acc)
|
||||||
{
|
{
|
||||||
g_warning("gnc_ab_getbalance: No AqBanking account found");
|
g_warning("gnc_ab_getbalance: No AqBanking account found");
|
||||||
gnc_error_dialog(parent, _("No valid online banking account assigned."));
|
gnc_error_dialog (GTK_WINDOW (parent), _("No valid online banking account assigned."));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -94,7 +94,7 @@ gnc_ab_getbalance(GtkWidget *parent, Account *gnc_acc)
|
|||||||
{
|
{
|
||||||
g_warning("gnc_ab_getbalance: JobGetBalance not available for this "
|
g_warning("gnc_ab_getbalance: JobGetBalance not available for this "
|
||||||
"account");
|
"account");
|
||||||
gnc_error_dialog(parent, _("Online action \"Get Balance\" not available for this account."));
|
gnc_error_dialog (GTK_WINDOW (parent), _("Online action \"Get Balance\" not available for this account."));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
job_list = AB_Job_List2_new();
|
job_list = AB_Job_List2_new();
|
||||||
@ -127,9 +127,9 @@ gnc_ab_getbalance(GtkWidget *parent, Account *gnc_acc)
|
|||||||
&& job_status != AB_Job_StatusPending)
|
&& job_status != AB_Job_StatusPending)
|
||||||
{
|
{
|
||||||
g_warning("gnc_ab_getbalance: Error on executing job");
|
g_warning("gnc_ab_getbalance: Error on executing job");
|
||||||
gnc_error_dialog(parent, _("Error on executing job.\n\nStatus: %s - %s")
|
gnc_error_dialog (GTK_WINDOW (parent), _("Error on executing job.\n\nStatus: %s - %s"),
|
||||||
, AB_Job_Status2Char(job_status)
|
AB_Job_Status2Char(job_status),
|
||||||
, AB_Job_GetResultText(job));
|
AB_Job_GetResultText(job));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -134,7 +134,7 @@ gnc_ab_gettrans(GtkWidget *parent, Account *gnc_acc)
|
|||||||
if (!ab_acc)
|
if (!ab_acc)
|
||||||
{
|
{
|
||||||
g_warning("gnc_ab_gettrans: No AqBanking account found");
|
g_warning("gnc_ab_gettrans: No AqBanking account found");
|
||||||
gnc_error_dialog(parent, _("No valid online banking account assigned."));
|
gnc_error_dialog (GTK_WINDOW (parent), _("No valid online banking account assigned."));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -157,7 +157,7 @@ gnc_ab_gettrans(GtkWidget *parent, Account *gnc_acc)
|
|||||||
{
|
{
|
||||||
g_warning("gnc_ab_gettrans: JobGetTransactions not available for this "
|
g_warning("gnc_ab_gettrans: JobGetTransactions not available for this "
|
||||||
"account");
|
"account");
|
||||||
gnc_error_dialog(parent, _("Online action \"Get Transactions\" not available for this account."));
|
gnc_error_dialog (GTK_WINDOW (parent), _("Online action \"Get Transactions\" not available for this account."));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
AB_JobGetTransactions_SetFromTime(job, from_date);
|
AB_JobGetTransactions_SetFromTime(job, from_date);
|
||||||
@ -192,9 +192,9 @@ gnc_ab_gettrans(GtkWidget *parent, Account *gnc_acc)
|
|||||||
&& job_status != AB_Job_StatusPending)
|
&& job_status != AB_Job_StatusPending)
|
||||||
{
|
{
|
||||||
g_warning("gnc_ab_gettrans: Error on executing job");
|
g_warning("gnc_ab_gettrans: Error on executing job");
|
||||||
gnc_error_dialog(parent, _("Error on executing job.\n\nStatus: %s - %s")
|
gnc_error_dialog (GTK_WINDOW (parent), _("Error on executing job.\n\nStatus: %s - %s"),
|
||||||
, AB_Job_Status2Char(job_status)
|
AB_Job_Status2Char(job_status),
|
||||||
, AB_Job_GetResultText(job));
|
AB_Job_GetResultText(job));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,8 +56,8 @@ save_templates(GtkWidget *parent, Account *gnc_acc, GList *templates,
|
|||||||
gboolean dont_ask)
|
gboolean dont_ask)
|
||||||
{
|
{
|
||||||
g_return_if_fail(gnc_acc);
|
g_return_if_fail(gnc_acc);
|
||||||
if (dont_ask || gnc_verify_dialog(
|
if (dont_ask || gnc_verify_dialog (
|
||||||
parent, FALSE, "%s",
|
GTK_WINDOW (parent), FALSE, "%s",
|
||||||
_("You have changed the list of online transfer templates, "
|
_("You have changed the list of online transfer templates, "
|
||||||
"but you cancelled the transfer dialog. "
|
"but you cancelled the transfer dialog. "
|
||||||
"Do you nevertheless want to store the changes?")))
|
"Do you nevertheless want to store the changes?")))
|
||||||
@ -113,7 +113,7 @@ gnc_ab_maketrans(GtkWidget *parent, Account *gnc_acc,
|
|||||||
if (!ab_acc)
|
if (!ab_acc)
|
||||||
{
|
{
|
||||||
g_warning("gnc_ab_gettrans: No AqBanking account found");
|
g_warning("gnc_ab_gettrans: No AqBanking account found");
|
||||||
gnc_error_dialog(parent, _("No valid online banking account assigned."));
|
gnc_error_dialog (GTK_WINDOW (parent), _("No valid online banking account assigned."));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -180,8 +180,8 @@ gnc_ab_maketrans(GtkWidget *parent, Account *gnc_acc,
|
|||||||
#endif
|
#endif
|
||||||
))
|
))
|
||||||
{
|
{
|
||||||
if (!gnc_verify_dialog(
|
if (!gnc_verify_dialog (
|
||||||
parent, FALSE, "%s",
|
GTK_WINDOW (parent), FALSE, "%s",
|
||||||
_("The backend found an error during the preparation "
|
_("The backend found an error during the preparation "
|
||||||
"of the job. It is not possible to execute this job. \n"
|
"of the job. It is not possible to execute this job. \n"
|
||||||
"\n"
|
"\n"
|
||||||
@ -289,8 +289,8 @@ gnc_ab_maketrans(GtkWidget *parent, Account *gnc_acc,
|
|||||||
&& job_status != AB_Job_StatusPending)
|
&& job_status != AB_Job_StatusPending)
|
||||||
{
|
{
|
||||||
successful = FALSE;
|
successful = FALSE;
|
||||||
if (!gnc_verify_dialog(
|
if (!gnc_verify_dialog (
|
||||||
parent, FALSE, "%s",
|
GTK_WINDOW (parent), FALSE, "%s",
|
||||||
_("An error occurred while executing the job. Please check "
|
_("An error occurred while executing the job. Please check "
|
||||||
"the log window for the exact error message.\n"
|
"the log window for the exact error message.\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
@ -715,7 +715,7 @@ txn_transaction_cb(const AB_TRANSACTION *element, gpointer user_data)
|
|||||||
{
|
{
|
||||||
/* Oops, no job, probably not supported by bank */
|
/* Oops, no job, probably not supported by bank */
|
||||||
if (gnc_verify_dialog(
|
if (gnc_verify_dialog(
|
||||||
NULL, FALSE, "%s",
|
GTK_WINDOW (data->parent), FALSE, "%s",
|
||||||
_("The backend found an error during the preparation "
|
_("The backend found an error during the preparation "
|
||||||
"of the job. It is not possible to execute this job. \n"
|
"of the job. It is not possible to execute this job. \n"
|
||||||
"\n"
|
"\n"
|
||||||
@ -726,7 +726,8 @@ txn_transaction_cb(const AB_TRANSACTION *element, gpointer user_data)
|
|||||||
"\n"
|
"\n"
|
||||||
"Do you want to enter the job again?")))
|
"Do you want to enter the job again?")))
|
||||||
{
|
{
|
||||||
gnc_error_dialog(NULL, "Sorry, not implemented yet. Please check the console or trace file logs to see which job was rejected.");
|
gnc_error_dialog (GTK_WINDOW (data->parent),
|
||||||
|
"Sorry, not implemented yet. Please check the console or trace file logs to see which job was rejected.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -807,7 +808,7 @@ txn_accountinfo_cb(AB_IMEXPORTER_ACCOUNTINFO *element, gpointer user_data)
|
|||||||
|
|
||||||
if (!(data->awaiting & AWAIT_TRANSACTIONS))
|
if (!(data->awaiting & AWAIT_TRANSACTIONS))
|
||||||
{
|
{
|
||||||
if (gnc_verify_dialog(data->parent, TRUE, "%s",
|
if (gnc_verify_dialog (GTK_WINDOW (data->parent), TRUE, "%s",
|
||||||
_("The bank has sent transaction information "
|
_("The bank has sent transaction information "
|
||||||
"in its response."
|
"in its response."
|
||||||
"\n"
|
"\n"
|
||||||
@ -834,7 +835,7 @@ txn_accountinfo_cb(AB_IMEXPORTER_ACCOUNTINFO *element, gpointer user_data)
|
|||||||
data->ab_acc = gnc_ab_get_ab_account(data->api, gnc_acc);
|
data->ab_acc = gnc_ab_get_ab_account(data->api, gnc_acc);
|
||||||
if (!data->ab_acc)
|
if (!data->ab_acc)
|
||||||
{
|
{
|
||||||
gnc_error_dialog(NULL, "%s",
|
gnc_error_dialog(GTK_WINDOW (data->parent), "%s",
|
||||||
_("No Online Banking account found for this "
|
_("No Online Banking account found for this "
|
||||||
"gnucash account. These transactions will "
|
"gnucash account. These transactions will "
|
||||||
"not be executed by Online Banking."));
|
"not be executed by Online Banking."));
|
||||||
@ -911,7 +912,7 @@ bal_accountinfo_cb(AB_IMEXPORTER_ACCOUNTINFO *element, gpointer user_data)
|
|||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
/* Ask the user whether to import unawaited non-zero balance */
|
/* Ask the user whether to import unawaited non-zero balance */
|
||||||
if (gnc_verify_dialog(data->parent, TRUE, "%s",
|
if (gnc_verify_dialog (GTK_WINDOW (data->parent), TRUE, "%s",
|
||||||
_("The bank has sent balance information "
|
_("The bank has sent balance information "
|
||||||
"in its response."
|
"in its response."
|
||||||
"\n"
|
"\n"
|
||||||
@ -1047,7 +1048,7 @@ bal_accountinfo_cb(AB_IMEXPORTER_ACCOUNTINFO *element, gpointer user_data)
|
|||||||
{
|
{
|
||||||
const char *message3 = _("Reconcile account now?");
|
const char *message3 = _("Reconcile account now?");
|
||||||
|
|
||||||
show_recn_window = gnc_verify_dialog(data->parent, TRUE, "%s\n%s\n%s",
|
show_recn_window = gnc_verify_dialog (GTK_WINDOW (data->parent), TRUE, "%s\n%s\n%s",
|
||||||
message1, message2, message3);
|
message1, message2, message3);
|
||||||
}
|
}
|
||||||
g_free(booked_str);
|
g_free(booked_str);
|
||||||
@ -1110,7 +1111,7 @@ gnc_ab_import_context(AB_IMEXPORTER_CONTEXT *context,
|
|||||||
{
|
{
|
||||||
const char* subject = AB_Message_GetSubject(bankmsg);
|
const char* subject = AB_Message_GetSubject(bankmsg);
|
||||||
const char* text = AB_Message_GetText(bankmsg);
|
const char* text = AB_Message_GetText(bankmsg);
|
||||||
gnc_info_dialog(data->parent, "%s\n%s %s\n%s",
|
gnc_info_dialog(GTK_WINDOW (data->parent), "%s\n%s %s\n%s",
|
||||||
_("The bank has sent a message in its response."),
|
_("The bank has sent a message in its response."),
|
||||||
_("Subject:"),
|
_("Subject:"),
|
||||||
subject,
|
subject,
|
||||||
|
@ -68,7 +68,8 @@ typedef GWEN_SYNCIO GWEN_IO_LAYER;
|
|||||||
static QofLogModule log_module = GNC_MOD_IMPORT;
|
static QofLogModule log_module = GNC_MOD_IMPORT;
|
||||||
|
|
||||||
void
|
void
|
||||||
gnc_file_aqbanking_import(const gchar *aqbanking_importername,
|
gnc_file_aqbanking_import(GtkWindow *parent,
|
||||||
|
const gchar *aqbanking_importername,
|
||||||
const gchar *aqbanking_profilename,
|
const gchar *aqbanking_profilename,
|
||||||
gboolean execute_transactions)
|
gboolean execute_transactions)
|
||||||
{
|
{
|
||||||
@ -96,7 +97,7 @@ gnc_file_aqbanking_import(const gchar *aqbanking_importername,
|
|||||||
|
|
||||||
/* Select a file */
|
/* Select a file */
|
||||||
default_dir = gnc_get_default_directory(GNC_PREFS_GROUP_AQBANKING);
|
default_dir = gnc_get_default_directory(GNC_PREFS_GROUP_AQBANKING);
|
||||||
selected_filename = gnc_file_dialog(_("Select a file to import"),
|
selected_filename = gnc_file_dialog(parent, _("Select a file to import"),
|
||||||
NULL, default_dir,
|
NULL, default_dir,
|
||||||
GNC_FILE_DIALOG_IMPORT);
|
GNC_FILE_DIALOG_IMPORT);
|
||||||
g_free(default_dir);
|
g_free(default_dir);
|
||||||
@ -141,7 +142,7 @@ gnc_file_aqbanking_import(const gchar *aqbanking_importername,
|
|||||||
if (!importer)
|
if (!importer)
|
||||||
{
|
{
|
||||||
g_warning("Import module %s not found", aqbanking_importername);
|
g_warning("Import module %s not found", aqbanking_importername);
|
||||||
gnc_error_dialog(NULL, "%s",
|
gnc_error_dialog(parent, "%s",
|
||||||
_("Import module for DTAUS import not found."));
|
_("Import module for DTAUS import not found."));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -229,7 +230,7 @@ gnc_file_aqbanking_import(const gchar *aqbanking_importername,
|
|||||||
/* Before importing the results, if this is a new book, let user specify
|
/* Before importing the results, if this is a new book, let user specify
|
||||||
* book options, since they affect how transactions are created */
|
* book options, since they affect how transactions are created */
|
||||||
if (gnc_is_new_book())
|
if (gnc_is_new_book())
|
||||||
gnc_new_book_option_display(gnc_ui_get_toplevel());
|
gnc_new_book_option_display (GTK_WIDGET (parent));
|
||||||
|
|
||||||
/* Import the results */
|
/* Import the results */
|
||||||
ieci = gnc_ab_import_context(context, AWAIT_TRANSACTIONS,
|
ieci = gnc_ab_import_context(context, AWAIT_TRANSACTIONS,
|
||||||
@ -319,7 +320,7 @@ gnc_file_aqbanking_import(const gchar *aqbanking_importername,
|
|||||||
if (!successful)
|
if (!successful)
|
||||||
{
|
{
|
||||||
g_warning("%s", errstr->str);
|
g_warning("%s", errstr->str);
|
||||||
gnc_error_dialog(NULL,
|
gnc_error_dialog(parent,
|
||||||
_("An error occurred while executing jobs: %d of %d failed. "
|
_("An error occurred while executing jobs: %d of %d failed. "
|
||||||
"Please check the log window or gnucash.trace for the exact "
|
"Please check the log window or gnucash.trace for the exact "
|
||||||
"error message.\n\n%s")
|
"error message.\n\n%s")
|
||||||
@ -329,13 +330,13 @@ gnc_file_aqbanking_import(const gchar *aqbanking_importername,
|
|||||||
{
|
{
|
||||||
if (num_jobs == 0)
|
if (num_jobs == 0)
|
||||||
{
|
{
|
||||||
gnc_info_dialog(NULL,
|
gnc_info_dialog(parent,
|
||||||
_("No jobs to be send.")
|
_("No jobs to be send.")
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gnc_info_dialog(NULL, ngettext
|
gnc_info_dialog(parent, ngettext
|
||||||
("The job was executed successfully, but as a precaution "
|
("The job was executed successfully, but as a precaution "
|
||||||
"please check the log window for potential errors.",
|
"please check the log window for potential errors.",
|
||||||
"All %d jobs were executed successfully, but as a precaution "
|
"All %d jobs were executed successfully, but as a precaution "
|
||||||
|
@ -57,7 +57,8 @@ G_BEGIN_DECLS
|
|||||||
* transactions as online jobs over aqbanking/HBCI. If FALSE, just import the
|
* transactions as online jobs over aqbanking/HBCI. If FALSE, just import the
|
||||||
* transactions and that's it.
|
* transactions and that's it.
|
||||||
*/
|
*/
|
||||||
void gnc_file_aqbanking_import (const gchar *aqbanking_importername,
|
void gnc_file_aqbanking_import (GtkWindow *parent,
|
||||||
|
const gchar *aqbanking_importername,
|
||||||
const gchar *aqbanking_formatname,
|
const gchar *aqbanking_formatname,
|
||||||
gboolean exec_as_aqbanking_jobs);
|
gboolean exec_as_aqbanking_jobs);
|
||||||
|
|
||||||
|
@ -1087,7 +1087,7 @@ get_input(GncGWENGui *gui, guint32 flags, const gchar *title, const gchar *text,
|
|||||||
gchar *msg = g_strdup_printf(
|
gchar *msg = g_strdup_printf(
|
||||||
_("The PIN needs to be at least %d characters \n"
|
_("The PIN needs to be at least %d characters \n"
|
||||||
"long. Do you want to try again?"), min_len);
|
"long. Do you want to try again?"), min_len);
|
||||||
retval = gnc_verify_dialog(gui->parent, TRUE, "%s", msg);
|
retval = gnc_verify_dialog (GTK_WINDOW (gui->parent), TRUE, "%s", msg);
|
||||||
g_free(msg);
|
g_free(msg);
|
||||||
if (!retval)
|
if (!retval)
|
||||||
break;
|
break;
|
||||||
@ -1589,7 +1589,7 @@ ggg_delete_event_cb(GtkWidget *widget, GdkEvent *event, gpointer user_data)
|
|||||||
const char *still_running_msg =
|
const char *still_running_msg =
|
||||||
_("The Online Banking job is still running; are you "
|
_("The Online Banking job is still running; are you "
|
||||||
"sure you want to cancel?");
|
"sure you want to cancel?");
|
||||||
if (!gnc_verify_dialog(gui->dialog, FALSE, "%s", still_running_msg))
|
if (!gnc_verify_dialog (GTK_WINDOW (gui->dialog), FALSE, "%s", still_running_msg))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
set_aborted(gui);
|
set_aborted(gui);
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user