mirror of
https://github.com/Yubico/yubioath-flutter.git
synced 2025-01-06 02:37:21 +03:00
Add add credential dialog
This commit is contained in:
parent
d82f1263fd
commit
e4887be6ea
96
qml/AddCredential.qml
Normal file
96
qml/AddCredential.qml
Normal file
@ -0,0 +1,96 @@
|
||||
import QtQuick 2.6
|
||||
import QtQuick.Controls 1.4
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Controls.Styles 1.4
|
||||
import QtQuick.Dialogs 1.2
|
||||
|
||||
Dialog {
|
||||
id: addCredential
|
||||
title: qsTr("Add credential")
|
||||
standardButtons: StandardButton.Save | StandardButton.Cancel
|
||||
|
||||
ColumnLayout {
|
||||
GridLayout {
|
||||
columns: 2
|
||||
Button {
|
||||
Layout.columnSpan: 2
|
||||
text: qsTr("Scan a QR code")
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
Label {
|
||||
text: qsTr("Name")
|
||||
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
|
||||
Layout.fillWidth: false
|
||||
}
|
||||
TextField {
|
||||
id: nameInput
|
||||
Layout.fillHeight: false
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
Label {
|
||||
text: qsTr("Secret key (base32)")
|
||||
}
|
||||
TextField {
|
||||
id: secretKeyInput
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
}
|
||||
GroupBox {
|
||||
title: qsTr("Credential type")
|
||||
ColumnLayout {
|
||||
RowLayout {
|
||||
Label {
|
||||
text: "OATH Type"
|
||||
}
|
||||
ExclusiveGroup {
|
||||
id: oathType
|
||||
}
|
||||
RadioButton {
|
||||
text: qsTr("Time based (TOTP)")
|
||||
checked: true
|
||||
exclusiveGroup: oathType
|
||||
}
|
||||
RadioButton {
|
||||
text: qsTr("Counter based (HOTP)")
|
||||
exclusiveGroup: oathType
|
||||
}
|
||||
}
|
||||
RowLayout {
|
||||
Label {
|
||||
text: "Number of digits"
|
||||
}
|
||||
ExclusiveGroup {
|
||||
id: digits
|
||||
}
|
||||
RadioButton {
|
||||
text: qsTr("6")
|
||||
exclusiveGroup: digits
|
||||
}
|
||||
RadioButton {
|
||||
text: qsTr("8")
|
||||
checked: true
|
||||
exclusiveGroup: digits
|
||||
}
|
||||
}
|
||||
RowLayout {
|
||||
Label {
|
||||
text: "Algorithm"
|
||||
}
|
||||
ExclusiveGroup {
|
||||
id: algorithm
|
||||
}
|
||||
RadioButton {
|
||||
text: qsTr("SHA-1")
|
||||
exclusiveGroup: algorithm
|
||||
}
|
||||
RadioButton {
|
||||
text: qsTr("SHA-256")
|
||||
checked: true
|
||||
exclusiveGroup: algorithm
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
28
qml/Main.qml
28
qml/Main.qml
@ -23,6 +23,10 @@ ApplicationWindow {
|
||||
|
||||
Menu {
|
||||
title: qsTr("File")
|
||||
MenuItem {
|
||||
text: qsTr('Add...')
|
||||
onTriggered: addCredential.show()
|
||||
}
|
||||
MenuItem {
|
||||
text: qsTr("Exit")
|
||||
onTriggered: Qt.quit()
|
||||
@ -42,6 +46,30 @@ ApplicationWindow {
|
||||
id: aboutPage
|
||||
}
|
||||
|
||||
AddCredential {
|
||||
id: addCredential
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
enabled: yk.hasDevice
|
||||
anchors.fill: parent
|
||||
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
||||
onClicked: {
|
||||
if (Qt.RightButton) {
|
||||
contextMenu.popup()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Menu {
|
||||
id: contextMenu
|
||||
MenuItem {
|
||||
text: qsTr('Add...')
|
||||
onTriggered: addCredential.open()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ColumnLayout {
|
||||
id: credentialsColumn
|
||||
spacing: 10
|
||||
|
Loading…
Reference in New Issue
Block a user