diff --git a/configure.ac b/configure.ac index 6101d41025..67d5ae1ce1 100644 --- a/configure.ac +++ b/configure.ac @@ -1347,6 +1347,7 @@ AC_CONFIG_FILES( src/business/dialog-tax-table/Makefile src/business/business-gnome/Makefile src/business/business-gnome/glade/Makefile + src/business/business-gnome/gtkbuilder/Makefile src/business/business-gnome/schemas/Makefile src/business/business-gnome/ui/Makefile src/business/business-ledger/Makefile diff --git a/po/POTFILES.in b/po/POTFILES.in index 520493285f..11bc46a803 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -106,7 +106,6 @@ src/business/business-gnome/glade/choose-owner.glade src/business/business-gnome/glade/customer.glade src/business/business-gnome/glade/date-close.glade src/business/business-gnome/glade/employee.glade -src/business/business-gnome/glade/invoice.glade src/business/business-gnome/glade/job.glade src/business/business-gnome/glade/order.glade src/business/business-gnome/glade/payment.glade @@ -115,6 +114,7 @@ src/business/business-gnome/gncmod-business-gnome.c src/business/business-gnome/gnc-plugin-business.c src/business/business-gnome/gnc-plugin-page-invoice.c src/business/business-gnome/gnc-plugin-page-owner-tree.c +src/business/business-gnome/gtkbuilder/invoice.glade src/business/business-gnome/schemas/apps_gnucash_dialog_business_common.schemas.in src/business/business-gnome/search-owner.c src/business/business-ledger/gncEntryLedger.c diff --git a/src/business/business-gnome/Makefile.am b/src/business/business-gnome/Makefile.am index c3a1bb2bbf..07c3a1c868 100644 --- a/src/business/business-gnome/Makefile.am +++ b/src/business/business-gnome/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = . glade schemas ui +SUBDIRS = . glade gtkbuilder schemas ui pkglib_LTLIBRARIES = libgncmod-business-gnome.la diff --git a/src/business/business-gnome/dialog-invoice.c b/src/business/business-gnome/dialog-invoice.c index e4d32d79a2..3f178ec567 100644 --- a/src/business/business-gnome/dialog-invoice.c +++ b/src/business/business-gnome/dialog-invoice.c @@ -25,7 +25,7 @@ #include "config.h" -#include +#include #include #include #include "swig-runtime.h" @@ -91,6 +91,7 @@ void gnc_invoice_window_ok_cb (GtkWidget *widget, gpointer data); void gnc_invoice_window_cancel_cb (GtkWidget *widget, gpointer data); void gnc_invoice_window_help_cb (GtkWidget *widget, gpointer data); void gnc_invoice_id_changed_cb (GtkWidget *widget, gpointer data); +void gnc_invoice_terms_changed_cb (GtkWidget *widget, gpointer data); #define ENUM_INVOICE_TYPE(_) \ _(NEW_INVOICE, ) \ @@ -121,7 +122,7 @@ struct _invoice_select_window */ struct _invoice_window { - GladeXML * xml; + GtkBuilder * builder; GtkWidget * dialog; /* Used by 'New Invoice Window' */ GncPluginPage *page; /* Used by 'Edit Invoice' Page */ @@ -221,38 +222,32 @@ gnc_invoice_get_register(InvoiceWindow *iw) static gboolean iw_ask_unpost (InvoiceWindow *iw) { - GtkWidget *dialog, *toggle, *pixmap; - GladeXML *xml; + GtkWidget *dialog; + GtkToggleButton *toggle; + GtkBuilder *builder; gint response; char *s; - xml = gnc_glade_xml_new ("invoice.glade", "Unpost Message Dialog"); - dialog = glade_xml_get_widget (xml, "Unpost Message Dialog"); - toggle = glade_xml_get_widget (xml, "yes_tt_reset"); - pixmap = glade_xml_get_widget (xml, "q_pixmap"); + builder = gtk_builder_new(); + gnc_builder_add_from_file (builder,"dialog-invoice.glade", "Unpost Message Dialog"); + dialog = GTK_WIDGET (gtk_builder_get_object (builder, "Unpost Message Dialog")); + toggle = GTK_TOGGLE_BUTTON(gtk_builder_get_object (builder, "yes_tt_reset")); gtk_window_set_transient_for (GTK_WINDOW(dialog), GTK_WINDOW(iw_get_window(iw))); iw->reset_tax_tables = FALSE; - s = gnome_program_locate_file (NULL, - GNOME_FILE_DOMAIN_PIXMAP, - "gnome-question.png", TRUE, NULL); - if (s) - { - pixmap = gtk_image_new_from_file(s); - g_free(s); - } - gtk_widget_show_all(dialog); response = gtk_dialog_run(GTK_DIALOG(dialog)); if (response == GTK_RESPONSE_OK) iw->reset_tax_tables = - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toggle)); + gtk_toggle_button_get_active(toggle); gtk_widget_destroy(dialog); + g_object_unref(G_OBJECT(builder)); + return (response == GTK_RESPONSE_OK); } @@ -1326,7 +1321,7 @@ gnc_invoice_owner_changed_cb (GtkWidget *widget, gpointer data) /* XXX: I'm not sure -- should we change the terms if this happens? */ iw->terms = term; - gnc_ui_optionmenu_set_value (iw->terms_menu, iw->terms); + gnc_simple_combo_set_value (GTK_COMBO_BOX(iw->terms_menu), iw->terms); gnc_invoice_update_job_choice (iw); @@ -1591,10 +1586,9 @@ gnc_invoice_update_window (InvoiceWindow *iw, GtkWidget *widget) gtk_widget_hide_all (iw->job_box); } - acct_entry = glade_xml_get_widget (iw->xml, "acct_entry"); + acct_entry = GTK_WIDGET (gtk_builder_get_object (iw->builder, "acct_entry")); /* We know that "invoice" (and "owner") exist now */ - do { GtkTextBuffer* text_buffer; const char *string; @@ -1627,7 +1621,7 @@ gnc_invoice_update_window (InvoiceWindow *iw, GtkWidget *widget) /* fill in the terms menu */ iw->terms = gncInvoiceGetTerms (invoice); - gnc_ui_optionmenu_set_value (iw->terms_menu, iw->terms); + gnc_simple_combo_set_value (GTK_COMBO_BOX(iw->terms_menu), iw->terms); /* * Next, figure out if we've been posted, and if so set the @@ -1636,27 +1630,25 @@ gnc_invoice_update_window (InvoiceWindow *iw, GtkWidget *widget) */ acct = gncInvoiceGetPostedAcc (invoice); - if (!acct) - break; + if (acct) + { + /* Ok, it's definitely posted. Setup the 'posted-invoice' fields now */ + is_posted = TRUE; - /* Ok, it's definitely posted. Setup the 'posted-invoice' fields now */ - is_posted = TRUE; + /* Can we unpost this invoice? + * XXX: right now we always can, but there + * may be times in the future when we cannot. + */ + can_unpost = TRUE; - /* Can we unpost this invoice? - * XXX: right now we always can, but there - * may be times in the future when we cannot. - */ - can_unpost = TRUE; - - ts = gncInvoiceGetDatePosted (invoice); - gnc_date_edit_set_time_ts (GNC_DATE_EDIT (iw->posted_date), ts); - - tmp_string = gnc_account_get_full_name (acct); - gtk_entry_set_text (GTK_ENTRY (acct_entry), tmp_string); - g_free(tmp_string); + ts = gncInvoiceGetDatePosted (invoice); + gnc_date_edit_set_time_ts (GNC_DATE_EDIT (iw->posted_date), ts); + tmp_string = gnc_account_get_full_name (acct); + gtk_entry_set_text (GTK_ENTRY (acct_entry), tmp_string); + g_free(tmp_string); + } } - while (FALSE); gnc_invoice_id_changed_cb(NULL, iw); if (iw->dialog_type == NEW_INVOICE || iw->dialog_type == MOD_INVOICE) @@ -1683,25 +1675,25 @@ gnc_invoice_update_window (InvoiceWindow *iw, GtkWidget *widget) if (is_posted == TRUE) { - hide = glade_xml_get_widget (iw->xml, "hide3"); + hide = GTK_WIDGET (gtk_builder_get_object (iw->builder, "hide3")); gtk_widget_hide_all (hide); - hide = glade_xml_get_widget (iw->xml, "hide4"); + hide = GTK_WIDGET (gtk_builder_get_object (iw->builder, "hide4")); gtk_widget_hide_all (hide); } - else /* ! posted */ + else /* ! posted */ { - hide = glade_xml_get_widget (iw->xml, "posted_label"); + hide = GTK_WIDGET (gtk_builder_get_object (iw->builder, "posted_label")); gtk_widget_hide_all (hide); gtk_widget_hide_all (iw->posted_date_hbox); - hide = glade_xml_get_widget (iw->xml, "acct_label"); + hide = GTK_WIDGET (gtk_builder_get_object (iw->builder, "acct_label")); gtk_widget_hide_all (hide); gtk_widget_hide_all (acct_entry); - hide = glade_xml_get_widget (iw->xml, "hide1"); + hide = GTK_WIDGET (gtk_builder_get_object (iw->builder, "hide1")); gtk_widget_hide_all (hide); - hide = glade_xml_get_widget (iw->xml, "hide2"); + hide = GTK_WIDGET (gtk_builder_get_object (iw->builder, "hide2")); gtk_widget_hide_all (hide); } } @@ -1828,6 +1820,19 @@ gnc_invoice_id_changed_cb (GtkWidget *unused, gpointer data) } } +void +gnc_invoice_terms_changed_cb (GtkWidget *widget, gpointer data) +{ + GtkComboBox *cbox = GTK_COMBO_BOX (widget); + InvoiceWindow *iw = data; + gchar *title; + + if (!iw) return; + if (!cbox) return; + + iw->terms = gnc_simple_combo_get_value (cbox); +} + static gboolean find_handler (gpointer find_data, gpointer user_data) @@ -2021,7 +2026,7 @@ GtkWidget * gnc_invoice_create_page (InvoiceWindow *iw, gpointer page) { GncInvoice *invoice; - GladeXML *xml; + GtkBuilder *builder; GtkWidget *dialog, *hbox; GncEntryLedger *entry_ledger = NULL; GncOwnerType owner_type; @@ -2033,27 +2038,29 @@ gnc_invoice_create_page (InvoiceWindow *iw, gpointer page) iw->page = page; /* Find the dialog */ - iw->xml = xml = gnc_glade_xml_new ("invoice.glade", "invoice_entry_vbox"); - dialog = glade_xml_get_widget (xml, "invoice_entry_vbox"); + iw->builder = builder = gtk_builder_new(); + gnc_builder_add_from_file (builder, "dialog-invoice.glade", "terms_store"); + gnc_builder_add_from_file (builder, "dialog-invoice.glade", "invoice_entry_vbox"); + dialog = GTK_WIDGET (gtk_builder_get_object (builder, "invoice_entry_vbox")); /* Autoconnect all the signals */ - glade_xml_signal_autoconnect_full (xml, gnc_glade_autoconnect_full_func, iw); + gtk_builder_connect_signals_full (builder, gnc_builder_connect_full_func, iw); /* Grab the widgets */ - iw->id_entry = glade_xml_get_widget (xml, "id_entry"); - iw->billing_id_entry = glade_xml_get_widget (xml, "billing_id_entry"); - iw->terms_menu = glade_xml_get_widget (xml, "terms_menu"); - iw->notes_text = glade_xml_get_widget (xml, "notes_text"); - iw->active_check = glade_xml_get_widget (xml, "active_check"); - iw->owner_box = glade_xml_get_widget (xml, "owner_hbox"); - iw->owner_label = glade_xml_get_widget (xml, "owner_label"); - iw->job_label = glade_xml_get_widget (xml, "job_label"); - iw->job_box = glade_xml_get_widget (xml, "job_hbox"); + iw->id_entry = GTK_WIDGET (gtk_builder_get_object (builder, "page_id_entry")); + iw->billing_id_entry = GTK_WIDGET (gtk_builder_get_object (builder, "page_billing_id_entry")); + iw->terms_menu = GTK_WIDGET (gtk_builder_get_object (builder, "page_terms_menu")); + iw->notes_text = GTK_WIDGET (gtk_builder_get_object (builder, "page_notes_text")); + iw->active_check = GTK_WIDGET (gtk_builder_get_object (builder, "active_check")); + iw->owner_box = GTK_WIDGET (gtk_builder_get_object (builder, "page_owner_hbox")); + iw->owner_label = GTK_WIDGET (gtk_builder_get_object (builder, "page_owner_label")); + iw->job_label = GTK_WIDGET (gtk_builder_get_object (builder, "page_job_label")); + iw->job_box = GTK_WIDGET (gtk_builder_get_object (builder, "page_job_hbox")); /* grab the project widgets */ - iw->proj_frame = glade_xml_get_widget (xml, "proj_frame"); - iw->proj_cust_box = glade_xml_get_widget (xml, "proj_cust_hbox"); - iw->proj_job_box = glade_xml_get_widget (xml, "proj_job_hbox"); + iw->proj_frame = GTK_WIDGET (gtk_builder_get_object (builder, "page_proj_frame")); + iw->proj_cust_box = GTK_WIDGET (gtk_builder_get_object (builder, "page_proj_cust_hbox")); + iw->proj_job_box = GTK_WIDGET (gtk_builder_get_object (builder, "page_proj_job_hbox")); /* grab the to_charge widgets */ { @@ -2062,7 +2069,7 @@ gnc_invoice_create_page (InvoiceWindow *iw, gpointer page) gnc_commodity *currency = gncInvoiceGetCurrency (invoice); GNCPrintAmountInfo print_info; - iw->to_charge_frame = glade_xml_get_widget (xml, "to_charge_frame"); + iw->to_charge_frame = GTK_WIDGET (gtk_builder_get_object (builder, "to_charge_frame")); edit = gnc_amount_edit_new(); print_info = gnc_commodity_print_info (currency, FALSE); gnc_amount_edit_set_evaluate_on_enter (GNC_AMOUNT_EDIT (edit), TRUE); @@ -2071,7 +2078,7 @@ gnc_invoice_create_page (InvoiceWindow *iw, gpointer page) gnc_commodity_get_fraction (currency)); iw->to_charge_edit = edit; gtk_widget_show (edit); - hbox = glade_xml_get_widget (xml, "to_charge_box"); + hbox = GTK_WIDGET (gtk_builder_get_object (builder, "to_charge_box")); gtk_box_pack_start (GTK_BOX (hbox), edit, TRUE, TRUE, 0); g_signal_connect(G_OBJECT(gnc_amount_edit_gtk_entry(GNC_AMOUNT_EDIT(edit))), @@ -2081,12 +2088,12 @@ gnc_invoice_create_page (InvoiceWindow *iw, gpointer page) G_CALLBACK(gnc_invoice_window_changed_to_charge_cb), iw); } - hbox = glade_xml_get_widget (xml, "date_opened_hbox"); + hbox = GTK_WIDGET (gtk_builder_get_object (builder, "page_date_opened_hbox")); iw->opened_date = gnc_date_edit_new (time(NULL), FALSE, FALSE); gtk_widget_show(iw->opened_date); gtk_box_pack_start (GTK_BOX(hbox), iw->opened_date, TRUE, TRUE, 0); - iw->posted_date_hbox = glade_xml_get_widget (xml, "date_posted_hbox"); + iw->posted_date_hbox = GTK_WIDGET (gtk_builder_get_object (builder, "date_posted_hbox")); iw->posted_date = gnc_date_edit_new (time(NULL), FALSE, FALSE); gtk_widget_show(iw->posted_date); gtk_box_pack_start (GTK_BOX(iw->posted_date_hbox), iw->posted_date, @@ -2170,7 +2177,7 @@ gnc_invoice_create_page (InvoiceWindow *iw, gpointer page) gtk_widget_show(regWidget); gnc_table_init_gui( regWidget, entry_ledger ); - frame = glade_xml_get_widget (xml, "ledger_frame"); + frame = GTK_WIDGET (gtk_builder_get_object (builder, "ledger_frame")); gtk_container_add (GTK_CONTAINER (frame), regWidget); iw->reg = GNUCASH_REGISTER (regWidget); @@ -2186,7 +2193,7 @@ gnc_invoice_create_page (InvoiceWindow *iw, gpointer page) gnc_table_realize_gui (gnc_entry_ledger_get_table (entry_ledger)); /* Now fill in a lot of the pieces and display properly */ - gnc_ui_billterms_optionmenu (iw->terms_menu, iw->book, TRUE, &iw->terms); + gnc_billterms_combo (GTK_COMBO_BOX(iw->terms_menu), iw->book, TRUE, iw->terms); gnc_invoice_update_window (iw, dialog); gnc_table_refresh_gui (gnc_entry_ledger_get_table (iw->ledger), TRUE); @@ -2202,7 +2209,7 @@ gnc_invoice_window_new_invoice (QofBook *bookp, const GncOwner *owner, GncInvoice *invoice) { InvoiceWindow *iw; - GladeXML *xml; + GtkBuilder *builder; GtkWidget *hbox; GncOwner *billto; const GncOwner *start_owner; @@ -2255,27 +2262,29 @@ gnc_invoice_window_new_invoice (QofBook *bookp, const GncOwner *owner, gncOwnerInitJob (&iw->proj_job, gncOwnerGetJob (billto)); /* Find the glade page layout */ - iw->xml = xml = gnc_glade_xml_new ("invoice.glade", "New Invoice Dialog"); - iw->dialog = glade_xml_get_widget (xml, "New Invoice Dialog"); + iw->builder = builder = gtk_builder_new(); + gnc_builder_add_from_file (builder, "dialog-invoice.glade", "terms_store"); + gnc_builder_add_from_file (builder, "dialog-invoice.glade", "New Invoice Dialog"); + iw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "New Invoice Dialog")); g_object_set_data (G_OBJECT (iw->dialog), "dialog_info", iw); /* Grab the widgets */ - iw->id_entry = glade_xml_get_widget (xml, "id_entry"); - iw->billing_id_entry = glade_xml_get_widget (xml, "billing_id_entry"); - iw->terms_menu = glade_xml_get_widget (xml, "terms_menu"); - iw->notes_text = glade_xml_get_widget (xml, "notes_text"); - iw->owner_box = glade_xml_get_widget (xml, "owner_hbox"); - iw->owner_label = glade_xml_get_widget (xml, "owner_label"); - iw->job_label = glade_xml_get_widget (xml, "job_label"); - iw->job_box = glade_xml_get_widget (xml, "job_hbox"); + iw->id_entry = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_id_entry")); + iw->billing_id_entry = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_billing_id_entry")); + iw->terms_menu = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_terms_menu")); + iw->notes_text = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_notes_text")); + iw->owner_box = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_owner_hbox")); + iw->owner_label = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_owner_label")); + iw->job_label = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_job_label")); + iw->job_box = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_job_hbox")); /* Grab the project widgets */ - iw->proj_frame = glade_xml_get_widget (xml, "proj_frame"); - iw->proj_cust_box = glade_xml_get_widget (xml, "proj_cust_hbox"); - iw->proj_job_box = glade_xml_get_widget (xml, "proj_job_hbox"); + iw->proj_frame = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_proj_frame")); + iw->proj_cust_box = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_proj_cust_hbox")); + iw->proj_job_box = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_proj_job_hbox")); - hbox = glade_xml_get_widget (xml, "date_opened_hbox"); + hbox = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_date_opened_hbox")); iw->opened_date = gnc_date_edit_new (time(NULL), FALSE, FALSE); gtk_widget_show(iw->opened_date); gtk_box_pack_start (GTK_BOX(hbox), iw->opened_date, TRUE, TRUE, 0); @@ -2284,8 +2293,8 @@ gnc_invoice_window_new_invoice (QofBook *bookp, const GncOwner *owner, gtk_widget_set_sensitive (iw->notes_text, (iw->dialog_type == NEW_INVOICE)); /* Setup signals */ - glade_xml_signal_autoconnect_full( xml, - gnc_glade_autoconnect_full_func, + gtk_builder_connect_signals_full( builder, + gnc_builder_connect_full_func, iw); /* Setup initial values */ iw->invoice_guid = *gncInvoiceGetGUID (invoice); @@ -2301,7 +2310,7 @@ gnc_invoice_window_new_invoice (QofBook *bookp, const GncOwner *owner, QOF_EVENT_MODIFY | QOF_EVENT_DESTROY); /* Now fill in a lot of the pieces and display properly */ - gnc_ui_billterms_optionmenu (iw->terms_menu, iw->book, TRUE, &iw->terms); + gnc_billterms_combo (GTK_COMBO_BOX(iw->terms_menu), iw->book, TRUE, iw->terms); gnc_invoice_update_window (iw, iw->dialog); gnc_table_refresh_gui (gnc_entry_ledger_get_table (iw->ledger), TRUE); diff --git a/src/business/business-gnome/glade/Makefile.am b/src/business/business-gnome/glade/Makefile.am index 44e711bc82..4062c8f527 100644 --- a/src/business/business-gnome/glade/Makefile.am +++ b/src/business/business-gnome/glade/Makefile.am @@ -6,7 +6,6 @@ glade_DATA = \ customer.glade \ date-close.glade \ employee.glade \ - invoice.glade \ job.glade \ order.glade \ payment.glade \ diff --git a/src/business/business-gnome/gtkbuilder/Makefile.am b/src/business/business-gnome/gtkbuilder/Makefile.am new file mode 100644 index 0000000000..c677285db0 --- /dev/null +++ b/src/business/business-gnome/gtkbuilder/Makefile.am @@ -0,0 +1,16 @@ +gtkbuilderdir = $(GNC_GTKBUILDER_DIR) +gtkbuilder_DATA = \ + dialog-invoice.glade +# billterms.glade \ +# businessprefs.glade \ +# choose-owner.glade \ +# customer.glade \ +# date-close.glade \ +# employee.glade \ +# job.glade \ +# order.glade \ +# payment.glade \ +# vendor.glade + +EXTRA_DIST = \ + ${gtkbuilder_DATA} diff --git a/src/business/business-gnome/glade/invoice.glade b/src/business/business-gnome/gtkbuilder/dialog-invoice.glade similarity index 67% rename from src/business/business-gnome/glade/invoice.glade rename to src/business/business-gnome/gtkbuilder/dialog-invoice.glade index 4d848b48bc..84590edefe 100644 --- a/src/business/business-gnome/glade/invoice.glade +++ b/src/business/business-gnome/gtkbuilder/dialog-invoice.glade @@ -1,505 +1,42 @@ - - - - - + + + + True - New Invoice - dialog - - - + False + Invoice + + True - vertical - 8 + False - + True - vertical + False - + True - 3 + False 0 - - True - - - True - 3 - vertical - True - - - True - 1 - Invoice ID - right - - - False - False - 0 - - - - - True - 1 - Date Opened - right - - - False - False - 1 - - - - - 0 - - - - - True - 3 - vertical - True - - - True - True - True - The invoice ID number. If left blank a reasonable number will be chosen for you. - True - - - - False - False - 0 - - - - - True - - - - - - False - False - 1 - - - - - 1 - - - - - - - True - Invoice Information - - - label_item - - - - - False - False - 0 - - - - - True - 3 - 0 - - - True - - - True - 3 - vertical - True - - - True - 1 - (owner) - right - - - False - False - 0 - - - - - True - 1 - Job - right - - - False - False - 1 - - - - - True - 1 - Billing ID - right - - - False - False - 2 - - - - - True - 1 - Terms - right - - - False - False - 3 - - - - - 0 - - - - - True - 3 - vertical - True - - - True - - - - - - False - False - 0 - - - - - True - - - - - - False - False - 1 - - - - - True - True - - - False - False - 2 - - - - - True - True - False - - - False - False - 3 - - - - - 1 - - - - - - - True - Billing Information - - - label_item - - - - - False - False - 1 - - - - - True - 0 - - - True - 3 - - - True - 3 - vertical - True - - - True - 1 - Customer - right - - - False - False - 0 - - - - - True - 1 - Job - right - - - False - False - 1 - - - - - False - 0 - - - - - True - 3 - vertical - True - - - True - - - - - - 0 - - - - - True - - - - - - 1 - - - - - 1 - - - - - - - True - Default Chargeback Project - - - label_item - - - - - False - False - 2 - - - - - True - 3 - 0 - - + True False 3 - never - in - - - True - True - word - - - - - - - True - Notes - - - label_item - - - - - 3 - - - - - 2 - - - - - True - end - - - gtk-help - -11 - True - True - True - False - True - - - - False - False - 0 - - - - - gtk-cancel - -6 - True - True - True - False - True - - - - False - False - 1 - - - - - gtk-ok - -5 - True - True - True - False - True - - - - False - False - 2 - - - - - False - end - 0 - - - - - - - True - Invoice - - - True - vertical - - - True - - - True - 0 - - - True - 3 2 - + True - vertical + False True - + True + False 1 Invoice ID right - + False False @@ -507,12 +44,13 @@ - + True + False 1 Date Opened right - + False False @@ -520,12 +58,13 @@ - + True + False 1 Date Posted right - + False False @@ -533,12 +72,13 @@ - + True + False 1 Posted Account right - + False False @@ -546,10 +86,11 @@ - + True + False center - + False False @@ -557,33 +98,35 @@ - + True + False center - + False False 5 - + False + True 0 - + True - vertical + False True - + True True False - + False False @@ -591,12 +134,13 @@ - + True + False - + False False @@ -604,12 +148,13 @@ - + True + False - + False False @@ -617,11 +162,11 @@ - + True True False - + False False @@ -629,15 +174,16 @@ - + Active True True False + False True True - - + + False False @@ -645,61 +191,64 @@ - + True + False center - + False False 5 - + False False 1 - + - - + + True + False Invoice Information - - - label_item - + - + False + True 0 - + True + False 0 - + True + False 3 2 - + True - vertical + False True - + True + False 1 (owner) right - + False False @@ -707,12 +256,13 @@ - + True + False 1 Job right - + False False @@ -720,12 +270,13 @@ - + True + False 1 Billing ID right - + False False @@ -733,12 +284,13 @@ - + True + False 1 Terms right - + False False @@ -746,33 +298,37 @@ - + True + False center - + False False 4 - + + True + True 0 - + True - vertical + False True - + True + False - + False False @@ -780,12 +336,13 @@ - + True + False - + False False @@ -793,11 +350,11 @@ - + True True False - + False False @@ -805,183 +362,207 @@ - + True - False - True - False - + False + terms_store + + + + + 0 + + + - False - False + True + True 3 - + True + False center - + False False 4 - + + True + True 1 - + - - + + True + False Billing Information - - - label_item - + - + False + True 1 1 - + True + False 0 - + True False 3 never in - + True True word - - + + - + - - + + True + False Notes - - - label_item - + - + + True + True 2 - + False + True 3 0 - + True + False 0 - + True + False 3 2 - + True + False 1 Customer: right - + False + True 0 - + True + False - + + True + True 1 - + True + False 1 Job: right - + False + True 2 - + True + False - + + True + True 3 - + - - + + True + False Default Chargeback Project - - - label_item - + - + False + True 3 1 - + True + False 0 - + True + False 3 2 - + True + False 1 Additional to Card: right - + False False @@ -989,82 +570,646 @@ - + True + False - + False False 1 - + - - + + True + False Extra Payments - - - label_item - + - + False + True 2 - + True + False 0 - - + + True + False Invoice Entries - - - label_item - + - + + True + True 3 3 - + - - + + True + False + New Invoice + dialog + + + + True + False + vertical + 8 + + + True + False + end + + + gtk-help + True + True + True + False + False + True + + + + False + False + 0 + + + + + gtk-cancel + True + True + True + False + False + True + + + + False + False + 1 + + + + + gtk-ok + True + True + True + False + False + True + + + + False + False + 2 + + + + + False + True + end + 0 + + + + + True + False + + + True + False + 3 + 0 + + + True + False + + + True + False + 3 + True + + + True + False + 1 + Invoice ID + right + + + False + False + 0 + + + + + True + False + 1 + Date Opened + right + + + False + False + 1 + + + + + True + True + 0 + + + + + True + False + 3 + True + + + True + True + True + The invoice ID number. If left blank a reasonable number will be chosen for you. + True + + + + False + False + 0 + + + + + True + False + + + + + + False + False + 1 + + + + + True + True + 1 + + + + + + + True + False + Invoice Information + + + + + False + False + 0 + + + + + True + False + 3 + 0 + + + True + False + + + True + False + 3 + True + + + True + False + 1 + (owner) + right + + + False + False + 0 + + + + + True + False + 1 + Job + right + + + False + False + 1 + + + + + True + False + 1 + Billing ID + right + + + False + False + 2 + + + + + True + False + 1 + Terms + right + + + False + False + 3 + + + + + True + True + 0 + + + + + True + False + 3 + True + + + True + False + + + + + + False + False + 0 + + + + + True + False + + + + + + False + False + 1 + + + + + True + True + + + False + False + 2 + + + + + True + False + terms_store + + + + + 0 + + + + + True + True + 3 + + + + + True + True + 1 + + + + + + + True + False + Billing Information + + + + + False + False + 1 + + + + + True + False + 0 + + + True + False + 3 + + + True + False + 3 + True + + + True + False + 1 + Customer + right + + + False + False + 0 + + + + + True + False + 1 + Job + right + + + False + False + 1 + + + + + False + True + 0 + + + + + True + False + 3 + True + + + True + False + + + + + + True + True + 0 + + + + + True + False + + + + + + True + True + 1 + + + + + True + True + 1 + + + + + + + True + False + Default Chargeback Project + + + + + False + False + 2 + + + + + True + False + 3 + 0 + + + True + False + 3 + never + in + + + True + True + word + + + + + + + True + False + Notes + + + + + True + True + 3 + + + + + False + True + 2 + + + + + + helpbutton + cancelbutton + okbutton + + + + True + False False True dialog - + True + False vertical - - + + True - vertical + False + end + + + gtk-cancel + True + True + True + False + False + True + + + False + False + 0 + + + + + gtk-ok + True + True + True + False + False + True + + + False + False + 1 + + + + + False + True + end + 0 + + + + + True + False True - + True + False - + True + False gtk-dialog-question - + False False @@ -1073,11 +1218,12 @@ - + True + False Unposting this Invoice will delete the posted transaction. Are you sure you want to unpost it? - + False False @@ -1085,29 +1231,34 @@ Are you sure you want to unpost it? 1 - + + True + True 0 - + True + False 3 0 - + True + False - + Yes, reset the Tax Tables True True False + False True True - - + + False False @@ -1115,89 +1266,61 @@ Are you sure you want to unpost it? - + No, keep them as they are True True False + False True True True yes_tt_reset - - + + False False 1 - + - - + + True + False Reset Tax Tables to present Values? - - - label_item - + - + + True + True 6 1 - + + False + True 2 - - - True - end - - - gtk-cancel - -6 - True - True - True - False - True - - - False - False - 0 - - - - - gtk-ok - -5 - True - True - True - False - True - - - False - False - 1 - - - - - False - end - 0 - - - + - - + + cancelbutton1 + okbutton1 + + + + + + + + + + +