The Cura.ComboBox component can now display a default text when there are no items in its model
and another text when there is no item selected.
CURA-7865
Ctrl+O was assigned as a shortcut in two places:
1. To the "File->Open File(s)" menu item, which is visible when only the local file
provider is enabled (i.e. the DF file provider is disabled)
2. To the "File->Open File(s)->From Disk" menu item, which is visible when there are
more than one file providers enabled.
This was creating an ambiguous shortcut, thus never opening the local file dialog.
This is now fixed by disabling the shortcuts when the respective items are not visible.
CURA-7868
Python 3.9 now made the TreeBuilder.start() `attrs` parameter ([1])
mandatory on all implementations. Adapt the plugin accordingly.
[1] https://bugs.python.org/issue39495
This adds a function 'triggerFirst' to the file provider that triggers the first file provider in the model. That should then be the local file provider, but if the plug-in is disabled for some reason it would use another plug-in.
Contributes to issue CURA-7868.
The action was no longer in the menu, but the hotkey still functioned. Then there were two actions for Ctrl+O, which was ambiguous to Qt.
Contributes to issue CURA-7868.
We can now define plug-ins that specify where to open files from. This is one of the places where you can open files.
This breaks the main button to open files in the interface. It needs to be redirected to trigger the plug-in to show the open file dialogue.
Contributest o issue CURA-7868.
As Ghostkeeper suspected correctly in the review comment https://github.com/Ultimaker/Cura/pull/9012#discussion_r549707433
the binding wasn't working because the model was being retrieved using a function
(CuraApplication.getFileProviderModel()).
Separating this model into a variable allows us to properly bind the "visible" properties of the
menu items with the count property of the model without a problem.
CURA-7868
These are long lines for some screens. It'll save a bit of space. No PID controller can really control down to fractional degrees.
Fan speed and flow rates are already integer settings. For speeds and retraction lenghts the fractions can be important.
Done for #8967.
Windows won't allow long keys in the backend the keyring python package uses as a backend. This means the access_token part can't be stored in the obvious way. Timeboxed some attempts at working around this limitation, but couldn't make it work within the time set. As this is mostly an extra precaustion protecting users that share config folders around against themselves (in other words, if this goes wrong it's not unreasonable to blame the user) it's not top critical, and the important part of that (the refresh_token) can proceed, giving any potential attacker only a 10 minute window from the moment any user shares their %appdata%/cura files (again, this is not how we intent for users to behave, but they can and will do it this way).
CURA-7180
When there is only one file provider (i.e. the local file provider), the Open File(s) will be a
simple item in the File menu.
When there are more than one file providers, the Open File(s) will become a submenu in the File
menu, which will contain all the file providers as submenu items.
CURA-7868