Commit 2509d01c authored by Ronan's avatar Ronan
Browse files

fix(app): fix all qml linphone components (style, indentation, ...)

parent 8320f25d
import QtQuick 2.7
import Linphone 1.0
import Linphone.Styles 1.0
// ===================================================================
......@@ -8,39 +7,39 @@ import Linphone.Styles 1.0
// ===================================================================
Item {
property bool _collapsed: false
property bool _collapsed: false
signal collapsed (bool collapsed)
signal collapsed (bool collapsed)
function collapse () {
_collapsed = !_collapsed
collapsed(_collapsed)
rotate.start()
}
function collapse () {
_collapsed = !_collapsed
collapsed(_collapsed)
rotate.start()
}
function isCollapsed () {
return _collapsed
}
function isCollapsed () {
return _collapsed
}
ActionButton {
id: button
ActionButton {
id: button
anchors.centerIn: parent
background: CollapseStyle.background
icon: CollapseStyle.icon
iconSize: CollapseStyle.iconSize
anchors.centerIn: parent
background: CollapseStyle.background
icon: CollapseStyle.icon
iconSize: CollapseStyle.iconSize
onClicked: collapse()
}
onClicked: collapse()
}
RotationAnimation {
id: rotate
RotationAnimation {
id: rotate
direction: RotationAnimation.Clockwise
duration: CollapseStyle.animationDuration
from: _collapsed ? 0 : 180
property: 'rotation'
target: button
to: _collapsed ? 180 : 0
}
direction: RotationAnimation.Clockwise
duration: CollapseStyle.animationDuration
from: _collapsed ? 0 : 180
property: 'rotation'
target: button
to: _collapsed ? 180 : 0
}
}
......@@ -2,24 +2,27 @@ pragma Singleton
import QtQuick 2.7
QtObject {
property string a: 'transparent'
property string b: '#5E5E5F' // Pressed toolbar.
property string c: '#C5C5C5' // Released toolbar.
property color a: 'transparent'
property color b: '#5E5E5F' // Pressed toolbar.
property color c: '#C5C5C5' // Released toolbar.
property string d: '#5A585B' // Text color.
property color d: '#5A585B' // Text color.
property string e: '#DEDEDE' // Timeline separator
property color e: '#DEDEDE' // Timeline separator
property string f: '#808080' // Popup shadow.
property color f: '#808080' // Popup shadow.
property string g: '#8E8E8E' // MenuEntry Normal.
property string h: '#707070' // MenuEntry Hovered.
property string i: '#FE5E00' // MenuEntry Pressed.
property string j: '#434343' // MenuEntry Selected.
property color g: '#8E8E8E' // MenuEntry Normal.
property color h: '#707070' // MenuEntry Hovered.
property color i: '#FE5E00' // MenuEntry Pressed.
property color j: '#434343' // MenuEntry Selected.
property string k: '#FFFFFF' // Text color.
property string l: '#000000' // Text color.
property color k: '#FFFFFF' // Text color.
property color l: '#000000' // Text color.
property string m: '#D1D1D1' // SmallButton Normal.
property string n: '#C0C0C0' // SmallButton Hovered.
property color m: '#D1D1D1' // SmallButton Normal.
property color n: '#C0C0C0' // SmallButton Hovered.
property color o: '#232323' // TextButtonA Hovered.
property color p: '#B1B1B1' // TextButtonB text Hovered.
}
......@@ -2,6 +2,6 @@ pragma Singleton
import QtQuick 2.7
QtObject {
property int zPopup: 999
property int zMax: 999999
property int zPopup: 999
property int zMax: 999999
}
......@@ -6,23 +6,23 @@ import Linphone.Styles 1.0
// ===================================================================
DialogPlus {
id: dialog
id: dialog
buttons: [
TextButtonA {
text: qsTr('cancel')
buttons: [
TextButtonA {
text: qsTr('cancel')
onClicked: exit(0)
},
TextButtonA {
text: qsTr('confirm')
onClicked: exit(0)
},
TextButtonA {
text: qsTr('confirm')
onClicked: exit(1)
}
]
centeredButtons: true
maximumHeight: DialogStyle.confirmDialog.height
maximumWidth: DialogStyle.confirmDialog.width
minimumHeight: DialogStyle.confirmDialog.height
minimumWidth: DialogStyle.confirmDialog.width
onClicked: exit(1)
}
]
centeredButtons: true
maximumHeight: DialogStyle.confirmDialog.height
maximumWidth: DialogStyle.confirmDialog.width
minimumHeight: DialogStyle.confirmDialog.height
minimumWidth: DialogStyle.confirmDialog.width
}
......@@ -7,22 +7,22 @@ import Linphone.Styles 1.0
// ===================================================================
Item {
property alias text: description.text
property alias text: description.text
height: !text ? DialogStyle.description.verticalMargin : undefined
implicitHeight: text
? description.implicitHeight + DialogStyle.description.verticalMargin * 2
: 0
height: !text ? DialogStyle.description.verticalMargin : undefined
implicitHeight: text
? description.implicitHeight + DialogStyle.description.verticalMargin * 2
: 0
Text {
id: description
Text {
id: description
anchors.fill: parent
anchors.leftMargin: DialogStyle.leftMargin
anchors.rightMargin: DialogStyle.rightMargin
color: DialogStyle.description.color
font.pointSize: DialogStyle.description.fontSize
verticalAlignment: Text.AlignVCenter
wrapMode: Text.WordWrap
}
anchors.fill: parent
anchors.leftMargin: DialogStyle.leftMargin
anchors.rightMargin: DialogStyle.rightMargin
color: DialogStyle.description.color
font.pointSize: DialogStyle.description.fontSize
verticalAlignment: Text.AlignVCenter
wrapMode: Text.WordWrap
}
}
......@@ -9,62 +9,62 @@ import Linphone.Styles 1.0
// ===================================================================
Window {
default property alias content: content.data // Required.
property alias buttons: buttons.data // Optionnal.
property alias descriptionText: description.text // Optionnal.
property bool centeredButtons: false
default property alias content: content.data // Required.
property alias buttons: buttons.data // Optionnal.
property alias descriptionText: description.text // Optionnal.
property bool centeredButtons: false
property bool _disableExitStatus
property bool _disableExitStatus
signal exitStatus (int status)
signal exitStatus (int status)
// Derived class must use this function instead of close.
// Destroy the component and send signal to caller.
function exit (status) {
if (!_disableExitStatus) {
_disableExitStatus = true
exitStatus(status)
close()
}
// Derived class must use this function instead of close.
// Destroy the component and send signal to caller.
function exit (status) {
if (!_disableExitStatus) {
_disableExitStatus = true
exitStatus(status)
close()
}
}
modality: Qt.WindowModal
modality: Qt.WindowModal
// Handle normal windows close.
onClosing: !_disableExitStatus && exitStatus(0)
// Handle normal windows close.
onClosing: !_disableExitStatus && exitStatus(0)
ColumnLayout {
anchors.fill: parent
spacing: 0
ColumnLayout {
anchors.fill: parent
spacing: 0
// Description.
DialogDescription {
id: description
// Description.
DialogDescription {
id: description
Layout.fillWidth: true
}
Layout.fillWidth: true
}
// Content.
Item {
id: content
// Content.
Item {
id: content
Layout.fillHeight: true
Layout.fillWidth: true
}
Layout.fillHeight: true
Layout.fillWidth: true
}
// Buttons.
Row {
id: buttons
// Buttons.
Row {
id: buttons
Layout.alignment: centeredButtons
? Qt.AlignHCenter
: Qt.AlignLeft
Layout.bottomMargin: DialogStyle.buttons.bottomMargin
Layout.leftMargin: !centeredButtons
? DialogStyle.leftMargin
: undefined
Layout.topMargin: DialogStyle.buttons.topMargin
spacing: DialogStyle.buttons.spacing
}
Layout.alignment: centeredButtons
? Qt.AlignHCenter
: Qt.AlignLeft
Layout.bottomMargin: DialogStyle.buttons.bottomMargin
Layout.leftMargin: !centeredButtons
? DialogStyle.leftMargin
: undefined
Layout.topMargin: DialogStyle.buttons.topMargin
spacing: DialogStyle.buttons.spacing
}
}
}
......@@ -6,17 +6,19 @@ import Linphone.Styles 1.0
// ===================================================================
ScrollBar {
background: ForceScrollBarStyle.background
contentItem: Rectangle {
color: pressed
? ForceScrollBarStyle.color.pressed
: (hovered
? ForceScrollBarStyle.color.hovered
: ForceScrollBarStyle.color.normal
)
implicitHeight: ForceScrollBarStyle.contentItem.implicitHeight
implicitWidth: ForceScrollBarStyle.contentItem.implicitWidth
radius: ForceScrollBarStyle.contentItem.radius
}
hoverEnabled: true
id: scrollBar
background: ForceScrollBarStyle.background
contentItem: Rectangle {
color: scrollBar.pressed
? ForceScrollBarStyle.color.pressed
: (scrollBar.hovered
? ForceScrollBarStyle.color.hovered
: ForceScrollBarStyle.color.normal
)
implicitHeight: ForceScrollBarStyle.contentItem.implicitHeight
implicitWidth: ForceScrollBarStyle.contentItem.implicitWidth
radius: ForceScrollBarStyle.contentItem.radius
}
hoverEnabled: true
}
......@@ -5,14 +5,14 @@ import QtQuick 2.7
// ===================================================================
Image {
property int iconSize
property string icon
property int iconSize
property string icon
height: iconSize
width: iconSize
height: iconSize
width: iconSize
fillMode: Image.PreserveAspectFit
source: icon
? 'qrc:/imgs/' + icon + '.svg'
: ''
fillMode: Image.PreserveAspectFit
source: icon
? 'qrc:/imgs/' + icon + '.svg'
: ''
}
......@@ -7,81 +7,81 @@ import Linphone 1.0
// ===================================================================
Item {
id: item
id: item
property var _mouseArea
property var _mouseArea
signal pressed
signal pressed
function _createMouseArea () {
if (_mouseArea == null) {
_mouseArea = builder.createObject(this)
}
function _createMouseArea () {
if (_mouseArea == null) {
_mouseArea = builder.createObject(this)
}
_mouseArea.parent = (function () {
var root = item
_mouseArea.parent = (function () {
var root = item
while (root.parent != null) {
root = root.parent
}
while (root.parent != null) {
root = root.parent
}
return root
})()
}
return root
})()
}
function _deleteMouseArea () {
if (_mouseArea != null) {
_mouseArea.destroy()
_mouseArea = null
}
function _deleteMouseArea () {
if (_mouseArea != null) {
_mouseArea.destroy()
_mouseArea = null
}
function _isInItem (point) {
return (
point.x >= item.x &&
point.y >= item.y &&
point.x <= item.x + item.width &&
point.y <= item.y + item.height
)
}
function _isInItem (point) {
return (
point.x >= item.x &&
point.y >= item.y &&
point.x <= item.x + item.width &&
point.y <= item.y + item.height
)
}
// It's necessary to use a `enabled` variable.
// See: http://doc.qt.io/qt-5/qml-qtqml-component.html#completed-signal
//
// The creation order of components in a view is undefined,
// so the mouse area must be created only when `enabled == true`.
//
// In the first render, `enabled` must be equal to false.
Component.onCompleted: enabled && _createMouseArea()
Component.onDestruction: _deleteMouseArea()
onEnabledChanged: {
_deleteMouseArea()
if (enabled) {
_createMouseArea()
}
}
// It's necessary to use a `enabled` variable.
// See: http://doc.qt.io/qt-5/qml-qtqml-component.html#completed-signal
//
// The creation order of components in a view is undefined,
// so the mouse area must be created only when `enabled == true`.
//
// In the first render, `enabled` must be equal to false.
Component.onCompleted: enabled && _createMouseArea()
Component.onDestruction: _deleteMouseArea()
onEnabledChanged: {
_deleteMouseArea()
if (enabled) {
_createMouseArea()
}
}
Component {
id: builder
MouseArea {
anchors.fill: parent
propagateComposedEvents: true
z: Constants.zMax
onPressed: {
// Propagate event.
mouse.accepted = false
Component {
id: builder
MouseArea {
anchors.fill: parent
propagateComposedEvents: true
z: Constants.zMax
onPressed: {
// Propagate event.
mouse.accepted = false
if (!_isInItem(
mapToItem(item.parent, mouse.x, mouse.y)
)) {
// Outside!!!
item.pressed()
}
}
if (!_isInItem(
mapToItem(item.parent, mouse.x, mouse.y)
)) {
// Outside!!!
item.pressed()
}
}
}
}
}
import QtQuick 2.7
import QtQuick.Layouts 1.3
import Linphone 1.0
import Linphone.Styles 1.0
// ===================================================================
......@@ -9,80 +8,80 @@ import Linphone.Styles 1.0
// ===================================================================
ColumnLayout {
id: item
property int entryHeight
property int entryWidth
property variant entries
property int _selectedEntry: 0
signal entrySelected (int entry)
spacing: MenuStyle.spacing
Repeater {
model: entries
Rectangle {
color: _selectedEntry === index
? MenuStyle.entry.color.selected
: (mouseArea.pressed
? MenuStyle.entry.color.pressed
: (mouseArea.containsMouse
? MenuStyle.entry.color.hovered
: MenuStyle.entry.color.normal
)
)
height: item.entryHeight
width: item.entryWidth
RowLayout {
anchors.left: parent.left
anchors.leftMargin: MenuStyle.entry.leftMargin
anchors.right: parent.right
anchors.rightMargin: MenuStyle.entry.rightMargin
anchors.verticalCenter: parent.verticalCenter
spacing: MenuStyle.entry.spacing
Icon {
Layout.preferredHeight: MenuStyle.entry.iconSize
Layout.preferredWidth: MenuStyle.entry.iconSize
icon: modelData.icon
}
Text {
Layout.fillWidth: true
color: MenuStyle.entry.text.color
font.pointSize: MenuStyle.entry.text.fontSize
height: parent.height
text: modelData.entryName
verticalAlignment: Text.AlignVCenter
}
Icon {
Layout.alignment: Qt.AlignRight
Layout.preferredHeight: MenuStyle.entry.selectionIconSize
Layout.preferredWidth: MenuStyle.entry.selectionIconSize
icon: _selectedEntry === index
? MenuStyle.entry.selectionIcon
: ''
}
}
MouseArea {
id: mouseArea
anchors.fill: parent
hoverEnabled: true
onClicked: {
if (_selectedEntry !== index) {
_selectedEntry = index
entrySelected(index)
}