2034e7e875
KNewStuff is no longer hard-coded to Aurorae themes. Instead the availability of KNewStuff is derived from the available plugin metadata. If the section org.kde.kdecoration2 contains a key "KNewStuff" it's value is interpreted as the knsrc config file name. If there is at least one plugin with such a key KNS gets enabled. If there are multiple plugins providing KNS support the download button is turned into a button with a connected menu and each menu entry points to one of the available resources. Of course this is not optimal, but KNS doesn't allow the combining of multiple config files.
70 lines
1.8 KiB
C++
70 lines
1.8 KiB
C++
/*
|
|
* Copyright 2014 Martin Gräßlin <mgraesslin@kde.org>
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation; either version 2 of
|
|
* the License or (at your option) version 3 or any later version
|
|
* accepted by the membership of KDE e.V. (or its successor approved
|
|
* by the membership of KDE e.V.), which shall act as a proxy
|
|
* defined in Section 14 of version 3 of the license.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
#ifndef KDECORATIONS_KCM_H
|
|
#define KDECORATIONS_KCM_H
|
|
|
|
#include <kcmodule.h>
|
|
#include <ui_kcm.h>
|
|
|
|
class QSortFilterProxyModel;
|
|
|
|
namespace KDecoration2
|
|
{
|
|
namespace Preview
|
|
{
|
|
class PreviewBridge;
|
|
}
|
|
namespace Configuration
|
|
{
|
|
class DecorationsModel;
|
|
|
|
class ConfigurationForm : public QWidget, public Ui::KCMForm
|
|
{
|
|
public:
|
|
explicit ConfigurationForm(QWidget* parent);
|
|
};
|
|
|
|
class ConfigurationModule : public KCModule
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit ConfigurationModule(QWidget *parent = nullptr, const QVariantList &args = QVariantList());
|
|
virtual ~ConfigurationModule();
|
|
|
|
public Q_SLOTS:
|
|
void defaults() override;
|
|
void load() override;
|
|
void save() override;
|
|
|
|
protected:
|
|
void showEvent(QShowEvent *ev) override;
|
|
|
|
private:
|
|
void showKNS(const QString &config);
|
|
DecorationsModel *m_model;
|
|
QSortFilterProxyModel *m_proxyModel;
|
|
ConfigurationForm *m_ui;
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|