From fc662d175d3cae12e552bc222e69b6e5e57545c3 Mon Sep 17 00:00:00 2001 From: Antonis Tsiapaliokas Date: Mon, 5 Aug 2013 14:00:43 +0300 Subject: [PATCH] Add method findImage Qt QuickControls require an abosolute path to the image --- kcmkwin/kwincompositing/model.cpp | 5 +++++ kcmkwin/kwincompositing/model.h | 1 + kcmkwin/kwincompositing/qml/Effect.qml | 11 ++++++++--- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/kcmkwin/kwincompositing/model.cpp b/kcmkwin/kwincompositing/model.cpp index 4a48123e44..06af0be54b 100644 --- a/kcmkwin/kwincompositing/model.cpp +++ b/kcmkwin/kwincompositing/model.cpp @@ -175,3 +175,8 @@ void EffectView::loadKWinEffects(const QHash &effectsChanged) { QDBusConnection::sessionBus().send(messageUnloadEffect); } +QString EffectView::findImage(const QString &imagePath, int size) { + const QString relativePath("icons/oxygen/" + QString::number(size) + 'x' + QString::number(size) + '/' + imagePath); + const QString fullImagePath = QStandardPaths::locate(QStandardPaths::GenericDataLocation, relativePath, QStandardPaths::LocateFile); + return fullImagePath; +} diff --git a/kcmkwin/kwincompositing/model.h b/kcmkwin/kwincompositing/model.h index c359402b35..805805b78c 100644 --- a/kcmkwin/kwincompositing/model.h +++ b/kcmkwin/kwincompositing/model.h @@ -77,6 +77,7 @@ public: Q_INVOKABLE void effectStatus(const QString &effectName, bool status); Q_INVOKABLE bool isEnabled(const QString &effectName); Q_INVOKABLE void syncConfig(); + Q_INVOKABLE QString findImage(const QString &imagePath, int size = 128); private: QHash m_effectStatus; diff --git a/kcmkwin/kwincompositing/qml/Effect.qml b/kcmkwin/kwincompositing/qml/Effect.qml index 44fe9036ae..169be8582f 100644 --- a/kcmkwin/kwincompositing/qml/Effect.qml +++ b/kcmkwin/kwincompositing/qml/Effect.qml @@ -69,7 +69,7 @@ Component { visible: false Text { - text: "Author: " + model.AuthorName + "\n" + "License" + model.License + text: "Author: " + model.AuthorName + "\n" + "License: " + model.License font.bold: true } PropertyAnimation {id: animationAbout; target: aboutItem; property: "visible"; to: !aboutItem.visible} @@ -90,7 +90,9 @@ Component { id: configureButton anchors.left: effectItem.right visible: effectConfig.effectUiConfigExists(model.Name) - text: "CONFIGURE EFFECT" + iconSource: engineObject.findImage("actions/configure.png") + width: 50 + height: 25 enabled: myCheckBox.checked onClicked: { effectConfig.openConfig(model.Name); @@ -100,7 +102,10 @@ Component { Button { id: aboutButton anchors.left: configureButton.right - text: "ABOUT UI BUTTON" + width: 50 + height: 25 + iconSource: engineObject.findImage("status/dialog-information.png"); + onClicked: { animationAbout.running = true; animationAboutSpacing.running = true;