File indexing completed on 2024-05-05 03:50:56
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2009 Bastian Holst <bastianholst@gmx.de> 0004 // 0005 0006 #ifndef WIKIPEDIAPLUGIN_H 0007 #define WIKIPEDIAPLUGIN_H 0008 0009 #include "AbstractDataPlugin.h" 0010 #include "DialogConfigurationInterface.h" 0011 0012 #include <QHash> 0013 #include <QIcon> 0014 0015 namespace Ui 0016 { 0017 class WikipediaConfigWidget; 0018 } 0019 0020 namespace Marble 0021 { 0022 0023 class WikipediaPlugin : public AbstractDataPlugin, public DialogConfigurationInterface 0024 { 0025 Q_OBJECT 0026 Q_PLUGIN_METADATA(IID "org.kde.marble.WikipediaPlugin") 0027 Q_INTERFACES( Marble::RenderPluginInterface ) 0028 Q_INTERFACES( Marble::DialogConfigurationInterface ) 0029 MARBLE_PLUGIN( WikipediaPlugin ) 0030 0031 public: 0032 WikipediaPlugin(); 0033 explicit WikipediaPlugin( const MarbleModel *marbleModel ); 0034 ~WikipediaPlugin() override; 0035 0036 void initialize() override; 0037 0038 QString name() const override; 0039 0040 QString guiString() const override; 0041 0042 QString nameId() const override; 0043 0044 QString version() const override; 0045 0046 QString copyrightYears() const override; 0047 0048 QString description() const override; 0049 0050 QVector<PluginAuthor> pluginAuthors() const override; 0051 0052 QString aboutDataText() const override; 0053 0054 QIcon icon() const override; 0055 0056 QDialog *configDialog() override; 0057 0058 /** 0059 * @return: The settings of the item. 0060 */ 0061 QHash<QString,QVariant> settings() const override; 0062 0063 /** 0064 * Set the settings of the item. 0065 */ 0066 void setSettings( const QHash<QString,QVariant> &settings ) override; 0067 0068 protected: 0069 bool eventFilter( QObject *object, QEvent *event ) override; 0070 0071 private Q_SLOTS: 0072 void readSettings(); 0073 void writeSettings(); 0074 0075 void updateSettings(); 0076 void checkNumberOfItems( quint32 number ); 0077 0078 private: 0079 const QIcon m_icon; 0080 Ui::WikipediaConfigWidget *ui_configWidget; 0081 QDialog *m_configDialog; 0082 bool m_showThumbnails; 0083 }; 0084 0085 } 0086 0087 #endif // WIKIPEDIAPLUGIN_H