OSDN Git Service

QmlDesigner.formEditor: improving appearence
authorThomas Hartmann <Thomas.Hartmann@nokia.com>
Wed, 7 Sep 2011 11:50:47 +0000 (13:50 +0200)
committerThomas Hartmann <Thomas.Hartmann@nokia.com>
Mon, 12 Sep 2011 11:49:15 +0000 (13:49 +0200)
Change-Id: Icdc10bb0eca30a4e5d85e5200e1c19b5a846b4e4
Reviewed-on: http://codereview.qt-project.org/4350
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Marco Bubke <marco.bubke@nokia.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp
src/plugins/qmldesigner/components/formeditor/formeditoritem.h

index 3839662..9311c1d 100644 (file)
@@ -53,7 +53,6 @@
 
 namespace QmlDesigner {
 
-QPixmap FormEditorItem::s_invisibleItemPixmap = QPixmap();
 
 FormEditorScene *FormEditorItem::scene() const {
     return qobject_cast<FormEditorScene*>(QGraphicsItem::scene());
@@ -281,31 +280,20 @@ void FormEditorItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *,
 
     painter->save();
 
+    const int invisiblePixmapWidth = 14;
+
     if (qmlItemNode().instanceIsRenderPixmapNull()) {
         if (scene()->showBoundingRects()) {
-            if (s_invisibleItemPixmap.isNull()) {
-                QImage invisibleItemImage(14, 14, QImage::Format_ARGB32_Premultiplied);
-
-                invisibleItemImage.fill(0xFF999999);
-                QPainter fillPainter(&invisibleItemImage);
-                fillPainter.setCompositionMode(QPainter::CompositionMode_Source);
-                fillPainter.rotate(-45);
-                fillPainter.translate(-10, 0);
-                fillPainter.fillRect(0, -4, 20, 7, QColor(100, 100, 100, 0));
-                fillPainter.translate(0, 10);
-                fillPainter.fillRect(0, -4, 20, 7, QColor(100, 100, 100, 0));
-                fillPainter.translate(0, 9);
-                fillPainter.fillRect(0, -3, 20, 6, QColor(100, 100, 100, 0));
-
 
+            qreal stripesWidth = 12;
 
+            QRegion innerRegion = QRegion(boundingRect().adjusted(stripesWidth, stripesWidth, -stripesWidth, -stripesWidth).toRect());
+            QRegion outerRegion  = QRegion(boundingRect().toRect()) - innerRegion;
 
-                s_invisibleItemPixmap = QPixmap::fromImage(invisibleItemImage);
-            }
-
-            painter->drawTiledPixmap(boundingRect(), s_invisibleItemPixmap);
-
-
+            painter->setClipRegion(outerRegion);
+            painter->setClipping(true);
+            painter->fillRect(boundingRect().adjusted(1, 1, -1, -1), Qt::BDiagPattern);
+            painter->setClipping(false);
 
             QString displayText = qmlItemNode().id();
 
@@ -319,9 +307,17 @@ void FormEditorItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *,
             painter->save();
 
             QFont font;
-            font.setPixelSize(18);
+            font.setStyleHint(QFont::SansSerif);
+            font.setBold(true);
+            font.setPixelSize(14);
             painter->setFont(font);
+            painter->setPen(QColor(255, 255, 255, 128));
+            painter->setCompositionMode(QPainter::CompositionMode_Exclusion);
 
+            painter->drawText(boundingRect().adjusted(-2, -2, 0,0), displayText, textOption);
+
+            painter->setFont(font);
+            painter->setPen(QColor(0, 0, 0, 255));
             painter->drawText(boundingRect(), displayText, textOption);
 
             painter->restore();
index 3b1175c..b3874ca 100644 (file)
@@ -133,7 +133,6 @@ private: // variables
     bool m_highlightBoundingRect;
     bool m_isContentVisible;
     bool m_isFormEditorVisible;
-    static QPixmap s_invisibleItemPixmap;
 };