aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/src-cpp/plugins-desktop.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src-qt5/src-cpp/plugins-desktop.cpp')
-rw-r--r--src-qt5/src-cpp/plugins-desktop.cpp32
1 files changed, 30 insertions, 2 deletions
diff --git a/src-qt5/src-cpp/plugins-desktop.cpp b/src-qt5/src-cpp/plugins-desktop.cpp
index fdbd676d..edad2723 100644
--- a/src-qt5/src-cpp/plugins-desktop.cpp
+++ b/src-qt5/src-cpp/plugins-desktop.cpp
@@ -6,11 +6,15 @@
//===========================================
#include "plugins-desktop.h"
+#include <LuminaXDG.h>
+
// ============
// DT PLUGIN
// ============
DTPlugin::DTPlugin(){
-
+ pluginIcon = QIcon();
+ gridSize = QSize(1,1);
+ panelPossible = false;
}
DTPlugin::~DTPlugin(){
@@ -22,8 +26,32 @@ bool DTPlugin::isValid(){
bool ok = data.contains("name") && data.contains("qml") && data.contains("description");
ok &= containsDefault("name");
ok &= containsDefault("description");
+ ok &= containsDefault("data");
if(ok) {
- QJsonObject tmp = data.value("qml").toObject();
+ QJsonObject tmp = data.value("data").toObject();
+
+ QString possibleS = tmp.value("panel_possible").toString();
+ if(!possibleS.isEmpty() and (possibleS == "yes" or possibleS == "true"))
+ panelPossible = true;
+
+ QString gridS = tmp.value("grid_size").toString();
+ if(!gridS.isEmpty()) {
+ QStringList gridList = gridS.split("x");
+ if(gridList.size() == 2) {
+ int width = gridList[0].toInt();
+ int height = gridList[1].toInt();
+ if(width != 0 and height != 0)
+ gridSize = QSize(width, height);
+ }
+ }
+
+ QString iconS = tmp.value("plugin_icon").toString();
+ if(!iconS.isEmpty()) {
+ pluginIcon = LXDG::findIcon(iconS,"");
+ }
+
+ tmp = data.value("qml").toObject();
+
QStringList mustexist;
QString exec = tmp.value("exec").toString();
if(exec.isEmpty() || !exec.endsWith(".qml")){ return false; }
bgstack15