9131 Commits

Author SHA1 Message Date
Ghostkeeper
ac67dcc045
Don't cache PluginRegistry instance
Several reasons:
* It's bad style, making it harder to test with mocked PluginRegistry since all sorts of objects have copies of the un-mocked object in their fields.
* It's causing errors in this case when checkIfRestartNeeded is called before show().

Fixes Sentry issue CURA-3P6.
2022-06-22 11:52:13 +02:00
Ghostkeeper
8970f46154
Better path to packages.json in the 3MF file
Let's put it in the Cura directory with the rest of such files, as to not muddy the 3MF file with all sorts of directories that are not known to other consumers.

Contributes to issue CURA-9413.
2022-06-20 11:04:14 +02:00
Ghostkeeper
d1747e09e1
Fix link to help page when material package is missing
In this case we don't want to link to Ultimaker's internal help pages, but to the public support pages.
2022-06-20 10:48:13 +02:00
Jaime van Kessel
b25e760c53 Remove incorrect enum usage
This only needs to happen in code that uses PyQt, not in qml code
2022-06-17 15:26:30 +02:00
Jaime van Kessel
ac32f3b625
Merge pull request #12530 from Ultimaker/CURA-8610_save_required_packages_metadata
[CURA-8610] save required packages metadata
2022-06-16 10:47:06 +02:00
j.delarago
8c2ac9f21e Remove excessive logs, make path search recursive for materials.
CURA-8610
2022-06-15 15:47:17 +02:00
Remco Burema
188b63703b
Merge pull request #12531 from Ultimaker/CURA-8555_link_ufp_to_3mf_in_digital_library
Cura 8555 link ufp to 3mf in digital library
2022-06-15 15:16:11 +02:00
Ghostkeeper
20607b219a
Merge branch 'split-removable-output-write-function' of https://github.com/zxc8027/Cura into zxc8027-split-removable-output-write-function 2022-06-15 14:37:39 +02:00
j.delarago
4e80d170d1 Add logs for debugging
CURA-8610
2022-06-15 14:09:05 +02:00
c.lamboo
854607a725 Provide source_file_id with print file
Had to implement this a bit differently as stated in the ticket. This field is returned when uploading the project file.

Logic needed a bit of a change as the new behavior dictates a sequence (we can only upload the print file after the project file is uploaded, and we know the correct `file_id`/`source_file_id`) where before these two api calls were done in parallel.

CURA-8555
2022-06-15 13:36:34 +02:00
c.lamboo
f67d086182 Boyscouting modern python typing
CURA-8555
2022-06-15 13:27:47 +02:00
c.lamboo
a7fcc15197 Re-enable regular expression
CURA-8555
2022-06-14 16:49:40 +02:00
c.lamboo
0d4c3fa34d Use modern python typing notation
CURA-8555
2022-06-14 16:20:38 +02:00
c.lamboo
a315171d7c Replace checkboxes in save project to DL dialog with a combobox
CURA-8555
2022-06-14 16:19:56 +02:00
Jaime van Kessel
90bb02acae
Merge pull request #12485 from 4DPrinters/patch-1
Update PauseAtHeight.py
2022-06-13 15:50:54 +02:00
Jaime van Kessel
525f96db98 Merge branch 'CURA-8610_add_package_metadata' of github.com:Ultimaker/Cura 2022-06-13 13:22:03 +02:00
Jaime van Kessel
7397497260 Add quality_name and quality_changes_name to replacement patterns
CURA-9375
Fixes #12447
2022-06-10 16:00:23 +02:00
4DPrinters
98ed17d2df
Update PauseAtHeight.py
Corrected typo on line 333
2022-06-09 14:34:28 -05:00
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
j.delarago
71a817697b Before this change packages were only being checked if they were bundled after loading the package_id. However only installed packages were being loaded so this would always be false.
The solution here is to check first if a material file is inside "secure_paths" (these are install directory resource paths). If it is, it must be a bundled material.

CURA-8610
2022-06-08 10:22:24 +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