diff --git a/src/qml/Base/HFileDialogOpener.qml b/src/qml/Base/HFileDialogOpener.qml index 38a75deb..9d252eaa 100644 --- a/src/qml/Base/HFileDialogOpener.qml +++ b/src/qml/Base/HFileDialogOpener.qml @@ -3,7 +3,9 @@ import Qt.labs.platform 1.1 Item { id: opener - anchors.fill: parent + anchors.fill: fill ? parent : undefined + + property bool fill: true property alias dialog: fileDialog property string selectedFile: "" @@ -12,7 +14,7 @@ Item { enum FileType { All, Images } property int fileType: HFileDialogOpener.FileType.All - TapHandler { onTapped: fileDialog.open() } + TapHandler { enabled: fill; onTapped: fileDialog.open() } FileDialog { id: fileDialog diff --git a/src/qml/Base/HInterfaceBox.qml b/src/qml/Base/HInterfaceBox.qml index 05fce859..5a85cccd 100644 --- a/src/qml/Base/HInterfaceBox.qml +++ b/src/qml/Base/HInterfaceBox.qml @@ -24,7 +24,7 @@ Rectangle { property var buttonCallbacks: [] property string enterButtonTarget: "" - default property alias body: interfaceBody.children + default property alias body: interfaceBody.data function clickEnterButtonTarget() { for (let i = 0; i < buttonModel.length; i++) { diff --git a/src/qml/Pages/EditAccount/ImportError.qml b/src/qml/Pages/EditAccount/ImportError.qml index 78621920..a59652be 100644 --- a/src/qml/Pages/EditAccount/ImportError.qml +++ b/src/qml/Pages/EditAccount/ImportError.qml @@ -5,6 +5,9 @@ import "../../Base" import "../../utils.js" as Utils HInterfaceBox { + horizontalSpacing: currentSpacing + verticalSpacing: currentSpacing + buttonModel: [ { name: "retry", text: qsTr("Retry"), iconName: "retry" }, { name: "cancel", text: qsTr("Cancel"), iconName: "cancel" }, diff --git a/src/qml/Pages/EditAccount/ImportExportKeys.qml b/src/qml/Pages/EditAccount/ImportExportKeys.qml index 4ac099dc..5baf8957 100644 --- a/src/qml/Pages/EditAccount/ImportExportKeys.qml +++ b/src/qml/Pages/EditAccount/ImportExportKeys.qml @@ -4,7 +4,22 @@ import QtQuick.Layouts 1.12 import "../../Base" import "../../utils.js" as Utils -HColumnLayout { +HInterfaceBox { + horizontalSpacing: currentSpacing + verticalSpacing: currentSpacing + + buttonModel: [ + { name: "export", text: qsTr("Export"), iconName: "export-keys", + enabled: false }, + { name: "import", text: qsTr("Import"), iconName: "import-keys"}, + ] + + buttonCallbacks: ({ + export: button => {}, + import: button => { fileDialog.open() }, + }) + + HLabel { wrapMode: Text.Wrap text: qsTr( @@ -15,36 +30,15 @@ HColumnLayout { ).arg(pageLoader.isWide ? "\n" :"\n\n") Layout.fillWidth: true - Layout.margins: currentSpacing } - HRowLayout { - HButton { - id: exportButton - icon.name: "export-keys" - text: qsTr("Export") - enabled: false - - Layout.fillWidth: true - Layout.alignment: Qt.AlignBottom - } - - HButton { - id: importButton - icon.name: "import-keys" - text: qsTr("Import") - - Layout.fillWidth: true - Layout.alignment: Qt.AlignBottom - - HFileDialogOpener { - id: fileDialog - dialog.title: qsTr("Select a decryption key file to import") - onFileChanged: { - importPasswordPopup.file = file - importPasswordPopup.open() - } - } + HFileDialogOpener { + id: fileDialog + fill: false + dialog.title: qsTr("Select a decryption key file to import") + onFileChanged: { + importPasswordPopup.file = file + importPasswordPopup.open() } }