Commit Graph

267 Commits

Author SHA1 Message Date
Lukas Matena
802a58cdb4 Include cleanup: GUI_ObjectManipulation.hpp, GUI, GUI_Preview 2020-05-26 13:45:36 +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
YuSanka
00d2c14e4f Bug fixing:
OSX specific: 1. For slNew and slDlg settings layout modes main frame could be minimized to the ridicules size.
                 So, set size for the Plater (as a min(default) size for the wxPanel)
              2. model->Clear() invoke wxEVT_DATAVIEW_SELECTION_CHANGED. So, set prevent_list_events before this call.
              3. Added a rounding for the scale value

Fix of #4261 (for the English version was called GetValue for non-created check control)
2020-05-18 15:59:09 +02:00
David Kocik
c3f0ef7a84 single instance check
processing paths with whitespaces
unified lock for all systems - wxInstanceChecker
checking a messaging only for same binaries
2020-05-15 09:34:53 +02:00
YuSanka
41a696032e Auto scale of the toolbars in respect to the canvas size 2020-05-12 23:07:35 +02:00
enricoturri1966
5cc6967c49 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-05-07 16:47:28 +02:00
enricoturri1966
b16837e136 Fix for tooltip not disappearing when loading an object using the top toolbar 'Add' command and when swithing to preview 2020-05-07 16:47:15 +02:00
YuSanka
cee3d798eb Layouts:
1. Fixed crash on OSX after change of the settings layout (PreferencesDialog should be destroyed before call of recreate_GUI)
2. Fixed dialog message during GUI recreation
3. In PreferencesDialog changed radio buttons view (under OSX they were bold)
4. slDlg mode - fixed switching between main frame and settings dialog (dialog->SetFocus() doesn't work under OSX, so we just hide it and show again)
2020-05-07 15:37:18 +02:00
YuSanka
bd92fa60f2 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-05-06 15:15:31 +02:00
YuSanka
14357d0f56 Merge remote-tracking branch 'origin/ys_layouts' 2020-05-06 14:44:30 +02:00
enricoturri1966
78b03f411d GLCanvas3DManager replaced by OpenGLManager 2020-05-06 14:38:53 +02:00
enricoturri1966
8bba1d96dc Tech ENABLE_NON_STATIC_CANVAS_MANAGER set as default 2020-05-06 12:19:34 +02:00
bubnikv
bfdb9afa24 Bumped up version number to 2.3.0-alpha0 2020-05-05 13:11:32 +02:00
YuSanka
3e3698ebae New Layouts: There 3 mode of a layout of the settings tabpanel :
1. Old mode, as it was always.
2. New mode, when Settings Tabs are hidden on the Plater. Use "cog" icon for the switching to the settings tabs
3. Dlg mode, when Settings Tabs are extracted to the Settings dialog. Use "cog" icon for Show or Focus the Settings Dialog

The "Collapse sidebar" toolbar appearance is set in the Preferences.
2020-05-04 22:31:59 +02:00
YuSanka
1e6fdf6d80 Merge remote-tracking branch 'origin/master' into ys_search 2020-04-29 14:56:31 +02:00
bubnikv
5d1356203f Localization fixes. 2020-04-29 14:42:43 +02:00
David Kocik
4102c86b5d single slicer instance
check for other instances during startup
send message with command line arguments if found and terminate
listen for those messages and load objects from paths in messages from them
2020-04-29 10:53:48 +02:00
YuSanka
58bbe6e0d2 Collapse_toolbar: fixed draw items
+ Extended toolbar
2020-04-23 21:00:00 +02:00
YuSanka
7805778ab8 First implementation of the separate plater from the settings tabs
+ Added collapse_toolbar
2020-04-23 17:11:49 +02:00
tamasmeszaros
34008b5467 Add question box on PrusaSlicer start to accept detected CA store..
Fix compile
2020-04-22 17:14:09 +02:00
YuSanka
80779cd719 Localization: Fix of #4035
+ Added context for "Advanced" ("Mode")
+ Updated POT
2020-04-16 11:36:41 +02:00
bubnikv
2bda907a5b WIP: Windows specific 3Dconnexion using WM_INPUT.
This implementation works with the 3DConnexion driver (sic!)
if PrusaSlicer.xml is stored into c:\Program Files\3Dconnexion\3DxWare\3DxWinCore64\Cfg\

The implementation is inspired with Blender, see code inside WITH_INPUT_NDOF blocks.
2020-03-31 09:01:55 +02:00
bubnikv
33c8e02d5d Win32 specific: Using SHChangeNotifyRegister to get notifications
on removable media insert / eject events.
From now on we no more poll for removable media on Windows.

Thanks @mjgtp from prusaprinters.org
See the following discussion:
https://forum.prusaprinters.org/forum/prusaslicer/prusaslicer-trying-to-access-my-floppy-disk-a

The final working code sample was taken from Chromium source code,
volume_mount_watcher_win.cc
2020-03-27 08:10:00 +01:00
bubnikv
856e5f1471 Fixed a logical error in substitution of the selected language with
the system language: System language returned by Windows for pt_BR
is pt_PT, and this language was then used incorrectly to select
the dictionary.

Now the selected language is stored into PrusaSlicer.ini and
if a substitution is to be performed to select locales (not the dictionary)
based on the system recommended locales, this substitution is being
done in runtime just before switching the locales.
Fixes PrusaSlicer 2.3.0 - Language Portuguese (Brazilian) dont work #3901

Also hopefully fixed
LANGUAGE environment variable not respected #2970
by calling
wxTranslations::Get()->GetBestTranslation()
on Unix systems as well, which reads the "LANGUAGE" environment.
2020-03-26 14:27:18 +01:00
enricoturri1966
78a0893d6a Fixed conflicts after merge with master 2020-03-25 14:41:47 +01:00
enricoturri1966
c8bffb7f2a Refactoring of toolbars' tooltip generation 2020-03-24 12:26:30 +01:00
bubnikv
4cd1243a79 Windows specific refactoring of Mouse3DController and RemovableDriveManager.
PrusaSlicer newly registers by Windows operating system for HID USB
plug / unplug notifications and for Volume attach / detach notifications,
and the background threads of the two respective services are waken up
on these Windows notifications.
The RemovableDriveManager also wakes up every 30 seconds to cope with
the drives ejected from Windows Explorer or from another application,
for example Cura, for which Windows OS does not send out notifications.
2020-03-13 14:19:14 +01:00
Enrico Turri
9a7d6507b9 Fixed conflict after merge with master 2020-03-11 13:16:15 +01:00
Enrico Turri
5ad274fd62 Fix of crash and/or assert when changing language 2020-03-11 12:19:52 +01:00
Enrico Turri
55306185b7 Fixed conflicts after merge with master 2020-03-09 16:03:15 +01:00
bubnikv
3105b131d6 Fixed crash on switching the application language.
This crash was caused by the RemovableDriveManager and 3DConnexion
detection services not being stopped correctly.
The fix executes all the tasks of the MainFrame at the language switch,
that are normally performed on application shut down.
2020-03-07 12:24:53 +01:00
bubnikv
f2fce0f262 Refactoring of RemovableDriveManager:
1) On Windows and Linux, the device enumeration now runs at a background
   thread, while it ran on the UI thread on idle, which may have been
   blocking on some rare Windows setups, see GH #3515 #3733 #3746 #3766
2) On OSX, the device enumeration now relies on OS callback, no
   polling is required.
3) Refactored for cleaner interface.
2020-03-06 15:10:58 +01:00
Enrico Turri
8c731efd53 Removed temporary debug output and clean up 2020-03-05 10:14:12 +01:00
Enrico Turri
467315f25c Added temporary debug output to investigate crash on MAC when closing using Command+Q 2020-03-04 14:19:15 +01:00
Enrico Turri
2a38f85772 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_canvas_manager 2020-03-03 11:10:59 +01:00
Lukas Matena
a29177d355 Fixing wxString::Format encoding mismatches (part 2) 2020-03-03 10:54:17 +01:00
Enrico Turri
d512f1814a Removed temporary debug output 2020-03-03 08:34:03 +01:00
Enrico Turri
5572e05356 Added temporary debug output 2020-03-02 15:22:41 +01:00
Enrico Turri
5407256c73 Fixed conflicts after merge with master 2020-03-02 11:35:03 +01:00
Enrico Turri
f61f6a98a5 GLCanvas3DManager moved from being a static member of _3DScene to be a normal member of GUI_App 2020-03-02 10:58:46 +01:00
bubnikv
e103034870 Updated printer profiles, bumped up version to 2.2.0-rc. 2020-02-29 10:53:18 +01:00
Lukas Matena
cbe780671a Fix of dark mode detection on macOS 10.12 and 10.13 2020-02-28 15:28:04 +01:00
bubnikv
ba18e18082 Various changes in handling of profile compatiblilities
and the "show incompatible profiles" option.

It was not able to select the incompatible Print profile, which is
possible now.
(see Cannot select incompatible printer profile #3715)

When the Printer profile derived from the Prusa3D system profile was
active or a system Prusa3D profile was active, and when the Print profile
with the removed "inherits" field was active (or any other profile
derived from the "-- default --" profile was active), then the filament
selector offered just the profiles with the removed "inherits" field
(or any other profile derived from the "-- default--") profile.
This behavior has been now changed, so that in this scenario the Filament selector
will offer the Prusa3D vendor profiles compatible with the active Print
and Printer profile as well as the user profiles.

Slicer was also changed to keep an incompatible preset selected
at its respective tab if its respective "Red flag" is enabled.
For example, if an incompatible Print preset is selected and a Printer
profile is switched to another one which is not compatible with the active
Print preset that was red already, the active Print preset is
not switched if the Print "Red flag" is active. However, if the Print profile
was compatible before the Printer profile is switched and now the Print
profile becomes incompatible, another compatible Print profile is selected.

A likely bug in wxWidgets was worked around when switching a Print preset
on Plater, if the last item in the Print preset was active and incompatible,
and another Print preset was selected by the user. On Windows, an CBN_EDITCHANGE
is sent just after combo box selection change event and the CBN_EDITCHANGE
holds an index of the combo box item, which will be removed by the 1st event,
therefore leading to an assert in wxWidgets on CBN_EDITCHANGE. The workaround
is to disable processing of CBN_EDITCHANGE on Windows for the Plater
preset selection combo boxes.
2020-02-27 11:44:12 +01:00
Lukas Matena
7df9c375e1 Several translation-related fixes
ConfigWizard name was missing translation macro in several places
Few typos corrected
Some string conversions fixed
Two strings were not marked for translation
2020-02-24 11:00:48 +01:00
bubnikv
b2055a63b5 Bumped up version to 2.2.0-beta
Changed the profile directory from PrusaSlicer-alpha to PrusaSlicer-beta
2020-02-21 18:44:53 +01:00
bubnikv
c5cb85c20a 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
YuSanka
fe18940d37 Localization: New POT 2020-02-19 13:21:31 +01:00
David Kocik
7b45da5811 configuration updater
forced update dialog
check for updates button
check address when downloading bundles
2020-02-04 15:27:11 +01:00
bubnikv
6bf2a2a339 Forcing a print bed update after config or config bundle is loaded.
The solution is hackish, but a major refactoring would be needed
to avoid multiple refreshes of the print bed, and to avoid
expensive checks at Plater::on_config_change() every time
a config value changes at a parameter tab.
2020-01-24 15:16:36 +01:00
David Kocik
51ee282b83 Merge branch 'master' into dk_remote_devices 2019-12-19 08:58:11 +01:00