15 Commits

Author SHA1 Message Date
Ghostkeeper
1320d8c9f4
Add a simplistic design for a card for each package
It just displays the package name for now.

Contributes to issue CURA-8556.
2021-10-21 17:09:12 +02:00
Ghostkeeper
031c8efbe6
Implement pagination for package list
The simplest way I can think of.
Currently we only call the request function once, so we can only get the first page. Before calling it multiple times, we should check if there are more pages by checking if the request URL is an empty string.

Contributes to issue CURA-8556.
2021-10-21 16:56:53 +02:00
Ghostkeeper
b585c02207
Add background to page content, and restructure margins
To display the background across the entire bottom side and not with the margins of the column, we have to restructure where the margins are a bit.

Contributes to issue CURA-8556.
2021-10-21 16:35:54 +02:00
Ghostkeeper
38038b3752
Store items directly in listModel when parsing them
No need to use a custom list in Python and update the ListModel from that. This is much simpler and more efficient.

Contributes to issue CURA-8556.
2021-10-21 16:10:23 +02:00
Ghostkeeper
6415a2649e
Parse responses from package API call
Only positive responses so far. Error handling is not implemented yet.

Contributes to issue CURA-8556.
2021-10-21 16:02:46 +02:00
Ghostkeeper
3138452f94
Allow PackageList to be used as a model from QML
QML is leading here and holding the pointers for creation and destruction.

Contributes to issue CURA-8556.
2021-10-21 15:46:46 +02:00
Ghostkeeper
4337e81b77
Make request to Marketplace API when package list loads
We don't parse the response just yet, but this is part of the work.

Contributes to issue CURA-8556.
2021-10-21 15:33:37 +02:00
Ghostkeeper
5851ad52c6
Add property to tell if the list is currently loading or loading more
We'll need to display a spinner of some kind in the front-end, I think.

Contributes to issue CURA-8556.
2021-10-21 15:15:56 +02:00
Ghostkeeper
0f5c923d93
Add model to represent packages and export information to QML
We'll construct a bunch of these when we receive information from the API.

Contributes to issue CURA-8556.
2021-10-21 15:03:41 +02:00
Ghostkeeper
cf2b0d2777
Add empty ListModel to store list of packages with
This model does nothing yet.

Contributes to issue CURA-8556.
2021-10-19 17:48:21 +02:00
Ghostkeeper
ffce865c85
Add constant for API URLs
I figured this out now. Don't want to forget it. We'll need it later anyway.

Contributes to issue CURA-8556.
2021-10-19 17:47:40 +02:00
Ghostkeeper
97edf59660
High-level layout of Marketplace window
Currently just a title and a page. The title is separate because in between there will be the tabs selecting which page is shown. The title will also change depending on that, but that'll have to be implemented separately. The page is loaded with a loader to make it efficient, and also to make it extensible when the tabs get implemented in a follow-up ticket.

Contributes to issue CURA-8556.
2021-10-19 16:50:57 +02:00
Ghostkeeper
c35b1f4135
Bring window into focus when it opens
It can be behind the Cura main window now, where the user won't see it if it was already open.

Contributes to issue CURA-8556.
2021-10-19 13:45:25 +02:00
Ghostkeeper
5897b3de38
Add function to open Marketplace window
This will now load in a QML file, cache it, and create an empty window with the title 'Marketplace'.

Contributes to issue CURA-8556.
2021-10-19 13:43:41 +02:00
Ghostkeeper
73ad2a4e08
Add Marketplace plug-in, starting a rewrite from the Toolbox
This plug-in will be a complete re-write of the previous Toolbox plug-in. It's intended to solve some of the inherent architectural problems with the Toolbox.
We're calling it Marketplace now as well.

Contributes to issue CURA-8556.
2021-10-19 13:06:04 +02:00