Compare commits
2 Commits
392d993c8a
...
45c12ed2bb
Author | SHA1 | Date |
---|---|---|
jordi fita mas | 45c12ed2bb | |
jordi fita mas | fe7a9a78c6 |
|
@ -13,6 +13,7 @@ qt_add_qml_module(${PROJECT_NAME}
|
|||
mnemonicattached.cpp mnemonicattached.h
|
||||
QML_FILES
|
||||
ErrorNotification.qml
|
||||
Expander.qml
|
||||
LoginPage.qml
|
||||
Main.qml
|
||||
MnemonicAction.qml
|
||||
|
|
|
@ -67,6 +67,7 @@ Control {
|
|||
text: qsTr("Close")
|
||||
|
||||
onClicked: function () {
|
||||
hideTimer.stop();
|
||||
control.visible = false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,93 @@
|
|||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Shapes
|
||||
|
||||
Control {
|
||||
id: control
|
||||
|
||||
default property alias contentData: pane.contentData
|
||||
property alias expanded: pane.visible
|
||||
property string title
|
||||
|
||||
clip: true
|
||||
implicitHeight: triangle.implicitHeight + (expanded ? pane.implicitHeight : 0)
|
||||
implicitWidth: Math.max(triangle.implicitWidth, pane.implicitWidth)
|
||||
|
||||
Behavior on implicitHeight {
|
||||
NumberAnimation {
|
||||
duration: 200
|
||||
}
|
||||
}
|
||||
|
||||
ToolButton {
|
||||
id: triangle
|
||||
|
||||
Mnemonic.label: control.title
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
text: Mnemonic.richTextLabel
|
||||
|
||||
contentItem: Row {
|
||||
spacing: 4
|
||||
|
||||
Shape {
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
height: 8
|
||||
rotation: control.expanded ? 90 : 0
|
||||
width: 8
|
||||
|
||||
Behavior on rotation {
|
||||
NumberAnimation {
|
||||
duration: 200
|
||||
}
|
||||
}
|
||||
|
||||
ShapePath {
|
||||
fillColor: "transparent"
|
||||
startX: 2
|
||||
startY: 0
|
||||
strokeColor: triangle.palette.buttonText
|
||||
strokeWidth: 1
|
||||
|
||||
PathLine {
|
||||
x: 6
|
||||
y: 4
|
||||
}
|
||||
|
||||
PathLine {
|
||||
x: 2
|
||||
y: 8
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
color: triangle.palette.buttonText
|
||||
font: triangle.font
|
||||
text: triangle.text
|
||||
}
|
||||
}
|
||||
|
||||
onClicked: function () {
|
||||
control.expanded = !control.expanded;
|
||||
}
|
||||
|
||||
Shortcut {
|
||||
sequence: triangle.Mnemonic.sequence
|
||||
|
||||
onActivated: function () {
|
||||
triangle.click();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Pane {
|
||||
id: pane
|
||||
|
||||
anchors.left: parent.left
|
||||
anchors.top: triangle.bottom
|
||||
padding: 0
|
||||
visible: false
|
||||
}
|
||||
}
|
|
@ -9,29 +9,111 @@ Page {
|
|||
title: qsTr("Login")
|
||||
|
||||
ColumnLayout {
|
||||
MnemonicLabel {
|
||||
buddy: user
|
||||
mnemonic: qsTr("&User:")
|
||||
anchors.centerIn: parent
|
||||
|
||||
GridLayout {
|
||||
columns: 2
|
||||
|
||||
MnemonicLabel {
|
||||
Layout.alignment: Qt.AlignRight
|
||||
buddy: user
|
||||
mnemonic: qsTr("&User:")
|
||||
}
|
||||
|
||||
TextField {
|
||||
id: user
|
||||
|
||||
Layout.fillWidth: true
|
||||
focus: true
|
||||
|
||||
onAccepted: loginAction.trigger()
|
||||
}
|
||||
|
||||
MnemonicLabel {
|
||||
Layout.alignment: Qt.AlignRight
|
||||
buddy: password
|
||||
mnemonic: qsTr("&Password:")
|
||||
}
|
||||
|
||||
TextField {
|
||||
id: password
|
||||
|
||||
Layout.fillWidth: true
|
||||
echoMode: TextInput.Password
|
||||
|
||||
onAccepted: loginAction.trigger()
|
||||
}
|
||||
}
|
||||
|
||||
TextField {
|
||||
id: user
|
||||
Expander {
|
||||
Layout.fillWidth: true
|
||||
Layout.topMargin: 8
|
||||
title: qsTr("&Advanced options")
|
||||
|
||||
focus: true
|
||||
}
|
||||
GridLayout {
|
||||
columns: 2
|
||||
|
||||
MnemonicLabel {
|
||||
buddy: password
|
||||
mnemonic: qsTr("&Password:")
|
||||
}
|
||||
MnemonicLabel {
|
||||
Layout.alignment: Qt.AlignRight
|
||||
buddy: hostName
|
||||
mnemonic: qsTr("&Host name:")
|
||||
}
|
||||
|
||||
TextField {
|
||||
id: password
|
||||
TextField {
|
||||
id: hostName
|
||||
|
||||
echoMode: TextInput.Password
|
||||
Layout.fillWidth: true
|
||||
|
||||
onAccepted: loginAction.trigger()
|
||||
}
|
||||
|
||||
MnemonicLabel {
|
||||
Layout.alignment: Qt.AlignRight
|
||||
buddy: port
|
||||
mnemonic: qsTr("Por&t:")
|
||||
}
|
||||
|
||||
SpinBox {
|
||||
id: port
|
||||
|
||||
Layout.fillWidth: true
|
||||
editable: true
|
||||
from: 1
|
||||
to: 65535
|
||||
}
|
||||
|
||||
MnemonicLabel {
|
||||
Layout.alignment: Qt.AlignRight
|
||||
buddy: databaseName
|
||||
mnemonic: qsTr("&Database name:")
|
||||
}
|
||||
|
||||
TextField {
|
||||
id: databaseName
|
||||
|
||||
Layout.fillWidth: true
|
||||
|
||||
onAccepted: loginAction.trigger()
|
||||
}
|
||||
|
||||
MnemonicLabel {
|
||||
Layout.alignment: Qt.AlignRight
|
||||
buddy: connectOptions
|
||||
mnemonic: qsTr("&Options:")
|
||||
}
|
||||
|
||||
TextField {
|
||||
id: connectOptions
|
||||
|
||||
Layout.fillWidth: true
|
||||
|
||||
onAccepted: loginAction.trigger()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Button {
|
||||
Layout.alignment: Qt.AlignRight
|
||||
action: loginAction
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue