Commit Graph

488 Commits

Author SHA1 Message Date
Vojtech Bubnik
c5304750d9 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
YuSanka
313742997c Some code beautification for the last commit
+ Fix of the TabPresetComboBox layout for "light mode" + "tabs as a menu items" preferences
2021-06-18 21:54:20 +02:00
Oleksandra Yushchenko
ffd33d6494 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
YuSanka
eb7ce6429b Code refactoring to avoid a call of update_ui_from_settings() every time when switching between "3D-View" and "Preview" 2021-06-11 10:34:13 +02:00
Lukas Matena
1cb432a4ae Fixed first batch of locale-dependent calls 2021-05-24 12:20:29 +02:00
enricoturri1966
cfa72734b3 Fixed conflicts after merge with master 2021-05-07 13:14:11 +02:00
David Kocik
b0d3415fb7 desktop integration functions and dialog 2021-05-07 09:01:57 +02:00
enricoturri1966
5018cc7887 #6473 - Update titlebar when opening a project file by double-clicking the file icon 2021-05-06 10:11:53 +02:00
enricoturri1966
a138446ed2 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_project_dirty_state 2021-05-03 16:05:22 +02:00
YuSanka
73289e9e8e Updated splashscreen images 2021-04-21 13:49:24 +02:00
Vojtech Bubnik
f8d7c7684a Configs should point to PrusaSlicer-alpha, not beta in alpha stage. 2021-04-09 08:11:40 +02:00
enricoturri1966
a23cfac53f Project dirty state manager -> presets dirty state 2021-04-06 16:29:05 +02:00
enricoturri1966
36afd411d6 Extended interface of project dirty state manager 2021-04-06 13:17:29 +02:00
Vojtech Bubnik
3f68ff963b Updated version number,
alpha stores configs in alpha directory.
2021-03-23 13:50:53 +01:00
David Kocik
5f4b67463f Printhost upload progress bar notification 2021-03-12 10:32:26 +01:00
enricoturri1966
c2866d435b Tech ENABLE_CUSTOMIZABLE_FILES_ASSOCIATION_ON_WIN set as default 2021-02-26 10:18:16 +01:00
enricoturri1966
a12ee64cf5 Tech ENABLE_DRAG_AND_DROP_FIX set as default 2021-02-17 14:52:58 +01:00
enricoturri1966
919851b548 #5611 - Added option to show gcode line number on horizontal slider in preview 2021-02-16 10:07:05 +01:00
YuSanka
3be02881a9 Localization: Added plural form for some phrases, updated POT 2021-02-03 21:30:38 +01:00
YuSanka
673230d793 Localization: Fixed localization of some 3d-Scene notifications
+ Move a call of the load_language() before SplashScreen creation
2021-02-03 17:30:32 +01:00
Lukas Matena
da6dc77973 Fixing GCC warnings 3 2021-01-29 10:47:02 +01:00
David Kocik
bbbfedb600 Check loading of blacklisted dlls and show warning dialog at startup. Also show these dlls in sysinfo dialog. 2021-01-27 10:40:38 +01:00
YuSanka
6402cd7efc Merge remote-tracking branch 'origin/master' into dev 2021-01-13 14:18:55 +01:00
YuSanka
dda9c09747 Fix of #5584 - Information text on startup logo 2021-01-05 14:26:10 +01:00
Vojtech Bubnik
05f6215f54 Fix of G-code Viewer not loading .gco files #5536
".gcode", ".gco", ".g" and ".ngc" were considered to be G-code file
extensions by the G-code import / export file dialogs, but not by
various other functions. Now the G-code extension is tested by
a single function is_gcode_file(string).
2021-01-05 12:26:11 +01:00
Tuomas Kuosmanen
fb7778b84c Changed wording in one log message 2021-01-04 14:21:24 +01:00
YuSanka
c2abfcf1fe Move text color selection from ButtonsDescription to Preferences dialog (related to #5489) 2020-12-30 12:04:59 +01:00
Lukáš Hejl
17e310c09e Fix of #5537 - GUI_App::post_init could be in some cases called before GUI_App::init_openg when GCode viewer is used.
The solution adds a status flag to GUI_App::init_openg and ensures that GUI_App::post_init isn't called before initialization in GUI_App::init_openg is done.
2020-12-22 12:28:00 +01:00
Lukas Matena
62fa912a6d Fix of a crash on startup when creating physical printer profiles from 2.2 configs (#5513, #5074)
The issue is that opening the wxMessageDialog in GUI_App::check_printer_presets  fires wxEVT_IDLE event (on Linux at least).
At that point it is already bound to our lambda which will in turn call post_init prematurely.
The solution is to move the Bind at the very end of the initialization. The post_init that it calls assumes that init has been finished anyway.
2020-12-21 10:27:35 +01:00
Lukas Matena
785300d953 Bumped up version number to 2.3.0-rc1 2020-12-17 18:07:35 +01:00
Lukas Matena
747cc26614 Linux locales detection: reject unexpected formatting 2020-12-14 22:59:11 +01:00
Vojtech Bubnik
eecd7b23fe Linux locales detection: A little refactoring 2020-12-14 22:59:02 +01:00
Vojtech Bubnik
40bd9c08c0 Merge remote-tracking branch 'remotes/origin/lm_linux_locales' 2020-12-12 12:39:17 +01:00
Vojtech Bubnik
df03ab392c Follow-up on 3523bb421f
(Ongoing uploads while exiting dialog):
Fixed some string conversion issues.
2020-12-12 11:26:17 +01:00
Lukas Matena
26c55c11c1 Linux: when available locales do not match the desired language completely,
list the installed locales and try to find an alternative

This should fix issues such as #3368 and #2580
2020-12-12 09:21:51 +01:00
David Kocik
e6c600c46f Ongoing uploads while exiting dialog
Ongoing uploads while exiting dialog

Ongoing uploads while exiting dialog
2020-12-10 11:02:46 +01:00
Vojtech Bubnik
5e2668763d Improved error reporting on misformated boost::format string.
Improves Prusa slicer 2.3.0 BETA 2 crash when attempting to save a machine change #5418
2020-12-10 07:56:43 +01:00
YuSanka
2de75db3d0 Increase min height for the ObjectList.
Related to the FR #5162
2020-12-08 10:11:11 +01:00
Vojtech Bubnik
d3f05abe9f Fixed missing include. 2020-12-07 19:47:37 +01:00
Vojtech Bubnik
1b013c704a Linux specific: Documented an improved way of offering language
selection on Linux.
2020-12-05 09:12:28 +01:00
enricoturri1966
fb0b3bd982 Fixed conflicts after merge with master 2020-12-03 15:27:34 +01:00
YuSanka
fbb11ef1cc Suppressed a check of printer_presets for the containing information about "Print Host upload", when presets ate exported from the amf/3mf 2020-12-03 13:25:23 +01:00
YuSanka
4461d65b4e Localization: Update POT
+ Fixed translation for the "Extruder n" category on the Printer Settings Tab
 + Fixed a crash, when scrolling inside Search imGui with some localization (e.t. Russion)
2020-12-01 16:44:53 +01:00
enricoturri1966
ed7e96fdcd Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_animations 2020-11-30 13:46:03 +01:00
enricoturri1966
50d4914a6e Removed GLCanvas3D from parameters of NotificationManager methods 2020-11-30 13:45:17 +01:00
Vojtech Bubnik
21645cd745 Linux specific fix for switching languages: PrusaSlicer 2.3 forces
en_GB locale when switching to English from the user interface,
while often Linux users have just en_US locales configured.

With this commit the user will have to select English (U.S.) or
English (U.K.). Usually English (U.S.) will work.

Vojtech is scared to touch the code for the other platforms (Windows and Mac)
as the language switching has been reworked multiple times and it is quite
fragile.
2020-11-30 11:57:16 +01:00
Vojtech Bubnik
d49b43bcd9 Bumped up version number to beta1.
Changed the location of PrusaSlicer profiles from PrusaSlicer-alpha
to PrusaSlicer-beta.
2020-11-28 11:14:53 +01:00
David Kocik
0c2a0759ff call correct load_files at MacOpenFiles 2020-11-27 12:54:37 +01:00
YuSanka
3bc30d868e Refactoring:
1. Use C++ style cast instead of C style
2. Deleted unused code from Search
2020-11-26 14:34:54 +01:00
enricoturri1966
2a84f5efdd Customizable association of .3mf, .stl and .gcode files on Windows 2020-11-26 10:09:34 +01:00