Friendiqa/source-linux/qml/newsqml/SmileyDialog.qml

143 lines
3.8 KiB
QML
Raw Normal View History

2017-03-25 23:36:14 +01:00
import QtQuick 2.7
import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.4
import "qrc:/js/smiley.js" as Smileyjs
import "qrc:/js/helper.js" as Helperjs
import "qrc:/qml/genericqml"
Rectangle{
id:smileyDialog
x: mm
width: messageColumn.width-5*mm
height:root.height/3
BlueButton{
id:closeButton
anchors.top: parent.top
anchors.topMargin: 1*mm
anchors.right: parent.right
anchors.rightMargin: 1*mm
text: "\uf057"
onClicked:{smileyDialog.destroy()}
}
TabView{
id:smileyTabView
tabPosition: Qt.BottomEdge
anchors.top: closeButton.bottom
anchors.topMargin: 1*mm
width: smileyDialog.width-2*mm
height: smileyDialog.height-7*mm
currentIndex: 0
style: TabViewStyle {
frameOverlap: 1
tab: Rectangle {
color: "white"
implicitWidth: smileyTabView.width/3-2*mm
implicitHeight: 4*mm
Text { id: text
anchors.centerIn: parent
text: styleData.title
color: "dark grey"
font.pixelSize:2.5*mm
font.bold: styleData.selected
}
}
frame: Rectangle { color: "light grey" }
tabsAlignment:Qt.AlignHCenter
}
Tab{
title: qsTr("Standard")
Rectangle{
id: coreGridTab
GridView {
id: coreSmileyView
anchors.fill: parent
cellWidth: 5*mm
cellHeight: 5*mm
clip: true
model: coreSmileyModel
delegate: smileyItem
}
ListModel{
id: coreSmileyModel
}
Component.onCompleted:{
var smileyarray=Smileyjs.core
for (var icon in smileyarray){
coreSmileyModel.append({"emoji":smileyarray[icon]})
}
}
}
}
Tab{
title: qsTr("Addon")
Rectangle{
id: addonGridTab
GridView {
id: addonView
anchors.fill: parent
cellWidth: 5*mm
cellHeight: 5*mm
clip: true
model: addonModel
delegate: smileyItem
}
ListModel{
id: addonModel
}
Component.onCompleted:{
for (var icon in Smileyjs.addon){
addonModel.append({"emoji":Smileyjs.addon[icon]})
}
}
}
}
Tab{
title: qsTr("Adult")
Rectangle{
id: adultGridTab
GridView {
id: adultView
anchors.fill: parent
cellWidth: 5*mm
cellHeight: 5*mm
clip: true
model: adultModel
delegate: smileyItem
}
ListModel{
id: adultModel
}
Component.onCompleted:{
for (var icon in Smileyjs.adult){
adultModel.append({"emoji":Smileyjs.adult[icon]})
}
}
}
}
}
Component{
id:smileyItem
AnimatedImage{id:smileyImage
width:4.5*mm
height: 4.5*mm
fillMode:Image.PreserveAspectFit
source:emoji.url
MouseArea{
anchors.fill: parent
onClicked:{
bodyField.append(emoji.name+" ")
smileyDialog.destroy()
}
}
}
}
}