diff options
author | Richard Dale <richard.dale@codethink.co.uk> | 2013-07-04 09:56:52 +0100 |
---|---|---|
committer | Richard Dale <richard.dale@codethink.co.uk> | 2013-07-04 09:56:52 +0100 |
commit | acf9e50d52c4d09a1aed9490bb2f3c5de7dce9bb (patch) | |
tree | 5b05df5a9e67f397bc7629f0921bc30c64bcc03e /src/styles/Desktop | |
parent | a7e874ddf3496766903fc88e52fb61573c3d3f74 (diff) | |
parent | aa4ddfd8443f07badc0899d835027e46c6e0dfd8 (diff) | |
download | qtquickcontrols-baserock/morph.tar.gz |
Merge v5.1.0 releasebaserock/morph
Diffstat (limited to 'src/styles/Desktop')
-rw-r--r-- | src/styles/Desktop/ButtonStyle.qml | 4 | ||||
-rw-r--r-- | src/styles/Desktop/CheckBoxStyle.qml | 14 | ||||
-rw-r--r-- | src/styles/Desktop/ComboBoxStyle.qml | 2 | ||||
-rw-r--r-- | src/styles/Desktop/GroupBoxStyle.qml | 10 | ||||
-rw-r--r-- | src/styles/Desktop/RadioButtonStyle.qml | 2 | ||||
-rw-r--r-- | src/styles/Desktop/ScrollViewStyle.qml | 6 | ||||
-rw-r--r-- | src/styles/Desktop/SliderStyle.qml | 2 | ||||
-rw-r--r-- | src/styles/Desktop/SpinBoxStyle.qml | 21 | ||||
-rw-r--r-- | src/styles/Desktop/StatusBarStyle.qml | 15 | ||||
-rw-r--r-- | src/styles/Desktop/TabViewStyle.qml | 17 | ||||
-rw-r--r-- | src/styles/Desktop/TableViewStyle.qml | 46 | ||||
-rw-r--r-- | src/styles/Desktop/TextFieldStyle.qml | 8 | ||||
-rw-r--r-- | src/styles/Desktop/ToolBarStyle.qml | 14 | ||||
-rw-r--r-- | src/styles/Desktop/ToolButtonStyle.qml | 13 |
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 } } } |