It now works! Sort of. Turns out you have to manually click 'Load More' each time now :-) This is also at least partially explains the 'cases' mentioned in previous commit (when switching tabs).
part of CURA-8559
It doesn't do any actual searching yet though. Also switching between page doesn't work like it's supposed to yet (and probalby more of that sort of cases).
part of CURA-8559
Make 'SearchBar' into a reusable component, so it can be used in the (new) Marketplace search. Also now at least the word 'Search' can be translated ;-)
part of CURA-8559
Hide disable/uninstall/install buttons, they're not active anyway and it's not part of this ticket in what state they should be hidden or not. What is part of the folded versus header is the download count row. (Also adapt link color.)
part of CURA-8561
I couldn't get it to truncate it if the double ellipsis is the only text on the line, like if the description contains a white line and more than 2 lines in total. It then looks like a double ellipsis (6 dots instead of 3). Doesn't look the worst, but a bit strange, but it's really difficult to fix.
Contributes to issue CURA-8561.
It seems to correctly place the elide character now. One more detail that's incorrect is that it shows two elision characters if it's eliding due to maximum line count. I'll see what I can do...
Contributes to issue CURA-8561.
This seems to be the alignment in the design. Also gets rid of binding loops because we automatically adjust the height so you can't align to the centre or the bottom then.
Contributes to issue CURA-8561.
It seems that the ListView doesn't always set the parent element correctly if it's not yet in view. This is a workaround that seems to work fine to remove the QML warnings about parent not being defined.
Contributes to issue CURA-8561.
The 'CicleOutline' image doesn't exist. There is no design for this image so I'm adding the placeholder that the previous Marketplace had.
Contributes to issue CURA-8561.
This is in my opinion much easier to follow and maintain.
It also fixes the layout. The original code had a lot of overlapping parts.
Contributes to issue CURA-8561.
The speed increase on the function when running Yappi
`LocalPackageList.updatePackages`
| original | now |
|----------|------|
| 14 ms | 4 ms |
Contributes to CURA-8558
@ghostkeeper being nerd snipped
It's giving that typing failure because the section variable is re-used.
First as elements from self._getSections (strs) and then as elements
from sorted_sections.values() (List[PackageModel]s). Python has no
variable scopes within functions so the variable still exists after the
first for loop.
Contributes to CURA-8558
The previous implementation added a section_title to the package_info
which was also stored in the packages.json. The section_title is now
provided to the PackageModel as an extra optional argument.
Contributes to CURA-8558
A user might still need to interact with a **to be installed** package.
But the current package list doesn't list that package anymore.
Introduced a `getPackagesToInstall()` method in the Uranium PackageManager
to circumvent this issue.
Contributes to CURA-8558
A user might still need to interact with a **to be removed** package and
it is also still being used in the current Cura session. But the current
package list doesn't list that package anymore.
Introduced a `getPackagesToRemove()` method in the Uranium PackageManager
to circumvent this issue.
Contributes to CURA-8558