From 7da51905e80248d76d2962ff7e0fafa1b0dc76eb Mon Sep 17 00:00:00 2001
From: Thomas Hartmann <Thomas.Hartmann@nokia.com>
Date: Thu, 22 Apr 2010 12:24:30 +0200
Subject: [PATCH] QmlDesigner.propertyEditor: new qml files

---
 .../propertyeditor/Qt/FlagedButton.qml        |  46 +++++++
 .../propertyeditor/Qt/FontStyleButtons.qml    | 115 ++++++++++++++++++
 2 files changed, 161 insertions(+)
 create mode 100644 share/qtcreator/qmldesigner/propertyeditor/Qt/FlagedButton.qml
 create mode 100644 share/qtcreator/qmldesigner/propertyeditor/Qt/FontStyleButtons.qml

diff --git a/share/qtcreator/qmldesigner/propertyeditor/Qt/FlagedButton.qml b/share/qtcreator/qmldesigner/propertyeditor/Qt/FlagedButton.qml
new file mode 100644
index 00000000000..dc0e978d21b
--- /dev/null
+++ b/share/qtcreator/qmldesigner/propertyeditor/Qt/FlagedButton.qml
@@ -0,0 +1,46 @@
+import Qt 4.7
+import Bauhaus 1.0
+
+QPushButton {
+    id: flagedButton
+    property bool flagActive: false
+    property variant backendValue    
+    property variant theValue: backendValue.value;   
+    property bool blueHigh: false    
+    property bool baseStateFlag: isBaseState;
+    
+    onBaseStateFlagChanged: {
+        evaluate();
+    }
+    
+    property bool isInModel: backendValue.isInModel;
+    onIsInModelChanged: {
+        evaluate();
+    }
+    property bool isInSubState: backendValue.isInSubState;
+    onIsInSubStateChanged: {
+        evaluate();
+    }        
+    
+    onTheValueChanged: {        
+        evaluate();
+    }
+    
+     function evaluate() {
+        if (!enabled) {
+            fontSelector.setStyleSheet("color: "+scheme.disabledColor);
+        } else {
+            if (baseStateFlag) {
+                if (backendValue != null && backendValue.isInModel)
+                    flagActive = true;
+                else
+                    flagActive = false;
+            } else {
+                if (backendValue != null && backendValue.isInSubState)
+                    flagActive = true;
+                else
+                    flagActive = false;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/share/qtcreator/qmldesigner/propertyeditor/Qt/FontStyleButtons.qml b/share/qtcreator/qmldesigner/propertyeditor/Qt/FontStyleButtons.qml
new file mode 100644
index 00000000000..fa18d11d11f
--- /dev/null
+++ b/share/qtcreator/qmldesigner/propertyeditor/Qt/FontStyleButtons.qml
@@ -0,0 +1,115 @@
+import Qt 4.7
+import Bauhaus 1.0
+
+QGroupBox {
+    id: fontStyleButtons
+
+    property int buttonWidth: 46
+    layout: HorizontalLayout {
+        topMargin: 6
+
+        QWidget {
+            fixedHeight: 32
+
+            FlagedButton {
+                checkable: true
+                iconSize.width: 24;
+                iconSize.height: 24;
+                fixedWidth: buttonWidth
+                width: fixedWidth
+                fixedHeight: 28
+                height: fixedHeight
+                styleSheetFile: "styledbuttonleft.css";
+                checked: backendValues.font_bold.value;
+                backendValue: backendValues.font_bold;
+
+                iconFromFile: flagActive ? "images/bold-h-icon.png" : "images/bold-icon.png"
+
+                onClicked: {
+                    backendValues.font_bold.value = checked;
+                }
+
+                ExtendedFunctionButton {
+                    backendValue:   backendValues.font_bold;
+                    y: 7
+                    x: 2
+                }
+            }
+            FlagedButton {
+                x: buttonWidth
+                checkable: true
+                fixedWidth: buttonWidth
+                width: fixedWidth
+                fixedHeight: 28
+                iconSize.width: 24;
+                iconSize.height: 24;
+                height: fixedHeight
+                iconFromFile: flagActive ? "images/italic-h-icon.png" : "images/italic-icon.png"
+
+                styleSheetFile: "styledbuttonmiddle.css";
+                checked: backendValues.font_italic.value;
+                backendValue: backendValues.font_italic;
+
+                onClicked: {
+                    backendValues.font_italic.value = checked;
+                }
+
+                ExtendedFunctionButton {
+                    backendValue:   backendValues.font_italic
+                    y: 7
+                    x: 2
+                }
+            }
+            FlagedButton {
+                x: buttonWidth * 2
+                checkable: true
+                fixedWidth: buttonWidth
+                width: fixedWidth
+                fixedHeight: 28
+                iconSize.width: 24;
+                iconSize.height: 24;
+                height: fixedHeight
+                iconFromFile:  flagActive ? "images/underline-h-icon.png" : "images/underline-icon.png"
+
+                styleSheetFile: "styledbuttonmiddle.css";
+                checked: backendValues.font_underline.value;
+                backendValue: backendValues.font_underline;
+
+                onClicked: {
+                    backendValues.font_underline.value = checked;
+                }
+
+                ExtendedFunctionButton {
+                    backendValue:   backendValues.font_underline;
+                    y: 7
+                    x: 2
+                }
+            }
+            FlagedButton {
+                x: buttonWidth * 3
+                checkable: true
+                fixedWidth: buttonWidth
+                width: fixedWidth
+                fixedHeight: 28
+                iconSize.width: 24;
+                iconSize.height: 24;
+                height: fixedHeight
+                iconFromFile: flagActive ? "images/strikeout-h-icon.png" : "images/strikeout-icon.png"
+
+                styleSheetFile: "styledbuttonright.css";
+                checked: backendValues.font_strikeout.value;
+                backendValue: backendValues.font_strikeout;
+
+                onClicked: {
+                    backendValues.font_strikeout.value = checked;
+                }
+
+                ExtendedFunctionButton {
+                    backendValue:   backendValues.font_strikeout;
+                    y: 7
+                    x: 2
+                }
+            }
+        }
+    }
+}
-- 
GitLab