mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Convert customer dialog to gtkbuilder
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@21494 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
6bee8b5bcf
commit
8ba2af23c6
@ -103,7 +103,6 @@ src/business/business-gnome/dialog-vendor.c
|
||||
src/business/business-gnome/glade/billterms.glade
|
||||
src/business/business-gnome/glade/businessprefs.glade
|
||||
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/job.glade
|
||||
@ -114,7 +113,9 @@ 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/gtkbuilder/dialog-customer.glade
|
||||
src/business/business-gnome/gtkbuilder/dialog-invoice.glade
|
||||
src/business/business-gnome/gtkbuilder/dialog-vendor.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
|
||||
|
@ -65,6 +65,9 @@ void gnc_customer_window_cancel_cb (GtkWidget *widget, gpointer data);
|
||||
void gnc_customer_window_help_cb (GtkWidget *widget, gpointer data);
|
||||
void gnc_customer_window_destroy_cb (GtkWidget *widget, gpointer data);
|
||||
void gnc_customer_name_changed_cb (GtkWidget *widget, gpointer data);
|
||||
void gnc_customer_terms_changed_cb (GtkWidget *widget, gpointer data);
|
||||
void gnc_customer_taxincluded_changed_cb (GtkWidget *widget, gpointer data);
|
||||
void gnc_customer_taxtable_changed_cb (GtkWidget *widget, gpointer data);
|
||||
void gnc_customer_addr2_insert_cb(GtkEditable *editable,
|
||||
gchar *new_text, gint new_text_length,
|
||||
gint *position, gpointer user_data);
|
||||
@ -443,6 +446,45 @@ gnc_customer_name_changed_cb (GtkWidget *widget, gpointer data)
|
||||
g_free (title);
|
||||
}
|
||||
|
||||
void
|
||||
gnc_customer_terms_changed_cb (GtkWidget *widget, gpointer data)
|
||||
{
|
||||
GtkComboBox *cbox = GTK_COMBO_BOX (widget);
|
||||
CustomerWindow *cw = data;
|
||||
gchar *title;
|
||||
|
||||
if (!cw) return;
|
||||
if (!cbox) return;
|
||||
|
||||
cw->terms = gnc_simple_combo_get_value (cbox);
|
||||
}
|
||||
|
||||
void
|
||||
gnc_customer_taxincluded_changed_cb (GtkWidget *widget, gpointer data)
|
||||
{
|
||||
GtkComboBox *cbox = GTK_COMBO_BOX (widget);
|
||||
CustomerWindow *cw = data;
|
||||
gchar *title;
|
||||
|
||||
if (!cw) return;
|
||||
if (!cbox) return;
|
||||
|
||||
cw->taxincluded = GPOINTER_TO_INT (gnc_simple_combo_get_value (cbox));
|
||||
}
|
||||
|
||||
void
|
||||
gnc_customer_taxtable_changed_cb (GtkWidget *widget, gpointer data)
|
||||
{
|
||||
GtkComboBox *cbox = GTK_COMBO_BOX (widget);
|
||||
CustomerWindow *cw = data;
|
||||
gchar *title;
|
||||
|
||||
if (!cw) return;
|
||||
if (!cbox) return;
|
||||
|
||||
cw->taxtable = gnc_simple_combo_get_value (cbox);
|
||||
}
|
||||
|
||||
static void
|
||||
gnc_customer_window_close_handler (gpointer user_data)
|
||||
{
|
||||
@ -492,7 +534,7 @@ static CustomerWindow *
|
||||
gnc_customer_new_window (QofBook *bookp, GncCustomer *cust)
|
||||
{
|
||||
CustomerWindow *cw;
|
||||
GladeXML *xml;
|
||||
GtkBuilder *builder;
|
||||
GtkWidget *hbox, *edit;
|
||||
gnc_commodity *currency;
|
||||
GNCPrintAmountInfo print_info;
|
||||
@ -529,48 +571,52 @@ gnc_customer_new_window (QofBook *bookp, GncCustomer *cust)
|
||||
cw->book = bookp;
|
||||
|
||||
/* Find the dialog */
|
||||
xml = gnc_glade_xml_new ("customer.glade", "Customer Dialog");
|
||||
cw->dialog = glade_xml_get_widget (xml, "Customer Dialog");
|
||||
builder = gtk_builder_new();
|
||||
gnc_builder_add_from_file (builder, "dialog-customer.glade", "terms_store");
|
||||
gnc_builder_add_from_file (builder, "dialog-customer.glade", "tax_included_store");
|
||||
gnc_builder_add_from_file (builder, "dialog-customer.glade", "taxtable_store");
|
||||
gnc_builder_add_from_file (builder, "dialog-customer.glade", "Customer Dialog");
|
||||
cw->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "Customer Dialog"));
|
||||
|
||||
g_object_set_data (G_OBJECT (cw->dialog), "dialog_info", cw);
|
||||
|
||||
/* Get entry points */
|
||||
cw->id_entry = glade_xml_get_widget (xml, "id_entry");
|
||||
cw->company_entry = glade_xml_get_widget (xml, "company_entry");
|
||||
cw->id_entry = GTK_WIDGET (gtk_builder_get_object (builder, "id_entry"));
|
||||
cw->company_entry = GTK_WIDGET (gtk_builder_get_object (builder, "company_entry"));
|
||||
|
||||
cw->name_entry = glade_xml_get_widget (xml, "name_entry");
|
||||
cw->addr1_entry = glade_xml_get_widget (xml, "addr1_entry");
|
||||
cw->addr2_entry = glade_xml_get_widget (xml, "addr2_entry");
|
||||
cw->addr3_entry = glade_xml_get_widget (xml, "addr3_entry");
|
||||
cw->addr4_entry = glade_xml_get_widget (xml, "addr4_entry");
|
||||
cw->phone_entry = glade_xml_get_widget (xml, "phone_entry");
|
||||
cw->fax_entry = glade_xml_get_widget (xml, "fax_entry");
|
||||
cw->email_entry = glade_xml_get_widget (xml, "email_entry");
|
||||
cw->name_entry = GTK_WIDGET (gtk_builder_get_object (builder, "name_entry"));
|
||||
cw->addr1_entry = GTK_WIDGET (gtk_builder_get_object (builder, "addr1_entry"));
|
||||
cw->addr2_entry = GTK_WIDGET (gtk_builder_get_object (builder, "addr2_entry"));
|
||||
cw->addr3_entry = GTK_WIDGET (gtk_builder_get_object (builder, "addr3_entry"));
|
||||
cw->addr4_entry = GTK_WIDGET (gtk_builder_get_object (builder, "addr4_entry"));
|
||||
cw->phone_entry = GTK_WIDGET (gtk_builder_get_object (builder, "phone_entry"));
|
||||
cw->fax_entry = GTK_WIDGET (gtk_builder_get_object (builder, "fax_entry"));
|
||||
cw->email_entry = GTK_WIDGET (gtk_builder_get_object (builder, "email_entry"));
|
||||
|
||||
cw->shipname_entry = glade_xml_get_widget (xml, "shipname_entry");
|
||||
cw->shipaddr1_entry = glade_xml_get_widget (xml, "shipaddr1_entry");
|
||||
cw->shipaddr2_entry = glade_xml_get_widget (xml, "shipaddr2_entry");
|
||||
cw->shipaddr3_entry = glade_xml_get_widget (xml, "shipaddr3_entry");
|
||||
cw->shipaddr4_entry = glade_xml_get_widget (xml, "shipaddr4_entry");
|
||||
cw->shipphone_entry = glade_xml_get_widget (xml, "shipphone_entry");
|
||||
cw->shipfax_entry = glade_xml_get_widget (xml, "shipfax_entry");
|
||||
cw->shipemail_entry = glade_xml_get_widget (xml, "shipemail_entry");
|
||||
cw->shipname_entry = GTK_WIDGET (gtk_builder_get_object (builder, "shipname_entry"));
|
||||
cw->shipaddr1_entry = GTK_WIDGET (gtk_builder_get_object (builder, "shipaddr1_entry"));
|
||||
cw->shipaddr2_entry = GTK_WIDGET (gtk_builder_get_object (builder, "shipaddr2_entry"));
|
||||
cw->shipaddr3_entry = GTK_WIDGET (gtk_builder_get_object (builder, "shipaddr3_entry"));
|
||||
cw->shipaddr4_entry = GTK_WIDGET (gtk_builder_get_object (builder, "shipaddr4_entry"));
|
||||
cw->shipphone_entry = GTK_WIDGET (gtk_builder_get_object (builder, "shipphone_entry"));
|
||||
cw->shipfax_entry = GTK_WIDGET (gtk_builder_get_object (builder, "shipfax_entry"));
|
||||
cw->shipemail_entry = GTK_WIDGET (gtk_builder_get_object (builder, "shipemail_entry"));
|
||||
|
||||
cw->active_check = glade_xml_get_widget (xml, "active_check");
|
||||
cw->taxincluded_menu = glade_xml_get_widget (xml, "tax_included_menu");
|
||||
cw->notes_text = glade_xml_get_widget (xml, "notes_text");
|
||||
cw->active_check = GTK_WIDGET (gtk_builder_get_object (builder, "active_check"));
|
||||
cw->taxincluded_menu = GTK_WIDGET (gtk_builder_get_object (builder, "tax_included_menu"));
|
||||
cw->notes_text = GTK_WIDGET (gtk_builder_get_object (builder, "notes_text"));
|
||||
|
||||
cw->terms_menu = glade_xml_get_widget (xml, "terms_menu");
|
||||
cw->terms_menu = GTK_WIDGET (gtk_builder_get_object (builder, "terms_menu"));
|
||||
|
||||
cw->taxtable_check = glade_xml_get_widget (xml, "taxtable_button");
|
||||
cw->taxtable_menu = glade_xml_get_widget (xml, "taxtable_menu");
|
||||
cw->taxtable_check = GTK_WIDGET (gtk_builder_get_object (builder, "taxtable_button"));
|
||||
cw->taxtable_menu = GTK_WIDGET (gtk_builder_get_object (builder, "taxtable_menu"));
|
||||
|
||||
/* Currency */
|
||||
edit = gnc_currency_edit_new();
|
||||
gnc_currency_edit_set_currency (GNC_CURRENCY_EDIT(edit), currency);
|
||||
cw->currency_edit = edit;
|
||||
|
||||
hbox = glade_xml_get_widget (xml, "currency_box");
|
||||
hbox = GTK_WIDGET (gtk_builder_get_object (builder, "currency_box"));
|
||||
gtk_box_pack_start (GTK_BOX (hbox), edit, TRUE, TRUE, 0);
|
||||
|
||||
/* DISCOUNT: Percentage Value */
|
||||
@ -583,7 +629,7 @@ gnc_customer_new_window (QofBook *bookp, GncCustomer *cust)
|
||||
cw->discount_amount = edit;
|
||||
gtk_widget_show (edit);
|
||||
|
||||
hbox = glade_xml_get_widget (xml, "discount_box");
|
||||
hbox = GTK_WIDGET (gtk_builder_get_object (builder, "discount_box"));
|
||||
gtk_box_pack_start (GTK_BOX (hbox), edit, TRUE, TRUE, 0);
|
||||
|
||||
/* CREDIT: Monetary Value */
|
||||
@ -596,12 +642,12 @@ gnc_customer_new_window (QofBook *bookp, GncCustomer *cust)
|
||||
cw->credit_amount = edit;
|
||||
gtk_widget_show (edit);
|
||||
|
||||
hbox = glade_xml_get_widget (xml, "credit_box");
|
||||
hbox = GTK_WIDGET (gtk_builder_get_object (builder, "credit_box"));
|
||||
gtk_box_pack_start (GTK_BOX (hbox), edit, TRUE, TRUE, 0);
|
||||
|
||||
/* Setup signals */
|
||||
glade_xml_signal_autoconnect_full( xml,
|
||||
gnc_glade_autoconnect_full_func,
|
||||
gtk_builder_connect_signals_full( builder,
|
||||
gnc_builder_connect_full_func,
|
||||
cw);
|
||||
|
||||
/* Setup initial values */
|
||||
@ -675,11 +721,11 @@ gnc_customer_new_window (QofBook *bookp, GncCustomer *cust)
|
||||
/* I know that cust exists here -- either passed in or just created */
|
||||
|
||||
cw->taxincluded = gncCustomerGetTaxIncluded (cust);
|
||||
gnc_ui_taxincluded_optionmenu (cw->taxincluded_menu, &cw->taxincluded);
|
||||
gnc_ui_billterms_optionmenu (cw->terms_menu, bookp, TRUE, &cw->terms);
|
||||
gnc_taxincluded_combo (GTK_COMBO_BOX(cw->taxincluded_menu), cw->taxincluded);
|
||||
gnc_billterms_combo (GTK_COMBO_BOX(cw->terms_menu), bookp, TRUE, cw->terms);
|
||||
|
||||
cw->taxtable = gncCustomerGetTaxTable (cust);
|
||||
gnc_ui_taxtables_optionmenu (cw->taxtable_menu, bookp, TRUE, &cw->taxtable);
|
||||
gnc_taxtables_combo (GTK_COMBO_BOX(cw->taxtable_menu), bookp, TRUE, cw->taxtable);
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cw->taxtable_check),
|
||||
gncCustomerGetTaxTableOverride (cust));
|
||||
gnc_customer_taxtable_check_cb (GTK_TOGGLE_BUTTON (cw->taxtable_check), cw);
|
||||
@ -700,6 +746,7 @@ gnc_customer_new_window (QofBook *bookp, GncCustomer *cust)
|
||||
QOF_EVENT_MODIFY | QOF_EVENT_DESTROY);
|
||||
|
||||
gtk_widget_show_all (cw->dialog);
|
||||
g_object_unref(G_OBJECT(builder));
|
||||
|
||||
return cw;
|
||||
}
|
||||
|
@ -3,7 +3,6 @@ glade_DATA = \
|
||||
billterms.glade \
|
||||
businessprefs.glade \
|
||||
choose-owner.glade \
|
||||
customer.glade \
|
||||
date-close.glade \
|
||||
employee.glade \
|
||||
job.glade \
|
||||
|
@ -1,10 +1,10 @@
|
||||
gtkbuilderdir = $(GNC_GTKBUILDER_DIR)
|
||||
gtkbuilder_DATA = \
|
||||
dialog-customer.glade \
|
||||
dialog-invoice.glade
|
||||
# billterms.glade \
|
||||
# businessprefs.glade \
|
||||
# choose-owner.glade \
|
||||
# customer.glade \
|
||||
# date-close.glade \
|
||||
# employee.glade \
|
||||
# job.glade \
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user