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