ReceivingFileTemplate.ui.qml 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. import QtQuick 2.12
  2. import QtQuick.Controls 2.5
  3. import QtQuick.Layouts 1.3
  4. Item {
  5. width: 1250
  6. height: 50
  7. property string fileNameText: "Name Placeholder"
  8. property string fileSizeText: "Size Placeholder"
  9. property string fileDecryptableText: "Decryptable Placeholder"
  10. property bool fileExists: false
  11. Connections {
  12. target: _qmlHandler
  13. onReceivingDisableDownloadButton: {
  14. if (fileNameText == fileName) {
  15. fileExists = true
  16. }
  17. }
  18. }
  19. RowLayout {
  20. id: rowLayout
  21. anchors.fill: parent
  22. Text {
  23. id: fileTemplateFileName
  24. Layout.alignment: Qt.AlignCenter
  25. Layout.preferredHeight: parent.height
  26. Layout.preferredWidth: 400
  27. verticalAlignment: Text.AlignVCenter
  28. text: fileNameText
  29. color: "#ffffff"
  30. }
  31. Text {
  32. id: fileTemplateFileSize
  33. Layout.alignment: Qt.AlignCenter
  34. Layout.preferredHeight: parent.height
  35. Layout.preferredWidth: 200
  36. verticalAlignment: Text.AlignVCenter
  37. horizontalAlignment: Text.AlignHCenter
  38. text: fileSizeText
  39. color: "#ffffff"
  40. }
  41. Text {
  42. id: fileTemplateFileDecryptable
  43. Layout.alignment: Qt.AlignCenter
  44. Layout.preferredHeight: parent.height
  45. Layout.preferredWidth: 200
  46. verticalAlignment: Text.AlignVCenter
  47. horizontalAlignment: Text.AlignHCenter
  48. text: fileDecryptableText
  49. color: "#ffffff"
  50. }
  51. Button {
  52. id: fileTemplateDownloadButton
  53. Layout.alignment: Qt.AlignCenter
  54. Layout.preferredHeight: parent.height
  55. Layout.preferredWidth: 200
  56. enabled: !fileExists;
  57. text: fileExists ? qsTr("Already Downloaded") : qsTr("Download")
  58. onClicked: _qmlHandler.onReceivingDownloadFileButton(fileNameText)
  59. }
  60. Button {
  61. id: fileTemplateDeleteButton
  62. Layout.alignment: Qt.AlignCenter
  63. Layout.preferredHeight: parent.height
  64. Layout.preferredWidth: 200
  65. text: qsTr("Delete from server")
  66. }
  67. }
  68. }