Commit graph

6967 commits

Author SHA1 Message Date
Jaime van Kessel
3432720f7c
Fix mypy issues caused by numpy upgrade 2021-04-07 11:47:52 +02:00
Jaime van Kessel
17d8751ec1
Fix incorrect typing in keyring attribute
It didn't need Type["basemodel"] but a direct base model
2021-04-07 11:39:28 +02:00
Jaime van Kessel
0d38035944
Add constructor for keyring attribute
_store_secure was used, so it should be created on construction
2021-04-07 11:30:08 +02:00
jelle Spijker
4b1087a138
Put BaseModel in quotes
Contributes to CURA-7180
2021-04-07 11:25:39 +02:00
jelle Spijker
33a812d696
Added typing fof KeyringAttributes
This should hopefully shut mypy up.

Contributes to CURA-7180
2021-04-07 11:06:06 +02:00
Ghostkeeper
08be77adad
Increment SDK version to 7.5.0
The Cura 4.9 release will have expanded functionality. If you have a plug-in that uses this functionality, marking it as using SDK 7.5.0 will notify older Cura releases that they can't use that plug-in.
2021-04-06 13:28:08 +02:00
Remco Burema
40fb430277
Merge pull request #9501 from Ultimaker/CURA-7180_keyring_none_value
Handle storing None values in keyring
2021-04-06 12:31:45 +02:00
jelle Spijker
23ba1745a4
Handle storing None values in keyring
Write an empty string as value to the keyring if None is parsed and
return a None value if an empty string was parsed from the keyring.

CURA-7180_keyring_none_value
2021-04-04 12:27:43 +02:00
jelle Spijker
72478994ec
Bumped up the Preference version to 7
reverted the SettingVersion to 16

CURA-8110_upgrader
2021-04-02 14:41:52 +02:00
jelle Spijker
77ea5e5e89
Allow setting visibilities to be upgraded
CURA-8810_version_upgrade
2021-04-01 16:15:47 +02:00
jelle Spijker
da4db51b0a
Bump setting_version to 17
CURA-8810_version_upgrade
2021-03-31 15:13:06 +02:00
Remco Burema
e1490a68df
Also need to import this.
CURA-7180
2021-03-30 21:46:19 +02:00
Remco Burema
72248d47e1
Windows workaround for keyring issue.
So there is an issue with keyring w.r.t. frozen installs (maybe also local). If you have pywin32 installed, it works fine locally. Take a note here, that a variant of this package, pywin32-ctypes, a rudimentary version of that package that works wholly within python, is already installed as its a dependency for keyring on windows. Due to an unknown reason, when running it fails to detect this, so some workaround is needed, _or_ the 'normal' pywin32 package should be installed. However, problems occurred when attempts where made to install pywin32 via cx_freeze. Then the actual workaround was encountered (https://github.com/jaraco/keyring/issues/468), which _should_ hopefully let use use the keyring on windows without needing the 'full' version of pywin32.

CURA-7180
2021-03-30 20:40:33 +02:00
Remco Burema
bde88d7875
Don't store cerain keys ever.
CURA-7180
2021-03-30 17:24:25 +02:00
Remco Burema
315898864c
Merge branch 'CURA-7180_keyring_storage' into big_merge_v49 2021-03-30 17:21:17 +02:00
Ghostkeeper
9462366158
Merge branch 'master' into libArachne_rebased 2021-03-30 16:50:56 +02:00
Remco Burema
e8defcff7c
Merge branch 'CURA-7180_keyring_storage' into big_merge_v49 2021-03-30 14:56:39 +02:00
Kostas Karmas
fb5d59db32 Fix comment
The Windows Credential Manager actually fails if the password is more than 1024 bits long.

CURA-7180
2021-03-29 17:03:09 +02:00
Kostas Karmas
dbb15b7c71 Account for exception occured when storing long tokens on Windows
The Windows Credential Manager allows for up to 256bits passwords. If a password longer than that
is attempted to be written, it will throw a BaseException.

CURA-7180
2021-03-29 16:33:59 +02:00
Jelle Spijker
c798c7b99e
Merge remote-tracking branch 'origin/master' into CURA-7813_fix_crash_globalstack 2021-03-29 10:17:31 +02:00
Kostas Karmas
179d77ef5c Transfer the "What's new" and "Changelog" pages at the end of wizard
To match the requirements specified in the ticket.

CURA-8014
2021-03-25 13:29:17 +01:00
Kostas Karmas
55cb7f88a7 Change bottom left button text to "Skip"
Or else the page shows two buttons "Next" buttons.

CURA-8014
2021-03-25 12:47:07 +01:00
Remco Burema
f1cbe1a958
... and fix typing as a result of the last commit.
CURA-8014
2021-03-24 16:29:38 +01:00
Remco Burema
f95c09db37
Type-checks, not just type comments, and static- over class-method.
CURA-8014
2021-03-24 16:18:56 +01:00
Remco Burema
5083db8d44
On new install or update, have highlights not just changelog.
Place images in resources/images/whats_new/N.format and texts in resources/texts/whats_new/N.format where N is the ordinal and format the respective allowed formats.

CURA-8014
2021-03-24 12:00:05 +01:00
fieldOfView
6367e07631 Add preference to enable loading multiple objects into a single instance 2021-03-23 22:27:10 +01:00
Ghostkeeper
93a3f15b4f
Workaround: Before closing the window, remove the global stack
There's an extensive explanation in the documentation. But truth be told, I don't know why the conversion of global stack to QObject fails after the main window is closed. This may be something in PyQt as it doesn't seem to happen for Nallath who is still on PyQt5.11, but did update Qt to 5.14. So this should be considered a workaround.

This is currently just ONE of the reasons why the application crashes on exit in PyQt5.14+. There is another, much more mysterious issue that is causing the application to segfault on exit, which is still happening. But if it didn't happen it would otherwise still crash on this, so this needs to be solved anyway.

Contributes to issue CURA-7813.
2021-03-22 15:55:37 +01:00
Jelle Spijker
387fc36dc6
Small aesthetic code changes
CURA-7180 keyring storage
2021-03-17 09:30:31 +01:00
Jelle Spijker
c462b62edc
Handle raised error when there is no keyring backend present
CURA-7180 keyring storage
2021-03-17 09:22:24 +01:00
Jelle Spijker
3fd3fd7c7d
Obfuscate sensitive preference data from the back-up
CURA-7180 keyring storage
2021-03-17 08:54:16 +01:00
Jelle Spijker
b6b9dd1864
Fixed wrong typing
CURA-7180 keyring storage
2021-03-17 07:34:28 +01:00
Jelle Spijker
f51c466155
Use a descriptor to optionally store to Keyring
CURA-7180 keyring storage
2021-03-17 06:16:01 +01:00
Jelle Spijker
d06a25595a
Use a descriptor to optionally store to Keyring
CURA-7180 keyring storage
2021-03-16 19:28:56 +01:00
Ghostkeeper
58369822fc
Clean up invalid quality changes robust to asynchronous changes
It's possible that a profile is no longer in the registry by the time it gets to that point in the list if this clean-up is triggered by the very action of deleting a profile.

Fixes Sentry issue CURA-1T5.
2021-03-16 16:36:01 +01:00
Jelle Spijker
6372fbed54
Added copyright notice
CURA-7180 keyring storage
2021-03-16 11:57:58 +01:00
Jelle Spijker
96e39810f2
Sync after log in works again
Needed to restore the access token after the
auth data was written to the preference file.

CURA-7180 keyring storage
2021-03-15 14:35:00 +01:00
Jelle Spijker
fcf698f00b
Added documentation and refactored
CURA-7180 keyring storage
2021-03-15 14:16:27 +01:00
Jelle Spijker
2796b9bef3
Store new keys to preference
CURA-7180 keyring storage
2021-03-15 13:06:42 +01:00
Jelle Spijker
b604bbd255
Store secrets as securely as possible
Use the keyring if allowed, available, otherwise use preference

CURA-7180 keyring storage
2021-03-15 11:48:42 +01:00
Jelle Spijker
47df060bee
Added fundaments of SecretStorage vault
This class will handle the storing and processing
of secrets. Such as tokens. It will try to use the system
keyring by default. Falling back to less secure methods,
if the user doesn't allow access to the keyring or if
the back-end is unsupported.

CURA-7180 keyring storage
2021-03-11 14:21:51 +01:00
Jelle Spijker
720b356221
Merge remote-tracking branch 'origin/master' into CURA-7180_keyring_storage 2021-03-08 15:23:46 +01:00
Jaime van Kessel
cc1aadde12
Set & use enabled property for saving projects when ufp/gcode is loaded
CURA-8034
2021-03-05 14:09:39 +01:00
Jaime van Kessel
ad8e78c7f8
Remove unused import 2021-03-01 14:32:42 +01:00
Jaime van Kessel
fa4d1ba1fb
Don't strip accents from job name
No idea why this was there in the first place. Our archeology attempts couldn't
find out as to why it was introduced. We suspect an issue with other Qt versions.

At least now ロボット.stl will not be mangled into ロホット.gcode upon saving (and
german bears into bars)
2021-02-26 14:56:27 +01:00
Jelle Spijker
30293fb3b4
Merge remote-tracking branch 'origin/master' into libArachne_rebased 2021-02-15 11:54:31 +01:00
Ghostkeeper
0c9175d7f7
Lower camera default position by 70mm
The previous default position was aimed at 100mm above the build plate. This is taller than most models that people load into Cura. It's now aimed at 30mm. Models up to 50mm are way more common to print, so this brings it right in the butter zone for most people, hopefully.

Fixes #9251.
2021-02-15 11:31:28 +01:00
Ghostkeeper
c781391b9b
Merge branch 'master' into libArachne_rebased
To my surprise, it seems fdmprinter has merged perfectly. Nice.

Conflicts:
	resources/setting_visibility/advanced.cfg -> Settings moved to a different category while we added new settings in the same place.
2021-02-10 11:55:37 +01:00
Ghostkeeper
ec986990a2
Merge branch 'master' into CURA-7996_Fix_trying_to_open_deleted_files_from_the_recent_files_list 2021-02-09 14:20:53 +01:00
Ghostkeeper
c89a397e59
Merge branch 'master' into CURA-7615_store_metadata 2021-02-08 16:27:38 +01:00
Kostas Karmas
7be67f43f8 Let the FileNotFound error be handled later in the read file process
An error will pop up by the ReadFileJob if the file cannot be found. If we also handle the File
NotFound error in the checkIsValidProjectFile, then two error message will pop up in the user's
screen, which is not desired. So, let only the ReadFileJob show it's error instead.

CURA-7996
2021-02-08 11:59:32 +01:00