mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-25 17:14:59 +02:00
More intellectual calculation of title positions taking in account actual sort indicator glyph size
This commit is contained in:
parent
b8102cfbd7
commit
62f2ba0dad
2 changed files with 28 additions and 5 deletions
|
@ -23,6 +23,9 @@ TableView {
|
|||
property bool expandSelectedRow: false
|
||||
property bool centerHeaderText: false
|
||||
readonly property real headerSpacing: 3 //spacing between sort indicator and table header title
|
||||
property var titlePaintedPos: [] // storing extra data position behind painted
|
||||
// title text and sort indicatorin table's header
|
||||
signal titlePaintedPosSignal(int column) //signal that extradata position gets changed
|
||||
|
||||
model: ListModel { }
|
||||
|
||||
|
@ -73,8 +76,10 @@ TableView {
|
|||
|
||||
RalewayRegular {
|
||||
id: titleText
|
||||
x: centerHeaderText ? parent.width/2 -
|
||||
(paintedWidth/2 + (sortIndicatorVisible ? titleSort.paintedWidth/12 : 0)) :
|
||||
x: centerHeaderText ? (parent.width - paintedWidth -
|
||||
((sortIndicatorVisible &&
|
||||
sortIndicatorColumn === styleData.column) ?
|
||||
(titleSort.paintedWidth / 5 + tableView.headerSpacing) : 0)) / 2 :
|
||||
hifi.dimensions.tablePadding
|
||||
text: styleData.value
|
||||
size: hifi.fontSizes.tableHeading
|
||||
|
@ -84,6 +89,8 @@ TableView {
|
|||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
//actual image of sort indicator in glyph font only 20% of real font size
|
||||
//i.e. if the charachter size set to 60 pixels, actual image is 12 pixels
|
||||
HiFiGlyphs {
|
||||
id: titleSort
|
||||
text: sortIndicatorOrder == Qt.AscendingOrder ? hifi.glyphs.caratUp : hifi.glyphs.caratDn
|
||||
|
@ -92,8 +99,13 @@ TableView {
|
|||
size: hifi.fontSizes.tableHeadingIcon
|
||||
anchors.verticalCenter: titleText.verticalCenter
|
||||
anchors.left: titleText.right
|
||||
anchors.leftMargin: -(hifi.fontSizes.tableHeadingIcon / 3 + tableView.headerSpacing)
|
||||
anchors.leftMargin: -(hifi.fontSizes.tableHeadingIcon / 2.5) + tableView.headerSpacing
|
||||
visible: sortIndicatorVisible && sortIndicatorColumn === styleData.column
|
||||
onXChanged: {
|
||||
titlePaintedPos[styleData.column] = titleText.x + titleText.paintedWidth +
|
||||
paintedWidth / 5 + tableView.headerSpacing*2
|
||||
titlePaintedPosSignal(styleData.column)
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
|
|
|
@ -30,7 +30,7 @@ Rectangle {
|
|||
property int myCardWidth: width - upperRightInfoContainer.width;
|
||||
property int myCardHeight: 100;
|
||||
property int rowHeight: 60;
|
||||
property int actionButtonWidth: 55;
|
||||
property int actionButtonWidth: 65;
|
||||
property int locationColumnWidth: 170;
|
||||
property int nearbyNameCardWidth: nearbyTable.width - (iAmAdmin ? (actionButtonWidth * 4) : (actionButtonWidth * 2)) - 4 - hifi.dimensions.scrollbarBackgroundWidth;
|
||||
property int connectionsNameCardWidth: connectionsTable.width - locationColumnWidth - actionButtonWidth - 4 - hifi.dimensions.scrollbarBackgroundWidth;
|
||||
|
@ -415,6 +415,7 @@ Rectangle {
|
|||
movable: false;
|
||||
resizable: false;
|
||||
}
|
||||
|
||||
TableViewColumn {
|
||||
role: "ignore";
|
||||
title: "IGNORE";
|
||||
|
@ -599,13 +600,23 @@ Rectangle {
|
|||
}
|
||||
// This Rectangle refers to the [?] popup button next to "NAMES"
|
||||
Rectangle {
|
||||
id: questionRect
|
||||
color: hifi.colors.tableBackgroundLight;
|
||||
width: 20;
|
||||
height: hifi.dimensions.tableHeaderHeight - 2;
|
||||
anchors.left: nearbyTable.left;
|
||||
anchors.top: nearbyTable.top;
|
||||
anchors.topMargin: 1;
|
||||
anchors.leftMargin: actionButtonWidth + nearbyNameCardWidth/2 + displayNameHeaderMetrics.width/2 + 6;
|
||||
|
||||
Connections {
|
||||
target: nearbyTable
|
||||
onTitlePaintedPosSignal: {
|
||||
if (column === 1) { // name column
|
||||
questionRect.anchors.leftMargin = actionButtonWidth + nearbyTable.titlePaintedPos[column]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
RalewayRegular {
|
||||
id: helpText;
|
||||
text: "[?]";
|
||||
|
|
Loading…
Reference in a new issue