File indexing completed on 2024-05-05 03:50:47
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2010 Utku Aydın <utkuaydin34@gmail.com> 0004 // 0005 0006 #ifndef OPENDESKTOPPLUGIN_H 0007 #define OPENDESKTOPPLUGIN_H 0008 0009 #include "AbstractDataPlugin.h" 0010 #include "DialogConfigurationInterface.h" 0011 0012 namespace Ui { 0013 class OpenDesktopConfigWidget; 0014 } 0015 0016 namespace Marble { 0017 0018 const int defaultItemsOnScreen = 15; 0019 0020 class OpenDesktopPlugin : public AbstractDataPlugin, public DialogConfigurationInterface 0021 { 0022 0023 Q_OBJECT 0024 Q_PLUGIN_METADATA(IID "org.kde.marble.OpenDesktopPlugin") 0025 0026 Q_INTERFACES(Marble::RenderPluginInterface) 0027 Q_INTERFACES(Marble::DialogConfigurationInterface) 0028 0029 MARBLE_PLUGIN(OpenDesktopPlugin) 0030 0031 public: 0032 OpenDesktopPlugin(); 0033 0034 explicit OpenDesktopPlugin( const MarbleModel *marbleModel ); 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 description() const override; 0047 0048 QString copyrightYears() const override; 0049 0050 QVector<PluginAuthor> pluginAuthors() const override; 0051 0052 QIcon icon() const override; 0053 0054 QDialog *configDialog() override; 0055 0056 QHash<QString,QVariant> settings() const override; 0057 0058 void setSettings( const QHash<QString,QVariant> &settings ) override; 0059 0060 protected: 0061 bool eventFilter(QObject *object, QEvent *event) override; 0062 0063 private Q_SLOTS: 0064 void readSettings(); 0065 0066 void writeSettings(); 0067 0068 private: 0069 QDialog * m_configDialog; 0070 Ui::OpenDesktopConfigWidget * m_uiConfigWidget; 0071 }; 0072 0073 } 0074 0075 #endif // OPENDESKTOPPLUGIN_H