summaryrefslogtreecommitdiff
path: root/src/styles/Desktop
diff options
context:
space:
mode:
authorRichard Dale <richard.dale@codethink.co.uk>2013-07-04 09:56:52 +0100
committerRichard Dale <richard.dale@codethink.co.uk>2013-07-04 09:56:52 +0100
commitacf9e50d52c4d09a1aed9490bb2f3c5de7dce9bb (patch)
tree5b05df5a9e67f397bc7629f0921bc30c64bcc03e /src/styles/Desktop
parenta7e874ddf3496766903fc88e52fb61573c3d3f74 (diff)
parentaa4ddfd8443f07badc0899d835027e46c6e0dfd8 (diff)
downloadqtquickcontrols-baserock/morph.tar.gz
Merge v5.1.0 releasebaserock/morph
Diffstat (limited to 'src/styles/Desktop')
-rw-r--r--src/styles/Desktop/ButtonStyle.qml4
-rw-r--r--src/styles/Desktop/CheckBoxStyle.qml14
-rw-r--r--src/styles/Desktop/ComboBoxStyle.qml2
-rw-r--r--src/styles/Desktop/GroupBoxStyle.qml10
-rw-r--r--src/styles/Desktop/RadioButtonStyle.qml2
-rw-r--r--src/styles/Desktop/ScrollViewStyle.qml6
-rw-r--r--src/styles/Desktop/SliderStyle.qml2
-rw-r--r--src/styles/Desktop/SpinBoxStyle.qml21
-rw-r--r--src/styles/Desktop/StatusBarStyle.qml15
-rw-r--r--src/styles/Desktop/TabViewStyle.qml17
-rw-r--r--src/styles/Desktop/TableViewStyle.qml46
-rw-r--r--src/styles/Desktop/TextFieldStyle.qml8
-rw-r--r--src/styles/Desktop/ToolBarStyle.qml14
-rw-r--r--src/styles/Desktop/ToolButtonStyle.qml13
14 files changed, 97 insertions, 77 deletions
diff --git a/src/styles/Desktop/ButtonStyle.qml b/src/styles/Desktop/ButtonStyle.qml
index 3ae42c03..53c4ef7f 100644
--- a/src/styles/Desktop/ButtonStyle.qml
+++ b/src/styles/Desktop/ButtonStyle.qml
@@ -46,7 +46,7 @@ Style {
elementType: "button"
sunken: control.pressed || (control.checkable && control.checked)
raised: !(control.pressed || (control.checkable && control.checked))
- hover: control.__containsMouse
+ hover: control.hovered
text: control.iconSource === "" ? "" : control.text
hasFocus: control.activeFocus
hints: control.styleHints
@@ -54,7 +54,7 @@ Style {
activeControl: control.isDefault ? "default" : "f"
properties: {
- "icon": control.__action.__icon,
+ "icon": control.__iconAction.__icon,
"menu": control.menu
}
}
diff --git a/src/styles/Desktop/CheckBoxStyle.qml b/src/styles/Desktop/CheckBoxStyle.qml
index 65c517ba..9b19300f 100644
--- a/src/styles/Desktop/CheckBoxStyle.qml
+++ b/src/styles/Desktop/CheckBoxStyle.qml
@@ -52,19 +52,11 @@ Style {
elementType: "checkbox"
sunken: control.pressed
on: control.checked || control.pressed
- hover: control.__containsMouse
+ hover: control.hovered
enabled: control.enabled
hasFocus: control.activeFocus && styleitem.style == "mac"
- hints: {
- if (control.checkedState === Qt.PartiallyChecked)
- control.styleHints.push("partiallyChecked");
- else {
- var index = control.styleHints.indexOf("partiallyChecked");
- if (index !== -1)
- control.styleHints.splice(index, 1);
- }
- control.styleHints;
- }
+ hints: control.styleHints
+ properties: {"partiallyChecked": (control.checkedState === Qt.PartiallyChecked) }
contentHeight: textitem.implicitHeight
contentWidth: textitem.implicitWidth + indicatorWidth
property int indicatorWidth: pixelMetric("indicatorwidth") + (macStyle ? 2 : 4)
diff --git a/src/styles/Desktop/ComboBoxStyle.qml b/src/styles/Desktop/ComboBoxStyle.qml
index 78e52f53..95397641 100644
--- a/src/styles/Desktop/ComboBoxStyle.qml
+++ b/src/styles/Desktop/ComboBoxStyle.qml
@@ -58,7 +58,7 @@ Style {
elementType: "combobox"
sunken: control.pressed
raised: !sunken
- hover: control.__containsMouse
+ hover: control.hovered
enabled: control.enabled
// The style makes sure the text rendering won't overlap the decoration.
// In that case, 35 pixels margin in this case looks good enough. Worst
diff --git a/src/styles/Desktop/GroupBoxStyle.qml b/src/styles/Desktop/GroupBoxStyle.qml
index 3c4bfc43..81d6de86 100644
--- a/src/styles/Desktop/GroupBoxStyle.qml
+++ b/src/styles/Desktop/GroupBoxStyle.qml
@@ -42,7 +42,7 @@ import QtQuick.Controls 1.0
import QtQuick.Controls.Private 1.0
-PaddedStyle {
+Style {
readonly property GroupBox control: __control
property var __style: StyleItem { id: style }
@@ -55,10 +55,10 @@ PaddedStyle {
}
padding {
- top: (control.title.length > 0 || control.checkable ? titleHeight : 0) + 6
- left: 8
- right: 8
- bottom: 6
+ top: Math.round(Settings.dpiScaleFactor * (control.title.length > 0 || control.checkable ? titleHeight : 0) + (style.style == "mac" ? 9 : 6))
+ left: Math.round(Settings.dpiScaleFactor * 8)
+ right: Math.round(Settings.dpiScaleFactor * 8)
+ bottom: Math.round(Settings.dpiScaleFactor * 7 + (style.style.indexOf("windows") > -1 ? 2 : 0))
}
property Component panel: StyleItem {
diff --git a/src/styles/Desktop/RadioButtonStyle.qml b/src/styles/Desktop/RadioButtonStyle.qml
index c5a3c80d..b41b959a 100644
--- a/src/styles/Desktop/RadioButtonStyle.qml
+++ b/src/styles/Desktop/RadioButtonStyle.qml
@@ -56,7 +56,7 @@ Style {
anchors.verticalCenterOffset: macStyle ? -1 : 0
sunken: control.pressed
on: control.checked || control.pressed
- hover: control.__containsMouse
+ hover: control.hovered
enabled: control.enabled
hasFocus: control.activeFocus && styleitem.style == "mac"
hints: control.styleHints
diff --git a/src/styles/Desktop/ScrollViewStyle.qml b/src/styles/Desktop/ScrollViewStyle.qml
index 42c9fc3e..deddc354 100644
--- a/src/styles/Desktop/ScrollViewStyle.qml
+++ b/src/styles/Desktop/ScrollViewStyle.qml
@@ -42,7 +42,7 @@ import QtQuick.Controls 1.0
import QtQuick.Controls.Private 1.0
import "." as Desktop
-PaddedStyle {
+Style {
id: root
padding {
@@ -74,11 +74,11 @@ PaddedStyle {
elementType: "scrollbar"
hover: activeControl != "none"
activeControl: "none"
- sunken: __control.upPressed | __control.downPressed | __control.handlePressed
+ sunken: __styleData.upPressed | __styleData.downPressed | __styleData.handlePressed
minimum: __control.minimumValue
maximum: __control.maximumValue
value: __control.value
- horizontal: __control.orientation === Qt.Horizontal
+ horizontal: __styleData.horizontal
enabled: __control.enabled
implicitWidth: horizontal ? 200 : pixelMetric("scrollbarExtent")
diff --git a/src/styles/Desktop/SliderStyle.qml b/src/styles/Desktop/SliderStyle.qml
index 1c89d21c..fbe2cfb6 100644
--- a/src/styles/Desktop/SliderStyle.qml
+++ b/src/styles/Desktop/SliderStyle.qml
@@ -40,7 +40,7 @@
import QtQuick 2.1
import QtQuick.Controls.Private 1.0
-PaddedStyle {
+Style {
readonly property Item control: __control
property Component panel: StyleItem {
elementType: "slider"
diff --git a/src/styles/Desktop/SpinBoxStyle.qml b/src/styles/Desktop/SpinBoxStyle.qml
index 2da3db1f..24f51427 100644
--- a/src/styles/Desktop/SpinBoxStyle.qml
+++ b/src/styles/Desktop/SpinBoxStyle.qml
@@ -41,7 +41,7 @@ import QtQuick 2.1
import QtQuick.Controls 1.0
import QtQuick.Controls.Private 1.0
-PaddedStyle {
+Style {
readonly property SpinBox control: __control
property var __syspal: SystemPalette {
@@ -50,11 +50,12 @@ PaddedStyle {
}
padding {
- top: control.__panel ? control.__panel.topPadding + (control.__panel.style === "mac" ? 1 : 0) : 0
+ top: control.__panel ? control.__panel.topPadding + (styleitem.style === "mac" ? 2 : 0) : 0
left: control.__panel ? control.__panel.leftPadding : 0
right: control.__panel ? control.__panel.rightPadding : 0
bottom: control.__panel ? control.__panel.bottomPadding : 0
}
+ StyleItem {id: styleitem ; visible: false}
property Component panel: Item {
id: style
@@ -114,17 +115,17 @@ PaddedStyle {
id: styleitem
elementType: "spinbox"
anchors.fill: parent
- sunken: (controlState.downEnabled && controlState.downPressed) || (controlState.upEnabled && controlState.upPressed)
- hover: controlState.containsMouse
+ sunken: (styleData.downEnabled && styleData.downPressed) || (styleData.upEnabled && styleData.upPressed)
+ hover: control.hovered
hints: control.styleHints
hasFocus: control.activeFocus
enabled: control.enabled
- value: (controlState.upPressed ? 1 : 0) |
- (controlState.downPressed ? 1<<1 : 0) |
- (controlState.upEnabled ? (1<<2) : 0) |
- (controlState.downEnabled ? (1<<3) : 0)
- contentWidth: controlState.contentWidth
- contentHeight: controlState.contentHeight
+ value: (styleData.upPressed ? 1 : 0) |
+ (styleData.downPressed ? 1<<1 : 0) |
+ (styleData.upEnabled ? (1<<2) : 0) |
+ (styleData.downEnabled ? (1<<3) : 0)
+ contentWidth: styleData.contentWidth
+ contentHeight: styleData.contentHeight
}
}
}
diff --git a/src/styles/Desktop/StatusBarStyle.qml b/src/styles/Desktop/StatusBarStyle.qml
index 6921a2fe..930ca773 100644
--- a/src/styles/Desktop/StatusBarStyle.qml
+++ b/src/styles/Desktop/StatusBarStyle.qml
@@ -46,11 +46,16 @@ import QtQuick.Controls.Private 1.0
\internal
\inqmlmodule QtQuick.Controls.Styles 1.0
*/
-Item {
- implicitHeight: 20
- implicitWidth: parent ? parent.width : style.implicitWidth
- StyleItem {
- id: style
+Style {
+
+ padding.left: 4
+ padding.right: 4
+ padding.top: 3
+ padding.bottom: 2
+
+ property Component panel: StyleItem {
+ implicitHeight: 16
+ implicitWidth: 200
anchors.fill: parent
elementType: "statusbar"
}
diff --git a/src/styles/Desktop/TabViewStyle.qml b/src/styles/Desktop/TabViewStyle.qml
index 455b99db..51b70ea4 100644
--- a/src/styles/Desktop/TabViewStyle.qml
+++ b/src/styles/Desktop/TabViewStyle.qml
@@ -51,7 +51,7 @@ Style {
property StyleItem __barstyle: StyleItem {
elementType: "tab"
- hints: [control.tabPosition === Qt.TopEdge ? "Top" : "Bottom"]
+ properties: { "tabposition" : (control.tabPosition === Qt.TopEdge ? "Top" : "Bottom") }
visible: false
}
@@ -65,6 +65,7 @@ Style {
minimum: tabbarItem && tabsVisible && tabbarItem.tab(currentIndex) ? tabbarItem.tab(currentIndex).width : 0
maximum: tabbarItem && tabsVisible ? tabbarItem.width : width
properties: { "selectedTabRect" : tabbarItem.__selectedTabRect, "orientation" : control.tabPosition }
+ hints: control.styleHints
Component.onCompleted: {
stack.frameWidth = styleitem.pixelMetric("defaultframewidth");
stack.style = style;
@@ -74,13 +75,13 @@ Style {
property Component tab: Item {
id: item
property string tabpos: control.count === 1 ? "only" : index === 0 ? "beginning" : index === control.count - 1 ? "end" : "middle"
- property string selectedpos: tab.nextSelected ? "next" : tab.previousSelected ? "previous" : ""
+ property string selectedpos: styleData.nextSelected ? "next" : styleData.previousSelected ? "previous" : ""
property string orientation: control.tabPosition === Qt.TopEdge ? "Top" : "Bottom"
property int tabHSpace: __barstyle.pixelMetric("tabhspace");
property int tabVSpace: __barstyle.pixelMetric("tabvspace");
property int totalOverlap: tabOverlap * (control.count - 1)
property real maxTabWidth: (control.width + totalOverlap) / control.count
- implicitWidth: Math.min(maxTabWidth, Math.max(50, styleitem.textWidth(tab.title)) + tabHSpace + 2)
+ implicitWidth: Math.min(maxTabWidth, Math.max(50, styleitem.textWidth(styleData.title)) + tabHSpace + 2)
implicitHeight: Math.max(styleitem.font.pixelSize + tabVSpace + 6, 0)
StyleItem {
@@ -94,12 +95,12 @@ Style {
anchors.rightMargin: -paintMargins
anchors.bottomMargin: -1
anchors.leftMargin: -paintMargins + (style === "mac" && selected ? -1 : 0)
- properties: { "hasFrame" : true }
- hints: [orientation, tabpos, selectedpos]
+ properties: { "hasFrame" : true, "orientation": orientation, "tabpos": tabpos, "selectedpos": selectedpos }
+ hints: control.styleHints
- selected: tab.selected
- text: elidedText(tab.title, tabbarItem.elide, item.width - item.tabHSpace)
- hover: tab.hovered
+ selected: styleData.selected
+ text: elidedText(styleData.title, tabbarItem.elide, item.width - item.tabHSpace)
+ hover: styleData.hovered
hasFocus: tabbarItem.activeFocus && selected
}
}
diff --git a/src/styles/Desktop/TableViewStyle.qml b/src/styles/Desktop/TableViewStyle.qml
index da6a47e5..171678a3 100644
--- a/src/styles/Desktop/TableViewStyle.qml
+++ b/src/styles/Desktop/TableViewStyle.qml
@@ -44,10 +44,15 @@ import QtQuick.Controls.Private 1.0
ScrollViewStyle {
id: root
+ property var __syspal: SystemPalette {
+ colorGroup: control.enabled ?
+ SystemPalette.Active : SystemPalette.Disabled
+ }
readonly property TableView control: __control
property bool activateItemOnSingleClick: __styleitem.styleHint("activateItemOnSingleClick")
- property color textColor: __styleitem.styleHint("textColor")
- property color highlightedTextColor: __styleitem.styleHint("highlightedTextColor")
+ property color textColor: __styleitem.textColor
+ property color backgroundColor: __syspal.base
+ property color highlightedTextColor: __styleitem.highlightedTextColor
property StyleItem __styleitem: StyleItem{
property color textColor: styleHint("textColor")
@@ -55,50 +60,59 @@ ScrollViewStyle {
elementType: "item"
visible: false
active: control.activeFocus
+ onActiveChanged: {
+ highlightedTextColor = styleHint("highlightedTextColor")
+ textColor = styleHint("textColor")
+ }
}
property Component headerDelegate: StyleItem {
elementType: "header"
activeControl: itemSort
raised: true
- sunken: itemPressed
- text: itemValue
- hover: itemContainsMouse
- hints: itemPosition
+ sunken: styleData.pressed
+ text: styleData.value
+ hover: styleData.containsMouse
+ hints: control.styleHints
+ properties: {"headerpos": headerPosition}
+ property string itemSort: (control.sortIndicatorVisible && styleData.column === control.sortIndicatorColumn) ? (control.sortIndicatorOrder == Qt.AscendingOrder ? "up" : "down") : "";
+ property string headerPosition: control.columnCount === 1 ? "only" :
+ styleData.column === control.columnCount-1 ? "end" :
+ styleData.column === 0 ? "beginning" : ""
}
property Component rowDelegate: StyleItem {
id: rowstyle
elementType: "itemrow"
- activeControl: alternateBackground ? "alternate" : ""
- selected: rowSelected ? true : false
+ activeControl: styleData.alternate ? "alternate" : ""
+ selected: styleData.selected ? true : false
height: Math.max(16, rowstyle.implicitHeight)
- active: hasActiveFocus
+ active: styleData.hasActiveFocus
}
property Component itemDelegate: Item {
height: Math.max(16, label.implicitHeight)
- property int implicitWidth: sizehint.paintedWidth + 4
+ property int implicitWidth: sizehint.paintedWidth + 16
Text {
id: label
objectName: "label"
width: parent.width
- anchors.margins: 6
+ anchors.leftMargin: 8
font: __styleitem.font
anchors.left: parent.left
anchors.right: parent.right
- horizontalAlignment: itemTextAlignment
+ horizontalAlignment: styleData.textAlignment
anchors.verticalCenter: parent.verticalCenter
- elide: itemElideMode
- text: itemValue != undefined ? itemValue : ""
- color: itemTextColor
+ elide: styleData.elideMode
+ text: styleData.value !== undefined ? styleData.value : ""
+ color: styleData.textColor
renderType: Text.NativeRendering
}
Text {
id: sizehint
font: label.font
- text: itemValue ? itemValue : ""
+ text: styleData.value ? styleData.value : ""
visible: false
}
}
diff --git a/src/styles/Desktop/TextFieldStyle.qml b/src/styles/Desktop/TextFieldStyle.qml
index 9a093d2a..8f71a45c 100644
--- a/src/styles/Desktop/TextFieldStyle.qml
+++ b/src/styles/Desktop/TextFieldStyle.qml
@@ -48,7 +48,7 @@ Style {
sunken: true
hasFocus: control.activeFocus
- hover: __containsMouse
+ hover: hovered
hints: control.styleHints
SystemPalette {
@@ -64,9 +64,9 @@ Style {
property color selectedTextColor: syspal.highlightedText
- property bool rounded: hints.indexOf("rounded") > -1
+ property bool rounded: !!hints["rounded"]
property int topMargin: style === "mac" ? 3 : 2
- property int leftMargin: rounded ? 8 : 4
+ property int leftMargin: rounded ? 12 : 4
property int rightMargin: leftMargin
property int bottomMargin: 2
@@ -76,7 +76,7 @@ Style {
FocusFrame {
anchors.fill: parent
- visible: textfield.activeFocus && textfieldstyle.styleHint("focuswidget")
+ visible: textfield.activeFocus && textfieldstyle.styleHint("focuswidget") && !rounded
}
}
}
diff --git a/src/styles/Desktop/ToolBarStyle.qml b/src/styles/Desktop/ToolBarStyle.qml
index 4c7e036e..56dfbce3 100644
--- a/src/styles/Desktop/ToolBarStyle.qml
+++ b/src/styles/Desktop/ToolBarStyle.qml
@@ -46,10 +46,16 @@ import QtQuick.Controls.Private 1.0
\internal
\inqmlmodule QtQuick.Controls.Styles 1.0
*/
-Item {
- implicitHeight: Math.max(childrenRect.height, toolbar.implicitHeight)
- implicitWidth: parent ? parent.width : toolbar.implicitWidth
- StyleItem {
+Style {
+
+ padding.left: 6
+ padding.right: 6
+ padding.top: 1
+ padding.bottom: style.style == "mac" ? 1 : 2
+
+ StyleItem { id: style ; visible: false}
+
+ property Component panel: StyleItem {
id: toolbar
anchors.fill: parent
elementType: "toolbar"
diff --git a/src/styles/Desktop/ToolButtonStyle.qml b/src/styles/Desktop/ToolButtonStyle.qml
index b54eeee2..54726962 100644
--- a/src/styles/Desktop/ToolButtonStyle.qml
+++ b/src/styles/Desktop/ToolButtonStyle.qml
@@ -46,16 +46,17 @@ Style {
anchors.fill: parent
elementType: "toolbutton"
- on: control.pressed || (control.checkable && control.checked)
- sunken: control.pressed || (control.checkable && control.checked)
- raised: !(control.checkable && control.checked) && control.__containsMouse
- hover: control.__containsMouse
+ on: control.checkable && control.checked
+ sunken: control.pressed
+ raised: !(control.checkable && control.checked) && control.hovered
+ hover: control.hovered
hasFocus: control.activeFocus
- hints: control.styleHints.concat([control.__position])
+ hints: control.styleHints
text: control.text
properties: {
- "icon": control.__action.__icon
+ "icon": control.__iconAction.__icon,
+ "position": control.__position
}
}
}