File indexing completed on 2025-01-05 03:56:42

0001 /* ============================================================
0002  *
0003  * This file is a part of digiKam project
0004  * https://www.digikam.org
0005  *
0006  * Date        : 2006-02-22
0007  * Description : a tab to display GPS info
0008  *
0009  * SPDX-FileCopyrightText: 2006-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
0010  * SPDX-FileCopyrightText: 2011      by Michael G. Hansen <mike at mghansen dot de>
0011  *
0012  * SPDX-License-Identifier: GPL-2.0-or-later
0013  *
0014  * ============================================================ */
0015 
0016 #ifndef DIGIKAM_ITEM_PROPERTIES_GPS_TAB_H
0017 #define DIGIKAM_ITEM_PROPERTIES_GPS_TAB_H
0018 
0019 // Qt includes
0020 
0021 #include <QWidget>
0022 #include <QUrl>
0023 
0024 // Local includes
0025 
0026 #include "dmetadata.h"
0027 #include "digikam_export.h"
0028 #include "gpsiteminfosorter.h"
0029 
0030 namespace Digikam
0031 {
0032 
0033 class DIGIKAM_EXPORT ItemPropertiesGPSTab : public QWidget
0034 {
0035     Q_OBJECT
0036 
0037 public:
0038 
0039     enum WebGPSLocator
0040     {
0041         MapQuest = 0,
0042         GoogleMaps,
0043         BingMaps,
0044         OpenStreetMap,
0045         LocAlizeMaps
0046     };
0047 
0048 public:
0049 
0050     explicit ItemPropertiesGPSTab(QWidget* const parent);
0051     ~ItemPropertiesGPSTab() override;
0052 
0053     void clearGPSInfo();
0054     void setGPSInfoList(const GPSItemInfo::List& list);
0055     void setCurrentURL(const QUrl& url = QUrl());
0056 
0057     void setMetadata(DMetadata* const meta, const QUrl& url);
0058 
0059     int  getWebGPSLocator() const;
0060     void setWebGPSLocator(int locator);
0061 
0062     void setActive(const bool state);
0063 
0064     void readSettings(const KConfigGroup& group);
0065     void writeSettings(KConfigGroup& group);
0066 
0067 private Q_SLOTS:
0068 
0069     void slotGPSDetails();
0070 
0071 private:
0072 
0073     class Private;
0074     Private* const d;
0075 };
0076 
0077 } // namespace Digikam
0078 
0079 #endif // DIGIKAM_ITEM_PROPERTIES_GPS_TAB_H