1 /* ============================================================ 2 * 3 * This file is a part of digiKam project 4 * https://www.digikam.org 5 * 6 * Date : 2006-02-22 7 * Description : a tab to display GPS info 8 * 9 * Copyright (C) 2006-2021 by Gilles Caulier <caulier dot gilles at gmail dot com> 10 * Copyright (C) 2011 by Michael G. Hansen <mike at mghansen dot de> 11 * 12 * This program is free software; you can redistribute it 13 * and/or modify it under the terms of the GNU General 14 * Public License as published by the Free Software Foundation; 15 * either version 2, or (at your option) 16 * any later version. 17 * 18 * This program is distributed in the hope that it will be useful, 19 * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 * GNU General Public License for more details. 22 * 23 * ============================================================ */ 24 25 #ifndef DIGIKAM_ITEM_PROPERTIES_GPS_TAB_H 26 #define DIGIKAM_ITEM_PROPERTIES_GPS_TAB_H 27 28 // Qt includes 29 30 #include <QWidget> 31 #include <QUrl> 32 33 // Local includes 34 35 #include "dmetadata.h" 36 #include "digikam_export.h" 37 #include "gpsiteminfosorter.h" 38 39 namespace Digikam 40 { 41 42 class DIGIKAM_EXPORT ItemPropertiesGPSTab : public QWidget 43 { 44 Q_OBJECT 45 46 public: 47 48 enum WebGPSLocator 49 { 50 MapQuest = 0, 51 GoogleMaps, 52 BingMaps, 53 OpenStreetMap, 54 LocAlizeMaps 55 }; 56 57 public: 58 59 explicit ItemPropertiesGPSTab(QWidget* const parent); 60 ~ItemPropertiesGPSTab() override; 61 62 void clearGPSInfo(); 63 void setGPSInfoList(const GPSItemInfo::List& list); 64 void setCurrentURL(const QUrl& url = QUrl()); 65 66 void setMetadata(DMetadata* const meta, const QUrl& url); 67 68 int getWebGPSLocator() const; 69 void setWebGPSLocator(int locator); 70 71 void setActive(const bool state); 72 73 void readSettings(const KConfigGroup& group); 74 void writeSettings(KConfigGroup& group); 75 76 private Q_SLOTS: 77 78 void slotGPSDetails(); 79 80 private: 81 82 class Private; 83 Private* const d; 84 }; 85 86 } // namespace Digikam 87 88 #endif // DIGIKAM_ITEM_PROPERTIES_GPS_TAB_H 89