Continued adding QSS preview support.

Mon, 31 Mar 2014 20:12:52 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 31 Mar 2014 20:12:52 +0200
changeset 3459
275cb00c83e2
parent 3458
64bbac483843
child 3460
c556c7e7d7fe

Continued adding QSS preview support.

Preferences/__init__.py file | annotate | diff | comparison | revisions
UI/Previewer.py file | annotate | diff | comparison | revisions
UI/Previewers/PreviewerHTML.py file | annotate | diff | comparison | revisions
UI/Previewers/PreviewerQSS.py file | annotate | diff | comparison | revisions
UI/Previewers/PreviewerQSS.ui file | annotate | diff | comparison | revisions
eric5.e4p file | annotate | diff | comparison | revisions
--- a/Preferences/__init__.py	Mon Mar 31 19:27:31 2014 +0200
+++ b/Preferences/__init__.py	Mon Mar 31 20:12:52 2014 +0200
@@ -1710,7 +1710,8 @@
     elif key in ["AdditionalOpenFilters", "AdditionalSaveFilters",
                  "PreviewMarkdownFileNameExtensions",
                  "PreviewRestFileNameExtensions",
-                 "PreviewHtmlFileNameExtensions"]:
+                 "PreviewHtmlFileNameExtensions",
+                 "PreviewQssFileNameExtensions"]:
         return toList(prefClass.settings.value(
             "Editor/" + key, prefClass.editorDefaults[key]))
     else:
--- a/UI/Previewer.py	Mon Mar 31 19:27:31 2014 +0200
+++ b/UI/Previewer.py	Mon Mar 31 20:12:52 2014 +0200
@@ -36,6 +36,7 @@
         self.__firstShow = True
         
         self.__htmlPreviewer = None
+        self.__qssPreviewer = None
         
         # Don't update too often because the UI might become sluggish
         self.__typingTimer = QTimer()
@@ -147,8 +148,9 @@
                     Preferences.getEditor("PreviewHtmlFileNameExtensions") + \
                     Preferences.getEditor(
                         "PreviewMarkdownFileNameExtensions") + \
-                    Preferences.getEditor("PreviewRestFileNameExtensions")
-            elif editor.getLanguage() == "HTML":
+                    Preferences.getEditor("PreviewRestFileNameExtensions") + \
+                    Preferences.getEditor("PreviewQssFileNameExtensions")
+            elif editor.getLanguage() in ["HTML", "QSS"]:
                 return True
         
         return False
@@ -191,5 +193,9 @@
                 self.setCurrentWidget(self.__htmlPreviewer)
                 self.__htmlPreviewer.processEditor(editor)
             elif language == "QSS":
-                # TODO: add QSS
-                pass
+                if self.__qssPreviewer is None:
+                    from .Previewers.PreviewerQSS import PreviewerQSS
+                    self.__qssPreviewer = PreviewerQSS()
+                    self.addWidget(self.__qssPreviewer)
+                self.setCurrentWidget(self.__qssPreviewer)
+                self.__qssPreviewer.processEditor(editor)
--- a/UI/Previewers/PreviewerHTML.py	Mon Mar 31 19:27:31 2014 +0200
+++ b/UI/Previewers/PreviewerHTML.py	Mon Mar 31 20:12:52 2014 +0200
@@ -4,7 +4,7 @@
 #
 
 """
-
+Module implementing a previewer widget for HTML, Markdown and ReST files.
 """
 
 import os
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/UI/Previewers/PreviewerQSS.py	Mon Mar 31 20:12:52 2014 +0200
@@ -0,0 +1,62 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2014 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing a previewer widget for Qt style sheet files.
+"""
+
+import os
+
+from PyQt4.QtGui import QWidget, QMenu
+
+from .Ui_PreviewerQSS import Ui_PreviewerQSS
+
+import Preferences
+
+
+class PreviewerQSS(QWidget, Ui_PreviewerQSS):
+    """
+    Class implementing a previewer widget for Qt style sheet files.
+    """
+    def __init__(self, parent=None):
+        """
+        Constructor
+        
+        @param parent reference to the parent widget (QWidget)
+        """
+        super().__init__(parent)
+        self.setupUi(self)
+        
+        # menu for toolbutton
+        self.__toolButtonMenu = QMenu(self);
+        self.__toolButtonMenu.addAction("Item1")
+        self.__toolButtonMenu.addSeparator()
+        self.__toolButtonMenu.addAction("Item2")
+        self.toolButton.setMenu(self.__toolButtonMenu)
+        
+        # TODO: some more initialisation
+    
+    def processEditor(self, editor=None):
+        """
+        Private slot to process an editor's text.
+        
+        @param editor editor to be processed (Editor)
+        """
+        if editor is not None:
+            fn = editor.getFileName()
+            
+            if fn:
+                extension = os.path.normcase(os.path.splitext(fn)[1][1:])
+            else:
+                extension = ""
+            if extension in \
+                    Preferences.getEditor("PreviewQssFileNameExtensions"):
+                styleSheet = editor.text()
+                if styleSheet:
+                    self.scrollAreaWidgetContents.setStyleSheet(styleSheet)
+                else:
+                    self.scrollAreaWidgetContents.setStyleSheet("")
+                self.toolButton.menu().setStyleSheet(
+                    self.scrollAreaWidgetContents.styleSheet())
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/UI/Previewers/PreviewerQSS.ui	Mon Mar 31 20:12:52 2014 +0200
@@ -0,0 +1,811 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>PreviewerQSS</class>
+ <widget class="QWidget" name="PreviewerQSS">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>500</width>
+    <height>600</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string/>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <widget class="QLabel" name="previewLabel">
+     <property name="font">
+      <font>
+       <pointsize>12</pointsize>
+       <weight>75</weight>
+       <bold>true</bold>
+      </font>
+     </property>
+     <property name="text">
+      <string>Preview Style</string>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignCenter</set>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QScrollArea" name="scrollArea">
+     <property name="verticalScrollBarPolicy">
+      <enum>Qt::ScrollBarAlwaysOn</enum>
+     </property>
+     <property name="horizontalScrollBarPolicy">
+      <enum>Qt::ScrollBarAlwaysOn</enum>
+     </property>
+     <property name="widgetResizable">
+      <bool>true</bool>
+     </property>
+     <widget class="QWidget" name="scrollAreaWidgetContents">
+      <property name="geometry">
+       <rect>
+        <x>0</x>
+        <y>0</y>
+        <width>464</width>
+        <height>538</height>
+       </rect>
+      </property>
+      <layout class="QVBoxLayout" name="verticalLayout_2">
+       <item>
+        <widget class="QTabWidget" name="tabWidget">
+         <property name="currentIndex">
+          <number>0</number>
+         </property>
+         <property name="tabsClosable">
+          <bool>true</bool>
+         </property>
+         <widget class="QWidget" name="tab_1">
+          <attribute name="title">
+           <string notr="true">Tab 1</string>
+          </attribute>
+          <layout class="QGridLayout" name="gridLayout_7">
+           <item row="0" column="0" colspan="2">
+            <layout class="QGridLayout" name="gridLayout_6">
+             <item row="0" column="0">
+              <widget class="QRadioButton" name="radioButton">
+               <property name="text">
+                <string notr="true">RadioButton</string>
+               </property>
+              </widget>
+             </item>
+             <item row="0" column="1">
+              <widget class="QCheckBox" name="checkBox">
+               <property name="text">
+                <string notr="true">CheckBox</string>
+               </property>
+               <property name="tristate">
+                <bool>true</bool>
+               </property>
+              </widget>
+             </item>
+             <item row="0" column="2">
+              <widget class="QProgressBar" name="progressBar">
+               <property name="maximum">
+                <number>20</number>
+               </property>
+               <property name="value">
+                <number>0</number>
+               </property>
+              </widget>
+             </item>
+             <item row="1" column="0">
+              <widget class="QPushButton" name="pushButton">
+               <property name="sizePolicy">
+                <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+               <property name="text">
+                <string notr="true">PushButton</string>
+               </property>
+              </widget>
+             </item>
+             <item row="1" column="1">
+              <widget class="QToolButton" name="toolButton">
+               <property name="sizePolicy">
+                <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+               <property name="text">
+                <string notr="true">ToolButton</string>
+               </property>
+               <property name="popupMode">
+                <enum>QToolButton::InstantPopup</enum>
+               </property>
+              </widget>
+             </item>
+             <item row="1" column="2">
+              <layout class="QHBoxLayout" name="horizontalLayout_3">
+               <item>
+                <widget class="QComboBox" name="readOnlyComboBox">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                 <item>
+                  <property name="text">
+                   <string notr="true">1</string>
+                  </property>
+                 </item>
+                 <item>
+                  <property name="text">
+                   <string notr="true">2</string>
+                  </property>
+                 </item>
+                 <item>
+                  <property name="text">
+                   <string notr="true">3</string>
+                  </property>
+                 </item>
+                </widget>
+               </item>
+               <item>
+                <widget class="QComboBox" name="editableComboBox">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                 <property name="editable">
+                  <bool>true</bool>
+                 </property>
+                 <item>
+                  <property name="text">
+                   <string notr="true">1</string>
+                  </property>
+                 </item>
+                 <item>
+                  <property name="text">
+                   <string notr="true">2</string>
+                  </property>
+                 </item>
+                 <item>
+                  <property name="text">
+                   <string notr="true">3</string>
+                  </property>
+                 </item>
+                </widget>
+               </item>
+              </layout>
+             </item>
+             <item row="2" column="0">
+              <widget class="QSpinBox" name="spinBox"/>
+             </item>
+             <item row="2" column="1">
+              <widget class="QDoubleSpinBox" name="doubleSpinBox"/>
+             </item>
+             <item row="2" column="2">
+              <layout class="QHBoxLayout" name="horizontalLayout_2">
+               <item>
+                <widget class="QLineEdit" name="lineEdit">
+                 <property name="text">
+                  <string notr="true">Line edit</string>
+                 </property>
+                </widget>
+               </item>
+               <item>
+                <widget class="QLineEdit" name="passwordEdit">
+                 <property name="text">
+                  <string notr="true">Password</string>
+                 </property>
+                 <property name="echoMode">
+                  <enum>QLineEdit::Password</enum>
+                 </property>
+                </widget>
+               </item>
+              </layout>
+             </item>
+             <item row="3" column="0">
+              <widget class="QTimeEdit" name="timeEdit"/>
+             </item>
+             <item row="3" column="1">
+              <widget class="QDateEdit" name="dateEdit"/>
+             </item>
+             <item row="3" column="2">
+              <widget class="QDateTimeEdit" name="dateTimeEdit"/>
+             </item>
+             <item row="4" column="0">
+              <widget class="QLCDNumber" name="lcdNumber">
+               <property name="digitCount">
+                <number>10</number>
+               </property>
+               <property name="intValue" stdset="0">
+                <number>1234567890</number>
+               </property>
+              </widget>
+             </item>
+             <item row="4" column="1">
+              <widget class="QLabel" name="label">
+               <property name="text">
+                <string notr="true">Label with &lt;a href=&quot;http://google.com&quot;&gt;link&lt;/a&gt;</string>
+               </property>
+              </widget>
+             </item>
+             <item row="4" column="2">
+              <widget class="QCommandLinkButton" name="commandLinkButton">
+               <property name="text">
+                <string notr="true">CommandLinkButton</string>
+               </property>
+              </widget>
+             </item>
+            </layout>
+           </item>
+           <item row="2" column="0">
+            <layout class="QGridLayout" name="gridLayout_5">
+             <item row="0" column="0" rowspan="3">
+              <widget class="Line" name="verticalLine">
+               <property name="orientation">
+                <enum>Qt::Vertical</enum>
+               </property>
+              </widget>
+             </item>
+             <item row="0" column="1" rowspan="3">
+              <widget class="QSlider" name="verticalSlider">
+               <property name="value">
+                <number>30</number>
+               </property>
+               <property name="orientation">
+                <enum>Qt::Vertical</enum>
+               </property>
+               <property name="tickPosition">
+                <enum>QSlider::TicksAbove</enum>
+               </property>
+              </widget>
+             </item>
+             <item row="0" column="2">
+              <widget class="QSlider" name="horizontalSlider">
+               <property name="sizePolicy">
+                <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+               <property name="value">
+                <number>30</number>
+               </property>
+               <property name="orientation">
+                <enum>Qt::Horizontal</enum>
+               </property>
+               <property name="tickPosition">
+                <enum>QSlider::TicksBelow</enum>
+               </property>
+              </widget>
+             </item>
+             <item row="1" column="2">
+              <widget class="Line" name="horizontalLine">
+               <property name="orientation">
+                <enum>Qt::Horizontal</enum>
+               </property>
+              </widget>
+             </item>
+             <item row="2" column="2">
+              <widget class="QDial" name="dial">
+               <property name="notchesVisible">
+                <bool>true</bool>
+               </property>
+              </widget>
+             </item>
+            </layout>
+           </item>
+           <item row="2" column="1">
+            <spacer name="horizontalSpacer_2">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>0</width>
+               <height>20</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           <item row="3" column="0">
+            <spacer name="verticalSpacer">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>0</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </widget>
+         <widget class="QWidget" name="tab_2">
+          <attribute name="title">
+           <string notr="true">Tab 2</string>
+          </attribute>
+          <layout class="QGridLayout" name="gridLayout_2">
+           <item row="0" column="0">
+            <widget class="QListWidget" name="listWidget">
+             <item>
+              <property name="text">
+               <string notr="true">I1</string>
+              </property>
+              <property name="icon">
+               <iconset>
+                <normaloff>:/images/battery.png</normaloff>:/images/battery.png</iconset>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">I2</string>
+              </property>
+              <property name="icon">
+               <iconset>
+                <normaloff>:/images/image-sunset.png</normaloff>:/images/image-sunset.png</iconset>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">I3</string>
+              </property>
+              <property name="icon">
+               <iconset>
+                <normaloff>:/images/user.png</normaloff>:/images/user.png</iconset>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">I4</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">I5</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">I6</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">I7</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">I8</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">I9</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">I10</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">I11</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">I12</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">I14</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">I15</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">I16</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">I17</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">I18</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">I19</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">I20</string>
+              </property>
+             </item>
+            </widget>
+           </item>
+           <item row="0" column="1">
+            <widget class="QListWidget" name="iconsListWidget">
+             <property name="flow">
+              <enum>QListView::LeftToRight</enum>
+             </property>
+             <property name="viewMode">
+              <enum>QListView::IconMode</enum>
+             </property>
+             <item>
+              <property name="text">
+               <string notr="true">I1</string>
+              </property>
+              <property name="icon">
+               <iconset>
+                <normaloff>:/images/battery.png</normaloff>:/images/battery.png</iconset>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">I2</string>
+              </property>
+              <property name="icon">
+               <iconset>
+                <normaloff>:/images/image-sunset.png</normaloff>:/images/image-sunset.png</iconset>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">I3</string>
+              </property>
+              <property name="icon">
+               <iconset>
+                <normaloff>:/images/user.png</normaloff>:/images/user.png</iconset>
+              </property>
+             </item>
+            </widget>
+           </item>
+           <item row="1" column="0">
+            <widget class="QTableWidget" name="table">
+             <property name="sortingEnabled">
+              <bool>true</bool>
+             </property>
+             <attribute name="horizontalHeaderShowSortIndicator" stdset="0">
+              <bool>true</bool>
+             </attribute>
+             <attribute name="verticalHeaderShowSortIndicator" stdset="0">
+              <bool>true</bool>
+             </attribute>
+             <row>
+              <property name="text">
+               <string notr="true">R1</string>
+              </property>
+             </row>
+             <row>
+              <property name="text">
+               <string notr="true">R2</string>
+              </property>
+             </row>
+             <row>
+              <property name="text">
+               <string notr="true">R3</string>
+              </property>
+             </row>
+             <column>
+              <property name="text">
+               <string notr="true">C1</string>
+              </property>
+             </column>
+             <column>
+              <property name="text">
+               <string notr="true">C2</string>
+              </property>
+             </column>
+             <item row="0" column="0">
+              <property name="text">
+               <string notr="true">1,1</string>
+              </property>
+             </item>
+             <item row="0" column="1">
+              <property name="text">
+               <string notr="true">1,2</string>
+              </property>
+             </item>
+             <item row="1" column="0">
+              <property name="text">
+               <string notr="true">2,1</string>
+              </property>
+             </item>
+             <item row="1" column="1">
+              <property name="text">
+               <string notr="true">2,2</string>
+              </property>
+             </item>
+             <item row="2" column="0">
+              <property name="text">
+               <string notr="true">3,1</string>
+              </property>
+              <property name="flags">
+               <set>ItemIsSelectable|ItemIsDragEnabled|ItemIsUserCheckable</set>
+              </property>
+             </item>
+             <item row="2" column="1">
+              <property name="text">
+               <string notr="true">2,3</string>
+              </property>
+              <property name="flags">
+               <set>ItemIsSelectable|ItemIsDragEnabled|ItemIsUserCheckable</set>
+              </property>
+             </item>
+            </widget>
+           </item>
+           <item row="1" column="1">
+            <widget class="QTreeWidget" name="tree">
+             <property name="allColumnsShowFocus">
+              <bool>true</bool>
+             </property>
+             <attribute name="headerShowSortIndicator" stdset="0">
+              <bool>true</bool>
+             </attribute>
+             <column>
+              <property name="text">
+               <string notr="true">C1</string>
+              </property>
+             </column>
+             <column>
+              <property name="text">
+               <string notr="true">C2</string>
+              </property>
+             </column>
+             <item>
+              <property name="text">
+               <string notr="true">R1</string>
+              </property>
+              <property name="text">
+               <string notr="true"/>
+              </property>
+              <item>
+               <property name="text">
+                <string notr="true">C1</string>
+               </property>
+               <property name="checkState">
+                <enum>Checked</enum>
+               </property>
+               <property name="text">
+                <string notr="true">X1</string>
+               </property>
+               <property name="checkState">
+                <enum>Checked</enum>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string notr="true">C2</string>
+               </property>
+               <property name="checkState">
+                <enum>PartiallyChecked</enum>
+               </property>
+               <property name="text">
+                <string notr="true">X2</string>
+               </property>
+               <property name="checkState">
+                <enum>PartiallyChecked</enum>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string notr="true">C3</string>
+               </property>
+               <property name="text">
+                <string notr="true">X3</string>
+               </property>
+               <property name="flags">
+                <set>ItemIsSelectable|ItemIsDragEnabled|ItemIsUserCheckable</set>
+               </property>
+              </item>
+             </item>
+             <item>
+              <property name="text">
+               <string notr="true">R2</string>
+              </property>
+              <property name="flags">
+               <set>ItemIsSelectable|ItemIsDragEnabled|ItemIsUserCheckable</set>
+              </property>
+             </item>
+            </widget>
+           </item>
+          </layout>
+         </widget>
+         <widget class="QWidget" name="tab_3">
+          <attribute name="title">
+           <string notr="true">Tab 3</string>
+          </attribute>
+          <layout class="QGridLayout" name="gridLayout_8">
+           <item row="0" column="0">
+            <widget class="QTextBrowser" name="textBrowser">
+             <property name="undoRedoEnabled">
+              <bool>true</bool>
+             </property>
+             <property name="html">
+              <string notr="true">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Liberation Sans'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'MS Shell Dlg 2'; font-size:8pt;&quot;&gt;Text &lt;/span&gt;&lt;span style=&quot; font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600;&quot;&gt;browser&lt;/span&gt;&lt;span style=&quot; font-family:'MS Shell Dlg 2'; font-size:8pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot; font-family:'MS Shell Dlg 2'; font-size:8pt; font-style:italic;&quot;&gt;with&lt;/span&gt;&lt;span style=&quot; font-family:'MS Shell Dlg 2'; font-size:8pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot; font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline;&quot;&gt;some&lt;/span&gt;&lt;span style=&quot; font-family:'MS Shell Dlg 2'; font-size:8pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot; font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; font-style:italic;&quot;&gt;text &lt;/span&gt;&lt;span style=&quot; font-family:'MS Shell Dlg 2'; font-size:8pt;&quot;&gt;and &lt;/span&gt;&lt;a href=&quot;http://google.com&quot;&gt;&lt;span style=&quot; font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;&quot;&gt;links&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+             </property>
+             <property name="openLinks">
+              <bool>false</bool>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="1">
+            <widget class="QTextEdit" name="textEdit">
+             <property name="html">
+              <string notr="true">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Liberation Sans'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'MS Shell Dlg 2'; font-size:8pt;&quot;&gt;Text edit&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="2">
+            <widget class="QCalendarWidget" name="calendarWidget"/>
+           </item>
+           <item row="1" column="0" colspan="3">
+            <widget class="QGroupBox" name="groupBox">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+               <horstretch>1</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="title">
+              <string notr="true">GroupBox</string>
+             </property>
+             <layout class="QGridLayout" name="gridLayout_3">
+              <item row="0" column="0">
+               <widget class="QScrollArea" name="scrollArea_2">
+                <property name="widgetResizable">
+                 <bool>true</bool>
+                </property>
+                <widget class="QWidget" name="scrollAreaWidgetContents_2">
+                 <property name="geometry">
+                  <rect>
+                   <x>0</x>
+                   <y>0</y>
+                   <width>392</width>
+                   <height>253</height>
+                  </rect>
+                 </property>
+                 <layout class="QGridLayout" name="gridLayout_9">
+                  <item row="0" column="1">
+                   <widget class="QFrame" name="frame">
+                    <property name="sizePolicy">
+                     <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+                      <horstretch>1</horstretch>
+                      <verstretch>0</verstretch>
+                     </sizepolicy>
+                    </property>
+                    <property name="frameShape">
+                     <enum>QFrame::StyledPanel</enum>
+                    </property>
+                    <property name="frameShadow">
+                     <enum>QFrame::Raised</enum>
+                    </property>
+                    <layout class="QGridLayout" name="gridLayout_10">
+                     <item row="0" column="0">
+                      <widget class="QLabel" name="label_2">
+                       <property name="text">
+                        <string notr="true">Frame</string>
+                       </property>
+                      </widget>
+                     </item>
+                     <item row="1" column="0">
+                      <spacer name="verticalSpacer_2">
+                       <property name="orientation">
+                        <enum>Qt::Vertical</enum>
+                       </property>
+                       <property name="sizeHint" stdset="0">
+                        <size>
+                         <width>20</width>
+                         <height>46</height>
+                        </size>
+                       </property>
+                      </spacer>
+                     </item>
+                    </layout>
+                   </widget>
+                  </item>
+                  <item row="0" column="0" rowspan="2">
+                   <widget class="QToolBox" name="toolBox">
+                    <property name="currentIndex">
+                     <number>0</number>
+                    </property>
+                    <widget class="QWidget" name="page">
+                     <property name="geometry">
+                      <rect>
+                       <x>0</x>
+                       <y>0</y>
+                       <width>68</width>
+                       <height>171</height>
+                      </rect>
+                     </property>
+                     <attribute name="label">
+                      <string notr="true">Toolbox1</string>
+                     </attribute>
+                    </widget>
+                    <widget class="QWidget" name="page_2">
+                     <property name="geometry">
+                      <rect>
+                       <x>0</x>
+                       <y>0</y>
+                       <width>68</width>
+                       <height>237</height>
+                      </rect>
+                     </property>
+                     <attribute name="label">
+                      <string notr="true">Toolbox2</string>
+                     </attribute>
+                    </widget>
+                   </widget>
+                  </item>
+                  <item row="0" column="2">
+                   <widget class="QDockWidget" name="dockWidget">
+                    <property name="sizePolicy">
+                     <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+                      <horstretch>1</horstretch>
+                      <verstretch>1</verstretch>
+                     </sizepolicy>
+                    </property>
+                    <property name="windowTitle">
+                     <string notr="true">Dock widget</string>
+                    </property>
+                    <widget class="QWidget" name="dockWidgetContents_3"/>
+                   </widget>
+                  </item>
+                  <item row="1" column="1" colspan="2">
+                   <widget class="QMdiArea" name="mdiArea">
+                    <property name="sizePolicy">
+                     <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+                      <horstretch>0</horstretch>
+                      <verstretch>2</verstretch>
+                     </sizepolicy>
+                    </property>
+                   </widget>
+                  </item>
+                 </layout>
+                </widget>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+          </layout>
+         </widget>
+        </widget>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
--- a/eric5.e4p	Mon Mar 31 19:27:31 2014 +0200
+++ b/eric5.e4p	Mon Mar 31 20:12:52 2014 +0200
@@ -1132,6 +1132,7 @@
     <Source>Plugins/VcsPlugins/vcsMercurial/HgBranchInputDialog.py</Source>
     <Source>UI/Previewers/__init__.py</Source>
     <Source>UI/Previewers/PreviewerHTML.py</Source>
+    <Source>UI/Previewers/PreviewerQSS.py</Source>
   </Sources>
   <Forms>
     <Form>PyUnit/UnittestDialog.ui</Form>
@@ -1459,6 +1460,7 @@
     <Form>Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/LfRevisionsInputDialog.ui</Form>
     <Form>Plugins/VcsPlugins/vcsMercurial/HgBranchInputDialog.ui</Form>
     <Form>UI/Previewers/PreviewerHTML.ui</Form>
+    <Form>UI/Previewers/PreviewerQSS.ui</Form>
   </Forms>
   <Translations>
     <Translation>i18n/eric5_cs.ts</Translation>

eric ide

mercurial