60 lines
2.1 KiB
QML
60 lines
2.1 KiB
QML
import QtQuick 2.5
|
|
import QtQuick.Controls 1.4
|
|
import QtQuick.Dialogs 1.2
|
|
import QtQuick.Layouts 1.2
|
|
|
|
import "."
|
|
import "jdenticon/jdenticon-1.0.1.min.js" as Jdenticon
|
|
|
|
Rectangle {
|
|
anchors.fill: parent
|
|
|
|
Component.onCompleted: console.log("Made a transfer form")
|
|
Component.onDestruction: console.log("Destroyed a transfer form")
|
|
|
|
Column {
|
|
anchors.centerIn: parent
|
|
|
|
RowLayout {
|
|
Canvas {
|
|
id: identicon
|
|
width: Scaling.cm(2)
|
|
height: Scaling.cm(2)
|
|
contextType: "2d"
|
|
|
|
onPaint: {
|
|
if (nameField.text)
|
|
Jdenticon.draw(identicon, nameField.text)
|
|
else {
|
|
var context = identicon.context
|
|
context.reset()
|
|
var draw_circle = function(context, x, y, radius) {
|
|
context.beginPath()
|
|
context.arc(x, y, radius, 0, 2 * Math.PI, false)
|
|
context.fillStyle = "rgba(0, 0, 0, 0.1)"
|
|
context.fill()
|
|
}
|
|
var size = Math.min(identicon.height, identicon.width)
|
|
var centerX = size / 2
|
|
var centerY = size / 2
|
|
var radius = size/15
|
|
draw_circle(context, centerX, centerY, radius)
|
|
draw_circle(context, 2*radius, 2*radius, radius)
|
|
draw_circle(context, centerX, 2*radius, radius)
|
|
draw_circle(context, size - 2*radius, 2*radius, radius)
|
|
draw_circle(context, size - 2*radius, centerY, radius)
|
|
draw_circle(context, size - 2*radius, size - 2*radius, radius)
|
|
draw_circle(context, centerX, size - 2*radius, radius)
|
|
draw_circle(context, 2*radius, size - 2*radius, radius)
|
|
draw_circle(context, 2*radius, centerY, radius)
|
|
}
|
|
}
|
|
}
|
|
TextField {
|
|
id: nameField
|
|
Layout.fillWidth: true
|
|
onTextChanged: identicon.requestPaint()
|
|
}
|
|
}
|
|
}
|
|
}
|