File indexing completed on 2024-05-05 03:50:48
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2009 Bastian Holst <bastianholst@gmx.de> 0004 // 0005 0006 #ifndef PANORAMIOITEM_H 0007 #define PANORAMIOITEM_H 0008 0009 #include "AbstractDataPluginItem.h" 0010 0011 #include <QDate> 0012 #include <QImage> 0013 #include <QUrl> 0014 0015 class QAction; 0016 0017 namespace Marble 0018 { 0019 0020 class MarbleWidget; 0021 0022 const QString standardImageSize = "mini_square"; 0023 0024 class PanoramioItem : public AbstractDataPluginItem 0025 { 0026 Q_OBJECT 0027 0028 public: 0029 explicit PanoramioItem( MarbleWidget *marbleWidget, QObject *parent ); 0030 0031 bool initialized() const; 0032 0033 void addDownloadedFile( const QString &url, const QString &type ); 0034 0035 void setPhotoUrl( const QUrl &url ); 0036 0037 QDate uploadDate() const; 0038 0039 void setUploadDate( const QDate &uploadDate ); 0040 0041 void paint( QPainter *painter ); 0042 0043 QAction *action(); 0044 0045 bool operator<( const AbstractDataPluginItem *other ) const; 0046 0047 public Q_SLOTS: 0048 void openBrowser(); 0049 0050 private: 0051 MarbleWidget *const m_marbleWidget; 0052 QAction *m_action; 0053 QImage smallImage; 0054 QUrl m_url; 0055 QDate m_uploadDate; 0056 }; 0057 0058 } 0059 0060 #endif // PANORAMIOITEM_H