summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Curley <charlescurley@charlescurley.com>2017-11-01 10:53:33 -0600
committerCharles Curley <charlescurley@charlescurley.com>2017-11-01 11:03:22 -0600
commit1a49c5775e7a81fec5e9b5cfbd68b9a065b3e674 (patch)
tree5b56982bf6e052ec5ff165ce061f25a54c4f69c7
parentb1cbc462186edd6343e3601856409d40b025b677 (diff)
downloadnavit-1a49c5775e7a81fec5e9b5cfbd68b9a065b3e674.tar.gz
The road book now respects imperial for two more columns. The first
column (Command) was good for both feet and miles. However, column 2 (Length), and the 4th column (Destination Length), were showing up only in metric. This commit fixes columns 2 and 4. This should fix bug 780. modified: navit/navit.c
-rw-r--r--navit/navit.c29
1 files changed, 23 insertions, 6 deletions
diff --git a/navit/navit.c b/navit/navit.c
index fa2db9926..1bd4f9d4e 100644
--- a/navit/navit.c
+++ b/navit/navit.c
@@ -1947,6 +1947,11 @@ navit_window_roadbook_update(struct navit *this_)
struct param_list param[5];
int secs;
+ /* Respect the Imperial attribute as we enlighten the user. */
+ int imperial = FALSE; /* default to using metric measures. */
+ if (navit_get_attr(this_, attr_imperial, &attr, NULL))
+ imperial=attr.u.num;
+
dbg(lvl_debug,"enter\n");
datawindow_mode(this_->roadbook_window, 1);
if (nav)
@@ -1976,11 +1981,17 @@ navit_window_roadbook_update(struct navit *this_)
if ( attr.u.num >= 2000 )
{
- param[1].value=g_strdup_printf("%5.1f %s",(float)attr.u.num / 1000, _("km") );
+ param[1].value=g_strdup_printf("%5.1f %s",
+ imperial == TRUE ? (float)attr.u.num / METERS_PER_MILE : (float)attr.u.num / 1000,
+ imperial == TRUE ? _("mi") : _("km")
+ );
}
else
{
- param[1].value=g_strdup_printf("%7ld %s",attr.u.num, _("m"));
+ param[1].value=g_strdup_printf("%7.0f %s",
+ imperial == TRUE ? (attr.u.num * FEET_PER_METER) : attr.u.num,
+ imperial == TRUE ? _("feet") : _("m")
+ );
}
item_attr_get(item, attr_time, &attr);
@@ -1989,11 +2000,11 @@ navit_window_roadbook_update(struct navit *this_)
param[2].name=_("Time");
if ( secs >= 3600 )
{
- param[2].value=g_strdup_printf("%d:%02d:%02d",secs / 60, ( secs / 60 ) % 60 , secs % 60);
+ param[2].value=g_strdup_printf("%d:%02d:%02d",secs / 60, ( secs / 60 ) % 60 , secs % 60);
}
else
{
- param[2].value=g_strdup_printf("%d:%02d",secs / 60, secs % 60);
+ param[2].value=g_strdup_printf("%d:%02d",secs / 60, secs % 60);
}
item_attr_get(item, attr_destination_length, &attr);
@@ -2001,11 +2012,17 @@ navit_window_roadbook_update(struct navit *this_)
param[3].name=_("Destination Length");
if ( attr.u.num >= 2000 )
{
- param[3].value=g_strdup_printf("%5.1f %s",(float)attr.u.num / 1000, _("km") );
+ param[3].value=g_strdup_printf("%5.1f %s",
+ imperial == TRUE ? (float)attr.u.num / METERS_PER_MILE : (float)attr.u.num / 1000,
+ imperial == TRUE ? _("mi") : _("km")
+ );
}
else
{
- param[3].value=g_strdup_printf("%ld %s",attr.u.num, _("m"));
+ param[3].value=g_strdup_printf("%7.0f %s",
+ imperial == TRUE ? (attr.u.num * FEET_PER_METER) : attr.u.num,
+ imperial == TRUE ? _("feet") : _("m")
+ );
}
item_attr_get(item, attr_destination_time, &attr);