Merge branch 'Plasma/5.4'
This commit is contained in:
commit
2e68096a24
6 changed files with 65 additions and 8 deletions
|
@ -38,7 +38,7 @@ namespace Preview
|
||||||
void Plugin::registerTypes(const char *uri)
|
void Plugin::registerTypes(const char *uri)
|
||||||
{
|
{
|
||||||
Q_ASSERT(QLatin1String(uri) == QLatin1String("org.kde.kwin.private.kdecoration"));
|
Q_ASSERT(QLatin1String(uri) == QLatin1String("org.kde.kwin.private.kdecoration"));
|
||||||
qmlRegisterType<KDecoration2::Preview::PreviewBridge>(uri, 1, 0, "Bridge");
|
qmlRegisterType<KDecoration2::Preview::BridgeItem>(uri, 1, 0, "Bridge");
|
||||||
qmlRegisterType<KDecoration2::Preview::Settings>(uri, 1, 0, "Settings");
|
qmlRegisterType<KDecoration2::Preview::Settings>(uri, 1, 0, "Settings");
|
||||||
qmlRegisterType<KDecoration2::Preview::PreviewItem>(uri, 1, 0, "Decoration");
|
qmlRegisterType<KDecoration2::Preview::PreviewItem>(uri, 1, 0, "Decoration");
|
||||||
qmlRegisterType<KDecoration2::Preview::PreviewButtonItem>(uri, 1, 0, "Button");
|
qmlRegisterType<KDecoration2::Preview::PreviewButtonItem>(uri, 1, 0, "Button");
|
||||||
|
@ -46,6 +46,7 @@ void Plugin::registerTypes(const char *uri)
|
||||||
qmlRegisterType<KDecoration2::Preview::PreviewClient>();
|
qmlRegisterType<KDecoration2::Preview::PreviewClient>();
|
||||||
qmlRegisterType<KDecoration2::Decoration>();
|
qmlRegisterType<KDecoration2::Decoration>();
|
||||||
qmlRegisterType<KDecoration2::DecorationShadow>();
|
qmlRegisterType<KDecoration2::DecorationShadow>();
|
||||||
|
qmlRegisterType<KDecoration2::Preview::PreviewBridge>();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -237,5 +237,19 @@ void PreviewBridge::configure()
|
||||||
dialog.exec();
|
dialog.exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BridgeItem::BridgeItem(QObject *parent)
|
||||||
|
: QObject(parent)
|
||||||
|
, m_bridge(new PreviewBridge())
|
||||||
|
{
|
||||||
|
connect(m_bridge, &PreviewBridge::themeChanged, this, &BridgeItem::themeChanged);
|
||||||
|
connect(m_bridge, &PreviewBridge::pluginChanged, this, &BridgeItem::pluginChanged);
|
||||||
|
connect(m_bridge, &PreviewBridge::validChanged, this, &BridgeItem::validChanged);
|
||||||
|
}
|
||||||
|
|
||||||
|
BridgeItem::~BridgeItem()
|
||||||
|
{
|
||||||
|
m_bridge->deleteLater();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -89,6 +89,48 @@ private:
|
||||||
bool m_valid;
|
bool m_valid;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class BridgeItem : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
Q_PROPERTY(QString plugin READ plugin WRITE setPlugin NOTIFY pluginChanged)
|
||||||
|
Q_PROPERTY(QString theme READ theme WRITE setTheme NOTIFY themeChanged)
|
||||||
|
Q_PROPERTY(bool valid READ isValid NOTIFY validChanged)
|
||||||
|
Q_PROPERTY(KDecoration2::Preview::PreviewBridge *bridge READ bridge CONSTANT)
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit BridgeItem(QObject *parent = nullptr);
|
||||||
|
virtual ~BridgeItem();
|
||||||
|
|
||||||
|
void setPlugin(const QString &plugin) {
|
||||||
|
m_bridge->setPlugin(plugin);
|
||||||
|
}
|
||||||
|
QString plugin() const {
|
||||||
|
return m_bridge->plugin();
|
||||||
|
}
|
||||||
|
void setTheme(const QString &theme) {
|
||||||
|
m_bridge->setTheme(theme);
|
||||||
|
}
|
||||||
|
QString theme() const {
|
||||||
|
return m_bridge->theme();
|
||||||
|
}
|
||||||
|
bool isValid() const {
|
||||||
|
return m_bridge->isValid();
|
||||||
|
}
|
||||||
|
|
||||||
|
PreviewBridge *bridge() const {
|
||||||
|
return m_bridge;
|
||||||
|
}
|
||||||
|
|
||||||
|
Q_SIGNALS:
|
||||||
|
void pluginChanged();
|
||||||
|
void themeChanged();
|
||||||
|
void validChanged();
|
||||||
|
|
||||||
|
private:
|
||||||
|
PreviewBridge *m_bridge;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ ListView {
|
||||||
id: button
|
id: button
|
||||||
property int itemIndex: index
|
property int itemIndex: index
|
||||||
property var buttonsModel: parent.ListView.view.model
|
property var buttonsModel: parent.ListView.view.model
|
||||||
bridge: bridgeItem
|
bridge: bridgeItem.bridge
|
||||||
settings: settingsItem
|
settings: settingsItem
|
||||||
type: model["button"]
|
type: model["button"]
|
||||||
anchors.fill: Drag.active ? undefined : parent
|
anchors.fill: Drag.active ? undefined : parent
|
||||||
|
|
|
@ -33,7 +33,7 @@ Item {
|
||||||
}
|
}
|
||||||
KDecoration.Settings {
|
KDecoration.Settings {
|
||||||
id: settingsItem
|
id: settingsItem
|
||||||
bridge: bridgeItem
|
bridge: bridgeItem.bridge
|
||||||
}
|
}
|
||||||
Rectangle {
|
Rectangle {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
@ -157,7 +157,7 @@ Item {
|
||||||
KDecoration.Button {
|
KDecoration.Button {
|
||||||
id: availableButton
|
id: availableButton
|
||||||
anchors.centerIn: Drag.active ? undefined : parent
|
anchors.centerIn: Drag.active ? undefined : parent
|
||||||
bridge: bridgeItem
|
bridge: bridgeItem.bridge
|
||||||
settings: settingsItem
|
settings: settingsItem
|
||||||
type: model["button"]
|
type: model["button"]
|
||||||
width: units.iconSizes.small
|
width: units.iconSizes.small
|
||||||
|
|
|
@ -54,7 +54,7 @@ ScrollView {
|
||||||
}
|
}
|
||||||
KDecoration.Settings {
|
KDecoration.Settings {
|
||||||
id: settingsItem
|
id: settingsItem
|
||||||
bridge: bridgeItem
|
bridge: bridgeItem.bridge
|
||||||
borderSizesIndex: listView.borderSizesIndex
|
borderSizesIndex: listView.borderSizesIndex
|
||||||
}
|
}
|
||||||
MouseArea {
|
MouseArea {
|
||||||
|
@ -69,7 +69,7 @@ ScrollView {
|
||||||
Item {
|
Item {
|
||||||
KDecoration.Decoration {
|
KDecoration.Decoration {
|
||||||
id: inactivePreview
|
id: inactivePreview
|
||||||
bridge: bridgeItem
|
bridge: bridgeItem.bridge
|
||||||
settings: settingsItem
|
settings: settingsItem
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
|
@ -83,7 +83,7 @@ ScrollView {
|
||||||
}
|
}
|
||||||
KDecoration.Decoration {
|
KDecoration.Decoration {
|
||||||
id: activePreview
|
id: activePreview
|
||||||
bridge: bridgeItem
|
bridge: bridgeItem.bridge
|
||||||
settings: settingsItem
|
settings: settingsItem
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
|
@ -109,7 +109,7 @@ ScrollView {
|
||||||
id: configureButton
|
id: configureButton
|
||||||
enabled: model["configureable"]
|
enabled: model["configureable"]
|
||||||
iconName: "configure"
|
iconName: "configure"
|
||||||
onClicked: bridgeItem.configure()
|
onClicked: bridgeItem.bridge.configure()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue