resolve binding loo in `SyncState`
move `updateCostPerMeter` function to root of `MaterialView` such that it is available of all sub components
Cura 8687
Forgot to update Readonly `SpinBox`es to Qt 2 when implementing Cura
8684. As the spinbox is used in various places with the same
functionality it made sense to create a reusable component.
There is still a feature gap in the implementation; The `SpinBox`es
from QtControls 2.x value is defined as an integer. For some use-cases
we do require a fractional value in the `SpinBox`. The only two places
where this is required are the `material_diameter` and
`material_density` fields in the material prefference page.
Cura 8684
A few fields have changed.
There's also a harder one, a generic one that is re-usable. I want to do that one in a separate commit since it'll need to be checked all over the code for its usage.
Contributes to issue CURA-8687.
We can't enforce it when resizing, due to the width rescaling with the width. But we can enforce it through the binding formula after applying the width scale.
Contributes to issue CURA-8686.
When I changed the MouseArea into a TooltipArea, the clicking broke because the tooltip area doesn't catch mouse events. I could add another mouse area on top, but for better efficiency it's nice to re-use the TooltipArea. Just need to remember to allow clicking it.
I also found a small issue where you could flick the table even if it's not big enough to scroll. This should fix that.
Contributes to issue CURA-8686.
- When both branches added Controls1 as OldControls, it's not marked as a merge conflict. But the merge removed the need for OldControls, so the import can be removed.
- There was one instance where I had removed the OldControls for a checkbox but there it should remain since the checkboxes are updated in a separate ticket.
Contributes to issue CURA-8684.
Conflicts:
plugins/ImageReader/ConfigUI.qml
plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml
plugins/PerObjectSettingsTool/SettingPickDialog.qml
resources/qml/Dialogs/DiscardOrKeepProfileChangesDialog.qml
resources/qml/Menus/ConfigurationMenu/CustomConfiguration.qml
resources/qml/Preferences/GeneralPage.qml
resources/qml/Preferences/Materials/MaterialsPage.qml
resources/qml/Preferences/Materials/MaterialsView.qml
resources/qml/Preferences/ProfilesPage.qml
These conflicts are all arising from headers/includes being updated at the same time, or from the two branches marking the other one's components as needing OldControls.
This introduced more OldControls markers which don't get marked as merge conflicts by Git. This happens when an element could just be left as the original name but from the new import (e.g. a Button stays a Button in Controls 2, but should be marked as from OldControls on the branch that doesn't update the Button).
This enables mouse-selectable for
- The image reader dialog
- Layer view text field (in simulation view)
- The TextField with unit component (for instace used to set the scale
of models)
- Rename dialog(s)
- Currency text field
- The settings filter text field
CURA-8684
Had to make some more modifications to get it to work again this time, due to the way the width of the table scales with the dialogue. But it's nice now.
Contributes to issue CURA-8686.
They should retain their width proportionally.
This also fixes a case where the width of the TableView was initialised as 0 but then changed for some anchors due to weird bindings. Because it now updates the tableView when the width is changed.
Contributes to issue CURA-8686.
I'm not real happy with the limitations I had to work with here. The TableView can only accept a table of strings, so I basically had to fit everything into editing this dictionary of strings. Not the best. But it's very effective.
Contributes to issue CURA-8686.