75 lines
2.6 KiB
QML
75 lines
2.6 KiB
QML
import QtQuick
|
|
import QtQuick.Controls
|
|
import QtQuick.Layouts
|
|
import RibbonUI
|
|
|
|
RibbonMessage{
|
|
id: message_style
|
|
sender_text: data_model.recieved ? `${Qt.formatDateTime(new Date(), "yyyy-MM-dd hh:mm:ss ")} Node 0x${data_model.sender}` : `${Qt.formatDateTime(new Date(), "yyyy-MM-dd hh:mm:ss ")} Computer 0x${data_model.sender}`
|
|
property var text_list: data_model.text ? data_model.text.split(' ') : []
|
|
property var decrypted_text_list: data_model.decrypted_text ? data_model.decrypted_text.split(' ') : []
|
|
property bool show_tooltip: true
|
|
property double component_width: 300
|
|
ZigBeeFrame{
|
|
id: message_raw_layout
|
|
text: "原始数据:"
|
|
show_text: model.recieved
|
|
show_tooltip: message_style.show_tooltip
|
|
data_list: message_style.text_list
|
|
is_recieved: model.recieved
|
|
component_width: message_style.component_width
|
|
font_size: message_style.font_size
|
|
visible: model.text ? true : false
|
|
}
|
|
|
|
Rectangle{
|
|
Layout.alignment: Qt.AlignHCenter
|
|
implicitWidth: parent.width - 20
|
|
implicitHeight: 1
|
|
color: RibbonTheme.dark_mode ? "#525252" : "#D4D4D4"
|
|
visible: message_decrypted_layout.visible
|
|
Behavior on color {
|
|
ColorAnimation {
|
|
duration: 60
|
|
easing.type: Easing.OutSine
|
|
}
|
|
}
|
|
}
|
|
|
|
ZigBeeFrame{
|
|
id: message_decrypted_layout
|
|
text: "解密数据:"
|
|
show_tooltip: message_style.show_tooltip
|
|
data_list: message_style.decrypted_text_list
|
|
visible: model.decrypted_text ? true : false
|
|
is_recieved: model.recieved
|
|
component_width: message_style.component_width
|
|
font_size: message_style.font_size
|
|
}
|
|
|
|
Rectangle{
|
|
Layout.alignment: Qt.AlignHCenter
|
|
implicitWidth: parent.width - 20
|
|
implicitHeight: 1
|
|
color: RibbonTheme.dark_mode ? "#525252" : "#D4D4D4"
|
|
visible: note.visible && message_raw_layout.visible
|
|
Behavior on color {
|
|
ColorAnimation {
|
|
duration: 60
|
|
easing.type: Easing.OutSine
|
|
}
|
|
}
|
|
}
|
|
|
|
RibbonText {
|
|
id: note
|
|
Layout.alignment: Qt.AlignHCenter
|
|
font.pixelSize: message_style.font_size
|
|
color: RibbonTheme.dark_mode ? "white" : !model.recieved ? "white" : "black"
|
|
text: model.note_text ? model.note_text : ""
|
|
visible: model.note_text ? true : false
|
|
Layout.preferredWidth: implicitWidth < message_style.component_width ? implicitWidth : message_style.component_width
|
|
wrapMode: RibbonText.Wrap
|
|
}
|
|
}
|