Commit graph

62 commits

Author SHA1 Message Date
Lukas Matena
1afa18d719 SendSystemInfo: Use GET instead of ping to check internet connection 2021-10-18 15:34:51 +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
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
Vojtech Bubnik
1c078b1f47 Improved error handling when installing configuration updates:
In case the configuration snapshot cannot be taken before installing
configuration updates (because the current configuration state
is invalid), ask user whether to continue or abort.
2021-08-13 13:51:29 +02:00
YuSanka
4cbe7a9545 If configuration update is available, show Dialog with information about it before ConfigWizard is opened 2021-08-13 13:36:08 +02:00
Vojtech Bubnik
856da036eb Fixed loading of system presets with incompatible system profile keys
before the "reconfigure" dialog is shown.

Replaced boost::filesystem::copy_file() with Slic3r::copy_file()
in config snapshot loading code.
2021-08-13 13:34:40 +02:00
David Kocik
77e25c5022 fix of #6588 - using same copy function for updating presets as for exporting gcode 2021-06-28 13:21:07 +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
Lukas Matena
0ff0444dcc Fixing Clang warnings 1 2021-02-08 17:52:29 +01:00
Lukas Matena
aa69730bc2 Revert recent changes in PresetUpdater error reporting
This reverts commits:
57ba953 ("PresetUpdater - exceptions reformatted, not throwing an exception")
03028bb ("Improved exception throwing at copy file in preset updater")
2020-12-17 16:08:51 +01:00
David Kocik
99747f8f25 Changed requested time of rendering for timed notification to full duration. Commented unused code. 2020-12-16 17:43:51 +01:00
YuSanka
8b980d4b77 Localization: Updated PrusaSlicer.pot and CZ dictionary
+ Fixed some phrases.
2020-12-16 17:29:38 +01:00
David Kocik
3ae40139b3 render timer 2020-12-16 14:15:12 +01:00
David Kocik
0592d15c50 render timer draft 2020-12-16 14:15:12 +01:00
Vojtech Bubnik
57ba953b2e PresetUpdater - exceptions reformatted, not throwing an exception
on Linux when changing file attributes, as changing file attributes
may fail when writing onto FAT file system, which does not support
some of the common Unix file attributes.
2020-12-14 11:05:12 +01:00
David Kocik
03028bb23e Improved exception throwing at copy file in preset updater 2020-12-10 19:39:47 +01:00
enricoturri1966
0d4123192f Removed GLCanvas3D from parameters of NotificationManager methods 2020-11-30 13:45:17 +01:00
Vojtech Bubnik
ebdf2acd03 Follow-up to
Use https in config update URLs

	http://files.prusa3d.com/* always redirects to HTTPS so use https scheme
    directly.

The pull request broke updates to those who installed configs with
http://, not https:// prefix.
2020-10-24 16:35:34 +02:00
Vojtěch Bubník
c59db4e7fe
Merge pull request #4213 from onovy/https
Use https in config update URLs
2020-10-17 21:13:43 +02:00
Vojtech Bubnik
dd2cd62a4f WIP Review of NotificationManager: Fixed some typos, added some comments. 2020-10-14 12:57:40 +02:00
YuSanka
a6dc3d37f5 Merge remote-tracking branch 'origin/master' into ys_ph_printers 2020-08-06 17:02:48 +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
YuSanka
19c4f32604 Preset and PresetBundle are moved to the _libslic3r_ folder 2020-06-16 17:03:06 +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
Ondřej Nový
cb73dd2ca6 Use https in config update URLs
http://files.prusa3d.com/* always redirects to HTTPS so use https scheme
directly.
2020-05-07 20:37:23 +02:00
bubnikv
8027fc2fb2 Yet another missing include that windows compiler did not mind. 2020-04-01 10:42:10 +02:00
bubnikv
b843a094f6 Slic3r::format(), Slic3r::GUI::format_wxstr():
wrappers around boost::format using C++17 variadic templates,
replacing the ugly and verbose
	(boost::format("template") % arg1 % arg2).str()
syntax.
The wrappers also implictely convert input parameters including the template
from wxString to UTF8.

The new format wrapper has been applied at multiple places as a start,
also some double macros _(L()) with new single macro _L().
2020-04-01 09:49:04 +02:00
Lukas Matena
97b9de47b4 Merge branch 'master' into dev 2020-03-24 21:51:05 +01:00
bubnikv
84c9136e2d Fixed formatting error in preset update from the net. 2020-03-12 09:42:25 +01:00
Lukas Matena
7589e4ebfc Fixed some more warnings 2020-03-03 15:53:26 +01:00
Lukas Matena
f2b98bddee Fixing wxString::Format encoding mismatches (part 3) 2020-03-03 10:54:17 +01:00
bubnikv
a7ffd2a6fe GUI::show_error() is now generalized for std::string and const char*
Fixed return type of std::string translate_utf8() with context
(incorrectly returned wxString, should return std::string).
Fixed double translation of BackgroundSlicingProcess::validate() in Plater.
2020-02-21 13:38:06 +01:00
David Kocik
930432e6a3 updating preset bundle bug fix: if forced update - does not check snapshots 2020-02-05 12:44:59 +01:00
bubnikv
450e21d457 Replaced unsafe use of dx_url.substr(0, 54) with boost::starts_with 2020-02-04 16:10:39 +01:00
David Kocik
65b9ef6636 configuration updater
forced update dialog
check for updates button
check address when downloading bundles
2020-02-04 15:27:11 +01:00
bubnikv
d0aad74c27 Fixed update logic to support newer index downloaded from the internet
than the index stored in the resources.
2019-12-10 17:49:09 +01:00
bubnikv
ab34ef3ceb Fix of an application update situation, where the profiles were
not updated correctly if the index installed in vendor directory
was the same as the one provided with the applicaton installation.
2019-12-05 11:05:18 +01:00
Vojtech Kral
235b659cf9 WIP: ConfigWizard: 3rd party bundle installation roughly done 2019-09-17 13:20:06 +02:00
Vojtech Kral
dba9925c4e Move ConfigWizard instance in GUI_App, lazy-initialized,
add filament/material installation item in Sidebar combo boxes
2019-09-17 13:20:06 +02:00
Vojtech Kral
8e11a7b895 PresetUpdater: Fix: Sanitize downloadedsemver, fix #2927
Use HTTPS for the slicer app version url
2019-09-16 18:02:14 +02:00
Vojtech Kral
1fc05bbf00 ConfigWizard: Fix: Snapshot not being taken on user-requested Wizard run
If the user launched Wizard from the menu and checked the reset
checkbox, snapshot was not taken in case no new bundles were
to be installed from resources (ie. most of the time).

Snapshot is now taken as appropriate.
2019-08-20 12:00:23 +02:00
Vojtech Kral
745182988d Refactor: Move Semver from slice3r to libslic3r
A static symbol Slic3r::SEMVER is introduced, which holds
the running slicer's Semver object.

This is mainly done to make testing updater behaviour
_much_ easier. Additionaly to cleanup some questionable code
(Semver was being parsed multiple times / in multiple places
in the frontend.)
2019-08-19 17:04:14 +02:00
Vojtech Kral
b5dd13b987 PresetUpdater: Fix index installation having broken incompatibility check
This fixes a problem where old slicer having found newer incompatible bundle
would not report an incompatibility.

The installed index check was performed too early before
bundle compatibility check. This fix moves the installed index check
to the point where a bundle would've been update (as it should be).
2019-08-19 17:04:14 +02:00
Vojtech Kral
1a529cb778 PresetUpdater: Fix: Index installed too early 2019-07-01 11:35:02 +02:00
Vojtech Kral
503212181c Updating: Index installation
Prevents cancelled updates from popping up repeatedly
on each application startup
2019-06-20 14:26:29 +02:00
Vojtech Kral
eebb9e3fe7 Fix double wizard on incompatible bundle, for real this time 2019-05-17 19:09:06 +02:00
Vojtech Kral
6c5bdeadc3 Updating: Add localized links 2019-05-14 13:30:55 +02:00
bubnikv
496922036f Harmonized the application naming. 2019-04-15 16:14:19 +02:00
Vojtech Kral
49d131be4d PresetUpdater: Offer update even if bundle not found in index 2019-02-22 14:35:07 +01:00