Commit Graph

146 Commits

Author SHA1 Message Date
bubnikv
0b6bd3cbde Implemented a "Reset user profile" on the first page of the configuration
wizard if the wizard is opened from the menu. This allows one
to reinstall the bundled printer profile cleanly.

Fixed a bug when loading a config bundle as a config: The config bundle
should not be unpacked into the user profile directory.
2017-12-19 19:51:22 +01:00
bubnikv
21b4e62e6e Fixed handling of print and filament presets incompatible
with the newly selected print profile,
fixed loading of print and filament tab pages after the print or filament
preset has been changed to be compatible with a newly selected printer.
2017-12-13 14:00:14 +01:00
bubnikv
657f2734f1 Extended the Config Wizard to offer a selection of config bundles
bundled with Slic3r installation, and install it into user's Slic3r profile.
These bundled config bundles will be contained in the Slic3r source
tree under Slic3r/resources/profiles.

Breaking change! The Slic3r user directory has been renamed to Slic3rPE
for the Prusa Edition. Also it is likely, that the Slic3rPE directory
will be reorganized before the final 1.38 release to reserve space
for temporary profiles downloaded from the Internet.
2017-12-10 13:19:44 +01:00
bubnikv
2eeca93a97 Feature Request: Add to Plater: Ctrl+O
implements https://github.com/prusa3d/Slic3r/issues/379
thanks @alexrj
2017-12-05 20:06:19 +01:00
bubnikv
8746f84fa2 Improved error reporting of the PlaceholderParser.
The PlaceholderParser is currently used by the GCode.cpp
and by Printer.cpp to generate a new name for the exported G-code or SVG file.
The PlaceholderParser::process() will throw a runtime_error with
a comprehensive error message.
The G-code export will include these error messages into the G-code text
with !!!!!! separators, and the GUI will inform the user, that the G-code
export failed.
2017-12-05 15:54:24 +01:00
bubnikv
8af329e660 Added Perl to C++ interfaces for creating the preset editor pages
from C++ and to add debugging menus from C++. These lightweigth
interfaces should help new team members to hack the UI without
a Perl knowledge.
2017-12-04 10:48:40 +01:00
bubnikv
d161d4f78c There is a hack applied to add accelerator keys to the menu
without being registered. Unfortunately this hack works on wxWidgets
on Windows. On OSX or Linux, a warning is emited and no accelerator
key is shown on the menu.
This commit just removes the warnings, it does not add the menu accelerators.
https://github.com/prusa3d/Slic3r/issues/539
2017-11-30 18:26:15 +01:00
bubnikv
bfce6dba9b Integrated the "compatible printers" idea by @alexrj with Vojtech's twist:
The incompatible presets are hidden in the tabs if show_incompatible_presets
is false. If show_incompatible_presets is true, there is a button to
show / hide the incompatible presets from the tab selector.
2017-11-10 17:27:05 +01:00
bubnikv
b11d9708ed Updated Controller after the presets C++ port. 2017-11-02 21:51:06 +01:00
bubnikv
e8b6d92d4d Looks like the reworked C++ preferences start to work again. 2017-11-02 16:21:34 +01:00
bubnikv
857b78ddca Fix of the previous commit: Slic3r::Config::new_from_defaults_keys
has to be provided with a reference to array of strings.
2017-10-27 22:49:59 +02:00
bubnikv
5a99e694ce Another step towards the C++ presets. 2017-10-26 17:17:39 +02:00
bubnikv
ee645007f2 Another step towards C++ presets. 2017-10-25 12:53:31 +02:00
bubnikv
b58756f38b A bit of refactoring and beautification. 2017-09-18 10:01:37 +02:00
bubnikv
632bf56f29 merged save_window_pos / restore_window_pos from @alexrj Slic3r. 2017-08-04 15:54:12 +02:00
bubnikv
ed46cfa19d Simplified the code base by requiring wxWidgets >= 3.0 2017-08-03 17:47:18 +02:00
bubnikv
1385018724 Unicode handling:
Removed the Perl dependencies on Encode, Encode::Locale and Unicode::Normalize.
Added dependency on boost::locale.
Added encode_path, decode_path, normalize_utf8 functions to Slic3r.xs

Slic3r.xs has been made mostly utf8 safe by using the boost::nowide library,
thanks to @alexrj for the idea.

Simplified the encode_path / decode_path stuff:
wxWidgets are unicode already, so there is no need to decode_path() from it.
Perl / win32 interfacing is non-unicode, so decode_path() is executed
on ARGV just at the beginning of the perl scripts.
2017-08-03 17:31:31 +02:00
bubnikv
3b51f64411 Fixing https://github.com/prusa3d/Slic3r/issues/432
Slic3r GUI not starting, error when using --gui (on linux)

Implements https://github.com/prusa3d/Slic3r/issues/407
Shortcuts: Movement in 3D Space
Assignment of the camera shortcuts is clear from the menu accelerators.

Implements https://github.com/prusa3d/Slic3r/issues/406
Shortcuts: Rotate +/- 45 degrees
l/r keys rotate the object

Also changed the accelerators for adding / removing duplicates from
Ctrl++/- to plain +/-, from Ctrl-Del to plain Del,
and added an 's' key accelerator for uniform scaling.
2017-07-21 16:29:40 +02:00
bubnikv
6f28818f87 Fix of
"Unicode char like for example "ł" crush app when used in profile name"
https://github.com/prusa3d/Slic3r/issues/388

The Prusa3D binary builds are missing the UTF8 libraries.
To avoid having to bundle them, the case sensitive regexes testing
file suffixes were replaced with explicit enumeration of lower / upper
case letters. While crude, it avoids triggering the UTF8 library.
2017-07-11 17:15:34 +02:00
bubnikv
2ac981e422 Improved error handling when importing configuration from a G-code. 2017-06-14 20:18:46 +02:00
bubnikv
93dce7a2d3 Ported config load / stored to C++, thanks @alexrj
Implemented import of config values from the G-code.
2017-06-14 17:51:14 +02:00
bubnikv
3e82eb7010 Extended the tooltpis for quick slice functions. 2017-06-14 12:52:50 +02:00
bubnikv
a73a1a3f09 Removed the DLP projector dialog as it is confusing to our customers
and we doubt anybody is using it.
2017-06-14 12:05:23 +02:00
bubnikv
82bde51c27 Removed the 'simple' mode. 2017-06-14 11:48:08 +02:00
bubnikv
ee5ee5f432 Performance improvements in reloading the 3D scene.
Now the 3D scene loading is postponed until the page is visible.
2017-05-31 17:05:11 +02:00
bubnikv
7ffb3590c4 Finalized the Prusa Control project file format import. 2017-04-05 14:45:43 +02:00
bubnikv
6162670bbd Fixing Window selections wrong
https://github.com/prusa3d/Slic3r/issues/191
Thanks @uclaros
94f60db114
2017-03-23 18:02:35 +01:00
Alessandro Ranellucci
6a90fceaaf Ported expanded_output_filepath() to C++/XS 2017-02-28 10:38:32 +01:00
bubnikv
4010dd71f6 Support Prusa Control project files (.PRUS) by the GUI. 2017-02-27 16:09:22 +01:00
bubnikv
70229be9bc Added SystemInfo dialog,
a new SLIC3R_BUILD define to be replaced by the build script,
a menu item to open the "New Issue" github page.
2017-02-19 16:04:57 +01:00
bubnikv
e386a2bf72 Documentation of the UI config update functions,
documented missing AMF support for the variable layer thickness.
2017-02-07 18:28:53 +01:00
Alessandro Ranellucci
9c0c05631c Ignore failure to call SetAutoPop when not available. #3596 @alexrj 2e82fb01a65deb4e0872de9219f47e58b7000ebf 2016-12-08 14:55:48 +01:00
Alessandro Ranellucci
9e8dae817d Fixes and improvements to the view selection menu, cherry picked from @alexrj a7693c4719c0e0e0129aea7461706d2ed53a52cc 2016-12-08 14:51:35 +01:00
bubnikv
a069c41b20 On Windows, load the icon either from the exe, or fron the ico file. 2016-11-20 14:22:26 +01:00
bubnikv
34fab1566f "Background slice now" function, initial implementation by @lordofhyphens
https://github.com/alexrj/Slic3r/pull/3501
2016-10-25 13:24:42 +02:00
bubnikv
34248c2fbf On Windows use the Slic3r.ico instead of the PNG file
for the application icon.
2016-10-24 18:05:26 +02:00
bubnikv
741a85187c Suppress the '- default -' selection of Print/Filament/Printer settings
if there is any valid option available. This feature has been asked for
by the Prusa3D customers as the '- default -' option has nothing to do
with the actual printer and when selected accidentally, it could even
lead to a printer damage.
2016-10-24 16:07:36 +02:00
bubnikv
1fb57e439e Defined the +-* operators on Pointf.
Removed the deprecated VibrationLimit feature.
Added triangle infill.
The Prusa3D fork of Slic3r has been marked as "Slic3r Prusa Edition"
with menus pointing to the prusa3d/slic3r github release page
and Prusa3D drivers downloads page.
2016-10-21 16:53:42 +02:00
bubnikv
ee4b9ab82f Select standard camera views (left / right / top / bottom / front / rear / default)
by menu.
2016-10-05 14:13:07 +02:00
bubnikv
4c67230436 Documented the purpose of various perl modules. 2016-09-14 11:22:41 +02:00
bubnikv
9a83d4e8d5 Reverted some now unnecessary changes. Reverted the infill to the original perl implementation. 2016-09-12 13:26:17 +02:00
bubnikv
9fcc8fe9ae Meged with release_candidate_1_3 2016-09-12 11:29:39 +02:00
bubnikv
d8be976356 The "controller" tab and the settings of the USB/serial connection was
made configurable. Now one may hide the "controller" tab and the USB/serial
connection configuration from the preferences. This is useful for someone,
who never connects his printer to the computer by a cable.
2016-05-16 23:57:53 +02:00
Vojtech Bubnik
d022493297 Merge remote-tracking branch 'upstream/master' 2016-05-03 22:05:31 +02:00
bubnikv
f767ce816b Optimized and improved rectilinear fill. 2016-04-13 20:45:44 +02:00
Alessandro Ranellucci
f006e66549 Refactored calls to Wx::Bitmap->new 2016-04-09 19:10:57 +02:00
Alessandro Ranellucci
d0ad57b64d Don't show any dialog if 0 configs were imported 2015-12-17 18:48:50 +01:00
Alessandro Ranellucci
32a333f16a Import config bundle automatically if found in application directory 2015-12-07 12:17:06 +01:00
Alessandro Ranellucci
6bfa2cfaec Projector for DLP 2015-11-15 21:08:14 +01:00
Alessandro Ranellucci
80620a5e94 Some fixes and improvements to controller 2015-11-08 11:17:55 +01:00
Alessandro Ranellucci
d8a94c3936 Smarter logic for displaying printer panels 2015-11-03 21:55:17 +01:00
Alessandro Ranellucci
9b21ac877a Merge branch 'master' into sender
Conflicts:
	Build.PL
	lib/Slic3r.pm
	xs/MANIFEST
	xs/src/libslic3r/PrintConfig.hpp
2015-11-01 19:12:13 +01:00
Alessandro Ranellucci
eff0620ddf Prompt user when overwriting a file during G-code export as well. #2882 2015-06-03 13:19:43 +02:00
Alessandro Ranellucci
c5f72a633a Bugfix: Repeat Last Quick Slice was affected by the plater exports. #2016 2015-06-02 22:27:11 +02:00
Alessandro Ranellucci
e26022a2f2 Comment about Ctrl+, 2015-05-31 22:35:52 +02:00
Alessandro Ranellucci
17eb50da6d Use Ctrl+, for Preferences (standard on OS X, don't know about others). #2860 2015-05-31 22:33:46 +02:00
Alessandro Ranellucci
13b7316807 Merge branch 'master' into sender
Conflicts:
	Build.PL
	lib/Slic3r/GUI/MainFrame.pm
2015-05-28 18:05:36 +02:00
Alessandro Ranellucci
0d08c1819b Bugfix: plater views were not refreshed after config wizard in simple mode 2015-05-27 00:50:18 +02:00
Alessandro Ranellucci
310212ed30 Enable menu icons on older Windows and Linux Wx 2015-05-26 11:27:07 +02:00
Alessandro Ranellucci
aa8b6afe8b Assign color to filaments 2015-05-26 02:01:43 +02:00
Alessandro Ranellucci
ad0a15debe Menu item icons :o) 2015-05-25 22:37:04 +02:00
Alessandro Ranellucci
1dc63071ed Try to fix crash upon quick slice. #2801 2015-05-06 00:39:16 +02:00
Alessandro Ranellucci
2d7bfbb805 Bugfix: dirty filament options were ignored when using multiple extruders. Patch by @markwal. #2740 2015-03-23 21:48:31 +01:00
Alessandro Ranellucci
6185f45815 Hopefully fix all problems with non-ASCII paths on Windows 2015-03-09 15:17:50 +01:00
Alessandro Ranellucci
d2172b4383 Merge branch 'master' into sender 2015-03-06 22:15:43 +01:00
Alessandro Ranellucci
722e94513c Refactoring: removed the non-idempotent init_extruders() step. Also, infill_extruder was not limited to the available number of extruders when slicing from the plater, and support material extruder was considered also when support material was disabled 2015-03-06 09:56:58 +01:00
Alessandro Ranellucci
4083b33807 Bugfix: crash on version check on Linux. #2641 2015-02-09 11:00:44 +01:00
Alessandro Ranellucci
3ae6f2630e Merge branch 'master' into sender
Conflicts:
	Build.PL
2015-02-01 14:07:32 +01:00
Alessandro Ranellucci
e61deb3673 Check display area before moving window to the last saved position. #2600 2015-01-30 13:21:07 +01:00
Alessandro Ranellucci
9af43bee52 Handle log, temperatures. Move controller to main tabpanel. More things 2015-01-04 23:18:23 +01:00
Alessandro Ranellucci
3ab4d4b094 Merge branch 'master' into sender 2015-01-04 19:36:28 +01:00
Alessandro Ranellucci
2c0d216c1a More work on print controller 2015-01-03 23:25:55 +01:00
Alessandro Ranellucci
3b09377a43 Export single object as STL from its contextual menu. #2479 2015-01-03 15:48:53 +01:00
Alessandro Ranellucci
c06ce3b58c Initial work for a controller GUI 2014-12-31 19:10:46 +01:00
Alessandro Ranellucci
959eb60ad0 Scoping error caused the Unsaved Changes dialog not to be shown when closing the main window 2014-12-28 16:19:55 +01:00
Alessandro Ranellucci
cc36aff66a Fix MainFrame after recent changes in preset handling 2014-12-25 18:18:41 +01:00
Alessandro Ranellucci
583b009d1b Honor print bed center in Quick Slice. #2440 2014-12-21 23:29:31 +01:00
Alessandro Ranellucci
80c38b0113 Remember window size and position. #1253 #2251 2014-12-08 22:05:26 +01:00
Alessandro Ranellucci
95f7bcb9fe Removed Toolpaths Preview menu item. #2385 2014-12-01 21:06:21 +01:00
Alessandro Ranellucci
989ec5cf4d Fixes to UTF-8 handling in file paths 2014-11-22 21:55:45 +01:00
Alessandro Ranellucci
24d67c42c6 Bugfix: configuration wizard was broken. #2210 2014-09-23 20:00:51 +02:00
Alessandro Ranellucci
321b70115b Bugfix: changes in extruder count in GUI were not propagating to the rest of the GUI 2014-09-21 15:29:52 +02:00
Alessandro Ranellucci
6a91b2fa52 Removed the "Combine STL files into multi-material AMF file" command since it's not needed anymore thanks to the new object editor dialog 2014-07-12 11:22:27 +02:00
Alessandro Ranellucci
bd03747dc1 Added button for toolpaths preview 2014-07-04 10:32:32 +02:00
Alessandro Ranellucci
907de1011f Toolpaths preview 2014-07-03 09:24:19 +02:00
Alessandro Ranellucci
04b67f0cb0 Refactored OptionsGroup class for cleaner OOP model and cleaner event model 2014-07-01 16:42:12 +02:00
Alessandro Ranellucci
cc4a5412ae Fix regression in Quick Slice and Slice to SVG 2014-06-27 17:21:41 +02:00
Mark Hindess
d961970828 Add missing use for dirname. 2014-06-14 22:54:57 +01:00
Alessandro Ranellucci
182c5eb809 Show contextual menu when right-clicking on a plater object 2014-06-14 21:36:28 +02:00
Alessandro Ranellucci
e9910a2c0b XYZ mirroring from plater 2014-06-14 21:14:33 +02:00
Alessandro Ranellucci
ec7bb40da9 Rotation around X and Y axes from plater 2014-06-14 20:52:21 +02:00
Alessandro Ranellucci
301771e275 Refactored menu creation 2014-06-14 20:26:46 +02:00
Alessandro Ranellucci
d5f6804386 Fixed window size with --no-plater 2014-06-14 20:03:57 +02:00
Alessandro Ranellucci
3d8c8fa46e Import wxTheApp 2014-06-14 19:59:59 +02:00
Alessandro Ranellucci
ddac2d1570 Merged SkeinPanel into MainFrame 2014-06-14 19:54:18 +02:00
Alessandro Ranellucci
93b9116565 Move wxFrame definition to a new Slic3r::GUI::MainFrame class 2014-06-14 19:11:04 +02:00