mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-25 21:15:07 +02:00
95 lines
3 KiB
QML
95 lines
3 KiB
QML
//
|
|
// ModalFrame.qml
|
|
//
|
|
// Created by Bradley Austin Davis on 15 Jan 2016
|
|
// Copyright 2015 High Fidelity, Inc.
|
|
//
|
|
// Distributed under the Apache License, Version 2.0.
|
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
//
|
|
|
|
import QtQuick 2.5
|
|
|
|
import "."
|
|
import "../controls-uit"
|
|
import "../styles-uit"
|
|
|
|
Frame {
|
|
HifiConstants { id: hifi }
|
|
|
|
Rectangle {
|
|
id: frameContent
|
|
|
|
readonly property bool hasTitle: window.title != ""
|
|
|
|
readonly property int frameMarginLeft: hifi.dimensions.modalDialogMargin.x
|
|
readonly property int frameMarginRight: hifi.dimensions.modalDialogMargin.x
|
|
readonly property int frameMarginTop: hifi.dimensions.modalDialogMargin.y + (frameContent.hasTitle ? hifi.dimensions.modalDialogTitleHeight + 10 : 0)
|
|
readonly property int frameMarginBottom: hifi.dimensions.modalDialogMargin.y
|
|
|
|
anchors {
|
|
fill: parent
|
|
topMargin: -frameMarginTop
|
|
leftMargin: -frameMarginLeft
|
|
rightMargin: -frameMarginRight
|
|
bottomMargin: -frameMarginBottom
|
|
}
|
|
|
|
border {
|
|
width: hifi.dimensions.borderWidth
|
|
color: hifi.colors.lightGrayText80
|
|
}
|
|
radius: hifi.dimensions.borderRadius
|
|
color: hifi.colors.faintGray
|
|
|
|
// Enable dragging of the window
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
drag.target: window
|
|
enabled: window.draggable
|
|
}
|
|
|
|
Item {
|
|
visible: frameContent.hasTitle
|
|
anchors.fill: parent
|
|
anchors {
|
|
topMargin: -parent.anchors.topMargin
|
|
leftMargin: -parent.anchors.leftMargin
|
|
rightMargin: -parent.anchors.rightMargin
|
|
}
|
|
|
|
Item {
|
|
width: title.width + (icon.text !== "" ? icon.width + hifi.dimensions.contentSpacing.x : 0)
|
|
x: (parent.width - width) / 2
|
|
|
|
onWidthChanged: window.titleWidth = width
|
|
|
|
HiFiGlyphs {
|
|
id: icon
|
|
text: window.iconText ? window.iconText : ""
|
|
size: window.iconSize ? window.iconSize : 30
|
|
color: hifi.colors.lightGray
|
|
visible: text != ""
|
|
anchors.verticalCenter: title.verticalCenter
|
|
anchors.left: parent.left
|
|
}
|
|
RalewayRegular {
|
|
id: title
|
|
text: window.title
|
|
elide: Text.ElideRight
|
|
color: hifi.colors.baseGrayHighlight
|
|
size: hifi.fontSizes.overlayTitle
|
|
y: -hifi.dimensions.modalDialogTitleHeight
|
|
anchors.right: parent.right
|
|
}
|
|
}
|
|
|
|
Rectangle {
|
|
anchors.left: parent.left
|
|
anchors.right: parent.right
|
|
height: 1
|
|
color: hifi.colors.lightGray
|
|
}
|
|
}
|
|
}
|
|
}
|