Commit graph

436 commits

Author SHA1 Message Date
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
5bbc68df7b Do not close application when user select 'Cancel' in the save dirty project dialog 2021-06-08 11:51:41 +02:00
enricoturri1966
1d4f7a8870 Changed logic to avoid saving a project while a gizmo is in editing mode 2021-06-01 08:32:58 +02:00
YuSanka
1256aebd88 Fix of some warnings 2021-05-18 12:58:14 +02:00
YuSanka
de1d36cc9a Probably fix for #6270 - Segfault during startup in prusa-slicer-git 2.3.0.r24.gd06aa6069-1 2021-05-11 18:03:57 +02:00
enricoturri1966
ede14251b1 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_project_dirty_state 2021-05-03 16:05:22 +02:00
Lukas Matena
da702ab135 Fixed a memory leak when repairing an external stl 2021-04-26 20:45:43 +02:00
Lukas Matena
8845b0245a Fixed build against wxWidgets 3.0 2021-04-14 07:05:12 +02:00
YuSanka
effad844e2 MSW specific: Fixed update of the UI after system color change.
Note: the wxEVT_SYS_COLOUR_CHANGED event works only for high contrast settings under MSW.

+ ConfigSnapshotDialog: Fixed UI colors for dark mode on all platforms
2021-04-06 22:25:35 +02:00
enricoturri1966
edbb1d0f69 Project dirty state manager -> presets dirty state 2021-04-06 16:29:05 +02:00
enricoturri1966
5d4b7c03b6 Extended interface of project dirty state manager 2021-04-06 13:17:29 +02:00
YuSanka
8bc23c90fc Suppress to show Search window on the Plater using Ctrl+F shortcut, when we are at Preview mode 2021-03-24 11:32:33 +01:00
Oleksandra Yushchenko
4496e2a8ce
Follow-up of 908c48ae6a -> Fixed update after switching tab after editing custom g-code in settings tabs (#6258) 2021-03-24 11:20:57 +01:00
YuSanka
80b9a3c62b Fix of #6212 - Cannot select "New Project" after deleting models in saved project, continuing overwrites old project 2021-03-16 10:32:15 +01:00
Vojtech Bubnik
d0febbec32 Disable the new Toggle fullscreen menu item on OSX, it adds its own. 2021-03-16 08:54:46 +01:00
Vojtech Bubnik
d695e090ef Changing the Fullscreen hotkey to Ctrl+Cmd+F for OSX 2021-03-15 17:11:36 +01:00
Vojtech Bubnik
01406fd521 Worked around some quirky Linux file system issues. Namely
the Chromebooks share their file system to Linux using the 9p file
system, which does not support setting file ownership. Newly PrusaSlicer
will detect platform and it will not panick if copy_file() cannot set
file ownership after copying. It just logs the incident, and on
chromebooks the loglevel for that incident is "Info", not "Error".

Adjusted the full screen mode to contain menu bar.
Moved Platform.cpp/hpp to libslic3r
2021-03-15 16:19:22 +01:00
Oleksandra Yushchenko
e002f0066f
Ys code refactoring (#6227)
* GUI_ObjectList code refactoring:
The MenuFactory structure contains functions related to the context menu and bitmaps used to different volume types.
The SettingsFactory structure contains functions to getting overridden options, its bundles and bitmaps used to setting categories.

Fixed bugs/crashes:
1. Add object -> Add Settings from 3D scene -> Right click on object => Part's Settings list instead of object's
   (Same behavior if something else but Object is selected in ObjectList)
2. Add settings to the part -> Change part type to the "Support Blocker/Enforcer" -> Settings disappears (it's OK) but =>
   Save Project -> Open project => Support Blocker/Enforcer has a settings
3. Add part for object -> Change type of part -> Change monitor DPI -> old type icon appears
4. Select all instances in ObjectList -> Context menu in 3D scene -> Add Settings -> Select some category -> Crash

* ObjectLayers: Fixed a crash on re-scaling, when some layer range is selected

* Fixed OSX build

* Added menu item "Split to Objects" for multipart objects

+ Fixed bug: Add 2 parts,
             Add some settings for one part
             Delete part without settings => Single part object without settings, but settings are applied for the object.

+ Next refactoring: use same menu for Plater and ObjectList
2021-03-15 10:04:45 +01:00
Vojtech Bubnik
932336612c Full screen toggle 2021-03-15 09:55:57 +01:00
Enrico Turri
91ffd8d501 Custom G-code validation - Do not veto setting tab switch when invalid g-code is found 2021-03-02 17:00:11 +01:00
enricoturri1966
908c48ae6a Follow-up of 86d7e1fb90 -> Fixed update after switching tab after editing custom g-code in settings tabs 2021-03-01 13:03:43 +01:00
enricoturri1966
be7e2f2ae1 Tech ENABLE_WX_3_1_3_DPI_CHANGED_EVENT set as default 2021-02-25 12:40:42 +01:00
YuSanka
88bd189047 Some code refactoring follow-up 33aa6be7b7 and 92b1302a08 2021-02-24 15:50:18 +01:00
enricoturri1966
92b1302a08 Follow-up of 86d7e1fb90 -> Custom gcode validation in Filament settings tab 2021-02-22 08:39:36 +01:00
enricoturri1966
9b0b0f5e27 Follow-up of 86d7e1fb90 -> Custom gcode validation in Printer settings tab 2021-02-22 08:13:48 +01:00
YuSanka
e833e63c42 Fixed a crash on language changing
(DiffPresetDialog should get mainframe as a parent explicitly)
2021-02-09 09:56:19 +01:00
Lukas Matena
0ff0444dcc Fixing Clang warnings 1 2021-02-08 17:52:29 +01:00
Vojtech Bubnik
4cdcfe6005 DiffPresetDialog, non modal to compare two presets.
Added menu item "Window->Compare presets" to compare more than one type
of presets.
Code refactoring for PresetComboBox: Use suffix "modified" just for
PlaterPresetComboBox and TabPresetComboBox
Code refactoring. wxDataViewCtrl and related functions extracted from
DiffPresetDialog and UnsavedChangesDialog to the separate class
DiffViewCtrl
Code refactoring, Tab.cpp: Build all unregular pages on a first build of
the Printer Settings

Squashed commit of the following:

commit 91f45a8a2d97d252337c7306dd02db607fd79c00
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Thu Feb 4 09:34:29 2021 +0100

    Fixed after merge

commit 09aa502498b08c059ecdf334f5db1567739b4520
Merge: 6df8e83e1 0baa92fab
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Thu Feb 4 09:31:43 2021 +0100

    Merge remote-tracking branch 'remotes/origin/master' into ys_diff_dlg

commit 6df8e83e1af3ba096ac39d25985b6deb2e0a245b
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Thu Feb 4 09:29:53 2021 +0100

    Tiny beautification.

commit e781ceaaf7c39bc073476409cc02918d9f182930
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Wed Feb 3 18:05:19 2021 +0100

    Reworked copying of PresetBundles:
    1) Simplified by using the default copy constructors and copy operators.
    2) Made safer by not allowing PresetCollection and PhysicalPrinterPresetCollection
       to be copied or instantiated outside of PresetBundle.
    3) Fixed Preset::vendor pointers after copying PresetBundle.

commit a8f0b7aa5156465cdb3e3dbb86feb66a64bcebc0
Author: YuSanka <yusanka@gmail.com>
Date:   Mon Jan 25 16:13:53 2021 +0100

    DiffPresetsDialog: Show compatibility to print/printer presets selected in DiffPresetDialog

commit 597451f930a4330376966d8cf3350056d4f85a73
Merge: cce5b5710 59017a7da
Author: YuSanka <yusanka@gmail.com>
Date:   Thu Jan 21 12:14:48 2021 +0100

    Merge remote-tracking branch 'origin/master' into ys_diff_dlg

commit cce5b5710d1225c7eaa52d0abb4b3f66fbd3b6a1
Author: YuSanka <yusanka@gmail.com>
Date:   Thu Jan 21 12:11:40 2021 +0100

    DiffPresetDialog: Fixed crash on ASAN build

commit ad8d728d89d7a75c2ac136ea8cdbb730ab774cd9
Author: YuSanka <yusanka@gmail.com>
Date:   Wed Jan 20 16:38:28 2021 +0100

    FullCompareDialog improvements

commit 316bafbeec9bb63f731b653d296062d9e22dd02f
Author: YuSanka <yusanka@gmail.com>
Date:   Wed Jan 20 09:25:46 2021 +0100

    DiffPresetDialog improvements:
    * Update presets lists after save changes in edited preset or change printer_technology
    * Tab.cpp: Build all unregular pages on a first build of the Printer Settings

commit 01171c8ef50389d0801b0ccc5746ab0c3b731b11
Author: YuSanka <yusanka@gmail.com>
Date:   Tue Jan 19 17:26:28 2021 +0100

    DiffPresetDialog : improvements
    * This dialog is non-modal now
    * "Compare presets" menu item is moved from "View" to the "Window" menu group
    * Added info tooltips for the bitmap buttons between presets
    * Added "Show all presets" checkbox
    * Show full difference between printer presets with different count of extruders

commit 3d38b62f3c9de8aab352ed3bcff297d5c0239b2e
Merge: e50fe6de9 9a2310ae9
Author: YuSanka <yusanka@gmail.com>
Date:   Mon Jan 18 10:00:18 2021 +0100

    Merge remote-tracking branch 'origin/master' into ys_diff_dlg

commit e50fe6de984decadfef3d4b952f0eec8ab9e6670
Author: YuSanka <yusanka@gmail.com>
Date:   Sat Jan 16 02:27:24 2021 +0100

    DiffPresetDialog improvements
    Added menu item "View->Compare presets" to compare more than one type of presets

commit bf08b7c8c969ad0ca631b9eeac1bc231f474e72b
Author: YuSanka <yusanka@gmail.com>
Date:   Sat Jan 16 00:28:39 2021 +0100

    Code refactoring. wxDataViewCtrl and related functions extracted from DiffPresetDialog and UnsavedChangesDialog to the separate class DiffViewCtrl

commit 7aeb63032b0bc2bd06e60990c060008660a5c44f
Author: YuSanka <yusanka@gmail.com>
Date:   Fri Jan 15 21:35:43 2021 +0100

    DiffPresetDialog: first implementation

commit 2f23d5af9d6b5dd670dfb7d06eedbe0e6d2960c6
Author: YuSanka <yusanka@gmail.com>
Date:   Thu Jan 14 16:28:43 2021 +0100

    Code refactoring for PresetComboBox.
    Use suffix "modified" just for PlaterPresetComboBox and TabPresetComboBox
2021-02-04 09:42:32 +01:00
Vojtech Bubnik
a13b35ce92 Support for HiDPI in OpenGL on Linux / GTK3.
wxGTK3 HiDPI support seems to emulate what OSX does quite closely,
thus the changes are relatively minimal.

Also fixed an ugly rounding issue when populating the ImGUI font map
with image thumbnails.

Fixes Gtk3 issue on 4k+ screens #4135
Fixes HiDPI screens with Wayland on Fedora 30 cause Plater view to be too small. #3245
2020-12-15 12:14:38 +01:00
David Kocik
159dde511e Changed condition for showing Open new instance item in dock icon menu (mac). Fix of #5463. 2020-12-14 19:26:25 +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
661ad1735b Changed layout for for the Preferences Dialog (related to #5381)
+ Fixed #5312
+ Deleted unused now EVT_TAB_VALUE_CHANGED and EVT_TAB_PRESETS_CHANGED
2020-12-08 17:10:17 +01:00
Vojtěch Bubník
d4c949dab6
Merge pull request #4734 from wavexx/fix_new_instance_shortcut
Use Ctrl+Shift+I to open a new instance instead of Ctrl+I
2020-12-07 11:28:03 +01:00
enricoturri1966
10be5d1361 Replace F5 with Ctrl+Shift+R as shortcut key for reload from disk commands on MAC 2020-12-07 08:39:43 +01:00
Vojtech Bubnik
6fd1143b1c Fix of Unexpected Behavior @ Application Open and When GCODE is Generated #5254
Icon not loaded from the exe on Windows.
2020-12-03 14:14:40 +01:00
enricoturri1966
2a0a9af0c9 #5360 - GCode Viewer -> Added menu command to reload gcode file 2020-12-03 13:48:54 +01:00
enricoturri1966
a1905d9b9e ENABLE_GCODE_VIEWER set as default in:
MainFrame hpp/cpp

Plater hpp/cpp
2020-11-19 14:59:46 +01:00
enricoturri1966
d0c87eb7ca Added missing include 2020-11-18 14:10:02 +01:00
YuSanka
5be9d42519 Localization, new POT 2020-11-18 12:30:00 +01:00
Lukas Matena
2618992c8b Fix of an ASAN crash on app close (Linux) 2020-11-09 14:00:58 +01:00
YuSanka
8448d1a1dc OSX specific : Set top border for the mode buttons, when settings pages has new layouts
(when tabs bar is hidden)

+ Code cleaning for OG_CustomCtrl (delete unused input parameter from the draw_blinking_bmp())
2020-11-06 16:24:03 +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
YuSanka
f0a339758b Fixed a Dialog position under OSX
Always set parent for the Dialog, if we want to see the Dialog in the same display as a parent.
Dialog will be shown in the primary monitor otherwise.

+ fixed a draw of the canvas legend when we move application between Retina and non-Retina displays
2020-11-05 11:53:16 -08:00
Vojtech Bubnik
cfbc9f0845 Fix of previous commit. 2020-10-28 11:11:58 +01:00
Vojtech Bubnik
eb103e45a6 Revert of d29a82e944 2020-10-28 11:11:58 +01:00
Vojtech Bubnik
7c571c1d9d Merge of pull request Add support for RepetierServer #4384 by @docbobo
with the following refactorings:

1) Removed the "printhost_slug" config from the Printer config
   and from all the Printer config related spots.
2) "printhost_slug" renamed to "printhost_port". Slug sounds nasty.
3) Improved error reporting of RepetierHost class.
4) Refactored for the new "Physical Printers"

Following refactorings were done independently of the Repetier pull request:
1) Removed PrintHost static print config.
2) Clean-up after conversion of print host configuration
   from Printer config to Physical Printer config.
3) Fixed some issues, where the Printer config was still queried for
   host configuration. Vojtech believes that this should not happen
   after the host configuration is converted to physical printers.

Vojtech still feels that more refactoring is needed in regard to porting
the host configuration from Printer profile to the new Physical Printer
profile.
2020-10-28 09:51:05 +01:00
YuSanka
d29a82e944 Fixed 493cdbd069
Instead of "sep" should be used "\t" to the "Shift"-part will not be spoiled
2020-10-26 09:18:04 +01:00
YuSanka
493cdbd069 Added shortcut ("Shift+Tab") for the menu item "Collapse sidebar" 2020-10-25 15:10:51 +01:00
enricoturri1966
5d3d9d9b92 #4888 - Fixed jerky movements in Preview when using 3D mouse 2020-10-19 12:34:33 +02:00