91
//1336928 combobox tags
92
static void deftransaction_update_tags(GtkWidget *widget, gpointer user_data)
94
struct deftransaction_data *data;
97
DB( g_print("\n[ui-transaction] update tags\n") );
99
data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data");
101
newtag = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(data->CY_tags));
102
ui_gtk_entry_tag_name_append(GTK_ENTRY(data->ST_tags), newtag);
105
//revert back to ----
106
g_signal_handlers_block_by_func (G_OBJECT (data->CY_tags), G_CALLBACK (deftransaction_update_tags), NULL);
107
hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_tags), 0);
108
g_signal_handlers_unblock_by_func (G_OBJECT (data->CY_tags), G_CALLBACK (deftransaction_update_tags), NULL);
112
91
static void deftransaction_update_warnsign(GtkWidget *widget, gpointer user_data)
114
93
struct deftransaction_data *data;
115
94
gboolean warning = FALSE;
120
99
DB( g_print("\n[ui-transaction] update warning sign\n") );
122
101
data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data");
124
cat = ui_cat_comboboxentry_get(GTK_COMBO_BOX(data->PO_cat));
125
if(cat != NULL && cat->key > 0)
103
//#1830707 no warning for xfer
104
paymode = gtk_combo_box_get_active(GTK_COMBO_BOX(data->NU_mode));
105
if( paymode != PAYMODE_INTXFER )
127
amount = hb_amount_round(gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_amount)), 2);
107
cat = ui_cat_comboboxentry_get(GTK_COMBO_BOX(data->PO_cat));
108
if(cat != NULL && cat->key > 0)
130
amttype = (amount > 0) ? 1 : -1;
131
warning = (category_type_get(cat) != amttype) ? TRUE : FALSE;
110
amount = hb_amount_round(gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_amount)), 2);
113
type = (amount > 0) ? 1 : -1;
114
warning = (category_type_get(cat) != type) ? TRUE : FALSE;
212
196
data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data");
214
pay = ui_pay_comboboxentry_get(GTK_COMBO_BOX(data->PO_pay));
198
//pay = ui_pay_comboboxentry_get(GTK_COMBO_BOX(data->PO_pay));
199
pay = ui_pay_entry_popover_get(GTK_BOX(data->PO_pay));
215
200
if( pay != NULL )
217
202
// only set for empty category
375
360
txt = (entry->info != NULL) ? entry->info : "";
376
361
gtk_entry_set_text(GTK_ENTRY(data->ST_info), txt);
377
362
ui_cat_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_cat), entry->kcat);
378
ui_pay_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_pay), entry->kpay);
363
//ui_pay_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_pay), entry->kpay);
364
ui_pay_entry_popover_set_active(GTK_BOX(data->PO_pay), entry->kpay);
380
366
tagstr = tags_tostring(entry->tags);
381
367
DB( g_print(" - tags: '%s'\n", txt) );
486
472
entry->paymode = gtk_combo_box_get_active(GTK_COMBO_BOX(data->NU_mode));
487
473
entry->kcat = ui_cat_comboboxentry_get_key_add_new(GTK_COMBO_BOX(data->PO_cat));
488
entry->kpay = ui_pay_comboboxentry_get_key_add_new(GTK_COMBO_BOX(data->PO_pay));
474
//entry->kpay = ui_pay_comboboxentry_get_key_add_new(GTK_COMBO_BOX(data->PO_pay));
475
entry->kpay = ui_pay_entry_popover_get_key_add_new(GTK_BOX(data->PO_pay));
489
476
entry->kacc = ui_acc_comboboxentry_get_key(GTK_COMBO_BOX(data->PO_acc));
490
477
entry->kxferacc = ui_acc_comboboxentry_get_key(GTK_COMBO_BOX(data->PO_accto));
826
813
DB( g_print("\n[ui-transaction] setup\n") );
828
ui_pay_comboboxentry_populate(GTK_COMBO_BOX(data->PO_pay), GLOBALS->h_pay);
829
ui_cat_comboboxentry_populate(GTK_COMBO_BOX(data->PO_cat), GLOBALS->h_cat);
830
ui_acc_comboboxentry_populate(GTK_COMBO_BOX(data->PO_acc), GLOBALS->h_acc, ACC_LST_INSERT_NORMAL);
831
ui_acc_comboboxentry_populate(GTK_COMBO_BOX(data->PO_accto), GLOBALS->h_acc, ACC_LST_INSERT_NORMAL);
833
815
if( data->showtemplate )
835
817
deftransaction_template_popover_populate (data, GLOBALS->arc_list);
836
818
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(data->modelfilter));
839
ui_tag_combobox_populate(GTK_COMBO_BOX_TEXT(data->CY_tags));
844
create_popover (GtkWidget *parent,
850
popover = gtk_popover_new (parent);
851
gtk_popover_set_position (GTK_POPOVER (popover), pos);
852
gtk_container_add (GTK_CONTAINER (popover), child);
853
gtk_widget_show (child);
855
gtk_widget_set_margin_start (child, SPACING_POPOVER);
856
gtk_widget_set_margin_end (child, SPACING_POPOVER);
857
gtk_widget_set_margin_top (child, SPACING_POPOVER);
858
gtk_widget_set_margin_bottom (child, SPACING_POPOVER);
821
ui_acc_comboboxentry_populate(GTK_COMBO_BOX(data->PO_acc), GLOBALS->h_acc, ACC_LST_INSERT_NORMAL);
822
ui_acc_comboboxentry_populate(GTK_COMBO_BOX(data->PO_accto), GLOBALS->h_acc, ACC_LST_INSERT_NORMAL);
824
ui_cat_comboboxentry_populate(GTK_COMBO_BOX(data->PO_cat), GLOBALS->h_cat);
827
//5.2.7 done in popover
828
//ui_pay_comboboxentry_populate(GTK_COMBO_BOX(data->PO_pay), GLOBALS->h_pay);
829
//ui_tag_combobox_populate(GTK_COMBO_BOX_TEXT(data->CY_tags));
1218
1188
data->PO_date = widget;
1219
1189
gtk_widget_set_halign(widget, GTK_ALIGN_START);
1220
1190
gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1);
1221
gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale"));
1191
//gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale"));
1192
gtk_widget_set_tooltip_text(widget, _("- type: d, d/m, m/d a complete date\n- use arrow key + ctrl or shift\n- empty for today"));
1223
1194
data->showtemplate = FALSE;
1224
1195
if( data->type != TRANSACTION_EDIT_MODIFY && da_archive_length() > 0 && !postmode )
1291
1262
gtk_widget_set_margin_bottom(widget, SPACING_SMALL);
1295
1266
label = make_label_widget(_("_Payee:"));
1296
1267
gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1);
1297
1268
widget = ui_pay_comboboxentry_new(label);
1298
1269
data->PO_pay = widget;
1299
1270
gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1);
1300
gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available"));
1271
//gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available"));
1272
gtk_widget_set_tooltip_text(widget, _("- type some letter for autocompletion\n- type new text to create entry"));
1276
label = make_label_widget(_("_Payee:"));
1277
gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1);
1279
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_MEDIUM);
1280
gtk_widget_set_hexpand(hbox, TRUE);
1281
gtk_grid_attach (GTK_GRID (group_grid), hbox, 1, row, 2, 1);
1283
widget = ui_pay_entry_popover_new(label);
1284
data->PO_pay = widget;
1285
gtk_widget_set_hexpand(widget, TRUE);
1286
gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0);
1287
//widget = gtk_image_new_from_icon_name (ICONNAME_INFO, GTK_ICON_SIZE_BUTTON);
1288
gtk_widget_set_tooltip_text(widget, _("- type some letter for autocompletion\n- type new text to create entry"));
1289
//gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
1291
gtk_widget_set_margin_bottom(label, SPACING_SMALL);
1292
gtk_widget_set_margin_bottom(hbox, SPACING_SMALL);
1303
1295
label = make_label_widget(_("_Category:"));
1305
1297
widget = ui_cat_comboboxentry_new(label);
1306
1298
data->PO_cat = widget;
1307
1299
gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1);
1308
gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available"));
1310
gtk_widget_set_margin_bottom(label, SPACING_SMALL);
1311
gtk_widget_set_margin_bottom(widget, SPACING_SMALL);
1300
//gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available"));
1301
gtk_widget_set_tooltip_text(widget, _("- type some letter for autocompletion\n- type new text to create entry"));
1315
1304
label = make_label_widget(_("_Status:"));
1331
1320
gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1);
1332
1321
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
1333
1322
gtk_widget_set_hexpand(hbox, TRUE);
1323
gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET(hbox)), GTK_STYLE_CLASS_LINKED);
1334
1324
gtk_grid_attach (GTK_GRID (group_grid), hbox, 1, row, 2, 1);
1336
1326
widget = make_string(label);
1337
1327
data->ST_tags = widget;
1338
1328
gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0);
1340
widget = ui_tag_combobox_new(NULL);
1330
widget = ui_tag_popover_list(data->ST_tags);
1341
1331
data->CY_tags = widget;
1342
1332
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
1344
1334
gtk_widget_show_all(mainvbox);
1346
1336
bar = gtk_info_bar_new ();
1347
1337
data->IB_warnsign = bar;
1348
1338
gtk_info_bar_set_message_type (GTK_INFO_BAR (bar), GTK_MESSAGE_WARNING);
1365
1355
g_signal_connect (data->NU_mode , "changed", G_CALLBACK (deftransaction_paymode), NULL);
1366
1356
g_signal_connect (data->CM_cheque, "toggled", G_CALLBACK (deftransaction_paymode), NULL);
1368
g_signal_connect (data->PO_pay , "changed", G_CALLBACK (deftransaction_update_payee), NULL);
1358
//g_signal_connect (data->PO_pay , "changed", G_CALLBACK (deftransaction_cb_payee_changed), NULL);
1359
g_signal_connect (ui_pay_entry_popover_get_entry(GTK_BOX(data->PO_pay)), "changed", G_CALLBACK (deftransaction_update_payee), NULL);
1369
1360
g_signal_connect (data->PO_cat , "changed", G_CALLBACK (deftransaction_update_warnsign), NULL);
1371
g_signal_connect (data->CY_tags , "changed", G_CALLBACK (deftransaction_update_tags), NULL);
1373
1362
//setup, init and show window
1374
1363
deftransaction_setup(data);