[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    playground/base/plasma/plasmate
From:       Yuen Hoe Lim <yuenhoe86 () gmail ! com>
Date:       2010-02-27 14:33:38
Message-ID: 1267281218.587136.31081.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1096745 by yuenlim:

Added support for PopupApplet
Some metadateditor improvements
BUG:228498


 M  +5 -0      editors/metadata/metadata.ui  
 M  +19 -12    editors/metadata/metadataeditor.cpp  
 M  +6 -0      mainwindow.cpp  
 M  +1 -0      packagemodel.cpp  
 M  +1 -0      packagemodel.h  
 M  +2 -1      startpage.cpp  


--- trunk/playground/base/plasma/plasmate/editors/metadata/metadata.ui #1096744:1096745
@@ -273,6 +273,11 @@
      </item>
      <item>
       <property name="text">
+       <string>Popup Applet</string>
+      </property>
+     </item>
+     <item>
+      <property name="text">
        <string>DataEngine</string>
       </property>
      </item>
--- trunk/playground/base/plasma/plasmate/editors/metadata/metadataeditor.cpp #1096744:1096745
@@ -19,6 +19,7 @@
 
 #include "ui_metadata.h"
 #include "metadataeditor.h"
+#include "../../packagemodel.h"
 
 //
 // TODO: Now we know what this does it needs rewriting to use the metadata object
@@ -95,14 +96,16 @@
 
     QString serviceType = metadata->serviceType();
 
-    if (serviceType == QString("Plasma/Applet")) {
+    if (serviceType == QString(PackageModel::plasmoidType)) {
         view->type_combo->setCurrentIndex(0);
-    } else if (serviceType == QString("Plasma/DataEngine")) {
+    } else if (serviceType == QString(PackageModel::popupType)) {
         view->type_combo->setCurrentIndex(1);
-    } else if (serviceType == QString("Plasma/Theme")) {
+    } else if (serviceType == QString(PackageModel::dataengineType)) {
         view->type_combo->setCurrentIndex(2);
-    } else if (serviceType == QString("Plasma/Runner")) {
+    } else if (serviceType == QString(PackageModel::themeType)) {
         view->type_combo->setCurrentIndex(3);
+    } else if (serviceType == QString(PackageModel::runnerType)) {
+        view->type_combo->setCurrentIndex(4);
     } else {
         kWarning() << "Unknown service type" << serviceType;
     }
@@ -136,21 +139,24 @@
 
     switch (view->type_combo->currentIndex()) {
     case 0:
-        metadata->setServiceType("Plasma/Applet");
+        metadata->setServiceType(PackageModel::plasmoidType);
         currentType = Plasma::AppletComponent;
         break;
     case 1:
-        metadata->setServiceType("Plasma/DataEngine");
+        metadata->setServiceType(PackageModel::popupType);
+        currentType = Plasma::AppletComponent;
+        break;
+    case 2:
+        metadata->setServiceType(PackageModel::dataengineType);
         currentType = Plasma::DataEngineComponent;
         break;
-    case 2:
-        metadata->setServiceType("Plasma/Theme");
+    case 3:
+        metadata->setServiceType(PackageModel::themeType);
         view->api_combo->setEnabled(false);
         return;
         break;
-    case 3:
-        metadata->setServiceType("Plasma/Runner");
-        view->api_combo->setEnabled(false);
+    case 4:
+        metadata->setServiceType(PackageModel::runnerType);
         currentType = Plasma::RunnerComponent;
         break;
     default:
@@ -187,7 +193,7 @@
     view->api_combo->clear();
     view->api_combo->insertItems(0, apiNames);
 
-    int idx = view->api_combo->findText(metadata->implementationApi());
+    int idx = apis.indexOf(metadata->implementationApi());
     if (idx != -1) {
         view->api_combo->setCurrentIndex(idx);
     } else if (metadata->implementationApi().isEmpty()) {
@@ -217,4 +223,5 @@
     metadata->setLicense(view->license_edit->text());
 
     metadata->write(filename);
+    //TODO: alert the necessary components (eg. packagemodel) if plugin type/api is changed
 }
--- trunk/playground/base/plasma/plasmate/mainwindow.cpp #1096744:1096745
@@ -540,6 +540,12 @@
         }
     }
 
+    //Workaround for Plasma::PackageStructure not recognizing Plasma/PopupApplet as a valid type
+    //FIXME:
+    if (actualType == PackageModel::popupType) {
+        actualType = PackageModel::plasmoidType;
+    }
+
     // Add it to the recent files first.
     m_model = new PackageModel(this);
     kDebug() << "Setting project type to:" << actualType;
--- trunk/playground/base/plasma/plasmate/packagemodel.cpp #1096744:1096745
@@ -18,6 +18,7 @@
 const QString PackageModel::runnerType = "Plasma/Runner";
 const QString PackageModel::themeType = "Plasma/Theme";
 const QString PackageModel::plasmoidType = "Plasma/Applet";
+const QString PackageModel::popupType = "Plasma/PopupApplet";
 
 PackageModel::PackageModel(QObject *parent)
         : QAbstractItemModel(parent),
--- trunk/playground/base/plasma/plasmate/packagemodel.h #1096744:1096745
@@ -20,6 +20,7 @@
 public:
 
     static const QString plasmoidType;
+    static const QString popupType;
     static const QString runnerType;
     static const QString dataengineType;
     static const QString themeType;
--- trunk/playground/base/plasma/plasmate/startpage.cpp #1096744:1096745
@@ -249,7 +249,8 @@
 
         QString serviceType = metadata.serviceType();
 
-        if (serviceType == PackageModel::plasmoidType) {
+        if (serviceType == PackageModel::plasmoidType ||
+            serviceType == PackageModel::popupType) {
             item->setIcon(KIcon("application-x-plasma"));
         } else if (serviceType == PackageModel::dataengineType) {
             item->setIcon(KIcon("kexi"));
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic