diff --git a/shell/desktopview.cpp b/shell/desktopview.cpp index 8d01a8f8a..0579058a7 100644 --- a/shell/desktopview.cpp +++ b/shell/desktopview.cpp @@ -218,6 +218,11 @@ QVariantMap DesktopView::candidateContainmentsGraphicItems() const return map; } +Q_INVOKABLE QString DesktopView::fileFromPackage(const QString &key, const QString &fileName) +{ + return corona()->kPackage().filePath(key.toUtf8(), fileName); +} + bool DesktopView::event(QEvent *e) { if (e->type() == QEvent::PlatformSurface) { diff --git a/shell/desktopview.h b/shell/desktopview.h index 59fa23667..9e9b34e40 100644 --- a/shell/desktopview.h +++ b/shell/desktopview.h @@ -77,6 +77,8 @@ public: QVariantMap candidateContainmentsGraphicItems() const; + Q_INVOKABLE QString fileFromPackage(const QString &key, const QString &fileName); + protected: bool event(QEvent *e) override; void keyPressEvent(QKeyEvent *e) override; diff --git a/shell/panelview.cpp b/shell/panelview.cpp index efc8409b0..3ff9e2e23 100644 --- a/shell/panelview.cpp +++ b/shell/panelview.cpp @@ -164,6 +164,11 @@ KConfigGroup PanelView::configDefaults() const return panelConfigDefaults(m_corona, containment(), m_screenToFollow); } +Q_INVOKABLE QString PanelView::fileFromPackage(const QString &key, const QString &fileName) +{ + return corona()->kPackage().filePath(key.toUtf8(), fileName); +} + void PanelView::maximize() { int length; diff --git a/shell/panelview.h b/shell/panelview.h index 0827325de..ce7a33c96 100644 --- a/shell/panelview.h +++ b/shell/panelview.h @@ -116,6 +116,7 @@ public: KConfigGroup config() const override; KConfigGroup configDefaults() const; + Q_INVOKABLE QString fileFromPackage(const QString &key, const QString &fileName); Q_INVOKABLE void maximize(); Qt::Alignment alignment() const;