mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-05-07 05:23:06 +00:00
feat(Form/ExclusiveButtons): use style file
This commit is contained in:
parent
eaafc4b04c
commit
b81239ae33
7 changed files with 103 additions and 54 deletions
|
|
@ -36,6 +36,7 @@ lupdate_only{
|
|||
ui/modules/Linphone/Popup/*.qml \
|
||||
ui/modules/Linphone/Select/*.qml \
|
||||
ui/modules/Linphone/Styles/*.qml \
|
||||
ui/modules/Linphone/Styles/Form/*.qml \
|
||||
ui/modules/Linphone/View/*.qml \
|
||||
ui/views/*.qml \
|
||||
ui/views/MainWindow/*.qml \
|
||||
|
|
|
|||
|
|
@ -60,6 +60,8 @@
|
|||
<file>ui/modules/Linphone/Styles/CollapseStyle.qml</file>
|
||||
<file>ui/modules/Linphone/Styles/DialogStyle.qml</file>
|
||||
<file>ui/modules/Linphone/Styles/ForceScrollBarStyle.qml</file>
|
||||
<file>ui/modules/Linphone/Styles/Form/ExclusiveButtonsStyle.qml</file>
|
||||
<file>ui/modules/Linphone/Styles/Form/SmallButtonStyle.qml</file>
|
||||
<file>ui/modules/Linphone/Styles/MenuStyle.qml</file>
|
||||
<file>ui/modules/Linphone/Styles/PopupStyle.qml</file>
|
||||
<file>ui/modules/Linphone/Styles/qmldir</file>
|
||||
|
|
|
|||
|
|
@ -1,38 +1,39 @@
|
|||
import QtQuick 2.7
|
||||
|
||||
import Linphone.Styles 1.0
|
||||
|
||||
// ===================================================================
|
||||
|
||||
Row {
|
||||
property int selectedButton: 0
|
||||
property variant texts
|
||||
property int _selectedButton: 0
|
||||
property variant texts
|
||||
|
||||
signal clicked (int button)
|
||||
signal clicked (int button)
|
||||
|
||||
spacing: 8
|
||||
spacing: ExclusiveButtonsStyle.buttonsSpacing
|
||||
|
||||
Repeater {
|
||||
model: texts
|
||||
Repeater {
|
||||
model: texts
|
||||
|
||||
SmallButton {
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
backgroundColor: selectedButton === index
|
||||
? '#8E8E8E'
|
||||
: (button.down
|
||||
? '#FE5E00'
|
||||
: (button.hovered
|
||||
? '#C0C0C0'
|
||||
: '#D1D1D1'
|
||||
)
|
||||
)
|
||||
id: button
|
||||
text: modelData
|
||||
SmallButton {
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
backgroundColor: _selectedButton === index
|
||||
? ExclusiveButtonsStyle.button.color.selected
|
||||
: (down
|
||||
? ExclusiveButtonsStyle.button.color.pressed
|
||||
: (hovered
|
||||
? ExclusiveButtonsStyle.button.color.hovered
|
||||
: ExclusiveButtonsStyle.button.color.normal
|
||||
)
|
||||
)
|
||||
text: modelData
|
||||
|
||||
onClicked: {
|
||||
if (selectedButton !== index) {
|
||||
selectedButton = index
|
||||
clicked(index)
|
||||
}
|
||||
}
|
||||
onClicked: {
|
||||
if (_selectedButton !== index) {
|
||||
_selectedButton = index
|
||||
clicked(index)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,30 +1,33 @@
|
|||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0
|
||||
|
||||
import Linphone.Styles 1.0
|
||||
|
||||
// ===================================================================
|
||||
|
||||
Button {
|
||||
property alias backgroundColor: background.color
|
||||
id: button
|
||||
|
||||
background: Rectangle {
|
||||
color: button.down
|
||||
? '#FE5E00'
|
||||
: (button.hovered
|
||||
? '#C0C0C0'
|
||||
: '#D1D1D1'
|
||||
)
|
||||
id: background
|
||||
implicitHeight: 22
|
||||
radius: 10
|
||||
}
|
||||
contentItem: Text {
|
||||
color:'#FFFFFF'
|
||||
font.pointSize: 8
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
id: text
|
||||
text: button.text
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
hoverEnabled: true
|
||||
id: button
|
||||
property alias backgroundColor: background.color
|
||||
|
||||
background: Rectangle {
|
||||
id: background
|
||||
|
||||
color: button.down
|
||||
? SmallButtonStyle.background.color.pressed
|
||||
: (button.hovered
|
||||
? SmallButtonStyle.background.color.hovered
|
||||
: SmallButtonStyle.background.color.normal
|
||||
)
|
||||
implicitHeight: SmallButtonStyle.background.height
|
||||
radius: SmallButtonStyle.background.radius
|
||||
}
|
||||
contentItem: Text {
|
||||
color: SmallButtonStyle.text.color
|
||||
font.pointSize: SmallButtonStyle.text.fontSize
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
text: button.text
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
hoverEnabled: true
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
pragma Singleton
|
||||
import QtQuick 2.7
|
||||
|
||||
import Linphone 1.0
|
||||
|
||||
QtObject {
|
||||
property int buttonsSpacing: 8
|
||||
|
||||
property QtObject button: QtObject {
|
||||
property QtObject color: QtObject {
|
||||
property string hovered: '#C0C0C0'
|
||||
property string normal: '#D1D1D1'
|
||||
property string pressed: '#FE5E00'
|
||||
property string selected: '#8E8E8E'
|
||||
}
|
||||
}
|
||||
}
|
||||
22
tests/ui/modules/Linphone/Styles/Form/SmallButtonStyle.qml
Normal file
22
tests/ui/modules/Linphone/Styles/Form/SmallButtonStyle.qml
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
pragma Singleton
|
||||
import QtQuick 2.7
|
||||
|
||||
import Linphone 1.0
|
||||
|
||||
QtObject {
|
||||
property QtObject background: QtObject {
|
||||
property int height: 22
|
||||
property int radius: 10
|
||||
|
||||
property QtObject color: QtObject {
|
||||
property string hovered: '#C0C0C0'
|
||||
property string normal: '#D1D1D1'
|
||||
property string pressed: '#FE5E00'
|
||||
}
|
||||
}
|
||||
|
||||
property QtObject text: QtObject {
|
||||
property int fontSize: 8
|
||||
property string color: '#FFFFFF'
|
||||
}
|
||||
}
|
||||
|
|
@ -3,10 +3,13 @@
|
|||
module Linphone.Style
|
||||
|
||||
# Components styles.
|
||||
singleton CollapseStyle 1.0 CollapseStyle.qml
|
||||
singleton DialogStyle 1.0 DialogStyle.qml
|
||||
singleton ForceScrollBarStyle 1.0 ForceScrollBarStyle.qml
|
||||
singleton MenuStyle 1.0 MenuStyle.qml
|
||||
singleton PopupStyle 1.0 PopupStyle.qml
|
||||
singleton SearchBoxStyle 1.0 SearchBoxStyle.qml
|
||||
singleton TimelineStyle 1.0 TimelineStyle.qml
|
||||
singleton CollapseStyle 1.0 CollapseStyle.qml
|
||||
singleton DialogStyle 1.0 DialogStyle.qml
|
||||
singleton ForceScrollBarStyle 1.0 ForceScrollBarStyle.qml
|
||||
singleton MenuStyle 1.0 MenuStyle.qml
|
||||
singleton PopupStyle 1.0 PopupStyle.qml
|
||||
singleton SearchBoxStyle 1.0 SearchBoxStyle.qml
|
||||
singleton TimelineStyle 1.0 TimelineStyle.qml
|
||||
|
||||
singleton ExclusiveButtonsStyle 1.0 Form/ExclusiveButtonsStyle.qml
|
||||
singleton SmallButtonStyle 1.0 Form/SmallButtonStyle.qml
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue