Page {
id: root
+ signal closeButtonClicked
+
property var accountState: ({})
property string localPath: ""
property int intendedPadding: Style.standardSpacing * 2
property int iconSize: 32
property StackView rootStackView: StackView {}
+ property bool showCloseButton: false
property FileDetails fileDetails: FileDetails {
id: fileDetails
id: headerGridLayout
readonly property bool showFileLockedString: root.fileDetails.lockExpireString !== ""
+ readonly property int textRightMargin: root.showCloseButton ? root.intendedPadding : 0
Layout.fillWidth: parent
Layout.topMargin: root.topPadding
- columns: 2
+ columns: root.showCloseButton ? 3 : 2
rows: showFileLockedString ? 3 : 2
rowSpacing: Style.standardSpacing / 2
id: fileNameLabel
Layout.fillWidth: true
- Layout.rightMargin: root.intendedPadding
+ Layout.rightMargin: headerGridLayout.textRightMargin
text: root.fileDetails.name
color: Style.ncTextColor
wrapMode: Text.Wrap
}
+ CustomButton {
+ id: closeButton
+
+ Layout.rowSpan: headerGridLayout.rows
+ Layout.preferredWidth: Style.iconButtonWidth
+ Layout.preferredHeight: width
+ Layout.rightMargin: headerGridLayout.textRightMargin
+
+ imageSource: "image://svgimage-custom-color/clear.svg" + "/" + Style.ncTextColor
+ bgColor: Style.lightHover
+ bgNormalOpacity: 0
+ toolTipText: qsTr("Dismiss")
+
+ visible: root.showCloseButton
+
+ onClicked: root.closeButtonClicked()
+ }
+
EnforcedPlainTextLabel {
id: fileDetailsLabel
Layout.fillWidth: true
- Layout.rightMargin: root.intendedPadding
+ Layout.rightMargin: headerGridLayout.textRightMargin
text: `${root.fileDetails.sizeString} ยท ${root.fileDetails.lastChangedString}`
color: Style.ncSecondaryTextColor
id: fileLockedLabel
Layout.fillWidth: true
- Layout.rightMargin: root.intendedPadding
+ Layout.rightMargin: headerGridLayout.textRightMargin
text: root.fileDetails.lockExpireString
color: Style.ncSecondaryTextColor
fileDetailsDrawer.pageToShow);\r
}\r
}\r
- sourceComponent: ColumnLayout {\r
- anchors.fill: parent\r
-\r
- FileDetailsPage {\r
- id: fileDetails\r
-\r
- Layout.fillWidth: true\r
- Layout.fillHeight: true\r
-\r
- background: null\r
- accountState: fileDetailsDrawer.folderAccountState\r
- localPath: fileDetailsDrawer.fileLocalPath\r
- }\r
+ sourceComponent:FileDetailsPage {\r
+ id: fileDetails\r
\r
- CustomButton {\r
- FontMetrics {\r
- id: doneButtonFm\r
- font: parent.contentsFont\r
- }\r
+ anchors.fill: parent\r
\r
- Layout.alignment: Qt.AlignRight | Qt.AlignVCenter\r
- Layout.topMargin: fileDetails.intendedPadding\r
- Layout.bottomMargin: fileDetails.intendedPadding\r
- Layout.leftMargin: fileDetails.intendedPadding\r
- Layout.rightMargin: fileDetails.intendedPadding\r
- Layout.preferredWidth: doneButtonFm.boundingRect(text).width +\r
- leftPadding +\r
- rightPadding +\r
- Style.standardSpacing * 2\r
-\r
- text: qsTr("Done")\r
- contentsFont.bold: true\r
- bgColor: Style.currentUserHeaderColor\r
- textColor: Style.adjustedCurrentUserHeaderColor\r
- textColorHovered: Style.currentUserHeaderTextColor\r
- onClicked: fileDetailsDrawer.close()\r
+ background: null\r
+ accountState: fileDetailsDrawer.folderAccountState\r
+ localPath: fileDetailsDrawer.fileLocalPath\r
+ showCloseButton: true\r
\r
- Accessible.role: Accessible.Button\r
- Accessible.name: qsTr("Close the file details view")\r
- Accessible.onPressAction: clicked()\r
- }\r
+ onCloseButtonClicked: fileDetailsDrawer.close()\r
}\r
}\r
}\r