Warning, /maui/communicator/src/views/contacts/ContactField.qml is written in an unsupported language. File is not indexed.

0001 import QtQuick 2.14
0002 import QtQuick.Controls 2.14
0003 import QtQuick.Layouts 1.3
0004 
0005 import org.mauikit.controls 1.3 as Maui
0006 
0007 AbstractButton
0008 {
0009     id: control
0010 
0011     Maui.Theme.colorSet: Maui.Theme.View
0012     Maui.Theme.inherit: false
0013 
0014     padding: Maui.Style.contentMargins
0015     hoverEnabled: !Maui.Handy.isMobile
0016 
0017     property alias content: _content.data
0018 
0019     property alias label1 : _template.label1
0020     property alias label2 : _template.label2
0021     property alias label3 : _template.label3
0022     property alias label4 : _template.label4
0023     property alias iconItem : _template.iconItem
0024     property alias iconVisible : _template.iconVisible
0025     property alias iconSizeHint : _template.iconSizeHint
0026     property alias imageSizeHint : _template.imageSizeHint
0027     property alias imageSource : _template.imageSource
0028     property alias iconSource : _template.iconSource
0029 
0030     property alias template : _template
0031 
0032     default property list<Action> actions
0033 
0034     property bool editing : false
0035     property bool expanded : false
0036 
0037     property alias leftLabels : _template.leftLabels
0038 
0039     checked: control.expanded
0040 
0041     onClicked:
0042     {
0043         if(!control.editing)
0044         {
0045             expanded = !expanded
0046         }
0047     }
0048 
0049     implicitHeight: implicitContentHeight + topPadding + bottomPadding
0050 
0051     background: Rectangle
0052     {
0053         color: control.hovered ? Maui.Theme.hoverColor : Maui.Theme.alternateBackgroundColor
0054         radius: Maui.Style.radiusV
0055     }
0056 
0057     contentItem: ColumnLayout
0058     {
0059         id: _contentLayout
0060         spacing: Maui.Style.space.medium
0061 
0062         Maui.ListItemTemplate
0063         {
0064             id: _template
0065             Layout.fillWidth: true
0066             label1.font.weight: Font.Light
0067             label2.visible: !control.editing
0068             label2.font.pointSize: Maui.Style.fontSizes.big
0069             label2.font.weight: Font.Bold
0070             label2.wrapMode: Text.WrapAnywhere
0071             iconSizeHint: Maui.Style.iconSizes.medium
0072         }
0073 
0074         ColumnLayout
0075         {
0076             id: _content
0077             Layout.fillWidth: true
0078         }
0079 
0080         Maui.Separator
0081         {
0082             Layout.fillWidth: true
0083             visible: control.expanded && control.actions.length
0084         }
0085 
0086         RowLayout
0087         {
0088             visible: !control.editing && control.expanded && control.actions.length
0089             Layout.fillWidth: true
0090             Layout.margins: Maui.Style.space.medium
0091             implicitHeight: Maui.Style.rowHeight
0092             spacing: Maui.Style.space.medium
0093 
0094             Repeater
0095             {
0096                 model: control.actions
0097 
0098                 Button
0099                 {
0100                     Layout.fillWidth: true
0101                     Layout.fillHeight: true
0102                     action: modelData
0103                     //                    display: ToolButton.TextBesideIcon
0104                 }
0105             }
0106         }
0107     }
0108 }