74 Commits

Author SHA1 Message Date
YuSanka
f9de995f9e Remove '_utf8' makro.
(Initially, it was used because of using of boost::format for localized lines. But now It's better to use format and formal_wxstr functions)

+ Fixed missed marks for localization
+ Added missed filed to localization to the list.txt
2023-03-23 22:55:38 +01:00
Vojtech Bubnik
8913fdf6ab Reworked AppConfig to mark itself as dirty reliably with any configuration
change and saving AppConfig on idle.
2023-02-13 10:08:12 +01:00
Vojtech Bubnik
8472287601 Implementing a test whether the current thread is the main (UI) thread
and using it on AppConfig::save() to assert if save is called
from a worker thread.
The old assert was using thread names, which did not always work
on Windows.
Fixes #7839 #9178 #9370 #9420
2023-02-07 16:17:26 +01:00
PavelMikus
05c4e759cf Move checkbox for support alerts into AppConfig preferences.
Separate Alerts into new print object step so that not warnings are thrown for autopaint.
finally fix -1 access int SupportSpotGenerator bridge detection
2023-01-27 15:00:10 +01:00
David Kocik
443f5c1821 Version file url reverted to original name 2023-01-19 16:21:35 +01:00
David Kocik
af0e312542 Profile updates and installation:
- Refactoring and functionality change of PresetUpdater::sync_config. Zip archive now contains only index files. From index file it is decided wheter .ini file should be downloaded and where (cache for update of installed, cache/vendor for unistalled). New vendors are downloaded from set address. Fron .ini file it is decided wheter thumbnail should be downloaded. All resources for already installed vendors are checked and downloaded.  
- TemplateFilaments renamed to Templates (Warning: This might create duplicities if both files are present!).
- Various checks added to prevent crashes when dealing with broken presets, wrong files etc.
- Delayed error message when loading present finds duplicities - wait with dialog until Splash screen is gone.
- Minor changes in Config wizard when searching & loading printer thumbnails.
2023-01-18 11:10:24 +01:00
Lukas Matena
548205ffd8 Fixes for downloading bundles and resources:
- bed_texture/model may be empty. In that case, do not check for the existence of the file.

- In case a vendor is new (=not in resources), it would have crashed when installing any printer from such vendor. The problem was that `install_bundles_rsrc` assumed that the INI is in resources.

- several const keywords added

- small refactoring

- removed commented-out code in AppConfig::profile_archive_url(): the url shall not be customizable
2023-01-18 11:10:24 +01:00
David Kocik
a15ad698d7 download profile bundles in zip archive 2023-01-18 11:10:24 +01:00
David Kocik
72540232c8 Template filaments bundle with filament profiles available for all printers
Profiles are ment to be adjusted and saved as user profile.
Selectable in wizard under (Templates).
Installed automatically even when profile with same alias is selected.
Special category in combo boxes.
no_templates option for disabling this.
2023-01-18 11:10:24 +01:00
Filip Sykala - NTB T15p
c549c6afbe Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/CMakeLists.txt
#	src/libslic3r/Format/3mf.cpp
#	src/libslic3r/Model.hpp
#	src/libslic3r/Point.hpp
#	src/libslic3r/Technologies.hpp
#	src/slic3r/CMakeLists.txt
#	src/slic3r/GUI/GLCanvas3D.cpp
#	src/slic3r/GUI/GLSelectionRectangle.cpp
#	src/slic3r/GUI/GUI_Factories.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoBase.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoBase.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoMove.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoMove.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoRotate.hpp
#	src/slic3r/GUI/MeshUtils.cpp
#	src/slic3r/GUI/MeshUtils.hpp
#	src/slic3r/GUI/ObjectDataViewModel.cpp
#	src/slic3r/GUI/ObjectDataViewModel.hpp
#	src/slic3r/GUI/Selection.cpp
2022-08-31 15:22:10 +02:00
YuSanka
9bb74d92c7 Fix for #8380 - Disable/Remove "Sliced Object "*" looks like a logo or a sign
Preferences: Added option "Allow automatically color change"
2022-08-30 14:32:16 +02:00
Filip Sykala - NTB T15p
5e76d86460 rename font_item to style 2022-08-03 13:05:06 +02:00
enricoturri1966
0388132acd Tech ENABLE_SHOW_NON_MANIFOLD_EDGES set as default 2022-07-28 08:55:53 +02:00
Filip Sykala - NTB T15p
79a7f588b9 Merge branch 'et_world_coordinates' into fs_emboss
# Conflicts:
#	src/libslic3r/CMakeLists.txt
#	src/libslic3r/Format/3mf.cpp
#	src/libslic3r/Model.hpp
#	src/libslic3r/Technologies.hpp
#	src/slic3r/GUI/GLCanvas3D.cpp
#	src/slic3r/GUI/GUI_App.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoBase.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoBase.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp
#	src/slic3r/GUI/Selection.cpp
#	src/slic3r/GUI/Selection.hpp
2022-07-20 13:02:07 +02:00
Lukáš Hejl
11f6c67e7c Added detection for corrupted PrusaSlicer.ini and fixed showing instructions on how to recover from it (#8217).
Previously when PrusaSlicer.ini was just partly corrupted, it could happen that PrusaSlicer.ini wasn't detected as corrupted, and it could cause that instruction on how to recover from this state wasn't shown, and PrusaSlicer crashed because wrong data from PrusaSlicer.ini was read.
2022-06-02 08:20:11 +02:00
Filip Sykala
a50d93cd66 Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/Geometry.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoBase.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoMove.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoMove.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoRotate.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoScale.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoScale.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp
#	src/slic3r/GUI/ImGuiWrapper.cpp
#	src/slic3r/GUI/ImGuiWrapper.hpp
#	src/slic3r/GUI/Selection.cpp
#	tests/slic3rutils/slic3r_jobs_tests.cpp
2022-02-02 15:27:25 +01:00
enricoturri1966
18e2cc2298 Tech ENABLE_SHOW_NON_MANIFOLD_EDGES - 1st installment - Calculate and show in 3D view non-manifold edges as lines 2022-01-20 13:32:24 +01:00
YuSanka
010fbded1a Added "Restore window position on start" option to the "Preferences > General"
+ added crash detection for the cases, when PrusaSlicer is started from secondary display

Possible fix for part of:
 #2939 - PrusaSlic3r freezing at startup (Win 10)
and
 #5573 - PrusaSlicer won't launch on secondary monitor. Nahimic?
2022-01-11 13:53:25 +01:00
Vojtech Bubnik
41fa4a05f9 Fixing AppConfig::reset(), calling reset() before load().
This fixes some issues when importing newer configuration over the current.
2021-12-15 12:04:43 +01:00
Vojtech Bubnik
b95a83aec1 Bugfix: Loading of AppConfig from an alternate locations. 2021-12-15 10:30:22 +01:00
Filip Sykala
8699d04dc9 Merge branch 'et_world_coordinates' into emboss_local
# Conflicts:
#	src/slic3r/GUI/Plater.cpp
2021-12-02 13:05:43 +01:00
David Kocik
0939dab807 allow_ip_resolve in app config 2021-12-02 10:25:04 +01:00
Filip Sykala
eba68f9a9e Merge branch 'master' into fs_emboss
# Conflicts:
#	src/slic3r/GUI/GUI_ObjectList.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp
#	src/slic3r/GUI/ImGuiWrapper.hpp
2021-11-23 09:09:09 +01:00
David Kocik
43986c2896 Changes in notifying about new releases.
- Unified preferences settings. version_check option is replaced with notify_release that has 3 states.
- fixed logic when show notification based on version string.
- notification shows released version
- dialog notifying new version is never showing if external updater is running.
Escape quotes inside path to external updater
2021-11-10 15:27:46 +01:00
YuSanka
aff9e1f7ea MSW_DarkMode: Next Improvements
* Refreshed title bar for all Dialogs and MainFrame
* Refreshed header of the DataViewCtrl and ListView
* Refresh tooltips
* Redraw SpinCtrls
* Use system menu with is colored in respect to the color mode
* Preferences: Added parameter "Use system menu for application" and moved to the "Dark mode" tab with "Enable Dark mode parameter"
2021-11-05 10:01:13 +01:00
David Kocik
ca8f7fbf80 Copying from other config folders:
Find if there is more recent config in other folders (alpha / beta / release).
If yes, ask user, make snapshot, copy files.
if there is no current config, ask user and copy recent one.
2021-11-02 10:51:45 +01:00
Filip Sykala
62d8c80158 Change appConfig store / load 2021-10-21 19:42:13 +02:00
Filip Sykala
6c8f754186 Merge branch 'master' into fs_emboss
# Conflicts:
#	src/slic3r/GUI/3DScene.cpp
2021-10-19 13:40:19 +02:00
David Kocik
ac6259e387 Preferences: notify_relese option with Choice type Field.
OptionsGroup:: Added possibility of the right alignment of the controls
+ Added separator line to Preferences
2021-10-13 15:39:06 +02:00
David Kocik
c4f78fcdc9 Check version string for alpha and beta release versions.
Preferences setting to show / not show alpha beta releases.
2021-10-11 10:01:48 +02:00
YuSanka
a2b99db0df MSW specific:Added dark mode for G-CodeViewer 2021-10-07 11:53:19 +02:00
Filip Sykala
3bd9fc07d2 Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/Format/3mf.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoSimplify.hpp
2021-10-07 08:28:17 +02:00
Filip Sykala
ffba045734 Store font list into App configuration 2021-10-05 16:10:24 +02:00
Vojtech Bubnik
aeb18e729d New preferences key "clear_undo_redo_stack_on_new_project", set to "1"
by default: Clear Undo / Redo stack on new project or load project.
Fixes Clear undo chain #2812
2021-09-30 12:17:52 +02:00
Oleksandra Yushchenko
8f064dd155
Check unsaved changes (#6991)
* Check Unsaved changes (partially related to #5903)
 + Allow create new project when Plater is empty, but some of presets are modified (related to #5903)
 + When creating new project allow Keep or Discard modification from previous project
 + Added check of changes:
    * before any load project (including DnD and "Load From Recent Projects")
    * before preset updater
    * when configuration is changing from the ConfigWizard
 + Dialog caption is added for each check

 + Create/Destroy ConfigWizard every time when it's called

* Check Unsaved changes: Next Improvements
 + For dialog "Save project changes" added a reason of saving and name of the current project (or "Untitled")
 + UnsavedChangesDialog: Headers are extended to better explain the reason
 + Preferences: Fixed tooltiops for "Always ask for unsaved changes when..."
 + Suppress "Remember my choice" checkbox for actions which are not frequently used

* Fixed behavior of the application when try to save changed project but "Cancel" button is selected in "Save file as..." dialog

* Check unsaved changes: Improvements for Config Wizard - Check all cases when presets should be updated
 + Fixed info line for Materials pages. Text of the info relates to the printer technology now

* Improved suggested name for a project when Application is closing

* Fixed Linux/OSX build warnings
2021-09-22 12:44:13 +02:00
David Kocik
cfcfbc38d2 Hints notification random weighted order with saving used hints to cache/hints.cereal 2021-08-24 16:49:09 +02:00
enricoturri1966
438439fd71 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-07-29 13:28:16 +02:00
enricoturri1966
86da45eb66 Horizontal slider in preview to show always (and only) gcode lines indices 2021-07-29 13:28:07 +02:00
David Kocik
0d74502aeb Hint notification
Reads data from hints.ini. Has hyperlinks to highlight settings, toolbars and gizmos.
2021-07-29 13:20:50 +02:00
YuSanka
e79bcee739 Fixed update of the default menu after changing of the mode.
+ Added check for the output directory for the G-code extport.
2021-07-26 14:41:38 +02:00
enricoturri1966
b80fb40fcd Tech ENABLE_GCODE_LINES_ID_IN_H_SLIDER set as default 2021-07-22 08:35:21 +02:00
YuSanka
232309a879 Don't save shapes directory to the "last_dir" 2021-07-21 16:13:40 +02:00
Vojtech Bubnik
ad336e2cc0 Because of a crash in PrusaSlicer 2.3.0/2.3.1 when showing an update
notification with some locales, we don't want PrusaSlicer 2.3.0/2.3.1
to show this notification. On the other hand, we would like PrusaSlicer
2.3.2 to show an update notification of the upcoming PrusaSlicer 2.4.0.
Thus we will let PrusaSlicer 2.3.2 and couple of follow-up versions
to download the version number from an alternate file until
the PrusaSlicer 2.3.0/2.3.1 are phased out, then we will revert to
the original name.
2021-06-25 17:54:43 +02:00
Vojtech Bubnik
9b70efc46a Windows specific: Transactional saving of PrusaSlicer.ini to ensure
that configuration could be recovered in the case PrusaSlicer.ini
is corrupted during saving. The config is first written into a temp file
marked with a MD5 checksum. Once the file is saved, it is
copied to a backup file first, then moved to PrusaSlicer.ini.

When loading PrusaSlicer.ini fails, the backup file will be loaded
instead, however only if its MD5 checksum is valid.

The following "Fixes" comments are for github triggers. We implemented
a workaround, not a fix, we don't actually know how the data corruption
happens and why. Most likely the "Move file" Windows API is not atomic
and if PrusaSlicer crashes on another thread while moving the file,
PrusaSlicer.ini will only be partially saved, with the rest of the file
filled with nulls. We did not "fix" the issue, we just hope that our
workaround will help in majority of cases.

Fixes prusaslicer wont open 2.3 windows 10 #5812
Fixes Won't Open - Windows 10 #4915
Fixes PrusaSlicer Crashes upon opening with "'=' character not found in
line error" #2438
Fixes Fails to open on blank slic3r.ini %user%\AppData\Roaming\Slic3rPE
2021-06-25 16:44:06 +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
b7769856d1 Fixed DnD function for volumes inside the object in respect to the volume type 2021-05-26 15:36:48 +02:00
Lukas Matena
c5c6f51ae0 Fixed third batch of locale-dependent calls 2021-05-24 12:20:29 +02:00
enricoturri1966
8cb8a24ded Tech ENABLE_CUSTOMIZABLE_FILES_ASSOCIATION_ON_WIN set as default 2021-02-26 10:18:16 +01:00
enricoturri1966
a3b60c09bc Tech ENABLE_CTRL_M_ON_WINDOWS set as default 2021-02-25 15:22:12 +01:00
enricoturri1966
9afaebac75 #5611 - Added option to show gcode line number on horizontal slider in preview 2021-02-16 10:07:05 +01:00