26 #include <glib/gi18n.h>
28 #include "dialog-new-user.h"
29 #include "dialog-utils.h"
31 #include "assistant-hierarchy.h"
33 #include "gnc-hooks.h"
39 #include "gnc-session.h"
46 static void (*qifImportAssistantFcn)(void) = NULL;
48 static void gnc_ui_new_user_cancel_dialog (
void);
51 gnc_new_user_dialog_register_qif_assistant (
void (*cb_fcn)(
void))
53 g_return_if_fail (qifImportAssistantFcn == NULL);
54 qifImportAssistantFcn = cb_fcn;
58 gnc_set_first_startup (gboolean first_startup)
64 after_hierarchy_assistant(
void)
66 gncp_new_user_finish ();
67 gnc_set_first_startup (FALSE);
70 gnc_ui_file_access_for_save_as();
74 gnc_ui_new_user_dialog (
void)
77 GtkWidget *new_accounts_button;
78 GtkWidget *import_qif_button;
79 GtkWidget *tutorial_button;
84 builder = gtk_builder_new();
85 gnc_builder_add_from_file (builder,
"dialog-new-user.glade",
"New User Dialog");
87 dialog = GTK_WIDGET(gtk_builder_get_object (builder,
"New User Dialog"));
89 new_accounts_button = GTK_WIDGET(gtk_builder_get_object (builder,
"new_accounts_button"));
90 import_qif_button = GTK_WIDGET(gtk_builder_get_object (builder,
"import_qif_button"));
91 tutorial_button = GTK_WIDGET(gtk_builder_get_object (builder,
"tutorial_button"));
96 gtk_widget_set_sensitive (import_qif_button, (qifImportAssistantFcn != NULL));
98 result = gtk_dialog_run (GTK_DIALOG (dialog));
101 case GTK_RESPONSE_CANCEL:
102 case GTK_RESPONSE_DELETE_EVENT:
103 gnc_ui_new_user_cancel_dialog ();
105 case GTK_RESPONSE_OK:
106 if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (new_accounts_button)))
108 gnc_ui_hierarchy_assistant_with_callback(TRUE, after_hierarchy_assistant);
110 else if ((qifImportAssistantFcn != NULL)
111 && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (import_qif_button)))
113 qifImportAssistantFcn();
114 gncp_new_user_finish ();
116 else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (tutorial_button)))
119 gncp_new_user_finish ();
123 g_print (
"DEBUG: Response: %d", result);
124 g_assert_not_reached ();
128 g_object_unref(G_OBJECT(builder));
129 gtk_widget_destroy (dialog);
134 gnc_ui_new_user_cancel_dialog (
void)
139 gboolean keepshowing;
141 builder = gtk_builder_new();
142 gnc_builder_add_from_file (builder,
"dialog-new-user.glade",
"New User Cancel Dialog");
144 dialog = GTK_WIDGET(gtk_builder_get_object (builder,
"New User Cancel Dialog"));
146 result = gtk_dialog_run (GTK_DIALOG (dialog));
147 keepshowing = (result == GTK_RESPONSE_YES);
149 gnc_set_first_startup (keepshowing);
150 gncp_new_user_finish ();
152 g_object_unref(G_OBJECT(builder));
153 gtk_widget_destroy(dialog);
157 gncp_new_user_finish (
void)
159 gnc_hook_run(HOOK_BOOK_OPENED, gnc_get_current_session());
utility functions for the GnuCash UI
#define ENTER(format, args...)
Functions for adding content to a window.
gboolean gnc_prefs_set_bool(const gchar *group, const gchar *pref_name, gboolean value)
void gnc_gnome_help(const char *file_name, const char *anchor)
All type declarations for the whole Gnucash engine.
void qof_book_mark_session_dirty(QofBook *book)
Generic api to store and retrieve preferences.
Functions providing a chart of account page.
#define LEAVE(format, args...)
const gchar * QofLogModule