Port kwindecoration KCM to KNS QML components
This commit is contained in:
parent
2d68196536
commit
09b1cea056
3 changed files with 6 additions and 33 deletions
|
@ -23,8 +23,6 @@
|
|||
#include <QQuickWindow>
|
||||
#include <QSortFilterProxyModel>
|
||||
|
||||
#include <KNewStuff3/KNS3/DownloadDialog>
|
||||
|
||||
#include "kwindecorationdata.h"
|
||||
#include "kwindecorationsettings.h"
|
||||
|
||||
|
@ -108,25 +106,6 @@ void KCMKWinDecoration::reloadKWinSettings()
|
|||
QMetaObject::invokeMethod(m_themesModel, "init", Qt::QueuedConnection);
|
||||
}
|
||||
|
||||
void KCMKWinDecoration::getNewStuff(QQuickItem *context)
|
||||
{
|
||||
if (!m_newStuffDialog) {
|
||||
m_newStuffDialog = new KNS3::DownloadDialog(QStringLiteral("window-decorations.knsrc"));
|
||||
m_newStuffDialog->setWindowTitle(i18n("Download New Window Decorations"));
|
||||
m_newStuffDialog->setWindowModality(Qt::WindowModal);
|
||||
connect(m_newStuffDialog, &KNS3::DownloadDialog::accepted, this, &KCMKWinDecoration::load);
|
||||
}
|
||||
|
||||
if (context && context->window()) {
|
||||
m_newStuffDialog->winId(); // so it creates the windowHandle()
|
||||
m_newStuffDialog->windowHandle()->setTransientParent(context->window());
|
||||
}
|
||||
|
||||
connect(m_newStuffDialog, &QDialog::finished, this, &KCMKWinDecoration::reloadKWinSettings);
|
||||
|
||||
m_newStuffDialog->show();
|
||||
}
|
||||
|
||||
void KCMKWinDecoration::load()
|
||||
{
|
||||
ManagedConfigModule::load();
|
||||
|
|
|
@ -16,11 +16,6 @@ class QAbstractItemModel;
|
|||
class QSortFilterProxyModel;
|
||||
class QQuickItem;
|
||||
|
||||
namespace KNS3
|
||||
{
|
||||
class DownloadDialog;
|
||||
}
|
||||
|
||||
namespace KDecoration2
|
||||
{
|
||||
enum class BorderSize;
|
||||
|
@ -71,8 +66,6 @@ public:
|
|||
void setBorderSize(KDecoration2::BorderSize size);
|
||||
void setTheme(int index);
|
||||
|
||||
Q_INVOKABLE void getNewStuff(QQuickItem *context);
|
||||
|
||||
Q_SIGNALS:
|
||||
void themeChanged();
|
||||
void buttonsChanged();
|
||||
|
@ -83,11 +76,11 @@ public Q_SLOTS:
|
|||
void load() override;
|
||||
void save() override;
|
||||
void defaults() override;
|
||||
void reloadKWinSettings();
|
||||
|
||||
private Q_SLOTS:
|
||||
void onLeftButtonsChanged();
|
||||
void onRightButtonsChanged();
|
||||
void reloadKWinSettings();
|
||||
|
||||
private:
|
||||
bool isSaveNeeded() const override;
|
||||
|
@ -102,8 +95,6 @@ private:
|
|||
KDecoration2::Preview::ButtonsModel *m_rightButtonsModel;
|
||||
KDecoration2::Preview::ButtonsModel *m_availableButtonsModel;
|
||||
|
||||
QPointer<KNS3::DownloadDialog> m_newStuffDialog;
|
||||
|
||||
int m_borderSizeIndex = -1;
|
||||
KWinDecorationData *m_data;
|
||||
};
|
||||
|
|
|
@ -11,6 +11,7 @@ import QtQuick.Controls 2.4 as QQC2
|
|||
import org.kde.kcm 1.5 as KCM
|
||||
import org.kde.kconfig 1.0 // for KAuthorized
|
||||
import org.kde.kirigami 2.4 as Kirigami
|
||||
import org.kde.newstuff 1.62 as NewStuff
|
||||
|
||||
Kirigami.Page {
|
||||
id: root
|
||||
|
@ -99,11 +100,13 @@ Kirigami.Page {
|
|||
Item {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
QQC2.Button {
|
||||
NewStuff.Button {
|
||||
id: newstuffButton
|
||||
text: i18nc("button text", "Get New Window Decorations...")
|
||||
icon.name: "get-hot-new-stuff"
|
||||
onClicked: kcm.getNewStuff(this)
|
||||
visible: KAuthorized.authorize("ghns")
|
||||
configFile: "window-decorations.knsrc"
|
||||
onChangedEntriesChanged: kcm.reloadKWinSettings()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue