File indexing completed on 2024-06-02 03:51:04

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2013 Illya Kovalevskyy <illya.kovalevskyy@gmail.com>
0004 //
0005 
0006 #include "KmlplayModeTagHandler.h"
0007 
0008 #include "KmlElementDictionary.h"
0009 #include "GeoParser.h"
0010 #include "GeoDataTourControl.h"
0011 
0012 namespace Marble
0013 {
0014 namespace kml
0015 {
0016 KML_DEFINE_TAG_HANDLER_GX22( playMode )
0017 
0018 GeoNode* KmlplayModeTagHandler::parse(GeoParser &parser) const
0019 {
0020     Q_ASSERT(parser.isStartElement() && parser.isValidElement(QLatin1String(kmlTag_playMode)));
0021 
0022     GeoStackItem parentItem = parser.parentElement();
0023 
0024     if (parentItem.is<GeoDataTourControl>()) {
0025         GeoDataTourControl *control = parentItem.nodeAs<GeoDataTourControl>();
0026 
0027         if (parser.readElementText().trimmed().toLower() == QLatin1String("play")) {
0028             control->setPlayMode(GeoDataTourControl::Play);
0029         } else {
0030             control->setPlayMode(GeoDataTourControl::Pause);
0031         }
0032     }
0033 
0034     return nullptr;
0035 }
0036 
0037 } // namespace kml
0038 } // namespace Marble