428
429
lastmeter = item->meter;
431
DB( g_print(" eval : d=%d v=%4.2f $%8.2f dist=%d\n", item->meter, item->fuel, trn_amount, item->dist) );
432
DB( g_print("\n eval %02d :: d=%d v=%.2f $%.2f dist=%d\n", nb_refuel, item->meter, item->fuel, trn_amount, item->dist) );
433
DB( g_print(" + %s :: pf=%.2f pd=%d\n", item->partial ? "partial" : "full", partial_fuel, partial_dist) );
438
//bugfix #159066 partial/full
434
439
if(item->partial == FALSE)
436
// full refuel after partial
437
if(partial_fuel && partial_dist)
439
DB( g_print(" + full refuel after partial\n") );
440
partial_fuel += item->fuel;
441
partial_dist += item->dist;
443
centkm = partial_dist != 0 ? partial_fuel * 100 / partial_dist : 0;
447
DB( g_print(" + real full refuel\n") );
449
centkm = item->dist != 0 ? item->fuel * 100 / item->dist : 0;
441
//#1836380 if we don't have a full already, the computing will be wrong
442
if( nb_fullrefuel > 0 )
444
// full refuel after partial
445
if(partial_fuel && partial_dist)
447
partial_fuel += item->fuel;
448
partial_dist += item->dist;
450
centkm = partial_dist != 0 ? partial_fuel * 100 / partial_dist : 0;
451
DB( g_print(" + centkm=%.2f %.2f * 100 / %d (full after partial)\n", centkm, partial_fuel, partial_dist) );
456
centkm = item->dist != 0 ? item->fuel * 100 / item->dist : 0;
457
DB( g_print(" + centkm=%.2f :: %.2f * 100 / %d (full after full)\n", centkm, item->fuel, item->dist) );
451
460
partial_fuel = 0;
452
461
partial_dist = 0;
454
464
// partial refuel
457
DB( g_print(" + partial refuel\n") );
458
467
partial_fuel += item->fuel;
459
468
partial_dist += item->dist;
460
469
dist = item->dist;
470
DB( g_print(" + centkm= not computable\n") );
466
475
distbyvol = hb_amount_round((1/centkm)*100, 0);
468
DB( g_print(" + pf=%.2f pd=%d :: dbv=%d\n", partial_fuel, partial_dist, distbyvol) );
472
478
gtk_list_store_append (GTK_LIST_STORE(model), &iter);
508
514
GLOBALS->minor = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_minor));
511
DB( g_print(" coef = 100 / %.2f = %.2f\n", (gdouble)data->total_dist, coef) );
513
// row 1 is for 100km
515
gtk_label_set_text(GTK_LABEL(data->LA_total[1][1]), "1:1"); //Consumption
516
gtk_label_set_text(GTK_LABEL(data->LA_total[2][1]), "2:1"); //Fuel cost
517
gtk_label_set_text(GTK_LABEL(data->LA_total[3][1]), "3:1"); //Other cost
518
gtk_label_set_text(GTK_LABEL(data->LA_total[4][1]), "4:1"); //Total cost
522
buf = g_strdup_printf(PREFS->vehicle_unit_vol, data->total_fuel * coef);
523
gtk_label_set_text(GTK_LABEL(data->LA_avera[CAR_RES_FUEL]), buf);
527
//hb_label_set_colvaluecurr(GTK_LABEL(data->LA_avera[CAR_RES_FUELCOST]), data->total_fuelcost * coef, GLOBALS->kcur);
528
hb_label_set_colvalue(GTK_LABEL(data->LA_avera[CAR_RES_FUELCOST]), data->total_fuelcost * coef, GLOBALS->kcur, GLOBALS->minor);
531
//hb_label_set_colvaluecurr(GTK_LABEL(data->LA_avera[CAR_RES_OTHERCOST]), data->total_misccost * coef, GLOBALS->kcur);
532
hb_label_set_colvalue(GTK_LABEL(data->LA_avera[CAR_RES_OTHERCOST]), data->total_misccost * coef, GLOBALS->kcur, GLOBALS->minor);
535
//hb_label_set_colvaluecurr(GTK_LABEL(data->LA_avera[CAR_RES_TOTALCOST]), (data->total_fuelcost + data->total_misccost) * coef, GLOBALS->kcur);
536
hb_label_set_colvalue(GTK_LABEL(data->LA_avera[CAR_RES_TOTALCOST]), (data->total_fuelcost + data->total_misccost) * coef, GLOBALS->kcur, GLOBALS->minor);
539
// row 2 is for total
541
gtk_label_set_text(GTK_LABEL(data->LA_total[1][2]), "1:2"); //Consumption
542
gtk_label_set_text(GTK_LABEL(data->LA_total[2][2]), "2:2"); //Fuel cost
543
gtk_label_set_text(GTK_LABEL(data->LA_total[3][2]), "3:2"); //Other cost
544
gtk_label_set_text(GTK_LABEL(data->LA_total[4][2]), "4:2"); //Total
548
buf = g_strdup_printf(PREFS->vehicle_unit_dist, data->total_dist);
549
gtk_label_set_text(GTK_LABEL(data->LA_total[CAR_RES_METER]), buf);
553
buf = g_strdup_printf(PREFS->vehicle_unit_vol, data->total_fuel);
554
gtk_label_set_text(GTK_LABEL(data->LA_total[CAR_RES_FUEL]), buf);
558
//hb_label_set_colvaluecurr(GTK_LABEL(data->LA_total[CAR_RES_FUELCOST]), data->total_fuelcost, GLOBALS->kcur);
559
hb_label_set_colvalue(GTK_LABEL(data->LA_total[CAR_RES_FUELCOST]), data->total_fuelcost, GLOBALS->kcur, GLOBALS->minor);
562
//hb_label_set_colvaluecurr(GTK_LABEL(data->LA_total[CAR_RES_OTHERCOST]), data->total_misccost, GLOBALS->kcur);
563
hb_label_set_colvalue(GTK_LABEL(data->LA_total[CAR_RES_OTHERCOST]), data->total_misccost, GLOBALS->kcur, GLOBALS->minor);
566
//hb_label_set_colvaluecurr(GTK_LABEL(data->LA_total[CAR_RES_TOTALCOST]), data->total_fuelcost + data->total_misccost, GLOBALS->kcur);
567
hb_label_set_colvalue(GTK_LABEL(data->LA_total[CAR_RES_TOTALCOST]), data->total_fuelcost + data->total_misccost, GLOBALS->kcur, GLOBALS->minor);
517
DB( g_print(" coef = 100 / %.2f = %.2f\n", (gdouble)data->total_dist, coef) );
519
// row 1 is for 100km
521
gtk_label_set_text(GTK_LABEL(data->LA_total[1][1]), "1:1"); //Consumption
522
gtk_label_set_text(GTK_LABEL(data->LA_total[2][1]), "2:1"); //Fuel cost
523
gtk_label_set_text(GTK_LABEL(data->LA_total[3][1]), "3:1"); //Other cost
524
gtk_label_set_text(GTK_LABEL(data->LA_total[4][1]), "4:1"); //Total cost
528
buf = g_strdup_printf(PREFS->vehicle_unit_vol, data->total_fuel * coef);
529
gtk_label_set_text(GTK_LABEL(data->LA_avera[CAR_RES_FUEL]), buf);
533
//hb_label_set_colvaluecurr(GTK_LABEL(data->LA_avera[CAR_RES_FUELCOST]), data->total_fuelcost * coef, GLOBALS->kcur);
534
hb_label_set_colvalue(GTK_LABEL(data->LA_avera[CAR_RES_FUELCOST]), data->total_fuelcost * coef, GLOBALS->kcur, GLOBALS->minor);
537
//hb_label_set_colvaluecurr(GTK_LABEL(data->LA_avera[CAR_RES_OTHERCOST]), data->total_misccost * coef, GLOBALS->kcur);
538
hb_label_set_colvalue(GTK_LABEL(data->LA_avera[CAR_RES_OTHERCOST]), data->total_misccost * coef, GLOBALS->kcur, GLOBALS->minor);
541
//hb_label_set_colvaluecurr(GTK_LABEL(data->LA_avera[CAR_RES_TOTALCOST]), (data->total_fuelcost + data->total_misccost) * coef, GLOBALS->kcur);
542
hb_label_set_colvalue(GTK_LABEL(data->LA_avera[CAR_RES_TOTALCOST]), (data->total_fuelcost + data->total_misccost) * coef, GLOBALS->kcur, GLOBALS->minor);
545
// row 2 is for total
547
gtk_label_set_text(GTK_LABEL(data->LA_total[1][2]), "1:2"); //Consumption
548
gtk_label_set_text(GTK_LABEL(data->LA_total[2][2]), "2:2"); //Fuel cost
549
gtk_label_set_text(GTK_LABEL(data->LA_total[3][2]), "3:2"); //Other cost
550
gtk_label_set_text(GTK_LABEL(data->LA_total[4][2]), "4:2"); //Total
554
buf = g_strdup_printf(PREFS->vehicle_unit_dist, data->total_dist);
555
gtk_label_set_text(GTK_LABEL(data->LA_total[CAR_RES_METER]), buf);
559
buf = g_strdup_printf(PREFS->vehicle_unit_vol, data->total_fuel);
560
gtk_label_set_text(GTK_LABEL(data->LA_total[CAR_RES_FUEL]), buf);
564
//hb_label_set_colvaluecurr(GTK_LABEL(data->LA_total[CAR_RES_FUELCOST]), data->total_fuelcost, GLOBALS->kcur);
565
hb_label_set_colvalue(GTK_LABEL(data->LA_total[CAR_RES_FUELCOST]), data->total_fuelcost, GLOBALS->kcur, GLOBALS->minor);
568
//hb_label_set_colvaluecurr(GTK_LABEL(data->LA_total[CAR_RES_OTHERCOST]), data->total_misccost, GLOBALS->kcur);
569
hb_label_set_colvalue(GTK_LABEL(data->LA_total[CAR_RES_OTHERCOST]), data->total_misccost, GLOBALS->kcur, GLOBALS->minor);
572
//hb_label_set_colvaluecurr(GTK_LABEL(data->LA_total[CAR_RES_TOTALCOST]), data->total_fuelcost + data->total_misccost, GLOBALS->kcur);
573
hb_label_set_colvalue(GTK_LABEL(data->LA_total[CAR_RES_TOTALCOST]), data->total_fuelcost + data->total_misccost, GLOBALS->kcur, GLOBALS->minor);