void gnc_ui_new_user_dialog (void) { GtkWidget *dialog; GtkWidget *new_accounts_button; GtkWidget *import_qif_button; GtkWidget *tutorial_button; GtkBuilder *builder; gint result; ENTER(" "); builder = gtk_builder_new(); gnc_builder_add_from_file (builder, "dialog-new-user.glade", "New User Dialog"); dialog = GTK_WIDGET(gtk_builder_get_object (builder, "New User Dialog")); new_accounts_button = GTK_WIDGET(gtk_builder_get_object (builder, "new_accounts_button")); import_qif_button = GTK_WIDGET(gtk_builder_get_object (builder, "import_qif_button")); tutorial_button = GTK_WIDGET(gtk_builder_get_object (builder, "tutorial_button")); /* Set the sensitivity of the qif-import button based on the availability * of the qif-import assistant. */ gtk_widget_set_sensitive (import_qif_button, (qifImportAssistantFcn != NULL)); result = gtk_dialog_run (GTK_DIALOG (dialog)); switch (result) { case GTK_RESPONSE_CANCEL: case GTK_RESPONSE_DELETE_EVENT: gnc_ui_new_user_cancel_dialog (); break; case GTK_RESPONSE_OK: if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (new_accounts_button))) { gnc_ui_hierarchy_assistant_with_callback(TRUE, after_hierarchy_assistant); } else if ((qifImportAssistantFcn != NULL) && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (import_qif_button))) { qifImportAssistantFcn(); gncp_new_user_finish (); } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (tutorial_button))) { gnc_gnome_help (HF_GUIDE, NULL); gncp_new_user_finish (); } break; default: g_print ("DEBUG: Response: %d", result); g_assert_not_reached (); break; } g_object_unref(G_OBJECT(builder)); gtk_widget_destroy (dialog); LEAVE(" "); }
/** Handle a user click on one of the buttons at the bottom of the * preference dialog. Also handles delete_window events, which have * conveniently converted to a response by GtkDialog. * * @internal * * @param dialog A pointer to the preferences dialog. * * @param response Indicates which button was pressed by the user. * The only expected values are HELP, CLOSE, and DELETE_EVENT. * * @param unused */ void gnc_preferences_response_cb(GtkDialog *dialog, gint response, GtkDialog *unused) { switch (response) { case GTK_RESPONSE_HELP: gnc_gnome_help(HF_HELP, HL_GLOBPREFS); break; default: gnc_save_window_size(GNC_PREFS_GROUP, GTK_WINDOW(dialog)); gnc_unregister_gui_component_by_data(DIALOG_PREFERENCES_CM_CLASS, dialog); gtk_widget_destroy(GTK_WIDGET(dialog)); break; } }
void gnc_ui_file_access_response_cb(GtkDialog *dialog, gint response, GtkDialog *unused) { FileAccessWindow* faw; gchar* url; g_return_if_fail( dialog != NULL ); faw = g_object_get_data( G_OBJECT(dialog), "FileAccessWindow" ); g_return_if_fail( faw != NULL ); switch ( response ) { case GTK_RESPONSE_HELP: gnc_gnome_help( HF_HELP, HL_GLOBPREFS ); break; case GTK_RESPONSE_OK: url = geturl( faw ); if ( url == NULL ) { return; } if ( faw->type == FILE_ACCESS_OPEN ) { gnc_file_open_file( url ); } else if ( faw->type == FILE_ACCESS_SAVE_AS ) { gnc_file_do_save_as( url ); } break; case GTK_RESPONSE_CANCEL: break; default: PERR( "Invalid response" ); break; } if ( response != GTK_RESPONSE_HELP ) { gtk_widget_destroy( GTK_WIDGET(dialog) ); } }
static void gnc_commodity_help_cb (void) { gnc_gnome_help (HF_HELP, HL_COMMODITY); }
static void gnc_global_options_help_cb (GNCOptionWin *win, gpointer dat) { gnc_gnome_help (HF_HELP, HL_GLOBPREFS); }
static void gnc_book_options_help_cb (GNCOptionWin *win, gpointer dat) { gnc_gnome_help (HF_HELP, HL_BOOK_OPTIONS); }
void gnc_customer_window_help_cb (GtkWidget *widget, gpointer data) { gnc_gnome_help(HF_HELP, HL_USAGE); }
void custom_report_help_cb (GtkWidget *widget, gpointer data) { gnc_gnome_help(HF_HELP, HL_USAGE_CUSTOMREP); }
/* This routine checks to see if GnuCash's gconf schemas are visible * to the user. The schemas typically should be visible, as rpm and * deb installs will put the schemas in the default system location. * For things like network installs or developers, this function will * present a warning dialog that asks the user whether to setup * gconf, continue without the schemas, or quit. If the user chooses * to set up the schemas, this function will invoke an assistant to * walk the user through making the schemas visible. */ void assistant_gconf_install_check_schemas (void) { GtkBuilder *builder; GtkWidget *dialog; gboolean done = FALSE; gint response; if (gnc_gconf_schemas_found()) { gnc_gconf_unset_dir(GCONF_WARNINGS_TEMP, NULL); return; } #ifdef G_OS_WIN32 { /* automatically update the search path on windows */ GError *error = NULL; if (!assistant_gconf_update_path (&error)) { gnc_error_dialog (NULL, error->message); g_error_free (error); exit(42); } else { if (!g_spawn_command_line_sync("gconftool-2 --shutdown", NULL, NULL, NULL, &error)) { gnc_warning_dialog(NULL, error->message); g_error_free(error); } return; } } #endif /* G_OS_WIN32 */ builder = gtk_builder_new(); gnc_builder_add_from_file (builder, "assistant-gconf-setup.glade", "GConf Query"); if (!builder) { gnc_error_dialog(NULL, "The glade UI files were not found. Your installation is incomplete and cannot be run."); exit(-1); /* quit immediately */ } g_assert(builder); dialog = GTK_WIDGET(gtk_builder_get_object (builder, "GConf Query")); g_assert(dialog); do { response = gtk_dialog_run(GTK_DIALOG(dialog)); switch (response) { case GTK_RESPONSE_CANCEL: default: exit(42); /* never returns */ case GTK_RESPONSE_NO: /* User wants to run without setting up gconf */ done = TRUE; break; case GTK_RESPONSE_ACCEPT: gtk_widget_hide(dialog); gnc_gnome_install_gconf_schemas(); done = TRUE; break; case GTK_RESPONSE_HELP: gnc_gnome_help(HF_HELP, HL_GCONF); break; } } while (!done); g_object_unref(G_OBJECT(builder)); gtk_widget_destroy(dialog); }
void gnc_bi_import_gui_help_cb (GtkWidget *widget, gpointer data) { gnc_gnome_help(HF_HELP, HL_USAGE); }
static void search_help_cb (GtkButton *button, GNCSearchWindow *sw) { gnc_gnome_help (HF_HELP, HL_FIND_TRANSACTIONS); }
void gnc_customer_import_gui_help_cb (GtkWidget *widget, gpointer data) { gnc_gnome_help(HF_HELP, HL_USAGE_BSNSS); }
void gnc_employee_window_help_cb (GtkWidget *widget, gpointer data) { gnc_gnome_help(HF_HELP, HL_USAGE_EMPLOYEE); }