File indexing completed on 2024-04-21 03:49:45

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2007 Inge Wallin <ingwa@kde.org>
0004 // SPDX-FileCopyrightText: 2008 Jens-Michael Hoffmann <jensmh@gmx.de>
0005 //
0006 
0007 #ifndef MARBLE_MARBLEPLUGINSETTINGSWIDGET_H
0008 #define MARBLE_MARBLEPLUGINSETTINGSWIDGET_H
0009 
0010 
0011 /** @file
0012  * This file contains the multiple inheritance ui-wrapper for the
0013  * MarblePluginSettingsWidget ui file.
0014  *
0015  * @author Torsten Rahn  <torsten@kde.org>
0016  */
0017 
0018 #include <QWidget>
0019 
0020 #include "marble_export.h"
0021 
0022 class QModelIndex;
0023 
0024 /**
0025  * @short A public class that adds methods to the UI Plugins Settings Widget.
0026  *
0027  */
0028 namespace Marble
0029 {
0030 
0031 class MarblePluginSettingsWidgetPrivate;
0032 class RenderPluginModel;
0033 
0034 class MARBLE_EXPORT MarblePluginSettingsWidget : public QWidget
0035 {
0036     Q_OBJECT
0037 
0038  public:
0039     explicit MarblePluginSettingsWidget( QWidget *parent = nullptr );
0040     ~MarblePluginSettingsWidget() override;
0041 
0042     void setModel( RenderPluginModel* pluginModel );
0043 
0044     void setAboutIcon( const QIcon& icon );
0045     void setConfigIcon( const QIcon& icon );
0046 
0047  Q_SIGNALS:
0048     void pluginListViewClicked();
0049 
0050  private:
0051     Q_PRIVATE_SLOT( d, void showPluginAboutDialog( const QModelIndex & ) )
0052     Q_PRIVATE_SLOT( d, void showPluginConfigDialog( const QModelIndex & ) )
0053 
0054  private:
0055     MarblePluginSettingsWidgetPrivate *d;
0056 };
0057 
0058 }
0059 
0060 #endif