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 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)
}
}
}
id: menu
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: menu.entryHeight
width: menu.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)
}
}
}
}
}
}
......@@ -22,6 +22,6 @@ QtObject {
property int fontSize: 12
property int verticalMargin: 25
property string color: Colors.l
property color color: Colors.l
}
}
......@@ -15,8 +15,8 @@ QtObject {
}
property QtObject color: QtObject {
property string hovered: Colors.h
property string normal: Colors.c
property string pressed: Colors.b
property color hovered: Colors.h
property color normal: Colors.c
property color pressed: Colors.b
}
}
......@@ -8,10 +8,10 @@ QtObject {
property QtObject button: QtObject {
property QtObject color: QtObject {
property string hovered: Colors.n
property string normal: Colors.m
property string pressed: Colors.i
property string selected: Colors.g
property color hovered: Colors.n
property color normal: Colors.m
property color pressed: Colors.i
property color selected: Colors.g
}
}
}
......@@ -9,15 +9,15 @@ QtObject {
property int radius: 10
property QtObject color: QtObject {
property string hovered: Colors.n
property string normal: Colors.m
property string pressed: Colors.i
property color hovered: Colors.n
property color normal: Colors.m
property color pressed: Colors.i
}
}
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
QtObject {
property QtObject backgroundColor: QtObject {
property color hovered: '#232323'
property color pressed: '#FE5E00'
property color normal: '#434343'
property color hovered: Colors.o
property color pressed: Colors.i
property color normal: Colors.j
}
property QtObject textColor: QtObject {
property color hovered: '#FFFFFF'
property color pressed: '#FFFFFF'
property color normal: '#FFFFFF'
property color hovered: Colors.k
property color pressed: Colors.k
property color normal: Colors.k
}
}
......@@ -5,14 +5,14 @@ import Linphone 1.0
QtObject {
property QtObject backgroundColor: QtObject {
property color hovered: '#B1B1B1'
property color pressed: '#FE5E00'
property color normal: '#D1D1D1'
property color hovered: Colors.p
property color pressed: Colors.i
property color normal: Colors.m
}
property QtObject textColor: QtObject {
property color hovered: '#5A585B'
property color pressed: '#FFFFFF'
property color normal: '#5A585B'
property color hovered: Colors.d
property color pressed: Colors.k
property color normal: Colors.d
}
}
......@@ -16,16 +16,16 @@ QtObject {
property string selectionIcon: 'right_arrow'
property QtObject color: QtObject {
property string normal: Colors.g
property string hovered: Colors.h
property string pressed: Colors.i
property string selected: Colors.j
property color normal: Colors.g
property color hovered: Colors.h
property color pressed: Colors.i
property color selected: Colors.j
}
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
import Linphone 1.0
QtObject {
property string backgroundColor: Colors.k
property color backgroundColor: Colors.k
property QtObject shadow: QtObject {
property color color: Colors.f
property int horizontalOffset: 0
property int radius: 8
property int samples: 15
property int verticalOffset: 2
property string color: Colors.f
}
}
......@@ -4,7 +4,7 @@ import QtQuick 2.7
import Linphone 1.0
QtObject {
property string shadowColor: Colors.f
property color shadowColor: Colors.f
property Rectangle searchFieldBackground: Rectangle {
implicitHeight: 30
......
......@@ -5,6 +5,8 @@ import Linphone 1.0
QtObject {
property QtObject legend: QtObject {
property color color: Colors.d
property int bottomMargin: 10
property int fontSize: 13
property int iconSize: 26
......@@ -12,13 +14,12 @@ QtObject {
property int spacing: 16
property int topMargin: 10
property string color: Colors.d
property string icon: 'history'
}
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.Layouts 1.3
import Linphone 1.0
import Linphone.Styles 1.0
// ===================================================================
ColumnLayout {
id: item
property var model
property alias model: view.model
// Legend.
Row {
......@@ -41,11 +38,11 @@ ColumnLayout {
// History.
ScrollableListView {
id: view
Layout.fillHeight: true
Layout.fillWidth: true
model: item.model
delegate: Contact {
presence: $presence
sipAddress: $sipAddress
......
......@@ -6,9 +6,9 @@ import Linphone 1.0
// ===================================================================
ListView {
ScrollBar.vertical: ForceScrollBar { }
boundsBehavior: Flickable.StopAtBounds
clip: true
highlightRangeMode: ListView.ApplyRange
spacing: 0
ScrollBar.vertical: ForceScrollBar { }
boundsBehavior: Flickable.StopAtBounds
clip: true
highlightRangeMode: ListView.ApplyRange
spacing: 0
}
# ====================================================================
# Linphone's components to export.
# ====================================================================
module Linphone
# 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