Skip to content
Snippets Groups Projects

Features 2603

Merged tatiana.novikova requested to merge features-2603 into develop
2 files
+ 6
4
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 97
43
import QtQuick 2.0
import QtQuick 2.4
import QtQuick.Controls 2.0
DapComboBoxForm
{
id:dapComboBox
delegate:
ItemDelegate
{
width: parent.width
delegate:ItemDelegate
{
width: parent.width
//Adjusting the height of the line, taking into account that the second element from the end may be the last
height:
{
if(index != currentIndex)
{
if(index == (count - 2))
{
if(index+1 == currentIndex)
return heightListElement + bottomIntervalListElement
else
return heightListElement + intervalListElement
}
if (index == count - 1)
return heightListElement + bottomIntervalListElement
return heightListElement + intervalListElement
}
else return 0
}
//Adjusting the height of the line, taking into account that the second element from the end may be the last
height:{
if(index != currentIndex)
{
if(index == (count - 2))
//Text item
contentItem:
Text
{
if(index+1 == currentIndex) return heightListElement + bottomIntervalListElement
else return heightListElement + intervalListElement
id:textDelegateComboBox
anchors.fill: parent
anchors.topMargin: paddingTopItemDelegate
anchors.leftMargin: popup.visible ? sidePaddingActive : sidePaddingNormal
anchors.rightMargin: popup.visible ? sidePaddingActive : sidePaddingNormal
font: fontComboBox
//Calculates various properties of a given string of text for a particular font
TextMetrics
{
id: tm
font: fontComboBox
elide: Text.ElideRight
text: modelData
elideWidth:
{
if(index != currentIndex)
return widthPopupComboBoxActive - 2*sidePaddingActive;
else
return widthPopupComboBoxNormal - indicatorWidth - indicatorLeftInterval;
}
}
FontMetrics
{
id: fm
font: fontComboBox
}
text:
{
if(index != currentIndex)
{
if(tm.elidedText.length < tm.text.length)
return tm.elidedText.substring(0, tm.elidedText.length-1) +
((fm.tightBoundingRect(tm.elidedText.substring(0, tm.elidedText.length-1)).width +
fm.tightBoundingRect(tm.text.charAt(tm.elidedText.length-1) + '..').width) < tm.elideWidth ?
(tm.text.charAt(tm.elidedText.length-1) + '..')
: '..');
return tm.elidedText.replace('', '..');
}
else
{
if(tm.elidedText.length < tm.text.length)
mainLineText = tm.elidedText.substring(0, tm.elidedText.length-1) +
((fm.tightBoundingRect(tm.elidedText.substring(0, tm.elidedText.length-1)).width +
fm.tightBoundingRect(tm.text.charAt(tm.elidedText.length-1) + '..').width) < tm.elideWidth ?
(tm.text.charAt(tm.elidedText.length-1) + '..')
: '..');
else
mainLineText = tm.elidedText.replace('', '..');
return "";
}
}
color: hovered ? hilightColorText : normalColorText
}
if (index == count - 1) return heightListElement + bottomIntervalListElement
return heightListElement + intervalListElement
}
else return 0
}
//Text item
contentItem: Text {
id:textDelegateComboBox
anchors.fill: parent
anchors.topMargin: paddingTopItemDelegate
anchors.leftMargin: popup.visible ? sidePaddingActive : sidePaddingNormal
font:dapComboBox.font
text: if(index != currentIndex)
return modelData;
else return ""
color: hovered ? hilightColorText : normalColorText
}
//Indent from the bottom edge or the next line that will not stand out when you hover over the mouse
background: Rectangle {
anchors.fill: parent
anchors.bottomMargin: {
if(index == count - 2)
//Indent from the bottom edge or the next line that will not stand out when you hover over the mouse
background:
Rectangle
{
if(index+1 == currentIndex) return bottomIntervalListElement
else return intervalListElement
anchors.fill: parent
anchors.bottomMargin: {
if(index == count - 2)
{
if(index+1 == currentIndex)
return bottomIntervalListElement
else
return intervalListElement
}
if (index == count - 1)
return bottomIntervalListElement
return intervalListElement
}
color: hovered ? hilightColor : normalColor
}
if (index == count - 1) return bottomIntervalListElement
return intervalListElement
}
color: hovered ? hilightColor : normalColor
highlighted: parent.highlightedIndex === index
}
highlighted: parent.highlightedIndex === index
}
}
Loading