128 Commits

Author SHA1 Message Date
David Kocik
c08b4be0e6 Fix of missplaced checkbox Perform desktop integration in config wizard. 2021-08-19 11:00:36 +02:00
David Kocik
97418cf9f5 Desktop integration in config wizard ifdef 2021-08-19 10:27:29 +02:00
Oleksandra Yushchenko
caf8ef4aab
Auto selection of presets (#6817)
PresetComboBoxes: Auto selection of printer/material preset from the new added presets in ConfigWizard
+ Check unsaved changes if ConfigWizard is running from the PesetComboBoxes
2021-08-18 16:10:35 +02:00
Vojtech Bubnik
1c078b1f47 Improved error handling when installing configuration updates:
In case the configuration snapshot cannot be taken before installing
configuration updates (because the current configuration state
is invalid), ask user whether to continue or abort.
2021-08-13 13:51:29 +02:00
Vojtech Bubnik
856da036eb Fixed loading of system presets with incompatible system profile keys
before the "reconfigure" dialog is shown.

Replaced boost::filesystem::copy_file() with Slic3r::copy_file()
in config snapshot loading code.
2021-08-13 13:34:40 +02:00
YuSanka
9154ebb165 ConfigWizard: Draw logo inside OnPaint instead of use of wxStaticBitmap 2021-07-23 16:03:17 +02:00
Lukáš Hejl
4d2bee36e5 Fixed some compiler warnings. 2021-07-21 12:54:28 +02:00
YuSanka
977ffe556d ConfigWizard: Fixed a bug in update of the selected presets
(probably related to #6436 - Cannot add SLA materials)
2021-07-15 14:54:22 +02:00
Vojtech Bubnik
0f3cabb5d9 Support for forward compatibility of configurations, user and system
config bundles, project files (3MFs, AMFs). When loading these files,
the caller may decide whether to substitute some of the configuration
values the current PrusaSlicer version does not understand with
some reasonable default value, and whether to report it. If substitution
is disabled, an exception is being thrown as before this commit.
If substitution is enabled, list of substitutions is returned by the
API to be presented to the user. This allows us to introduce for example
new firmware flavor key in PrusaSlicer 2.4 while letting PrusaSlicer
2.3.2 to fall back to some default and to report it to the user.

When slicing from command line, substutions are performed by default
and reported into the console, however substitutions may be either
disabled or made silent with the new "config-compatibility" command
line option.

Substitute enums and bools only.  Allow booleans to be parsed as
    true: "1", "enabled", "on" case insensitive
    false: "0", "disabled", "off" case insensitive
This will allow us in the future for example to switch the draft_shield
boolean to an enum with the following values: "disabled" / "enabled" / "limited".

Added "enum_bitmask.hpp" - support for type safe sets of options.
See for example PresetBundle::load_configbundle(...
LoadConfigBundleAttributes flags) for an example of intended usage.

WIP: GUI for reporting the list of config substitutions needs to be
implemented by @YuSanka.
2021-06-27 16:57:05 +02:00
Oleksandra Yushchenko
fd071421cb
DarkMode for MSW (#6632)
* MSW specific: Dark Mode: First implementation

* Use menu instead of NoteBook

* Implemented MessageDialog
+ Fixed DarkMode for all dialogs and ColorPicker

* MSW DarkMode: Added missed updates for the switching between modes

* MSW DarkMode: Updated all existed context menus after switching of the mode
+ Added markers for the menu item witch is related to the selected tab

* Used wxFrame instead of wxDialog for SettingsDialog
(this change allow us to use menu bar in SettingsDialog)

+ fix for #6548 - Prusa Slicer 2.3.1 not activating non-modal settings window if settings window is minimized

* Implemented "Always use Dark mode colors" preference option

* Fixes for non_MSW build

* Next fixes for non-MSW builds

* Preferences: Fixed selection of the Settings Layout for non-MSW platforms
+ Updated DarkMode for colorpickers

* Windows DarkMode next fixes

* MSWDarkMode: Suppress to use system color to the PrusaSlicer
Select "Preferences -> Use Dark color mode (experimental)" to allow dark mode for the application

* Fixed MSW build

* MSWDarkMode: Upadteed color mode for ExtruderSequenceDialog and for dialogs related to the DoubleSlider

* Implemented Auto recreation of the PrusaSlicer when color mode is changed.

* Preferences: Added option "Set settings tabs as menu items (experimental)"
2021-06-18 19:46:04 +02:00
Lukas Matena
4960b125c5 Fixed incorrect locales handling in the UI (Field, ObjectManipulation, etc) 2021-05-24 12:23:39 +02:00
Lukas Matena
9ee2fc8275 Fixed first batch of locale-dependent calls 2021-05-24 12:20:29 +02:00
YuSanka
96447de1d4 ConfigWizard:: Use wxTextCtrl instead of wxDoubleSpinCtrl for nozzle and filament diameters 2021-05-07 12:22:54 +02:00
David Kocik
9cfcba78f7 text fix 2021-05-07 09:01:57 +02:00
David Kocik
963849e18b desktop integration functions and dialog 2021-05-07 09:01:57 +02:00
Lukas Matena
3f1299c9b7 Fix build against wxWidgets older than 3.1.1 2021-03-01 10:03:49 +01:00
enricoturri1966
8cb8a24ded Tech ENABLE_CUSTOMIZABLE_FILES_ASSOCIATION_ON_WIN set as default 2021-02-26 10:18:16 +01:00
YuSanka
21b044b556 Fix of #5152 assert ""HasFlag(0x0020)"" failed in GetSelection(): must be single selection listbox
This assert was invoked by list_printer->GetSelection() because of list_printer was created with wxLB_MULTIPLE flag.
2021-02-25 04:03:26 -08:00
David Kocik
8ca225b38a config wizard - hide logo if small height 2021-02-24 09:21:40 +01:00
David Kocik
cb2d6e320a Wizard: buttons for printer selection 2021-02-10 17:00:41 +01:00
Lukas Matena
0ff0444dcc Fixing Clang warnings 1 2021-02-08 17:52:29 +01:00
Lukas Matena
2d32c80b75 Fixing GCC warnings 2 2021-01-29 10:46:52 +01:00
Lukas Matena
b0115dca60 Fixed encoding issue in ConfigWizard on Windows (#5422) 2020-12-18 15:35:30 +01:00
YuSanka
19b7827511 Fix of #5103 and #4861 - ConfigWizard layout issues 2020-12-16 23:44:40 -08:00
Vojtech Bubnik
8f04d0e0e2 Reverted escaping of ampersand where the escaping was not needed
/ lead to errors.
2020-12-16 11:46:27 +01:00
Vojtech Bubnik
f904752ba7 Fix of install wizard: Escape ampersands in printer models. 2020-12-05 09:55:09 +01:00
Vojtech Bubnik
e42e25c933 1) Storing the physical_printer_settings_id into the 3MF, AMF, GCode.
2) Activating the physical_printer_settings_id when loading from 3MF, AMF, GCode.
   The physical printer is only activated if it references the printer_settings_id
   loaded from the same file.
3) When loading the presets from 3MF, AMF, GCode, the "external" profiles
   are no more created for profiles which differ from the local profiles
   the loaded profiles reference. Instead, the referenced profile is activated
   and modified with the loaded preset. If the referenced profile does not
   exist, but the profile refers to a system profile with the "inherits"
   fileds, the system profile is loaded and modified instead.
   This works for all profiles with the exception of multi-extruder
   printer with multiple filament profiles modified. In that case
   the first modified filament profile will be loaded as modified,
   while the other modified profiles will be loaded as "external".

This should fix
Physical printer + 3mf file, wrong preset used to generate gcode #5178
and possibly
https://github.com/prusa3d/PrusaSlicer/issues/5272
2020-12-04 10:48:51 +01:00
enricoturri1966
e2b4de455b Customizable association of .3mf, .stl and .gcode files on Windows 2020-11-26 10:09:34 +01:00
David Kocik
5f97b2512b Merge remote-tracking branch 'aegean-odyssey/ao_profile_resources_patch' into master 2020-11-19 19:02:32 +01:00
David Kocik
0a4ce079e8 escape_ampersand function and changed order of printer names and pictures in config wizard 2020-11-11 16:08:27 +01:00
YuSanka
ed2f03ec79 Localization:
Some phrases are corrected in the code
The POT-file is updated
2020-11-05 22:17:49 +01:00
David Kocik
e9295e268a config wizard printer selection - changed vertical spacing 2020-11-05 17:43:40 +01:00
David Kocik
068a254ef0 configuration wizard: added Checked information to sorting algortihm on filaments page. Fix of #4922 2020-10-20 10:35:48 +02:00
Vojtech Bubnik
a009b24124 Updated textation of the Filament selection config wizard page. 2020-10-15 14:16:53 +02:00
David Kocik
878fac4c44 filament selection: bug fix - * sign is again visible at profiles 2020-10-05 09:48:55 +02:00
David Kocik
2b24a21098 Correct strings in configWizard 2020-10-04 21:11:56 +02:00
David Kocik
6a46708608 fix in ConfigWizard.cpp 2020-10-01 09:46:00 +02:00
David Kocik
43f122b5ee Filament selection in configuration wizard:
compatible printers in html window, bug fixes.
2020-10-01 09:28:17 +02:00
Vojtech Bubnik
067cde85f1 WIP Refactoring of exceptions:
1) All slicer's exceptions are now derived from Slic3r::Exception.
2) New exceptions are defined for slicing errors.
3) Exceptions are propagated to the Plater to show.
It remains to modify the slicing back-end to throw the new SlicingError
exceptions instead of std::runtime_error and to show the other exceptions
by a message dialog instead of a notification.
2020-09-14 18:03:22 +02:00
Lukas Matena
46eb96e84f Added two missing icons to fix build on Linux 2020-09-01 23:26:08 +02:00
David Kocik
6033e69906 filaments selecting: sorting via printer, showing printers for filament 2020-09-01 18:00:12 +02:00
YuSanka
1713142670 Imperial units selection is added to the ConfigWizard 2020-06-10 11:18:11 +02:00
Lukas Matena
48c186331a Includes cleanup:
GUI_App.hpp      (should not include) MainFrame.hpp
MainFrame.hpp    Plater.hpp
ModelArrange.hpp Model.hpp
Slicing.hpp      PrintConfig.hpp
FillBase.hpp     PrintConfig.hpp
GUI_App.hpp      PrintConfig.hpp
OptionsGroup.hpp GUI_App.hpp
2020-05-27 14:01:47 +02:00
Aegean Odyssey
e9423ab86d Also search vendor directory for printer profile resources.
Search the vendor directory using the same conventions used to search
the profiles directory when looking for thumbnails, bed_models, and
bed_textures. Allows a complete, "Config Wizard"-friendly custom vendor
profile to be placed in the (user's configuration) vendor directory.
2020-04-25 02:51:02 +00:00
YuSanka
b5fcc23460 ConfigWizard: fixed first column name on SLA Material page 2020-04-20 08:09:19 +02:00
Lukas Matena
97b9de47b4 Merge branch 'master' into dev 2020-03-24 21:51:05 +01:00
bubnikv
6bf56d5cb4 Updated the "Remove user profiles" message at the install wizard to
indicate that it does nothing to user profiles.
2020-03-15 12:19:56 +01:00
bubnikv
7f3ac39757 Fixed conversion of installed presets from PrusaSlicer 2.1.1 to 2.2.0 2020-03-14 20:18:31 +01:00
bubnikv
a3ded8fa95 Reworked filaments / SLA materials in installation wizard:
1) When the wizard is initialized, filament and SLA profile names
   are verified and current names of renamed profiles are resolved.
   Fixes "Add/Remove Filaments is not hiding all of the un-checked filaments #3835"
2) When adding a printer model, default materials are installed in case
   the printer model has no default material installed.
3) When leaving the Filaments or SLA materials page, and some printer models
   have no material installed, those Printer Models are listed
   in a message box and only for those printer models the default
   materials are installed.
2020-03-14 18:35:42 +01:00
bubnikv
f71d3e63f2 Changed location of vendor specific thumbnail images of printers:
These images are newly stored inside the resources/profiles/VENDOR_NAME/,
they should be named by the printer_model identifier suffixed with
"_thumbnail.png"

All the existing printer thumbnails were moved and renamed,
thumbnails for the 3rd party printers were added, marked as Beta.
2020-03-12 14:13:08 +01:00