Commit 2509d01c authored by Ronan Abhamon's avatar Ronan Abhamon

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

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