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