File indexing completed on 2024-04-21 03:49:54

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2010 Dennis Nienhüser <nienhueser@kde.org>
0004 // SPDX-FileCopyrightText: 2011 Thibaut Gridel <tgridel@free.fr>
0005 // SPDX-FileCopyrightText: 2012 Bernhard Beschow <bbeschow@cs.tu-berlin.de>
0006 //
0007 
0008 #include "RoutingRunnerPlugin.h"
0009 
0010 #include <QIcon>
0011 
0012 namespace Marble
0013 {
0014 
0015 class Q_DECL_HIDDEN RoutingRunnerPlugin::Private
0016 {
0017 public:
0018     QStringList m_supportedCelestialBodies;
0019 
0020     bool m_canWorkOffline;
0021 
0022     QString m_statusMessage;
0023 
0024     Private();
0025 };
0026 
0027 RoutingRunnerPlugin::Private::Private()
0028     : m_canWorkOffline( true )
0029 {
0030     // nothing to do
0031 }
0032 
0033 RoutingRunnerPlugin::RoutingRunnerPlugin( QObject *parent ) :
0034     QObject( parent ),
0035     d( new Private )
0036 {
0037 }
0038 
0039 RoutingRunnerPlugin::~RoutingRunnerPlugin()
0040 {
0041     delete d;
0042 }
0043 
0044 QIcon RoutingRunnerPlugin::icon() const
0045 {
0046     return QIcon();
0047 }
0048 
0049 bool RoutingRunnerPlugin::supportsCelestialBody( const QString &celestialBodyId ) const
0050 {
0051     if ( d->m_supportedCelestialBodies.isEmpty() ) {
0052         return true;
0053     }
0054 
0055     return d->m_supportedCelestialBodies.contains( celestialBodyId );
0056 }
0057 
0058 void RoutingRunnerPlugin::setSupportedCelestialBodies( const QStringList &celestialBodies )
0059 {
0060     d->m_supportedCelestialBodies = celestialBodies;
0061 }
0062 
0063 void RoutingRunnerPlugin::setCanWorkOffline( bool canWorkOffline )
0064 {
0065     d->m_canWorkOffline = canWorkOffline;
0066 }
0067 
0068 bool RoutingRunnerPlugin::canWorkOffline() const
0069 {
0070     return d->m_canWorkOffline;
0071 }
0072 
0073 bool RoutingRunnerPlugin::canWork() const
0074 {
0075     return true;
0076 }
0077 
0078 RoutingRunnerPlugin::ConfigWidget *RoutingRunnerPlugin::configWidget()
0079 {
0080     return nullptr;
0081 }
0082 
0083 bool RoutingRunnerPlugin::supportsTemplate( RoutingProfilesModel::ProfileTemplate ) const
0084 {
0085     return false;
0086 }
0087 
0088 QHash< QString, QVariant > RoutingRunnerPlugin::templateSettings( RoutingProfilesModel::ProfileTemplate ) const
0089 {
0090     return QHash< QString, QVariant >();
0091 }
0092 
0093 QString RoutingRunnerPlugin::statusMessage() const
0094 {
0095     return d->m_statusMessage;
0096 }
0097 
0098 void RoutingRunnerPlugin::setStatusMessage( const QString &message )
0099 {
0100     d->m_statusMessage = message;
0101 }
0102 
0103 }
0104 
0105 #include "moc_RoutingRunnerPlugin.cpp"