Commit Graph

161 Commits

Author SHA1 Message Date
YuSanka
b83e109222 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
a41a214584 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
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
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
a23cfac53f Project dirty state manager -> presets dirty state 2021-04-06 16:29:05 +02: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
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
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
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
enricoturri1966
2a84f5efdd Customizable association of .3mf, .stl and .gcode files on Windows 2020-11-26 10:09:34 +01:00
enricoturri1966
a72d8f7aef 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
b0f276fd3c 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
125b9dfdb0 #4888 - Fixed jerky movements in Preview when using 3D mouse 2020-10-19 12:34:33 +02:00
Vojtech Bubnik
1fb9e1f70c 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
9c48a5de5d Tech ENABLE_GCODE_APP_CONFIG as default 2020-10-12 12:38:34 +02:00
enricoturri1966
8c3403ddc6 Fixed build when tech ENABLE_GCODE_VIEWER is disabled 2020-10-12 11:47:11 +02:00
enricoturri1966
dbd2a61b73 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-10-12 08:39:51 +02:00
enricoturri1966
69be5bfb7a Added menu command Configuration/Language to standalone gcode viewer 2020-10-12 08:39:40 +02:00
lukasmatena
c12f0db22c Merge pull request #4747 from wavexx/monospaced_gcode
Use monospaced fonts in gcode sections
2020-10-10 14:01:48 +02:00
enricoturri1966
72de654b80 On Windows associate .gcode files to gcode viewer application 2020-10-08 08:32:51 +02:00
Vojtech Bubnik
57ae13b5e7 OSX: Clean-up of opening as G-codeviewer on startup. 2020-10-06 15:43:21 +02:00
test
ca81c9b335 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
8541bb9292 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
b2fb9064f5 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
b8272f9854 Introduce GUI_App::code_font() 2020-09-13 02:17:19 +02:00
enricoturri1966
77787e36ad Tech ENABLE_GCODE_VIEWER_AS_STANDALONE_APPLICATION set as default 2020-09-10 08:49:50 +02:00
enricoturri1966
0b88b32141 GCode viewer using the proper layout when started as a standalone application 2020-09-08 11:40:06 +02:00
YuSanka
dc2d6595c9 Merge remote-tracking branch 'origin/master' into ys_unsaved_changes 2020-09-02 09:15:11 +02:00
enricoturri1966
02f159fa99 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-10 14:22:46 +02:00
YuSanka
e7f21d1e0e Merge remote-tracking branch 'origin/master' into ys_ph_printers 2020-08-06 17:02:48 +02:00
YuSanka
5dff085b4f Merge remote-tracking branch 'origin/master' into ys_unsaved_changes 2020-08-06 08:51:13 +02:00
enricoturri1966
40febf0fb1 Fixed conflicts after merge with master 2020-08-04 09:58:19 +02:00
David Kocik
0c38f234d0 Notifications & warning dialog
notifications
dialog with warnings produced by slicing is shown before exporting
2020-08-03 15:49:25 +02:00
enricoturri1966
dfed8d8d83 Tech ENABLE_GCODE_VIEWER_AS_STATE set as default 2020-08-03 15:00:19 +02:00
YuSanka
935a44113c UnsavedChangesDialog:
first implementation
2020-07-30 16:16:56 +02:00
YuSanka
d0ff4e3a19 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
a1eeb569db Preset and PresetBundle are moved to the _libslic3r_ folder 2020-06-16 17:03:06 +02:00
enricoturri1966
f89deef986 ENABLE_GCODE_VIEWER_AS_STATE -> Load gcode from file and process it 2020-06-08 09:12:20 +02:00
enricoturri1966
bf91b34021 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
5bbc804744 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-27 14:29:54 +02:00
Lukas Matena
edcaab8b0a 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
7635b8b931 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-25 07:07:49 +02:00
enricoturri1966
1eb6ec97ed ENABLE_SHADERS_MANAGER set as default 2020-05-22 16:08:02 +02:00
YuSanka
09d197cdc8 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