Merge branch 'Plasma/5.4'

This commit is contained in:
Martin Gräßlin 2015-10-21 08:11:38 +02:00
commit 2e68096a24
6 changed files with 65 additions and 8 deletions

View file

@ -38,7 +38,7 @@ namespace Preview
void Plugin::registerTypes(const char *uri)
{
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::PreviewItem>(uri, 1, 0, "Decoration");
qmlRegisterType<KDecoration2::Preview::PreviewButtonItem>(uri, 1, 0, "Button");
@ -46,6 +46,7 @@ void Plugin::registerTypes(const char *uri)
qmlRegisterType<KDecoration2::Preview::PreviewClient>();
qmlRegisterType<KDecoration2::Decoration>();
qmlRegisterType<KDecoration2::DecorationShadow>();
qmlRegisterType<KDecoration2::Preview::PreviewBridge>();
}
}

View file

@ -237,5 +237,19 @@ void PreviewBridge::configure()
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();
}
}
}

View file

@ -89,6 +89,48 @@ private:
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;
};
}
}

View file

@ -37,7 +37,7 @@ ListView {
id: button
property int itemIndex: index
property var buttonsModel: parent.ListView.view.model
bridge: bridgeItem
bridge: bridgeItem.bridge
settings: settingsItem
type: model["button"]
anchors.fill: Drag.active ? undefined : parent

View file

@ -33,7 +33,7 @@ Item {
}
KDecoration.Settings {
id: settingsItem
bridge: bridgeItem
bridge: bridgeItem.bridge
}
Rectangle {
anchors.fill: parent
@ -157,7 +157,7 @@ Item {
KDecoration.Button {
id: availableButton
anchors.centerIn: Drag.active ? undefined : parent
bridge: bridgeItem
bridge: bridgeItem.bridge
settings: settingsItem
type: model["button"]
width: units.iconSizes.small

View file

@ -54,7 +54,7 @@ ScrollView {
}
KDecoration.Settings {
id: settingsItem
bridge: bridgeItem
bridge: bridgeItem.bridge
borderSizesIndex: listView.borderSizesIndex
}
MouseArea {
@ -69,7 +69,7 @@ ScrollView {
Item {
KDecoration.Decoration {
id: inactivePreview
bridge: bridgeItem
bridge: bridgeItem.bridge
settings: settingsItem
anchors.fill: parent
Component.onCompleted: {
@ -83,7 +83,7 @@ ScrollView {
}
KDecoration.Decoration {
id: activePreview
bridge: bridgeItem
bridge: bridgeItem.bridge
settings: settingsItem
anchors.fill: parent
Component.onCompleted: {
@ -109,7 +109,7 @@ ScrollView {
id: configureButton
enabled: model["configureable"]
iconName: "configure"
onClicked: bridgeItem.configure()
onClicked: bridgeItem.bridge.configure()
}
}
}