Routing panel reviewed.
[situare] / src / ui / routewaypointlistitem.cpp
1 #include <QDebug>
2 #include <QTime>
3
4 #include "avatarimage.h"
5 #include "listcommon.h"
6 #include "routing/routesegment.h"
7
8 #include "routewaypointlistitem.h"
9
10 RouteWaypointListItem::RouteWaypointListItem()
11     : ExtendedListItem()
12 {
13     qDebug() << __PRETTY_FUNCTION__;
14
15     setSubitemTextWidth(SUBITEM_TEXT_MAX_WIDTH);
16 }
17
18 GeoCoordinate RouteWaypointListItem::coordinates() const
19 {
20     qDebug() << __PRETTY_FUNCTION__;
21
22     return m_coordinates;
23 }
24
25 void RouteWaypointListItem::setRouteWaypointData(const RouteSegment &routeSegment,
26                                                  const GeoCoordinate &coordinate)
27 {
28     qDebug() << __PRETTY_FUNCTION__;
29
30     m_coordinates = coordinate;
31
32     setTurnTypeImage(routeSegment.turnType());
33
34     setTitle(shortenText(routeSegment.street(), NAME_TEXT_MAX_WIDTH + MARGIN,
35                         ListItem::TEXT_SIZE_NORMAL));
36
37     clearSubItems();
38
39     QTime zeroTime;
40     QTime segmentTravelTime = zeroTime.addSecs(routeSegment.time());
41     addSubItem(segmentTravelTime.toString("hh:mm:ss"), QPixmap(":/res/images/clock.png"));
42
43     addSubItem(routeSegment.lengthCaption(), QPixmap(":/res/images/distance_icon.png"));
44 }
45
46 void RouteWaypointListItem::setTurnTypeImage(const QString &turnType)
47 {
48     if (turnType == "C") {
49         setImage(AvatarImage::create(QPixmap(":/res/images/arrow_turn_continue.png"),
50                                      AvatarImage::Small));
51     } else if (turnType == "TL") {
52         setImage(AvatarImage::create(QPixmap(":/res/images/arrow_turn_left.png"),
53                                      AvatarImage::Small));
54     } else if (turnType == "TSLL") {
55         setImage(AvatarImage::create(QPixmap(":/res/images/arrow_turn_slight_left.png"),
56                                      AvatarImage::Small));
57     } else if (turnType == "TSHL") {
58         setImage(AvatarImage::create(QPixmap(":/res/images/arrow_turn_sharp_left.png"),
59                                      AvatarImage::Small));
60     } else if (turnType == "TR") {
61         setImage(AvatarImage::create(QPixmap(":/res/images/arrow_turn_right.png"),
62                                      AvatarImage::Small));
63     } else if (turnType == "TSLR") {
64         setImage(AvatarImage::create(QPixmap(":/res/images/arrow_turn_slight_right.png"),
65                                      AvatarImage::Small));
66     } else if (turnType == "TSHR") {
67         setImage(AvatarImage::create(QPixmap(":/res/images/arrow_turn_sharp_right.png"),
68                                      AvatarImage::Small));
69     } else if (turnType == "TU") {
70         setImage(AvatarImage::create(QPixmap(":/res/images/arrow_turn_u_turn.png"),
71                                      AvatarImage::Small));
72     } else if (turnType.startsWith("EXIT")) {
73         setImage(AvatarImage::create(QPixmap(":/res/images/arrow_turn_roundabout.png"),
74                                      AvatarImage::Small));
75     } else {
76         setImage(AvatarImage::create(QPixmap(":/res/images/arrow_turn_start.png"),
77                                      AvatarImage::Small));
78     }
79
80 }
81
82 RouteWaypointListItem::~RouteWaypointListItem()
83 {
84     qDebug() << __PRETTY_FUNCTION__;
85 }