Commit Graph

42 Commits

Author SHA1 Message Date
bubnikv
b4d0d9610e Various changes in handling of profile compatiblilities
and the "show incompatible profiles" option.

It was not able to select the incompatible Print profile, which is
possible now.
(see Cannot select incompatible printer profile #3715)

When the Printer profile derived from the Prusa3D system profile was
active or a system Prusa3D profile was active, and when the Print profile
with the removed "inherits" field was active (or any other profile
derived from the "-- default --" profile was active), then the filament
selector offered just the profiles with the removed "inherits" field
(or any other profile derived from the "-- default--") profile.
This behavior has been now changed, so that in this scenario the Filament selector
will offer the Prusa3D vendor profiles compatible with the active Print
and Printer profile as well as the user profiles.

Slicer was also changed to keep an incompatible preset selected
at its respective tab if its respective "Red flag" is enabled.
For example, if an incompatible Print preset is selected and a Printer
profile is switched to another one which is not compatible with the active
Print preset that was red already, the active Print preset is
not switched if the Print "Red flag" is active. However, if the Print profile
was compatible before the Printer profile is switched and now the Print
profile becomes incompatible, another compatible Print profile is selected.

A likely bug in wxWidgets was worked around when switching a Print preset
on Plater, if the last item in the Print preset was active and incompatible,
and another Print preset was selected by the user. On Windows, an CBN_EDITCHANGE
is sent just after combo box selection change event and the CBN_EDITCHANGE
holds an index of the combo box item, which will be removed by the 1st event,
therefore leading to an assert in wxWidgets on CBN_EDITCHANGE. The workaround
is to disable processing of CBN_EDITCHANGE on Windows for the Plater
preset selection combo boxes.
2020-02-27 11:44:12 +01:00
YuSanka
1472ad9b14 To fix blurred icons under OSX there is implemented PresetBitmapComboBox, derived from wxBitmapComboBox,
which now will be used for preset choosers on sidebar a preset tabs.

+ for BitmapCache class added m_scale used for correct scaling of SVG images on Retina displays

+ some code clearing from unused functions or function's parameters
2020-01-31 16:57:45 +01:00
bubnikv
3d9ac0ada1 Little optimization of the profile aliases. 2020-01-23 16:04:17 +01:00
foxox
07d6fd8f7e Platter->Plater 2020-01-20 11:16:49 -05:00
bubnikv
9a3901e159 Support for new "default_materials" property at PrinterModel
of system profiles. The "default_materials" key accepts
"default_filaments" as well.
2020-01-13 16:01:20 +01:00
YuSanka
ca950d1a00 Added check for a preset visibility in a first_compatible_idx() function
(related to #3470)
2020-01-07 15:22:47 +01:00
bubnikv
70bc392003 Support for Vendor / Printer Model specific print bed texture and model. 2020-01-07 14:08:35 +01:00
bubnikv
0d9022c5f6 Implemented "renamed_from" attribute of a system profile,
so that references from user profiles and .3mfs / .amfs
to system profiles are not being lost.

If a system profile has no "renamed_from" profile name assigned,
and the system profile name contains "@", then a profile name
with the "@" is implicitely assumed to be the name, from which this
profile has been renamed.
2020-01-02 16:40:32 +01:00
bubnikv
d0aad74c27 Fixed update logic to support newer index downloaded from the internet
than the index stored in the resources.
2019-12-10 17:49:09 +01:00
bubnikv
f80ed539a7 System profiles and profiles derived from system profiles are now
compatible with the profiles of the same vendor only.
2019-12-05 14:48:11 +01:00
YuSanka
22aa17128a Fixed function to get a profile name by alias for all preset collections 2019-11-29 11:02:58 +01:00
YuSanka
6a68002a1f Implemented use of aliases in Plater's preset comboboxes 2019-11-25 15:57:36 +01:00
YuSanka
cb395460c4 Implemented aliases for filaments 2019-11-21 13:12:06 +01:00
bubnikv
1964ac2e89 Ported test_skirt_brim from upstream Slic3r, thanks @lordofhyphens 2019-10-15 16:31:20 +02:00
Vojtech Kral
fd6d32135b Merge branch 'master' into materials 2019-10-07 17:23:37 +02:00
YuSanka
b3603a09fc Fixed a bug: Wrong save of a preset if the preset is already exist.
Step to repro:
1. Select system "Some_preset" preset
2. Make some changes
3. Save preset with "Some_preset - Copy" name.
=>  "Some_preset - Copy" is selected, there is/are marked option(s) only different from system preset.
repeate 1-3 steps
=>  "Some_preset - Copy" is selected, there is/are marked option(s) different from DEFAULT preset.
2019-10-02 22:50:55 +02:00
Vojtech Kral
235b659cf9 WIP: ConfigWizard: 3rd party bundle installation roughly done 2019-09-17 13:20:06 +02:00
Vojtech Kral
34b3548102 Filaments and materials selection/installation 2019-09-17 13:20:06 +02:00
Vojtech Kral
745182988d Refactor: Move Semver from slice3r to libslic3r
A static symbol Slic3r::SEMVER is introduced, which holds
the running slicer's Semver object.

This is mainly done to make testing updater behaviour
_much_ easier. Additionaly to cleanup some questionable code
(Semver was being parsed multiple times / in multiple places
in the frontend.)
2019-08-19 17:04:14 +02:00
Vojtech Kral
6c5bdeadc3 Updating: Add localized links 2019-05-14 13:30:55 +02:00
Vojtech Kral
fb0836b0b2 ConfigWizard: Select an appropriate printer based on the bundle order 2019-04-29 11:36:00 +02:00
YuSanka
aa147482b7 Added _fiction_ resizing for correct MainFrame rendering after DPI changed_object
+ Added a calculation of a empty bitmaps inside presets in respect to em_unit (to avoid assert)
 + Added scaling for PrintHostDialogs and MsgDialog
 + some code refactoring
2019-04-23 16:33:06 +02:00
YuSanka
a74c608c7a Merge remote-tracking branch 'origin/master' into ys_msw_dpi 2019-04-10 10:01:20 +02:00
YuSanka
82573390c7 First scaling experiments 2019-04-10 09:57:33 +02:00
Vojtech Kral
81f4ce5f2e Bitmaps: Pass wxWindow context in a few more places 2019-04-09 18:01:45 +02:00
Vojtech Kral
c17e8602ed Factor out load_scaled_bitmap 2019-04-09 15:16:10 +02:00
bubnikv
c623cbc4d7 Fix of Perl bindings 2019-03-22 23:10:11 +01:00
bubnikv
2bfd3b7844 Refactored the -------- xxxx ---------- menu items to use a generic
code to generate these separators.
Now using the connected dashes (unicode emdash characters) on OSX and Windows.
2019-03-22 17:07:12 +01:00
bubnikv
ae93569044 Call Config Wizard from the Printer combo box at both the plater
and the parameter tab.
2019-03-22 15:45:51 +01:00
bubnikv
f5516f24c4 Fix of 1.42 beta crash when deleting printer profile created by configuration assistant #1985
Fixed an issue, where deleting a profile did not correctly update
profile dependences, and deleting a profile would not test dirty status
of depending profiles, which would be switched thus user changes would be lost.

Fixed enabling / disabling the --default FFF-- / --default SLA-- profiles
when deleting the last printer profile.

Little refactoring (don't compare by strings but by symbolic names).

Making a copy of a profile - "Copy" suffix is added to a system profile.
2019-03-22 12:11:23 +01:00
YuSanka
438010f0f8 Some code refactoring 2019-03-20 10:14:49 +01:00
Vojtech Kral
b0f54e5709 ConfigWizard refactoring 2019-02-12 10:11:00 +01:00
bubnikv
bcab373a54 Fixed an error when importing / exporting Config Bundles with
at least one SLA print or SLA material defined.
2019-02-03 20:17:55 +01:00
bubnikv
a552a7bc78 Fixed a buggy test for a single extruder diameter for Single Extruder
Multi Material prints & soluble supports.

Disabled assert testing for the existence of "printer_technology" fields
as it triggers on loading of legacy AMF/3MF files.
2019-01-11 11:15:32 +01:00
bubnikv
6b70f60460 Fix of SPE-753
Slicer crash when SLA printer is selected and printer profile is changed

First, there was a bug in the preset Tabs, where a "printer_technology"
was incorrectly queried on "print" and "filament"
(or "sla_print" and "sla_material") profiles.

Second, there was an unsafe "printer_technology" getter, which would add
the missing key to the config container when queried for.
2019-01-10 18:08:38 +01:00
bubnikv
42e8d81403 Fix of "Build plate missing in view #1580"
Fixed import of the user config bundle to maintain the "inherits"
references to system profiles.
2019-01-08 10:52:11 +01:00
bubnikv
c586ca4ae0 Implemented compatible_printer / compatible_printer_condition
for filaments and SLA materials.

Fixed compatible_printers / compatible_prints dialog to show
system profiles as well.
2018-12-04 17:56:49 +01:00
YuSanka
2fa055903f "SLA Print Settings" implementation (start) 2018-11-19 14:05:29 +01:00
bubnikv
fd1c5dd218 WIP: SL1 profiles, SL1 in wizard, switching between FFF / SLA 2018-10-31 16:22:36 +01:00
YuSanka
085020a814 Ported show_preset_comboboxes function 2018-10-09 12:41:05 +02:00
Vojtech Kral
342b584399 WIP: Plater 2018-10-01 09:28:40 +02:00
bubnikv
0558b53493 WIP: Moved sources int src/, separated most of the source code from Perl.
The XS was left only for the unit / integration tests, and it links
libslic3r only. No wxWidgets are allowed to be used from Perl starting
from now.
2018-09-19 11:02:24 +02:00