From 3d7be24d7efab442f6ac6b7f6772da2616b94d22 Mon Sep 17 00:00:00 2001 From: Mathieu Pellerin Date: Sun, 30 Jul 2023 11:46:23 +0700 Subject: [PATCH] Fix map canvas (and other) menu height when separator hidden --- src/qml/NavigationBar.qml | 14 +++---- src/qml/QFieldLocalDataPickerScreen.qml | 50 ++++++++++++++++--------- src/qml/qgismobileapp.qml | 5 ++- 3 files changed, 41 insertions(+), 28 deletions(-) diff --git a/src/qml/NavigationBar.qml b/src/qml/NavigationBar.qml index 1664ac57b6..dd32df9409 100644 --- a/src/qml/NavigationBar.qml +++ b/src/qml/NavigationBar.qml @@ -518,7 +518,7 @@ Rectangle { MenuSeparator { width: parent.width } MenuItem { - text: Qt.platform.os === "ios" ? qsTr( "Print Atlas Feature(s) to Image" ) : qsTr( 'Print Atlas Feature(s) to PDF' ) + text: qsTr( 'Print Atlas Feature(s) to PDF' ) icon.source: Theme.getThemeIcon( "ic_print_white_24dp" ) enabled: toolBar.model && toolBar.model.selectedCount > 0 && LayerUtils.isAtlasCoverageLayer( toolBar.model.selectedLayer ) @@ -533,8 +533,10 @@ Rectangle { } MenuSeparator { - visible: mergeSelectedFeaturesBtn.visible || moveSelectedFeaturesBtn.visible || duplicateSelectedFeaturesBtn.visible || deleteSelectedFeaturesBtn.visible + enabled: mergeSelectedFeaturesBtn.visible || moveSelectedFeaturesBtn.visible || duplicateSelectedFeaturesBtn.visible || deleteSelectedFeaturesBtn.visible + visible: enabled width: parent.width + height: enabled ? undefined : 0 } MenuItem { @@ -542,10 +544,8 @@ Rectangle { text: qsTr( 'Merge Selected Features' ) icon.source: Theme.getThemeIcon( "ic_merge_features_white_24dp" ) enabled: toolBar.model && toolBar.model.canMergeSelection && toolBar.model.selectedCount > 1 && projectInfo.editRights - visible: enabled font: Theme.defaultFont - height: visible ? 48 : 0 leftPadding: 10 onTriggered: multiMergeClicked(); @@ -556,10 +556,8 @@ Rectangle { text: qsTr( 'Move Selected Feature(s)' ) icon.source: Theme.getThemeVectorIcon( "ic_move_white_24dp" ) enabled: toolBar.model && toolBar.model.canMoveSelection && projectInfo.editRights - visible: enabled font: Theme.defaultFont - height: visible ? 48 : 0 leftPadding: 10 onTriggered: multiMoveClicked(); @@ -570,10 +568,8 @@ Rectangle { text: qsTr( 'Duplicate Selected Feature(s)' ) icon.source: Theme.getThemeVectorIcon( "ic_duplicate_black_24dp" ) enabled: toolBar.model && toolBar.model.canDuplicateSelection && projectInfo.insertRights - visible: enabled font: Theme.defaultFont - height: visible ? 48 : 0 leftPadding: 10 onTriggered: multiDuplicateClicked(); @@ -585,9 +581,9 @@ Rectangle { icon.source: Theme.getThemeIcon( "ic_delete_forever_white_24dp" ) enabled: toolBar.model && toolBar.model.canDeleteSelection && projectInfo.editRights visible: enabled + height: enabled ? undefined : 0 font: Theme.defaultFont - height: visible ? 48 : 0 leftPadding: 10 onTriggered: multiDeleteClicked(); diff --git a/src/qml/QFieldLocalDataPickerScreen.qml b/src/qml/QFieldLocalDataPickerScreen.qml index 9f0e089f8e..f95852f29f 100644 --- a/src/qml/QFieldLocalDataPickerScreen.qml +++ b/src/qml/QFieldLocalDataPickerScreen.qml @@ -369,12 +369,13 @@ Page { MenuItem { id: sendDatasetTo - visible: platformUtilities.capabilities & PlatformUtilities.CustomSend + enabled: platformUtilities.capabilities & PlatformUtilities.CustomSend && itemMenu.itemMetaType == LocalFilesModel.Dataset + visible: enabled font: Theme.defaultFont width: parent.width - height: visible ? 48 : 0 + height: enabled ? undefined : 0 leftPadding: 10 text: qsTr( "Send to..." ) @@ -383,12 +384,13 @@ Page { MenuItem { id: exportDatasetTo - visible: platformUtilities.capabilities & PlatformUtilities.CustomExport + enabled: platformUtilities.capabilities & PlatformUtilities.CustomExport && itemMenu.itemMetaType == LocalFilesModel.Dataset + visible: enabled font: Theme.defaultFont width: parent.width - height: visible ? 48 : 0 + height: enabled ? undefined : 0 leftPadding: 10 text: qsTr( "Export to folder..." ) @@ -397,13 +399,14 @@ Page { MenuItem { id: removeDataset - visible: itemMenu.itemMetaType == LocalFilesModel.Dataset + enabled: itemMenu.itemMetaType == LocalFilesModel.Dataset && !qfieldLocalDataPickerScreen.projectFolderView && table.model.isDeletedAllowedInCurrentPath + visible: enabled font: Theme.defaultFont width: parent.width - height: visible ? 48 : 0 + height: enabled? undefined : 0 leftPadding: 10 text: qsTr( "Remove dataset" ) @@ -412,12 +415,13 @@ Page { MenuItem { id: exportFolderTo - visible: platformUtilities.capabilities & PlatformUtilities.CustomExport && + enabled: platformUtilities.capabilities & PlatformUtilities.CustomExport && itemMenu.itemMetaType == LocalFilesModel.Folder + visible: enabled font: Theme.defaultFont width: parent.width - height: visible ? 48 : 0 + height: enabled ? undefined : 0 leftPadding: 10 text: qsTr( "Export to folder..." ) @@ -426,12 +430,13 @@ Page { MenuItem { id: sendCompressedFolderTo - visible: platformUtilities.capabilities & PlatformUtilities.CustomSend + enabled: platformUtilities.capabilities & PlatformUtilities.CustomSend && itemMenu.itemMetaType == LocalFilesModel.Folder + visible: enabled font: Theme.defaultFont width: parent.width - height: visible ? 48 : 0 + height: enabled ? undefined : 0 leftPadding: 10 text: qsTr( "Send compressed folder to..." ) @@ -440,13 +445,14 @@ Page { MenuItem { id: removeProjectFolder - visible: itemMenu.itemMetaType == LocalFilesModel.Folder + enabled: itemMenu.itemMetaType == LocalFilesModel.Folder && !qfieldLocalDataPickerScreen.projectFolderView && table.model.isDeletedAllowedInCurrentPath + visible: enabled font: Theme.defaultFont width: parent.width - height: visible ? 48 : 0 + height: enabled ? undefined : 0 leftPadding: 10 text: qsTr( "Remove project folder" ) @@ -477,9 +483,10 @@ Page { id: importProjectFromFolder enabled: platformUtilities.capabilities & PlatformUtilities.CustomImport + visible: enabled font: Theme.defaultFont width: parent.width - height: enabled ? 48 : 0 + height: enabled ? undefined : 0 leftPadding: 10 text: qsTr( "Import project from folder" ) @@ -490,9 +497,10 @@ Page { id: importProjectFromZIP enabled: platformUtilities.capabilities & PlatformUtilities.CustomImport + visible: enabled font: Theme.defaultFont width: parent.width - height: enabled ? 48 : 0 + height: enabled ? undefined : 0 leftPadding: 10 text: qsTr( "Import project from ZIP" ) @@ -503,9 +511,10 @@ Page { id: importDataset enabled: platformUtilities.capabilities & PlatformUtilities.CustomImport + visible: enabled font: Theme.defaultFont width: parent.width - height: enabled ? 48 : 0 + height: enabled ? undefined : 0 leftPadding: 10 @@ -513,7 +522,12 @@ Page { onTriggered: { platformUtilities.importDatasets(); } } - MenuSeparator { visible: platformUtilities.capabilities & PlatformUtilities.CustomImport; width: parent.width } + MenuSeparator { + enabled: platformUtilities.capabilities & PlatformUtilities.CustomImport + visible: enabled + width: parent.width + height: enabled ? undefined : 0 + } MenuItem { id: importUrl @@ -529,7 +543,9 @@ Page { } } - MenuSeparator { width: parent.width } + MenuSeparator { + width: parent.width + } MenuItem { id: storageHelp diff --git a/src/qml/qgismobileapp.qml b/src/qml/qgismobileapp.qml index 2e02b5787e..67f4db700b 100644 --- a/src/qml/qgismobileapp.qml +++ b/src/qml/qgismobileapp.qml @@ -2435,8 +2435,10 @@ ApplicationWindow { } MenuSeparator { + enabled: canvasMenuFeatureListInstantiator.count > 0 width: parent.width - visible: canvasMenuFeatureListInstantiator.count > 0 + visible: enabled + height: enabled ? undefined : 0 } Instantiator { @@ -2457,7 +2459,6 @@ ApplicationWindow { title: layerName + ': ' + featureName font: Theme.defaultFont - leftPadding: 10 width: { var result = 0;