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 PHOTOPLUGINITEM_H 0007 #define PHOTOPLUGINITEM_H 0008 0009 #include "AbstractDataPluginItem.h" 0010 0011 #include "LabelGraphicsItem.h" 0012 0013 #include <QImage> 0014 0015 class QAction; 0016 class QUrl; 0017 0018 namespace Marble 0019 { 0020 0021 class MarbleWidget; 0022 class TinyWebBrowser; 0023 0024 class PhotoPluginItem : public AbstractDataPluginItem 0025 { 0026 Q_OBJECT 0027 public: 0028 explicit PhotoPluginItem( MarbleWidget *widget, QObject *parent ); 0029 ~PhotoPluginItem() override; 0030 0031 QString name() const; 0032 0033 bool initialized() const override; 0034 0035 void addDownloadedFile( const QString& url, const QString& type ) override; 0036 0037 bool operator<( const AbstractDataPluginItem *other ) const override; 0038 0039 QUrl photoUrl() const; 0040 0041 QUrl infoUrl() const; 0042 0043 QString server() const; 0044 0045 void setServer( const QString& server ); 0046 0047 QString farm() const; 0048 0049 void setFarm( const QString& farm ); 0050 0051 QString secret() const; 0052 0053 void setSecret( const QString& secret ); 0054 0055 QString owner() const; 0056 0057 void setOwner( const QString& owner ); 0058 0059 QString title() const; 0060 0061 void setTitle( const QString& title ); 0062 0063 QAction *action() override; 0064 0065 public Q_SLOTS: 0066 void openBrowser(); 0067 0068 private: 0069 MarbleWidget *m_marbleWidget; 0070 0071 LabelGraphicsItem m_image; 0072 QImage m_smallImage; 0073 QImage m_microImage; 0074 TinyWebBrowser *m_browser; 0075 QAction *m_action; 0076 0077 QString m_server; 0078 QString m_farm; 0079 QString m_secret; 0080 QString m_owner; 0081 QString m_title; 0082 }; 0083 0084 } 0085 0086 #endif //PHOTOPLUGINITEM_H