New Project dialog fix: "Orientation" button doesn't work for equal sizes

If the width equaled the height, for the project, then the orientation
button didn't change visual state, when clicked.

Also, renamed some fields in qml from "project" to "preset", because
they actually refer to the preset, not to the project to be created.

Task-number: QDS-5925
Change-Id: Ia776b24e0bf29a4bdf0e2f9f6ff26e5c0137ba4f
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Samuel Ghinet
2022-03-09 14:40:52 +02:00
parent 75dd1c2251
commit ccc5cd04d3
4 changed files with 37 additions and 34 deletions

View File

@@ -163,14 +163,14 @@ Item {
id: tabBar
x: 10 // left padding
width: parent.width - 20 // right padding
height: DialogValues.projectViewHeaderHeight
height: DialogValues.presetViewHeaderHeight
color: DialogValues.lightPaneColor
function selectTab(tabIndex, selectLast = false) {
var item = repeater.itemAt(tabIndex)
tabBarRow.currIndex = tabIndex
projectView.selectLast = selectLast
presetView.selectLast = selectLast
BackendApi.presetModel.setPage(tabIndex) // NOTE: it resets preset model
}
@@ -244,10 +244,10 @@ Item {
} // Rectangle
Rectangle {
id: projectViewFrame
id: presetViewFrame
x: 10 // left padding
width: parent.width - 20 // right padding
height: DialogValues.projectViewHeight
height: DialogValues.presetViewHeight
color: DialogValues.darkPaneColor
Item {
@@ -255,7 +255,7 @@ Item {
anchors.margins: DialogValues.gridMargins
NewProjectView {
id: projectView
id: presetView
anchors.fill: parent
loader: projectDetailsLoader
@@ -265,12 +265,12 @@ Item {
target: rootDialog
function onHeightChanged() {
if (rootDialog.height < 720) { // 720 = minimum height big dialog
DialogValues.projectViewHeight =
DialogValues.projectItemHeight
DialogValues.presetViewHeight =
DialogValues.presetItemHeight
+ 2 * DialogValues.gridMargins
} else {
DialogValues.projectViewHeight =
DialogValues.projectItemHeight * 2
DialogValues.presetViewHeight =
DialogValues.presetItemHeight * 2
+ DialogValues.gridSpacing
+ 2 * DialogValues.gridMargins
}
@@ -289,7 +289,7 @@ Item {
lineHeight: DialogValues.defaultLineHeight
lineHeightMode: Text.FixedHeight
leftPadding: 14
width: projectViewFrame.width
width: presetViewFrame.width
color: DialogValues.textColor
wrapMode: Text.WordWrap
maximumLineCount: 4

View File

@@ -371,6 +371,9 @@ Item {
if (widthField.realValue && heightField.realValue) {
[widthField.realValue, heightField.realValue] = [heightField.realValue, widthField.realValue]
orientationButton.checked = !orientationButton.checked
if (widthField.realValue === heightField.realValue)
orientationButton.checked ? setVertical() : setHorizontal()
}
}

View File

@@ -33,9 +33,9 @@ QtObject {
readonly property int dialogWidth: 1522
readonly property int dialogHeight: 940
readonly property int projectViewMinimumWidth: 600
readonly property int projectViewMinimumHeight: root.gridCellHeight
readonly property int dialogContentHeight: root.projectViewHeight + 300 // i.e. dialog without header and footer
readonly property int presetViewMinimumWidth: 600
readonly property int presetViewMinimumHeight: root.gridCellHeight
readonly property int dialogContentHeight: root.presetViewHeight + 300 // i.e. dialog without header and footer
readonly property int loadedPanesWidth: root.detailsPaneWidth + root.stylesPaneWidth
readonly property int detailsPaneWidth: 330 + root.detailsPanePadding * 2
readonly property int dialogTitleTextHeight: 85
@@ -62,14 +62,14 @@ QtObject {
readonly property int styleTextHeight: 18
readonly property int footerHeight: 73
readonly property int projectItemWidth: 136
readonly property int projectItemHeight: 110
property int projectViewHeight: root.projectItemHeight * 2 + root.gridSpacing + root.gridMargins * 2
readonly property int projectViewHeaderHeight: 38
readonly property int presetItemWidth: 136
readonly property int presetItemHeight: 110
property int presetViewHeight: root.presetItemHeight * 2 + root.gridSpacing + root.gridMargins * 2
readonly property int presetViewHeaderHeight: 38
readonly property int gridMargins: 20
readonly property int gridCellWidth: root.projectItemWidth + root.gridSpacing
readonly property int gridCellHeight: root.projectItemHeight + root.gridSpacing
readonly property int gridCellWidth: root.presetItemWidth + root.gridSpacing
readonly property int gridCellHeight: root.presetItemHeight + root.gridSpacing
readonly property int gridSpacing: 2
readonly property int dialogButtonWidth: 100

View File

@@ -97,8 +97,8 @@ ScrollView {
property bool hover: delegate.hovered || removeMouseArea.containsMouse
width: DialogValues.projectItemWidth
height: DialogValues.projectItemHeight
width: DialogValues.presetItemWidth
height: DialogValues.presetItemHeight
onClicked: delegate.GridView.view.currentIndex = index
@@ -107,7 +107,7 @@ ScrollView {
width: parent.width
height: parent.height
color: delegate.hover ? scrollView.backgroundHoverColor : "transparent"
border.color: delegate.hover ? projectTypeName.color : "transparent"
border.color: delegate.hover ? presetName.color : "transparent"
}
function fontIconCode(index) {
@@ -125,7 +125,7 @@ ScrollView {
anchors.horizontalCenter: parent.horizontalCenter
Label {
id: projectTypeIcon
id: presetIcon
text: delegate.fontIconCode(index)
color: DialogValues.textColor
horizontalAlignment: Text.AlignHCenter
@@ -137,25 +137,25 @@ ScrollView {
} // Preset type icon Label
Text {
id: projectTypeName
id: presetName
color: DialogValues.textColor
text: name
font.pixelSize: DialogValues.defaultPixelSize
lineHeight: DialogValues.defaultLineHeight
lineHeightMode: Text.FixedHeight
width: DialogValues.projectItemWidth - 16
width: DialogValues.presetItemWidth - 16
elide: Text.ElideRight
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignTop
Layout.alignment: Qt.AlignHCenter
Layout.preferredWidth: projectTypeName.width
Layout.minimumWidth: projectTypeName.width
Layout.maximumWidth: projectTypeName.width
Layout.preferredWidth: presetName.width
Layout.minimumWidth: presetName.width
Layout.maximumWidth: presetName.width
ToolTip {
id: toolTip
y: -toolTip.height
visible: delegate.hovered && projectTypeName.truncated
visible: delegate.hovered && presetName.truncated
text: name
delay: 1000
height: 20
@@ -176,7 +176,7 @@ ScrollView {
}
Text {
id: projectTypeResolution
id: presetResolution
color: DialogValues.textColor
text: resolution
font.pixelSize: DialogValues.defaultPixelSize
@@ -219,7 +219,7 @@ ScrollView {
: Qt.ArrowCursor
onClicked: {
removePresetDialog.presetName = projectTypeName.text
removePresetDialog.presetName = presetName.text
removePresetDialog.open()
}
}
@@ -232,15 +232,15 @@ ScrollView {
when: delegate.GridView.isCurrentItem
PropertyChanges {
target: projectTypeName
target: presetName
color: DialogValues.textColorInteraction
}
PropertyChanges {
target: projectTypeResolution
target: presetResolution
color: DialogValues.textColorInteraction
}
PropertyChanges {
target: projectTypeIcon
target: presetIcon
color: DialogValues.textColorInteraction
}
PropertyChanges {