KItinerary

bustrip.cpp
1/*
2 SPDX-FileCopyrightText: 2018 Volker Krause <vkrause@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#include "bustrip.h"
8#include "datatypes_p.h"
9
10#include <QDateTime>
11
12using namespace KItinerary;
13
14namespace KItinerary {
15
16class BusTripPrivate : public QSharedData
17{
18public:
19 QString arrivalPlatform;
20 BusStation arrivalBusStop;
21 QDateTime arrivalTime;
22 QString departurePlatform;
23 BusStation departureBusStop;
24 QDateTime departureTime;
25 QDate departureDay;
26 QString busName;
27 QString busNumber;
28 Organization provider;
29};
30
31KITINERARY_MAKE_CLASS(BusTrip)
32KITINERARY_MAKE_PROPERTY(BusTrip, QString, arrivalPlatform, setArrivalPlatform)
33KITINERARY_MAKE_PROPERTY(BusTrip, BusStation, arrivalBusStop, setArrivalBusStop)
34KITINERARY_MAKE_PROPERTY(BusTrip, QDateTime, arrivalTime, setArrivalTime)
35KITINERARY_MAKE_PROPERTY(BusTrip, QString, departurePlatform, setDeparturePlatform)
36KITINERARY_MAKE_PROPERTY(BusTrip, BusStation, departureBusStop, setDepartureBusStop)
37KITINERARY_MAKE_PROPERTY(BusTrip, QDateTime, departureTime, setDepartureTime)
38KITINERARY_MAKE_PROPERTY(BusTrip, QString, busName, setBusName)
39KITINERARY_MAKE_PROPERTY(BusTrip, QString, busNumber, setBusNumber)
40KITINERARY_MAKE_PROPERTY(BusTrip, Organization, provider, setProvider)
41KITINERARY_MAKE_OPERATOR(BusTrip)
42
43QDate BusTrip::departureDay() const
44{
45 if (d->departureDay.isValid()) {
46 return d->departureDay;
47 }
48 // pre-1970 dates are used as transient state when we only know the time
49 if (d->departureTime.isValid() && d->departureTime.date().year() > 1970) {
50 return d->departureTime.date();
51 }
52 return {};
53}
54
55void BusTrip::setDepartureDay(const QDate &value)
56{
57 if (departureDay() != value) {
58 d.detach();
59 d->departureDay = value;
60 }
61}
62
63}
64
65#include "moc_bustrip.cpp"
Bus station.
Definition place.h:136
A bus trip.
Definition bustrip.h:22
QDate departureDay
The scheduled day of departure.
Definition bustrip.h:40
Classes for reservation/travel data models, data extraction and data augmentation.
Definition berelement.h:17
Organization
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Feb 28 2025 11:55:13 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.