293
296
static GtkWidget *
294
ui_flt_panel_category_new (struct ui_flt_manage_data *data)
297
ui_flt_hub_category_new (struct ui_flt_manage_data *data)
296
299
GtkWidget *hubbox, *scrollwin, *hbox, *vbox, *widget, *label, *tbar;
297
300
GtkToolItem *toolitem;
299
302
hubbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_SMALL);
301
label = make_label (_("Categories"), 0, 0);
304
/*label = make_label (_("Categories"), 0, 0);
302
305
gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1);
303
gtk_box_pack_start (GTK_BOX (hubbox), label, FALSE, FALSE, 0);
306
gtk_box_pack_start (GTK_BOX (hubbox), label, FALSE, FALSE, 0);*/
305
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_MEDIUM);
308
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL);
306
309
gtk_box_pack_start (GTK_BOX (hubbox), hbox, FALSE, FALSE, 0);
308
311
label = make_label (_("Select:"), 0, 0.5);
312
gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1);
309
313
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
311
315
label = make_clicklabel("all", _("All"));
312
316
data->BT_cat[BUTTON_ALL] = label;
313
317
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
314
g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_panel_category_activate_link), NULL);
318
g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_hub_category_activate_link), NULL);
316
320
label = make_clicklabel("non", _("None"));
317
321
data->BT_cat[BUTTON_NONE] = label;
318
322
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
319
g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_panel_category_activate_link), NULL);
323
g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_hub_category_activate_link), NULL);
321
325
label = make_clicklabel("inv", _("Invert"));
322
326
data->BT_cat[BUTTON_INVERT] = label;
323
327
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
324
g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_panel_category_activate_link), NULL);
328
g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_hub_category_activate_link), NULL);
327
331
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
373
377
/* = = = = = = = = = = = = = = = = */
380
static void ui_flt_hub_payee_get(Filter *flt, struct ui_flt_manage_data *data)
388
DB( g_print("(ui_flt_hub_payee) get\n") );
390
model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_pay));
391
//selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_pay));
392
i=0; valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter);
397
gtk_tree_model_get (model, &iter,
398
LST_DEFPAY_TOGGLE, &toggled,
399
LST_DEFPAY_DATAS, &payitem,
402
DB( g_print(" payee k:%3d = %d (%s)\n", payitem->key, toggled, payitem->name) );
403
da_flt_status_pay_set(flt, payitem->key, toggled);
405
//payitem->flt_select = toggled;
407
/* Make iter point to the next row in the list store */
408
i++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter);
414
static void ui_flt_hub_payee_set(Filter *flt, struct ui_flt_manage_data *data)
417
DB( g_print("(ui_flt_hub_payee) set\n") );
419
if(data->filter != NULL)
422
//GtkTreeSelection *selection;
427
model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_pay));
428
//selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_pay));
429
i=0; valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter);
435
gtk_tree_model_get (model, &iter,
436
LST_DEFPAY_DATAS, &payitem,
439
status = da_flt_status_pay_get(flt, payitem->key);
440
gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFPAY_TOGGLE, status, -1);
442
/* Make iter point to the next row in the list store */
443
i++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter);
376
451
static void ui_flt_manage_pay_select(GtkWidget *widget, gpointer user_data)
378
453
struct ui_flt_manage_data *data;
439
513
static GtkWidget *
440
ui_flt_panel_payee_new (struct ui_flt_manage_data *data)
514
ui_flt_hub_payee_new (struct ui_flt_manage_data *data)
442
516
GtkWidget *scrollwin, *hbox, *vbox, *label;
444
518
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_SMALL);
446
label = make_label (_("Payees"), 0, 0);
520
/*label = make_label (_("Payees"), 0, 0);
447
521
gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1);
448
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
522
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);*/
450
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_MEDIUM);
524
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL);
451
525
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
453
527
label = make_label (_("Select:"), 0, 0.5);
528
gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1);
454
529
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
456
531
label = make_clicklabel("all", _("All"));
457
532
data->BT_pay[BUTTON_ALL] = label;
458
533
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
459
g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_panel_payee_activate_link), NULL);
534
g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_hub_payee_activate_link), NULL);
461
536
label = make_clicklabel("non", _("None"));
462
537
data->BT_pay[BUTTON_NONE] = label;
463
538
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
464
g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_panel_payee_activate_link), NULL);
539
g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_hub_payee_activate_link), NULL);
466
541
label = make_clicklabel("inv", _("Invert"));
467
542
data->BT_pay[BUTTON_INVERT] = label;
468
543
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
469
g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_panel_payee_activate_link), NULL);
544
g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_hub_payee_activate_link), NULL);
471
546
scrollwin = gtk_scrolled_window_new(NULL,NULL);
472
547
gtk_box_pack_start (GTK_BOX (vbox), scrollwin, TRUE, TRUE, 0);
490
560
/* = = = = = = = = = = = = = = = = */
492
static void ui_flt_manage_acc_select(GtkWidget *widget, gpointer user_data)
494
struct ui_flt_manage_data *data;
495
gint select = GPOINTER_TO_INT(user_data);
501
DB( g_print("(ui_flt_manage) acc select\n") );
503
data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data");
505
model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_acc));
506
valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter);
512
gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFACC_TOGGLE, TRUE, -1);
515
gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFACC_TOGGLE, FALSE, -1);
518
gtk_tree_model_get (model, &iter, LST_DEFACC_TOGGLE, &toggle, -1);
520
gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFACC_TOGGLE, toggle, -1);
523
valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter);
563
static void ui_flt_hub_account_get(Filter *flt, struct ui_flt_hub_stuf *data)
570
DB( g_print("(ui_flt_hub_account) get\n") );
572
model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->treeview));
573
//selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_acc));
574
i=0; valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter);
580
gtk_tree_model_get (model, &iter,
581
LST_DEFACC_TOGGLE, &toggled,
582
LST_DEFACC_DATAS, &accitem,
585
DB( g_print(" acc k:%3d = %d (%s)\n", accitem->key, toggled, accitem->name) );
586
da_flt_status_acc_set(flt, accitem->key, toggled);
588
//accitem->flt_select = toggled;
590
/* Make iter point to the next row in the list store */
591
i++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter);
596
static void ui_flt_hub_account_set(Filter *flt, struct ui_flt_hub_stuf *data)
603
DB( g_print("(ui_flt_hub_account) set\n") );
605
model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->treeview));
606
//selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_acc));
607
i=0; valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter);
613
gtk_tree_model_get (model, &iter,
614
LST_DEFACC_DATAS, &accitem,
617
status = da_flt_status_acc_get(flt, accitem->key);
618
gtk_list_store_set (GTK_LIST_STORE (model), &iter,
619
LST_DEFACC_TOGGLE, status, -1);
621
/* Make iter point to the next row in the list store */
622
i++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter);
529
ui_flt_panel_account_activate_link (GtkWidget *label,
630
ui_flt_hub_account_activate_link (GtkWidget *label,
530
631
const gchar *uri,
639
DB( g_print("(ui_flt_hub_account) activate_link\n") );
641
g_return_val_if_fail(GTK_IS_TREE_VIEW(user_data), TRUE);
643
model = gtk_tree_view_get_model(GTK_TREE_VIEW(user_data));
533
645
DB( g_print(" comboboxlink '%s' \n", uri) );
535
647
if (g_strcmp0 (uri, "all") == 0)
537
ui_flt_manage_acc_select(label, GINT_TO_POINTER(BUTTON_ALL) );
649
valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter);
652
gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFACC_TOGGLE, TRUE, -1);
653
valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter);
540
657
if (g_strcmp0 (uri, "non") == 0)
542
ui_flt_manage_acc_select(label, GINT_TO_POINTER(BUTTON_NONE) );
659
valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter);
662
gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFACC_TOGGLE, FALSE, -1);
663
valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter);
545
667
if (g_strcmp0 (uri, "inv") == 0)
547
ui_flt_manage_acc_select(label, GINT_TO_POINTER(BUTTON_INVERT) );
669
valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter);
672
gtk_tree_model_get (model, &iter, LST_DEFACC_TOGGLE, &toggle, -1);
674
gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFACC_TOGGLE, toggle, -1);
675
valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter);
553
683
static GtkWidget *
554
ui_flt_panel_account_new (struct ui_flt_manage_data *data)
684
ui_flt_hub_account_new (struct ui_flt_hub_stuf *data)
556
686
GtkWidget *scrollwin, *hbox, *vbox, *label;
688
DB( g_print("(ui_flt_hub_account) new\n") );
558
690
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_SMALL);
560
label = make_label (_("Accounts"), 0, 0);
692
/*label = make_label (_("Accounts"), 0, 0);
561
693
gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1);
562
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
694
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);*/
564
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_MEDIUM);
696
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL);
565
697
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
567
699
label = make_label (_("Select:"), 0, 0.5);
700
gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1);
568
701
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
570
703
label = make_clicklabel("all", _("All"));
571
data->BT_acc[BUTTON_ALL] = label;
572
705
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
573
g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_panel_account_activate_link), NULL);
575
707
label = make_clicklabel("non", _("None"));
576
data->BT_acc[BUTTON_NONE] = label;
708
data->BT_none = label;
577
709
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
578
g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_panel_account_activate_link), NULL);
580
711
label = make_clicklabel("inv", _("Invert"));
581
data->BT_acc[BUTTON_INVERT] = label;
712
data->BT_invert = label;
582
713
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
583
g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_panel_account_activate_link), NULL);
585
715
scrollwin = gtk_scrolled_window_new(NULL,NULL);
716
//gtk_widget_set_size_request (scrollwin, HB_MINWIDTH_LIST, HB_MINHEIGHT_LIST);
586
718
gtk_box_pack_start (GTK_BOX (vbox), scrollwin, TRUE, TRUE, 0);
588
720
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
589
721
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN);
590
722
//gtk_container_set_border_width (GTK_CONTAINER(scrollwin), SPACING_SMALL);
592
data->LV_acc = (GtkWidget *)ui_acc_listview_new(TRUE);
593
gtk_container_add(GTK_CONTAINER(scrollwin), data->LV_acc);
724
data->treeview = (GtkWidget *)ui_acc_listview_new(TRUE);
725
gtk_container_add(GTK_CONTAINER(scrollwin), data->treeview);
727
g_signal_connect (data->BT_all, "activate-link", G_CALLBACK (ui_flt_hub_account_activate_link), data->treeview);
728
g_signal_connect (data->BT_none, "activate-link", G_CALLBACK (ui_flt_hub_account_activate_link), data->treeview);
729
g_signal_connect (data->BT_invert, "activate-link", G_CALLBACK (ui_flt_hub_account_activate_link), data->treeview);
620
756
active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FILTER_STATUS]));
621
757
sensitive = active == 0 ? FALSE : TRUE;
622
gtk_widget_set_sensitive(data->CM_reconciled, sensitive);
623
gtk_widget_set_sensitive(data->CM_cleared, sensitive);
758
gtk_widget_set_sensitive(data->GR_page[FILTER_STATUS], sensitive);
761
active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FILTER_TYPE]));
762
sensitive = active == 0 ? FALSE : TRUE;
763
gtk_widget_set_sensitive(data->GR_page[FILTER_TYPE], sensitive);
626
766
active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FILTER_DATE]));
627
767
sensitive = active == 0 ? FALSE : TRUE;
628
gtk_widget_set_sensitive(data->PO_mindate, sensitive);
629
gtk_widget_set_sensitive(data->PO_maxdate, sensitive);
630
gtk_widget_set_sensitive(data->CY_month, sensitive);
631
gtk_widget_set_sensitive(data->NB_year, sensitive);
768
gtk_widget_set_sensitive(data->GR_page[FILTER_DATE], sensitive);
634
771
active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FILTER_AMOUNT]));
635
772
sensitive = active == 0 ? FALSE : TRUE;
636
gtk_widget_set_sensitive(data->ST_minamount, sensitive);
637
gtk_widget_set_sensitive(data->ST_maxamount, sensitive);
773
gtk_widget_set_sensitive(data->GR_page[FILTER_AMOUNT], sensitive);
640
776
active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FILTER_TEXT]));
641
777
sensitive = active == 0 ? FALSE : TRUE;
642
gtk_widget_set_sensitive(data->CM_exact, sensitive);
643
gtk_widget_set_sensitive(data->ST_memo, sensitive);
644
gtk_widget_set_sensitive(data->ST_info, sensitive);
645
gtk_widget_set_sensitive(data->ST_tag, sensitive);
778
gtk_widget_set_sensitive(data->GR_page[FILTER_TEXT], sensitive);
648
781
active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FILTER_PAYMODE]));
649
782
sensitive = active == 0 ? FALSE : TRUE;
650
for(i=0;i<NUM_PAYMODE_MAX;i++)
652
gtk_widget_set_sensitive(data->CM_paymode[i], sensitive);
783
gtk_widget_set_sensitive(data->GR_page[FILTER_PAYMODE], sensitive);
656
786
if(data->show_account == TRUE)
658
788
active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FILTER_ACCOUNT]));
659
789
sensitive = active == 0 ? FALSE : TRUE;
660
gtk_widget_set_sensitive(data->LV_acc, sensitive);
661
for(i=0;i<MAX_BUTTON;i++)
663
gtk_widget_set_sensitive(data->BT_acc[i], sensitive);
790
gtk_widget_set_sensitive(data->GR_page[FILTER_ACCOUNT], sensitive);
670
794
active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FILTER_PAYEE]));
671
795
sensitive = active == 0 ? FALSE : TRUE;
672
gtk_widget_set_sensitive(data->LV_pay, sensitive);
673
for(i=0;i<MAX_BUTTON;i++)
675
gtk_widget_set_sensitive(data->BT_pay[i], sensitive);
796
gtk_widget_set_sensitive(data->GR_page[FILTER_PAYEE], sensitive);
679
799
active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FILTER_CATEGORY]));
680
800
sensitive = active == 0 ? FALSE : TRUE;
681
gtk_widget_set_sensitive(data->LV_cat, sensitive);
682
for(i=0;i<MAX_BUTTON;i++)
684
gtk_widget_set_sensitive(data->BT_cat[i], sensitive);
801
gtk_widget_set_sensitive(data->GR_page[FILTER_CATEGORY], sensitive);
782
899
data->filter->tag = g_strdup(txt);
787
903
if(data->show_account == TRUE)
789
DB( g_print(" account\n") );
791
model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_acc));
792
//selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_acc));
793
i=0; valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter);
798
gtk_tree_model_get (model, &iter,
799
LST_DEFACC_TOGGLE, &toggled,
800
LST_DEFACC_DATAS, &accitem,
803
//data->filter->acc[i] = gtk_tree_selection_iter_is_selected(selection, &iter);
804
accitem->flt_select = toggled;
806
/* Make iter point to the next row in the list store */
807
i++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter);
905
ui_flt_hub_account_get(data->filter, &data->pnl_acc_data);
812
DB( g_print(" payee\n") );
814
model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_pay));
815
//selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_pay));
816
i=0; valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter);
821
gtk_tree_model_get (model, &iter,
822
LST_DEFPAY_TOGGLE, &toggled,
823
LST_DEFPAY_DATAS, &payitem,
826
//data->filter->pay[i] = gtk_tree_selection_iter_is_selected(selection, &iter);
827
payitem->flt_select = toggled;
829
/* Make iter point to the next row in the list store */
830
i++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter);
909
ui_flt_hub_payee_get(data->filter, data);
834
DB( g_print(" category\n") );
836
ui_flt_panel_category_get(data);
912
ui_flt_hub_category_get(data->filter, data);
839
915
g_strlcpy(data->filter->last_tab, gtk_stack_get_visible_child_name(GTK_STACK(data->stack)), 8);
878
948
DB( g_print(" date\n") );
879
949
gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_mindate), data->filter->mindate);
880
950
gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_maxdate), data->filter->maxdate);
881
date = g_date_new_julian(data->filter->maxdate);
882
gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->NB_year), g_date_get_year(date));
886
DB( g_print(" status\n") );
887
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_reconciled), data->filter->reconciled);
953
DB( g_print(" status/type\n") );
954
hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_type), data->filter->type);
955
hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_status), data->filter->status);
890
957
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_forceadd), data->filter->forceadd);
891
958
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_forcechg), data->filter->forcechg);
892
959
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_forceremind), data->filter->forceremind);
960
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_forcevoid), data->filter->forcevoid);
895
963
DB( g_print(" paymode\n") );
897
965
for(i=0;i<NUM_PAYMODE_MAX;i++)
898
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_paymode[i]), data->filter->paymode[i]);
969
if( !GTK_IS_TOGGLE_BUTTON(data->CM_paymode[i] ))
972
uid = GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(data->CM_paymode[i]), "uid"));
973
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_paymode[i]), data->filter->paymode[uid]);
901
gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_minamount), data->filter->minamount);
902
gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_maxamount), data->filter->maxamount);
978
gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_minamount), data->filter->minamount);
979
gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_maxamount), data->filter->maxamount);
905
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_exact), data->filter->exact);
906
gtk_entry_set_text(GTK_ENTRY(data->ST_info), (data->filter->info != NULL) ? data->filter->info : "");
907
gtk_entry_set_text(GTK_ENTRY(data->ST_memo), (data->filter->memo != NULL) ? data->filter->memo : "");
908
gtk_entry_set_text(GTK_ENTRY(data->ST_tag), (data->filter->tag != NULL) ? data->filter->tag : "");
982
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_exact), data->filter->exact);
983
gtk_entry_set_text(GTK_ENTRY(data->ST_info), (data->filter->info != NULL) ? data->filter->info : "");
984
gtk_entry_set_text(GTK_ENTRY(data->ST_memo), (data->filter->memo != NULL) ? data->filter->memo : "");
985
gtk_entry_set_text(GTK_ENTRY(data->ST_tag), (data->filter->tag != NULL) ? data->filter->tag : "");
911
988
if(data->show_account == TRUE)
913
990
DB( g_print(" account\n") );
915
model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_acc));
916
//selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_acc));
917
i=0; valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter);
922
gtk_tree_model_get (model, &iter,
923
LST_DEFACC_DATAS, &accitem,
926
if(accitem->flt_select == TRUE)
927
//gtk_tree_selection_select_iter(selection, &iter);
928
gtk_list_store_set (GTK_LIST_STORE (model), &iter,
929
LST_DEFACC_TOGGLE, TRUE, -1);
931
/* Make iter point to the next row in the list store */
932
i++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter);
991
ui_flt_hub_account_set(data->filter, &data->pnl_acc_data);
937
DB( g_print(" payee\n") );
939
model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_pay));
940
//selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_pay));
941
i=0; valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter);
946
gtk_tree_model_get (model, &iter,
947
LST_DEFPAY_DATAS, &payitem,
950
if(payitem->flt_select == TRUE)
951
gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFPAY_TOGGLE, TRUE, -1);
953
/* Make iter point to the next row in the list store */
954
i++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter);
995
ui_flt_hub_payee_set(data->filter, data);
958
DB( g_print(" category\n") );
960
ui_flt_panel_category_set(data);
998
ui_flt_hub_category_set(data->filter, data);
1057
static GtkWidget *ui_flt_manage_page_option (struct ui_flt_manage_data *data, guint index)
1059
GtkWidget *container, *hbox, *label;
1061
container = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_LARGE);
1062
//gtk_container_set_border_width (GTK_CONTAINER (container), SPACING_MEDIUM);
1064
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL);
1065
gtk_box_pack_start (GTK_BOX (container), hbox, FALSE, FALSE, 0);
1067
label = make_label_widget(_("_Option:"));
1068
gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
1069
data->CY_option[index] = make_nainex(label);
1070
//data->CY_option[index] = hbtk_radio_button_new(nainex_label_names, TRUE);
1071
gtk_box_pack_start (GTK_BOX (hbox), data->CY_option[index], TRUE, TRUE, 0);
1023
1077
static GtkWidget *ui_flt_manage_page_category (struct ui_flt_manage_data *data)
1025
GtkWidget *container, *panel, *hbox, *label;
1027
container = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_SMALL);
1028
gtk_container_set_border_width (GTK_CONTAINER (container), SPACING_MEDIUM);
1030
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL);
1031
gtk_box_pack_start (GTK_BOX (container), hbox, FALSE, FALSE, 0);
1033
label = make_label_widget(_("_Option:"));
1034
gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
1035
data->CY_option[FILTER_CATEGORY] = make_nainex(label);
1036
gtk_box_pack_start (GTK_BOX (hbox), data->CY_option[FILTER_CATEGORY], TRUE, TRUE, 0);
1038
panel = ui_flt_panel_category_new(data);
1079
GtkWidget *container, *panel;
1081
container = ui_flt_manage_page_option(data, FILTER_CATEGORY);
1082
panel = ui_flt_hub_category_new(data);
1083
data->GR_page[FILTER_CATEGORY] = panel;
1039
1084
gtk_box_pack_start (GTK_BOX (container), panel, TRUE, TRUE, 0);
1041
1086
return(container);
1069
1105
static GtkWidget *ui_flt_manage_page_account (struct ui_flt_manage_data *data)
1071
GtkWidget *container, *panel, *hbox, *label;
1073
container = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_SMALL);
1074
gtk_container_set_border_width (GTK_CONTAINER (container), SPACING_MEDIUM);
1076
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL);
1077
gtk_box_pack_start (GTK_BOX (container), hbox, FALSE, FALSE, 0);
1079
label = make_label_widget(_("_Option:"));
1080
gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
1081
data->CY_option[FILTER_ACCOUNT] = make_nainex(label);
1082
gtk_box_pack_start (GTK_BOX (hbox), data->CY_option[FILTER_ACCOUNT], TRUE, TRUE, 0);
1084
panel = ui_flt_panel_account_new(data);
1107
GtkWidget *container, *panel;
1109
container = ui_flt_manage_page_option(data, FILTER_ACCOUNT);
1110
panel = ui_flt_hub_account_new(&data->pnl_acc_data);
1111
data->GR_page[FILTER_ACCOUNT] = panel;
1085
1112
gtk_box_pack_start (GTK_BOX (container), panel, TRUE, TRUE, 0);
1087
1114
return(container);
1091
static void get_period_minmax(guint month, guint year, guint32 *mindate, guint32 *maxdate)
1095
date = g_date_new();
1098
// mindate is month 1, year :: maxdate is last day of month, year
1099
g_date_set_dmy(date, 1, month, year);
1100
*mindate = g_date_get_julian(date);
1101
g_date_add_days(date, g_date_get_days_in_month(month, year));
1102
*maxdate = g_date_get_julian(date)-1;
1106
g_date_set_dmy(date, 1, 1, year);
1107
*mindate = g_date_get_julian(date);
1108
g_date_set_dmy(date, 31, 12, year);
1109
*maxdate = g_date_get_julian(date);
1116
static void ui_flt_manage_period_change(GtkWidget *widget, gpointer user_data)
1118
struct ui_flt_manage_data *data;
1121
DB( g_print("(ui_flt_manage) period change\n") );
1123
data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data");
1126
month = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_month));
1127
year = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->NB_year));
1129
DB( g_print(" month=%d, year=%d\n", month, year) );
1133
get_period_minmax(month-1, year, &data->filter->mindate, &data->filter->maxdate);
1135
get_period_minmax(0, year, &data->filter->mindate, &data->filter->maxdate);
1137
gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_mindate), data->filter->mindate);
1138
gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_maxdate), data->filter->maxdate);
1142
1118
static GtkWidget *ui_flt_manage_part_date(struct ui_flt_manage_data *data)
1144
GtkWidget *table, *label;
1120
GtkWidget *container, *table, *label;
1147
table = gtk_grid_new ();
1123
container = ui_flt_manage_page_option(data, FILTER_DATE);
1125
table = gtk_grid_new ();
1148
1126
gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL);
1149
1127
gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM);
1150
gtk_container_set_border_width(GTK_CONTAINER(table), SPACING_MEDIUM);
1129
data->GR_page[FILTER_DATE] = table;
1130
gtk_box_pack_start (GTK_BOX (container), table, TRUE, TRUE, 0);
1153
label = make_label_widget(_("_Option:"));
1154
//----------------------------------------- l, r, t, b
1155
gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1);
1156
data->CY_option[FILTER_DATE] = make_nainex(label);
1157
gtk_grid_attach (GTK_GRID (table), data->CY_option[FILTER_DATE], 2, row, 1, 1);
1160
label = make_label (_("Dates"), 0, 0);
1133
/*label = make_label (_("Dates"), 0, 0);
1161
1134
gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1);
1162
1135
gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1);
1165
1138
label = make_label_widget(_("_From:"));
1166
gtk_grid_attach (GTK_GRID (table), label, 0, row, 1, 1);
1139
gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1);
1167
1140
data->PO_mindate = gtk_date_entry_new(label);
1168
gtk_grid_attach (GTK_GRID (table), data->PO_mindate, 1, row, 2, 1);
1141
gtk_grid_attach (GTK_GRID (table), data->PO_mindate, 2, row, 1, 1);
1171
1144
label = make_label_widget(_("_To:"));
1172
gtk_grid_attach (GTK_GRID (table), label, 0, row, 1, 1);
1145
gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1);
1173
1146
data->PO_maxdate = gtk_date_entry_new(label);
1174
gtk_grid_attach (GTK_GRID (table), data->PO_maxdate, 1, row, 2, 1);
1177
label = make_label_widget(_("_Month:"));
1178
gtk_grid_attach (GTK_GRID (table), label, 0, row, 1, 1);
1179
data->CY_month = make_cycle(label, CYA_SELECT);
1180
gtk_grid_attach (GTK_GRID (table), data->CY_month, 1, row, 2, 1);
1183
label = make_label_widget(_("_Year:"));
1184
gtk_grid_attach (GTK_GRID (table), label, 0, row, 1, 1);
1185
data->NB_year = make_year(label);
1186
gtk_grid_attach (GTK_GRID (table), data->NB_year, 1, row, 2, 1);
1147
gtk_grid_attach (GTK_GRID (table), data->PO_maxdate, 2, row, 1, 1);
1192
1153
static GtkWidget *ui_flt_manage_part_text(struct ui_flt_manage_data *data)
1194
GtkWidget *table, *label;
1155
GtkWidget *container, *table, *label;
1158
container = ui_flt_manage_page_option(data, FILTER_TEXT);
1197
1160
table = gtk_grid_new ();
1198
1161
gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL);
1199
1162
gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM);
1200
gtk_container_set_border_width(GTK_CONTAINER(table), SPACING_MEDIUM);
1164
data->GR_page[FILTER_TEXT] = table;
1165
gtk_box_pack_start (GTK_BOX (container), table, TRUE, TRUE, 0);
1203
label = make_label_widget(_("_Option:"));
1204
//----------------------------------------- l, r, t, b
1205
gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1);
1206
data->CY_option[FILTER_TEXT] = make_nainex(label);
1207
gtk_grid_attach (GTK_GRID (table), data->CY_option[FILTER_TEXT], 2, row, 1, 1);
1210
label = make_label (_("Texts"), 0, 0);
1168
/*label = make_label (_("Texts"), 0, 0);
1211
1169
gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1);
1212
1170
gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1);
1215
1173
label = make_label_widget(_("_Memo:"));
1216
1174
gtk_grid_attach (GTK_GRID (table), label, 0, row, 1, 1);
1217
1175
data->ST_memo = make_string(label);
1239
1197
gtk_grid_attach (GTK_GRID (table), data->CM_exact, 1, row, 2, 1);
1245
1203
static GtkWidget *ui_flt_manage_part_amount(struct ui_flt_manage_data *data)
1247
GtkWidget *table, *label;
1205
GtkWidget *container, *table, *label;
1208
container = ui_flt_manage_page_option(data, FILTER_AMOUNT);
1250
1210
table = gtk_grid_new ();
1251
1211
gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL);
1252
1212
gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM);
1253
gtk_container_set_border_width(GTK_CONTAINER(table), SPACING_MEDIUM);
1214
data->GR_page[FILTER_AMOUNT] = table;
1215
gtk_box_pack_start (GTK_BOX (container), table, TRUE, TRUE, 0);
1256
label = make_label_widget(_("_Option:"));
1257
//----------------------------------------- l, r, t, b
1258
gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1);
1259
data->CY_option[FILTER_AMOUNT] = make_nainex(label);
1260
gtk_grid_attach (GTK_GRID (table), data->CY_option[FILTER_AMOUNT], 2, row, 1, 1);
1263
label = make_label (_("Amounts"), 0, 0);
1218
/*label = make_label (_("Amounts"), 0, 0);
1264
1219
gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1);
1265
1220
gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1);
1268
1223
label = make_label_widget(_("_From:"));
1269
1224
//----------------------------------------- l, r, t, b
1270
1225
gtk_grid_attach (GTK_GRID (table), label, 0, row, 1, 1);
1277
1232
data->ST_maxamount = make_amount(label);
1278
1233
gtk_grid_attach (GTK_GRID (table), data->ST_maxamount, 1, row, 2, 1);
1284
1239
static GtkWidget *ui_flt_manage_part_status(struct ui_flt_manage_data *data)
1286
GtkWidget *table, *label, *vbox, *widget;
1241
GtkWidget *content, *container, *table, *label, *widget, *vbox;
1289
table = gtk_grid_new ();
1290
gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL);
1291
gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM);
1292
gtk_container_set_border_width(GTK_CONTAINER(table), SPACING_MEDIUM);
1295
label = make_label_widget(_("_Option:"));
1296
//----------------------------------------- l, r, t, b
1297
gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1);
1298
data->CY_option[FILTER_STATUS] = make_nainex(label);
1299
gtk_grid_attach (GTK_GRID (table), data->CY_option[FILTER_STATUS], 2, row, 1, 1);
1302
label = make_label (_("Statuses"), 0, 0);
1303
gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1);
1304
gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1);
1308
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
1309
gtk_grid_attach (GTK_GRID (table), vbox, 2, row, 1, 1);
1311
widget = gtk_check_button_new_with_mnemonic (_("reconciled"));
1312
data->CM_reconciled = widget;
1313
gtk_box_pack_start (GTK_BOX (vbox), widget, TRUE, TRUE, 0);
1315
widget = gtk_check_button_new_with_mnemonic (_("cleared"));
1316
data->CM_cleared = widget;
1317
gtk_box_pack_start (GTK_BOX (vbox), widget, TRUE, TRUE, 0);
1244
content = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
1247
container = ui_flt_manage_page_option(data, FILTER_STATUS);
1248
gtk_box_pack_start (GTK_BOX (content), container, TRUE, TRUE, 0);
1250
table = gtk_grid_new ();
1251
gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL);
1252
gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM);
1253
gtk_widget_set_margin_bottom(table, SPACING_LARGE);
1255
data->GR_page[FILTER_STATUS] = table;
1256
gtk_box_pack_start (GTK_BOX (container), table, TRUE, TRUE, 0);
1259
label = make_label_widget(_("_Status:"));
1260
//----------------------------------------- l, r, t, b
1261
gtk_grid_attach (GTK_GRID (table), label, 0, row, 1, 1);
1263
widget = hbtk_combo_box_new(NULL);
1264
hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widget), FLT_STATUS_ALL , _("Any Status"));
1265
hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widget), FLT_STATUS_CLEARED , _("Cleared"));
1266
hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widget), FLT_STATUS_RECONCILED, _("Reconciled"));
1267
data->CY_status = widget;
1268
gtk_grid_attach (GTK_GRID (table), widget, 1, row, 1, 1);
1271
container = ui_flt_manage_page_option(data, FILTER_TYPE);
1272
gtk_box_pack_start (GTK_BOX (content), container, TRUE, TRUE, 0);
1274
table = gtk_grid_new ();
1275
gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL);
1276
gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM);
1278
data->GR_page[FILTER_TYPE] = table;
1279
gtk_box_pack_start (GTK_BOX (container), table, FALSE, FALSE, 0);
1282
label = make_label_widget(_("_Type:"));
1283
//----------------------------------------- l, r, t, b
1284
gtk_grid_attach (GTK_GRID (table), label, 0, row, 1, 1);
1286
widget = hbtk_combo_box_new(NULL);
1287
hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widget), FLT_TYPE_ALL , _("Any Type"));
1288
hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widget), FLT_TYPE_EXPENSE, _("Expense"));
1289
hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widget), FLT_TYPE_INCOME , _("Income"));
1290
hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widget), FLT_TYPE_INTXFER, _("Transfer"));
1291
data->CY_type = widget;
1292
gtk_grid_attach (GTK_GRID (table), widget, 1, row, 1, 1);
1295
table = gtk_grid_new ();
1296
gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL);
1297
gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM);
1299
gtk_box_pack_start (GTK_BOX (content), table, TRUE, TRUE, 0);
1320
1302
label = make_label_widget(_("Force:"));
1321
1303
data->LB_force = label;
1322
1304
gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1);
1337
1319
data->CM_forceremind = widget;
1338
1320
gtk_box_pack_start (GTK_BOX (vbox), widget, TRUE, TRUE, 0);
1322
widget = gtk_check_button_new_with_mnemonic (_("display 'Void'"));
1323
data->CM_forcevoid = widget;
1324
gtk_box_pack_start (GTK_BOX (vbox), widget, TRUE, TRUE, 0);
1331
ui_flt_manage_part_paymode_activate_link (GtkWidget *label,
1335
struct ui_flt_manage_data *data;
1338
DB( g_print("(ui_flt_hub_account) activate_link\n") );
1340
data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(label, GTK_TYPE_WINDOW)), "inst_data");
1342
for(i=0;i<NUM_PAYMODE_MAX;i++)
1344
if( !GTK_IS_TOGGLE_BUTTON(data->CM_paymode[i] ))
1347
if (g_strcmp0 (uri, "all") == 0)
1349
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_paymode[i]), TRUE);
1352
if (g_strcmp0 (uri, "non") == 0)
1354
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_paymode[i]), FALSE);
1357
if (g_strcmp0 (uri, "inv") == 0)
1359
gboolean act = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_paymode[i]));
1360
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_paymode[i]), !act);
1344
1369
static GtkWidget *ui_flt_manage_part_paymode(struct ui_flt_manage_data *data)
1346
GtkWidget *table, *label, *table1, *image;
1371
GtkWidget *container, *vbox, *hbox, *label, *widget, *table, *image;
1372
HbKivData *tmp, *kvdata = CYA_TXN_PAYMODE;
1349
table = gtk_grid_new ();
1350
gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL);
1351
gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM);
1352
gtk_container_set_border_width(GTK_CONTAINER(table), SPACING_MEDIUM);
1355
label = make_label_widget(_("_Option:"));
1356
//----------------------------------------- l, r, t, b
1357
gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1);
1358
data->CY_option[FILTER_PAYMODE] = make_nainex(label);
1359
gtk_grid_attach (GTK_GRID (table), data->CY_option[FILTER_PAYMODE], 2, row, 1, 1);
1362
label = make_label (_("Payments"), 0, 0);
1375
container = ui_flt_manage_page_option(data, FILTER_PAYMODE);
1377
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_SMALL);
1378
data->GR_page[FILTER_PAYMODE] = vbox;
1379
gtk_box_pack_start (GTK_BOX (container), vbox, TRUE, TRUE, 0);
1381
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL);
1382
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
1384
label = make_label (_("Select:"), 0, 0.5);
1385
gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1);
1386
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
1388
label = make_clicklabel("all", _("All"));
1389
//data->BT_cat[BUTTON_ALL] = label;
1390
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
1391
g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_manage_part_paymode_activate_link), NULL);
1393
label = make_clicklabel("non", _("None"));
1394
//data->BT_cat[BUTTON_NONE] = label;
1395
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
1396
g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_manage_part_paymode_activate_link), NULL);
1398
label = make_clicklabel("inv", _("Invert"));
1399
//data->BT_cat[BUTTON_INVERT] = label;
1400
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
1401
g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_manage_part_paymode_activate_link), NULL);
1403
/*label = make_label (_("Payments"), 0, 0);
1363
1404
gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1);
1364
1405
gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1);
1367
table1 = gtk_grid_new ();
1368
gtk_grid_set_row_spacing (GTK_GRID (table1), SPACING_SMALL);
1369
gtk_grid_set_column_spacing (GTK_GRID (table1), SPACING_SMALL);
1370
gtk_grid_attach (GTK_GRID (table), table1, 1, row, 2, 1);
1408
table = gtk_grid_new ();
1409
//gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL);
1410
//gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_SMALL);
1411
gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0);
1372
1414
for(i=0;i<NUM_PAYMODE_MAX;i++)
1418
if( tmp->name == NULL )
1376
image = gtk_image_new_from_icon_name( get_paymode_icon_name(i), GTK_ICON_SIZE_MENU);
1377
gtk_grid_attach (GTK_GRID (table1), image, 0, row, 1, 1);
1423
image = gtk_image_new_from_icon_name( tmp->iconname, GTK_ICON_SIZE_MENU);
1424
gtk_grid_attach (GTK_GRID (table), image, 0, row, 1, 1);
1379
data->CM_paymode[i] = gtk_check_button_new_with_mnemonic(_(paymode_label_names[i]));
1380
gtk_grid_attach (GTK_GRID (table1), data->CM_paymode[i], 1, row, 1, 1);
1426
widget = gtk_check_button_new_with_mnemonic(_(tmp->name));
1427
data->CM_paymode[i] = widget;
1428
g_object_set_data(G_OBJECT(widget), "uid", GUINT_TO_POINTER(tmp->key));
1429
gtk_grid_attach (GTK_GRID (table), data->CM_paymode[i], 1, row, 1, 1);
1420
1467
//store our window private data
1421
g_object_set_data(G_OBJECT(window), "inst_data", (gpointer)&data);
1422
DB( g_print("(ui_flt_manage) window=%p, inst_data=%p\n", window, &data) );
1468
g_object_set_data(G_OBJECT(window), "inst_data", (gpointer)data);
1469
DB( g_print("(ui_flt_manage) window=%p, inst_data=%p\n", window, data) );
1424
1471
g_signal_connect (window, "destroy",
1425
1472
G_CALLBACK (gtk_widget_destroyed), &window);
1427
1474
content = gtk_dialog_get_content_area(GTK_DIALOG (window));
1428
mainbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_SMALL);
1475
mainbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
1429
1476
gtk_box_pack_start (GTK_BOX (content), mainbox, TRUE, TRUE, 0);
1430
1477
//gtk_container_set_border_width (GTK_CONTAINER(mainbox), SPACING_MEDIUM);
1432
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
1433
gtk_box_pack_start (GTK_BOX (mainbox), box, TRUE, TRUE, 0);
1435
1479
sidebar = gtk_stack_sidebar_new ();
1436
gtk_box_pack_start (GTK_BOX (box), sidebar, FALSE, FALSE, 0);
1480
gtk_widget_set_margin_bottom(sidebar, SPACING_LARGE);
1481
gtk_box_pack_start (GTK_BOX (mainbox), sidebar, FALSE, FALSE, 0);
1439
1484
stack = gtk_stack_new ();
1440
1485
gtk_stack_set_transition_type (GTK_STACK (stack), GTK_STACK_TRANSITION_TYPE_SLIDE_UP_DOWN);
1441
1486
gtk_stack_sidebar_set_stack (GTK_STACK_SIDEBAR (sidebar), GTK_STACK (stack));
1443
gtk_box_pack_start (GTK_BOX (box), stack, TRUE, TRUE, 0);
1487
gtk_container_set_border_width(GTK_CONTAINER(stack), SPACING_LARGE);
1489
data->stack = stack;
1490
gtk_box_pack_start (GTK_BOX (mainbox), stack, TRUE, TRUE, 0);
1446
1493
//common (date + status + amount)
1449
1496
gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, label);
1452
page = ui_flt_manage_part_date(&data);
1499
page = ui_flt_manage_part_date(data);
1453
1500
//gtk_widget_show(GTK_WIDGET(page));
1454
1501
gtk_stack_add_titled (GTK_STACK (stack), page, "dat", _("Dates"));
1456
page = ui_flt_manage_part_status(&data);
1503
page = ui_flt_manage_part_status(data);
1457
1504
//gtk_widget_show(GTK_WIDGET(page));
1458
gtk_stack_add_titled (GTK_STACK (stack), page, "sta", _("Statuses"));
1505
gtk_stack_add_titled (GTK_STACK (stack), page, "sta", _("Status"));
1460
page = ui_flt_manage_part_paymode(&data);
1507
page = ui_flt_manage_part_paymode(data);
1461
1508
//gtk_widget_show(GTK_WIDGET(page));
1462
1509
gtk_stack_add_titled (GTK_STACK (stack), page, "pmt", _("Payments"));
1464
page = ui_flt_manage_part_amount(&data);
1511
page = ui_flt_manage_part_amount(data);
1465
1512
//gtk_widget_show(GTK_WIDGET(page));
1466
1513
gtk_stack_add_titled (GTK_STACK (stack), page, "amt", _("Amounts"));
1468
page = ui_flt_manage_part_text(&data);
1515
page = ui_flt_manage_part_text(data);
1469
1516
//gtk_widget_show(GTK_WIDGET(page));
1470
1517
gtk_stack_add_titled (GTK_STACK (stack), page, "txt", _("Texts"));
1472
page = ui_flt_manage_page_category(&data);
1519
page = ui_flt_manage_page_category(data);
1473
1520
//gtk_widget_show(GTK_WIDGET(page));
1474
1521
gtk_stack_add_titled (GTK_STACK (stack), page, "cat", _("Categories"));
1476
page = ui_flt_manage_page_payee(&data);
1523
page = ui_flt_manage_page_payee(data);
1477
1524
//gtk_widget_show(GTK_WIDGET(page));
1478
1525
gtk_stack_add_titled (GTK_STACK (stack), page, "pay", _("Payees"));
1480
data.show_account = show_account;
1527
data->show_account = show_account;
1481
1528
if(show_account == TRUE)
1483
page = ui_flt_manage_page_account(&data);
1530
page = ui_flt_manage_page_account(data);
1484
1531
//gtk_widget_show(GTK_WIDGET(page));
1485
1532
gtk_stack_add_titled (GTK_STACK (stack), page, "acc", _("Accounts"));
1488
1536
//setup, init and show window
1489
ui_flt_manage_setup(&data);
1490
ui_flt_manage_set(&data);
1537
ui_flt_manage_setup(data);
1538
ui_flt_manage_set(data);
1492
1540
ui_flt_manage_option_update(window, NULL);
1494
1542
/* signal connect */
1495
g_signal_connect (data.CY_option[FILTER_STATUS] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL);
1496
g_signal_connect (data.CY_option[FILTER_DATE] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL);
1497
g_signal_connect (data.CY_option[FILTER_AMOUNT] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL);
1498
g_signal_connect (data.CY_option[FILTER_PAYMODE] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL);
1543
g_signal_connect (data->CY_option[FILTER_STATUS] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL);
1544
g_signal_connect (data->CY_option[FILTER_TYPE] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL);
1545
g_signal_connect (data->CY_option[FILTER_DATE] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL);
1546
g_signal_connect (data->CY_option[FILTER_AMOUNT] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL);
1547
g_signal_connect (data->CY_option[FILTER_PAYMODE] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL);
1500
g_signal_connect (data.CY_option[FILTER_PAYEE] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL);
1501
g_signal_connect (data.CY_option[FILTER_CATEGORY], "changed", G_CALLBACK (ui_flt_manage_option_update), NULL);
1502
g_signal_connect (data.CY_option[FILTER_TEXT] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL);
1549
g_signal_connect (data->CY_option[FILTER_PAYEE] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL);
1550
g_signal_connect (data->CY_option[FILTER_CATEGORY], "changed", G_CALLBACK (ui_flt_manage_option_update), NULL);
1551
g_signal_connect (data->CY_option[FILTER_TEXT] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL);
1504
1553
if(show_account == TRUE)
1506
g_signal_connect (data.CY_option[FILTER_ACCOUNT] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL);
1555
g_signal_connect (data->CY_option[FILTER_ACCOUNT] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL);
1510
g_signal_connect (data.CY_month, "changed", G_CALLBACK (ui_flt_manage_period_change), NULL);
1511
g_signal_connect (data.NB_year, "value-changed", G_CALLBACK (ui_flt_manage_period_change), NULL);
1514
1561
gtk_widget_show_all (window);
1518
hb_widget_visible (data.LB_force, FALSE);
1519
hb_widget_visible (data.GR_force, FALSE);
1565
hb_widget_visible (data->LB_force, FALSE);
1566
hb_widget_visible (data->GR_force, FALSE);
1523
if( *data.filter->last_tab != '\0' )
1524
gtk_stack_set_visible_child_name (GTK_STACK(data.stack), data.filter->last_tab);
1525
DB( g_print(" set page '%s'\n", data.filter->last_tab) );
1570
if( *data->filter->last_tab != '\0' )
1571
gtk_stack_set_visible_child_name (GTK_STACK(data->stack), data->filter->last_tab);
1572
DB( g_print(" set page '%s'\n", data->filter->last_tab) );
1528
1575
//wait for the user