9061 Commits

Author SHA1 Message Date
j.delarago
d5511a078c Dialog was immediately being destroyed because a reference to it was not being stored in memory. Added a missingPackageDialog variable to WorkspaceDialog to fix this.
Swapped the loading order of Marketplace extensions so SyncOrchestractor is not fetched by PluginRegistry.getInstance().getPluginObject("Marketplace") in WorkspaceDialog.

CURA-8610
2022-06-08 12:19:36 +02:00
j.delarago
f9ea517e05 If package.json metadata file is missing from 3mf file output warning instead of error.
CURA-8610
2022-06-08 11:51:54 +02:00
Ghostkeeper
0f12b012cf
Create InstallMissingPackageDialog with newly-exposed function from Marketplace
This adds a new function to the API of the Marketplace plug-in.
It's not pretty, but it's going to be how it is for a while.

Done to fix a critical build issue. The 'import plugins' thing works from source but not on the build.
2022-06-08 10:19:51 +02:00
Ghostkeeper
de8a58f0d7
Fix imports, especially not using plugins folder as module
When running from source, 'import plugins' works since it's working from the directory where the plug-ins directory is located. However in a build this doesn't work since the source code is in a different location there.
2022-06-08 09:50:44 +02:00
Ghostkeeper
fb3f065fe0
Catch ValueErrors from removing callbacks that were already removed
This can happen from asynchronous access.

Fixes Sentry issue CURA-3YV.
2022-06-07 13:55:56 +02:00
Remco Burema
d2381f129f
Merge pull request #12434 from Ultimaker/CURA-6990
Use "required packages" metadata to load a project file with a third party material
2022-06-07 13:26:31 +02:00
c.lamboo
76180eee01 Show warning on-close of the install missing packaged dialog
CURA-6990
2022-06-06 22:49:49 +02:00
c.lamboo
bee4da6368 Re-use Marketplace Component in the InstallMissingPackagesDialog
CURA-6990
2022-06-06 22:27:31 +02:00
c.lamboo
2f22002fd5 Add header and footer components to Dialog
This provides control over how the header (the header is newly introduced in this commit) and footer components are rendered. The footer is the area where the `leftButtoons` and `rightButtons` are rendered. Having control over how this is rendered introduces for instance the possibility to render the buttons within a warning area (an example of this can bee seen in the WorkspaceDialog).

CURA-6990
2022-06-06 21:45:48 +02:00
c.lamboo
781723fbbc Fix typing
CURA-6990
2022-06-06 21:27:32 +02:00
c.lamboo
34004df7af Un-capitalise materials
CURA-6990
2022-06-03 16:25:43 +02:00
c.lamboo
eccef62dc7 Add typing
CURA-6990
2022-06-03 15:22:29 +02:00
c.lamboo
2230269ab3 Simplify variable assignment
CURA-6990
2022-06-03 15:17:32 +02:00
c.lamboo
8d3b3ae411 Use themed border width
CURA-6990
2022-06-03 11:13:19 +02:00
c.lamboo
4492e3fba2 Add warning border to PackageCard if information is missing
CURA-6990
2022-06-03 10:39:01 +02:00
c.lamboo
70c36fc80f Use correct status icon
CURA-6990
2022-06-03 10:13:29 +02:00
j.delarago
277a6a38b2 Update campaign link
CURA-6990
2022-06-02 17:40:14 +02:00
j.delarago
4c2be68c7b Add pyqtSignal no get rid of annoying errors
CURA-6990
2022-06-02 17:39:41 +02:00
j.delarago
a0fd5afbe7 Add missing warning badge
CURA-6990
2022-06-02 17:38:50 +02:00
c.lamboo
8fe53163b3 Add Action button and learn more link to warning message
CURA-6990
2022-06-02 17:33:56 +02:00
j.delarago
00cbee6985 Add missing continue, this was throwing errors due to it trying to packagedata.get("isbundled") on a None value.
CURA-8610
2022-06-02 17:08:25 +02:00
c.lamboo
a506b6d9ad Merge remote-tracking branch 'origin/CURA-6990' into CURA-6990 2022-06-02 16:58:51 +02:00
c.lamboo
fccfcb0e2b Add scroll bar to the WorkSpaceDialog
The warning message took out some space from the dialog. Added a scroll bar to make sure the content can still be read.

CURA-6990
2022-06-02 16:58:41 +02:00
j.delarago
511b10c084 Display package cards in the package list for packages that can't be found on the marketplace api.
When the final page of results is fetched, the list of all package_ids retrieved from the api will be compared with the ones we were searching for. Any that are missing have cards displayed with only basic information (name and version).

CURA-6990
2022-06-02 16:54:08 +02:00
c.lamboo
812b728636 Show warning when opening file without installing missing materials
CURA-6990
2022-06-02 15:36:53 +02:00
c.lamboo
9c02f6500d Use API endpoint for requesting package_ids
Use new api endpoint for requesting specific package_ids so we don't have to filter ourselves.

CURA-6990
2022-06-02 15:19:00 +02:00
j.delarago
b015617e13 Marketplace plugin registry is None on initialization, and is loaded after running show().
This makes a check that the window is open before continuing through checkIfRestartNeeded

CURA-6990
2022-06-01 16:56:02 +02:00
j.delarago
0df21e6073 Refactor missing packages dialog into model (MissingPackageList) and controller (InstallMissingPackagesDialog.qml)
Rename classes and files to have unified naming.

CURA-6990
2022-06-01 16:50:53 +02:00
Ghostkeeper
84e3201db4
Merge branch '5.0' 2022-06-01 15:38:37 +02:00
Remco Burema
d35c862bb8 Prevent run of out-of-install executable in secure context.
SEC-257 | CURA-8968
2022-06-01 14:26:44 +02:00
j.delarago
5a3836b841 Fix missingPackages not updating
CURA-8610
2022-06-01 10:39:03 +02:00
Remco Burema
8579a6baf3
Merge pull request #12410 from Ultimaker/CURA-8610_save_package_metadata
[CURA-8610] Remove website link from package metadata
2022-06-01 10:17:21 +02:00
j.delarago
61332b0845 Remove website
CURA-8610
2022-06-01 10:14:24 +02:00
c.lamboo
cd9fde946f Add typing
CURA-6990
2022-06-01 10:09:57 +02:00
c.lamboo
cd18bfb893 Set warning only if there are missing materials
CURA-6990
2022-06-01 10:09:23 +02:00
Remco Burema
aa83c68387 This error is not about materials, not uninstalling. 2022-05-31 17:20:51 +02:00
c.lamboo
84f19458c5 Display error when opening 3mf files
CURA-6990
2022-05-31 16:49:47 +02:00
j.delarago
29b6450704 Add some more information for the unhappy route and a message to inform the user.
CURA-6990
2022-05-31 16:30:11 +02:00
Joey de l'Arago
094c781b02
Update plugins/XmlMaterialProfile/XmlMaterialProfile.py
Co-authored-by: Remco Burema <41987080+rburema@users.noreply.github.com>
2022-05-31 15:49:57 +02:00
j.delarago
5c1b7470a7 Add pyqt access to missing package metadata.
CURA-6990
2022-05-31 15:26:56 +02:00
j.delarago
ce0623664a Include all missing package metadata instead of just ids so we have something to display before searching the package on the marketplace. This is also important so we can show something if we can't find the package on the marketplace.
CURA-6990
2022-05-31 15:21:11 +02:00
j.delarago
4572d53e11 Read package.json required package information. Put package_ids for packages we don't have installed inside the WorkspaceDialog
CURA-6990
2022-05-31 15:12:52 +02:00
j.delarago
ca9955c730 Remove metadata exporting to ufp
CURA-8610
2022-05-31 12:43:52 +02:00
j.delarago
ec60325a3f Move metadata exporting to 3mf
CURA-8610
2022-05-31 12:39:00 +02:00
j.delarago
64478fb17d Fix typo fetching sdk version
CURA-8610
2022-05-31 10:04:23 +02:00
j.delarago
cdc08b5d54 Improve GUID check by parsing xml and getting GUID specifically inside the metadata tag.
Remove exporting materials from disabled extruders

CURA-8610
2022-05-31 10:00:25 +02:00
j.delarago
21d59e9349 Write active material metadata to ufp when saving.
Add function to fetch package_id using only information from XmlMaterialProfile material container.
The only piece of information associating the material container and the package together is the file_name. To find the package that owns a material we have to search each of the material package paths.

It would be great to find a cleaner solution (preferable one that doesn't require invalidating the cached containers).

CURA-8610
2022-05-30 17:29:59 +02:00
Ghostkeeper
b5e3479c1c
Catch UnicodeDecodeErrors when parsing error messages from server
Stupid recursive errors.

Fixes Sentry issue CURA-3VB.
2022-05-20 12:55:59 +02:00
Ghostkeeper
64b29779ca
Fix crash when server sends invalid JSON data
If readJSON fails, it puts an entry in the log and then returns None. This then crashes with a TypeError because you can't check for things to be in None.

Fixes Sentry issue CURA-3V5.
2022-05-19 11:36:16 +02:00
c.lamboo
13a75827ce Fix "view user manuals online" link 2022-05-16 21:49:09 +02:00