It turns out that the order of these functions matters. So when we created a
function with only one param, it would actually give it the index. Removing
with the index didn't work, so the object would still be there. The Qt objects
would already be deleted which caused segfaults
CURA-9222
I didn't realise that Cura already had a menu item. To prevent
Confusion, i've changed Cura.MenuItem to use UM.MenuItem and let all
other menus use Cura.MenuItem
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
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.
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