diff options
author | Kostas Karmas <konskarm@gmail.com> | 2021-01-12 12:53:32 +0300 |
---|---|---|
committer | Kostas Karmas <konskarm@gmail.com> | 2021-01-12 12:53:32 +0300 |
commit | b3e8f4d0e69fd63e8157f97684584805529ae61f (patch) | |
tree | d1cf663adf06cd798afbec7737ee5bbab7cd95d7 | |
parent | 3282ad7a4169cd76f160a84781d30603ed9c1d7e (diff) | |
parent | fd3c9854406e9a655d7076307bf91d8ca4840a1f (diff) |
Merge branch 'CURA-7868_Introduce_file_provider_plugin_type' into CURA-7864_open_remote_files_mvp
-rw-r--r-- | resources/qml/Actions.qml | 6 | ||||
-rw-r--r-- | resources/qml/Menus/OpenFilesMenu.qml | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/resources/qml/Actions.qml b/resources/qml/Actions.qml index c62b0cb89a..78c4958598 100644 --- a/resources/qml/Actions.qml +++ b/resources/qml/Actions.qml @@ -416,9 +416,13 @@ Item Action { id: openAction; + property var fileProviderModel: CuraApplication.getFileProviderModel() + text: catalog.i18nc("@action:inmenu menubar:file","&Open File(s)..."); iconName: "document-open"; - shortcut: StandardKey.Open; + // Unassign the shortcut when there are more than one file providers, since then the file provider's shortcut is + // enabled instead, and Ctrl+O is assigned to the local file provider + shortcut: fileProviderModel.count == 1 ? StandardKey.Open : ""; } Action diff --git a/resources/qml/Menus/OpenFilesMenu.qml b/resources/qml/Menus/OpenFilesMenu.qml index 60fb507b34..3c2b64ee62 100644 --- a/resources/qml/Menus/OpenFilesMenu.qml +++ b/resources/qml/Menus/OpenFilesMenu.qml @@ -36,7 +36,9 @@ Menu CuraApplication.getFileProviderModel().trigger(model.name); } } - shortcut: model.shortcut + // Unassign the shortcuts when the submenu is invisible (i.e. when there is only one file provider) to avoid ambiguous shortcuts. + // When there is a signle file provider, the openAction is assigned with the Ctrl+O shortcut instead. + shortcut: openFilesMenu.visible ? model.shortcut : "" } onObjectAdded: openFilesMenu.insertItem(index, object) onObjectRemoved: openFilesMenu.removeItem(object) |