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

List:       kde-commits
Subject:    extragear/base/konq-plugins/domtreeviewer
From:       Harri Porten <porten () kde ! org>
Date:       2008-11-29 22:45:18
Message-ID: 1227998718.008939.30303.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 890702 by porten:

Show document's stylesheets.


 M  +36 -1     domtreeview.cpp  
 M  +2 -0      domtreeview.h  
 M  +25 -2     domtreeviewbase.ui  


--- trunk/extragear/base/konq-plugins/domtreeviewer/domtreeview.cpp #890701:890702
@@ -1120,6 +1120,8 @@
   nodeNamespace->setText(node.namespaceURI().string());
 //   nodeValue->setText(node.value().string());
 
+  initializeStyleSheetsFromDocument(node.ownerDocument());
+
   DOM::Element element = node;
   if (!element.isNull()) {
     initializeOptionsFromElement(element);
@@ -1188,7 +1190,6 @@
   for (unsigned long i = 0; i < l; ++i) {
     DOM::DOMString name = styleDecl.item(i);
     DOM::DOMString value = styleDecl.getPropertyValue(name);
-    kDebug() << "Item " << i << ":" << name.string();
 
     QStringList values;
     values.append(name.string());
@@ -1200,6 +1201,40 @@
   cssProperties->resizeColumnToContents(0);
 }
 
+void DOMTreeView::initializeStyleSheetsFromDocument(const DOM::Document &doc)
+{
+  styleSheetsTree->setEnabled(true);
+
+  DOM::StyleSheetList sheets = doc.styleSheets();
+  unsigned long l = sheets.length();
+  for (unsigned long i = 0; i < l; ++i) {
+    DOM::StyleSheet sheet = sheets.item(i);
+    // some info about the sheet itself
+    QString str = "type=\"" + sheet.type().string() + "\"";
+    if (!sheet.href().isEmpty())
+      str += " href=\"" + sheet.href().string() + "\"";
+    if (!sheet.title().isEmpty())
+      str += " title=\"" + sheet.title().string() + "\"";
+    if (!sheet.disabled())
+      str += " disabled";
+    QStringList strList = QStringList(str);
+    QTreeWidgetItem *topLevel = new QTreeWidgetItem(strList);
+    styleSheetsTree->addTopLevelItem(topLevel);
+  
+    // list the content
+    DOM::CSSStyleSheet cssSheet(sheet);
+    if (!cssSheet.isNull()) {
+      DOM::CSSRuleList cssRules = cssSheet.cssRules();
+      unsigned long numRules = cssRules.length();
+      for (unsigned long r = 0; r < numRules; ++r) {
+        DOM::CSSRule rule = cssRules.item(r);
+        QString cssText = rule.cssText().string();
+        (void)new QTreeWidgetItem(topLevel, QStringList(cssText));
+      }
+    }
+  }
+}
+
 void DOMTreeView::initializeOptionsFromCData(const DOM::CharacterData &cdata)
 {
   initializeDOMInfoFromCData(cdata);
--- trunk/extragear/base/konq-plugins/domtreeviewer/domtreeview.h #890701:890702
@@ -178,6 +178,8 @@
     private:
         void initDOMNodeInfo();
 
+        void initializeStyleSheetsFromDocument(const DOM::Document &);
+
         void initializeOptionsFromElement(const DOM::Element &);
         void initializeDOMInfoFromElement(const DOM::Element &);
         void initializeCSSInfoFromElement(const DOM::Element &);
--- trunk/extragear/base/konq-plugins/domtreeviewer/domtreeviewbase.ui #890701:890702
@@ -313,8 +313,6 @@
        </item>
       </layout>
       <zorder></zorder>
-      <zorder>nodeAttributes</zorder>
-      <zorder></zorder>
       <zorder>nodeInfoStack</zorder>
      </widget>
      <widget class="QWidget" name="cssTab" >
@@ -324,6 +322,9 @@
       <layout class="QVBoxLayout" name="verticalLayout_2" >
        <item>
         <widget class="QTreeWidget" name="cssProperties" >
+         <property name="enabled" >
+          <bool>false</bool>
+         </property>
          <property name="rootIsDecorated" >
           <bool>false</bool>
          </property>
@@ -347,6 +348,28 @@
        </item>
       </layout>
      </widget>
+     <widget class="QWidget" name="styleSheetsTab" >
+      <attribute name="title" >
+       <string>Stylesheets</string>
+      </attribute>
+      <layout class="QVBoxLayout" name="verticalLayout_3" >
+       <item>
+        <widget class="QTreeWidget" name="styleSheetsTree" >
+         <property name="enabled" >
+          <bool>false</bool>
+         </property>
+         <property name="headerHidden" >
+          <bool>true</bool>
+         </property>
+         <column>
+          <property name="text" >
+           <string>1</string>
+          </property>
+         </column>
+        </widget>
+       </item>
+      </layout>
+     </widget>
     </widget>
    </item>
    <item row="2" column="0" colspan="2" >
[prev in list] [next in list] [prev in thread] [next in thread] 

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