161 Commits

Author SHA1 Message Date
YuSanka
428362ec53 Fixed Windows DarkMode for some dialogues.
+ ProjectDropDialog: wxRadiloBox was changes to the wxStaticBox with wxRadioButtons because of dark mode colors update
+ Preferences: Fixed update of the text colors
2021-07-13 18:27:30 +02:00
Oleksandra Yushchenko
4652733201
MSW specific: Implementation of the own notebook control
* MSW specific: First implementation of the Notebook control to support Dark/Light color modes

* MSW specific: Set mode sizer to the Notebook control.

* MSW specific: Added icons to the Notepad control
 + There is no need to restart application after the changing of the color mode

* Fixed non-MSW build

* Updated color for SavePresetDialog
+ Added wrapper to wxMessageBox for mom-MSW platforms
2021-06-29 16:23:45 +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
YuSanka
5434a8980f 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
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
YuSanka
87a996d0d5 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
enricoturri1966
ec9c3891cf Fixed conflicts after merge with master 2021-05-07 13:14:11 +02:00
David Kocik
963849e18b desktop integration functions and dialog 2021-05-07 09:01:57 +02:00
enricoturri1966
edbb1d0f69 Project dirty state manager -> presets dirty state 2021-04-06 16:29:05 +02:00
David Kocik
6716492efa Printhost upload progress bar notification 2021-03-12 10:32:26 +01:00
enricoturri1966
8cb8a24ded Tech ENABLE_CUSTOMIZABLE_FILES_ASSOCIATION_ON_WIN set as default 2021-02-26 10:18:16 +01:00
YuSanka
6effa30322 Move text color selection from ButtonsDescription to Preferences dialog (related to #5489) 2020-12-30 12:04:59 +01:00
Lukáš Hejl
81878a6f79 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
David Kocik
3523bb421f Ongoing uploads while exiting dialog
Ongoing uploads while exiting dialog

Ongoing uploads while exiting dialog
2020-12-10 11:02:46 +01:00
YuSanka
6124f677ae 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
enricoturri1966
e2b4de455b Customizable association of .3mf, .stl and .gcode files on Windows 2020-11-26 10:09:34 +01:00
enricoturri1966
faff112ea8 ENABLE_GCODE_VIEWER set as default in:
3DScene hpp/cpp

AboutDialog.cpp

BackgroundSlicingProcess hpp/cpp

BitmapCache.cpp

ConfigWizard_private.hpp

GUI_App hpp/cpp

GUI_Init.cpp
2020-11-18 10:44:03 +01:00
Vojtech Bubnik
027ab4fb02 GUI initialization extracted from PrusaSlicer.cpp to GUI_Init.cpp/hpp.
Implemented try/catch blocks for Slic3r exceptions and std::exceptions
with GUI error reporting. This is extremely important to report
corruption of PrusaSlicer.ini.
2020-10-22 16:28:55 +02:00
enricoturri1966
5d3d9d9b92 #4888 - Fixed jerky movements in Preview when using 3D mouse 2020-10-19 12:34:33 +02:00
Vojtech Bubnik
e0c5309bc3 wxEVT_CREATE and wxEVT_ACTIVATE is not being called on the main frame
on application start-up, at least not on Windows.
wxEVT_CREATE was called for some control deep in the Plater, however
the event was delivered to the main frame and only for slicer, not
for G-code viewer. Thus the callbacks for 3D Mouse were not registered
for and the 3D mouse did not work on Windows.

Fixed by calling the callback registration from the first execution
of the Idle function.
2020-10-14 12:55:07 +02:00
enricoturri1966
f04d9c1806 Tech ENABLE_GCODE_APP_CONFIG as default 2020-10-12 12:38:34 +02:00
enricoturri1966
7653611ec1 Fixed build when tech ENABLE_GCODE_VIEWER is disabled 2020-10-12 11:47:11 +02:00
enricoturri1966
d0c5ed4130 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-10-12 08:39:51 +02:00
enricoturri1966
21366f56e7 Added menu command Configuration/Language to standalone gcode viewer 2020-10-12 08:39:40 +02:00
lukasmatena
89e4a78722
Merge pull request #4747 from wavexx/monospaced_gcode
Use monospaced fonts in gcode sections
2020-10-10 14:01:48 +02:00
enricoturri1966
fdee18534b On Windows associate .gcode files to gcode viewer application 2020-10-08 08:32:51 +02:00
Vojtech Bubnik
44565315bf OSX: Clean-up of opening as G-codeviewer on startup. 2020-10-06 15:43:21 +02:00
test
6fc98f05ef OSX specific: Trying to detect opening of files through Finder at the application start to switch to G-code viewer 2020-10-06 14:23:17 +02:00
Vojtech Bubnik
6acc1fc112 WIP: Opening a G-code in PrusaSlicer at Drag & Drop onto
the application icon in Finder.
2020-10-06 11:07:49 +02:00
YuSanka
48f775decb A part of code related to loads after App::OnInit() call is moved from PrusaSlicer.cpp to GUI_App.cpp
Splash Screen under OSX requires a call of wxYeild() for update.
But wxYield() furthers a case, when CallAfter() in CLI::run() was called at the wrong time, before some of the GUI was created.
So, there is workaround:
Parameters needed for later loads are encapsulated to GUI_App::AFTER_INIT_LOADS structure
and are used in GUI_App::AFTER_INIT_LOADS::on_loads which is called just ones after wxEVT_IDLE
2020-10-02 22:27:20 +02:00
Yuri D'Elia
ba7f39afee Introduce GUI_App::code_font() 2020-09-13 02:17:19 +02:00
enricoturri1966
88457bf412 Tech ENABLE_GCODE_VIEWER_AS_STANDALONE_APPLICATION set as default 2020-09-10 08:49:50 +02:00
enricoturri1966
ab556a398b GCode viewer using the proper layout when started as a standalone application 2020-09-08 11:40:06 +02:00
YuSanka
4d053cc4ee Merge remote-tracking branch 'origin/master' into ys_unsaved_changes 2020-09-02 09:15:11 +02:00
enricoturri1966
dea641183c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-10 14:22:46 +02:00
YuSanka
a6dc3d37f5 Merge remote-tracking branch 'origin/master' into ys_ph_printers 2020-08-06 17:02:48 +02:00
YuSanka
6ee804f466 Merge remote-tracking branch 'origin/master' into ys_unsaved_changes 2020-08-06 08:51:13 +02:00
enricoturri1966
25c3552555 Fixed conflicts after merge with master 2020-08-04 09:58:19 +02:00
David Kocik
b3f8ae5ca7 Notifications & warning dialog
notifications
dialog with warnings produced by slicing is shown before exporting
2020-08-03 15:49:25 +02:00
enricoturri1966
0840b2328a Tech ENABLE_GCODE_VIEWER_AS_STATE set as default 2020-08-03 15:00:19 +02:00
YuSanka
3cf2914a9e UnsavedChangesDialog:
first implementation
2020-07-30 16:16:56 +02:00
YuSanka
6d28d68e4a PhysicalPrinter : Implemented synchronizations from user printer profiles with "Print Host upload" information to the new physical printers 2020-07-22 09:24:12 +02:00
YuSanka
19c4f32604 Preset and PresetBundle are moved to the _libslic3r_ folder 2020-06-16 17:03:06 +02:00
enricoturri1966
ca17948f87 ENABLE_GCODE_VIEWER_AS_STATE -> Load gcode from file and process it 2020-06-08 09:12:20 +02:00
enricoturri1966
70a6fb0e20 Added new tech ENABLE_GCODE_VIEWER_AS_STATE -> GCodeViewer as a new application state (WIP) + fix of conflicts after merge with master 2020-06-05 16:50:17 +02:00
enricoturri1966
448d92df68 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-27 14:29:54 +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
enricoturri1966
ed252f1741 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-25 07:07:49 +02:00
enricoturri1966
314995fa0b ENABLE_SHADERS_MANAGER set as default 2020-05-22 16:08:02 +02:00
YuSanka
a56bbea140 Reworked sys_color_changed() functions
Fixed OSX specific bugs:
- toolbar flashing for some mainframe sizes (Retina specific)
- size of mainframe when settings layout in slNew mode

Added missed icons to the "white" folder
2020-05-22 15:26:35 +02:00