1
0
mirror of https://github.com/FULU-Foundation/OrcaSlicer-bambulab.git synced 2026-07-11 08:04:25 +00:00
Commit Graph

130 Commits

Author SHA1 Message Date
David Kocik 99f5dfbde7 Added error-checking for child.wait() call during removable drive ejection (to prevent #5507)
Mark Ejection as failed if the wait() function fails. It seems that it is not simply possible
to retrieve the exit code of the process in that case (although it usually finishes sucessfully).
2020-12-22 12:18:30 +01:00
david kocik ae926bd1ed error_code in boost::filesystem::space to ensure the drive exists. Fix of #5354 2020-12-02 12:12:24 +01:00
David Kocik c6e9b48db5 eject debug log 2020-11-19 15:57:38 +01:00
David Kocik 3ca3a544a8 New Export Finished notification showing path and opening containing folder. Fix of #4917. Fixed wrongly grayed eject button in File menu. Hopefully fix of ctrl shortcut of tooltips at sidebar. 2020-11-04 09:29:08 +01:00
David Kocik 67d2f43845 Showing Eject button only after exporting is finished. Fix of #4212 2020-07-26 21:16:17 +02:00
bubnikv 58192ba6c2 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 3fdd643f49 Fix of PrusaSlicer trying to access my floppy disk (A:\)
Some customers seem to posses a floppy drive (sic!) and some floppy
drives start spinning if accessed just to check whether there is
a medium plugged in or not.

From now, the A: and B: drives are not checked anymore for removable
media. Now let's pray nobody maps an SD card or flash drive to A: or B:

Fixes
https://forum.prusaprinters.org/forum/prusaslicer/prusaslicer-trying-to-access-my-floppy-disk-a
2020-03-26 19:06:23 +01:00
bubnikv 3234823a1a Windows do not send an update on insert / eject of an SD card into
an external SD card reader. Windows also do not send an update
on software eject of a FLASH drive. We can likely use the Windows
WMI API, but it will be quite time consuming to implement,
therefore we lower the polling interval back to two seconds.

https://www.codeproject.com/Articles/10539/Making-WMI-Queries-In-C
https://docs.microsoft.com/en-us/windows/win32/wmisdk/wmi-start-page
https://docs.microsoft.com/en-us/windows/win32/wmisdk/com-api-for-wmi
https://docs.microsoft.com/en-us/windows/win32/wmisdk/example--receiving-event-notifications-through-wmi-
2020-03-13 19:30:41 +01:00
bubnikv 98fc01afe7 Fix of compilation on OSX and Linux, update of camera after 3D mouse
disconnect moved to the main thread.
2020-03-13 14:57:45 +01:00
bubnikv 2f6326a2eb 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
bubnikv b71161265f Follow-up on 550e5c2fbb3a5151e18b573f246fa78dcef8e964
Fixed some spurious moves of data that should have not been moved.
2020-03-12 12:57:52 +01:00
David Kocik 3858257e28 info message - ejecting of sd/flash has failed 2020-03-12 12:57:52 +01:00
David Kocik b941560736 RemovableDriveManager: not calling update from status()
Update was called too often on main thread mostly from status() causing delays
2020-03-12 11:57:05 +01:00
bubnikv c145d60df4 Improvement in the RemovableDriveManager update function:
Don't call the update() if it is already running. Wait for the
other instance to finish instead.
2020-03-12 11:30:58 +01:00
David Kocik e6035542fa ejecting sd card/flash drives with boost::process::child on mac/linux 2020-03-10 08:29:11 +01:00
David Kocik 0836df93e1 enumarating removable drives on mac - added Secure Digital option
hopefully a fix for issue #3793
2020-03-09 15:34:26 +01:00
bubnikv aac691c0e7 Forced SD card / USB drive eject now sends out the event immediately
on Windows as well as on Unix platforms including OSX.
2020-03-09 11:47:20 +01:00
bubnikv e83fb4582c Reworked the eject on unix systems to wait for the return of the
system call to the command line utility and send out the unmount
wxWidgets event immediately.
Hopefully improves 2.2.0-RC Eject is very slow in Linux (#3795)
2020-03-09 10:56:51 +01:00
bubnikv d4ac4df21c 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 5052ef88db Fixed crash on removable device plug in event due to recent
RemovableDriveManager refactoring.
2020-03-07 10:17:58 +01:00
bubnikv b3b800de65 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
Slic3rPE b31244cc35 linux/osx bug fix checking file path 2020-02-06 09:31:25 +01:00
David Kocik 62cf800db6 adding constantness & removing unused code 2020-01-22 17:15:09 +01:00
David Kocik 4c46bece96 removable drive manager bug fixes linux 2020-01-21 13:29:39 +01:00
David Kocik 8cf2a97807 removable drive manager bug fixes 2020-01-21 13:29:39 +01:00
David Kocik 53f04b4bfd callback for showing action buttons when device is connected/disconnected 2020-01-21 13:29:39 +01:00
David Kocik 7e97576e56 button for exporting gcode to harddrive 2020-01-21 13:29:39 +01:00
bubnikv 5078604182 Trying to fix Linux compilation 2020-01-06 11:59:24 +01:00
bubnikv 704e10c55a Replaced unix basename() with boost::filesystem::basename(),
as various unices define basename() differently.
2020-01-06 11:32:17 +01:00
bubnikv 9406b50447 Const correctness improvements:
removed some unnecessary const_casts that remove const.
2020-01-03 16:33:04 +01:00
David Kocik 74e24213e6 boost::filesystem instead std:: 2019-12-19 17:05:23 +01:00
David Kocik 58a8e9e7e0 Merge branch 'dk_remote_devices' of https://github.com/prusa3d/PrusaSlicer into dk_remote_devices 2019-12-19 16:28:28 +01:00
David Kocik 8d52663871 free space check linux + mac 2019-12-19 16:27:48 +01:00
David Kocik d7698a36cb changes in plater.cpp 2019-12-19 14:19:41 +01:00
David Kocik 7b95ec486f ommit last filename when checking if path is on drive 2019-12-19 11:47:02 +01:00
David Kocik 3d08e8ae32 is path on removable drive 2019-12-19 11:13:27 +01:00
David Kocik 146b942641 set_did_eject method 2019-12-18 10:08:17 +01:00
David Kocik 7e4e1745af bug fix - using two devices 2019-12-18 09:36:26 +01:00
Slic3rPE b8aa12486e macos device detection 2019-12-17 13:08:17 +01:00
David Kocik a029e689d8 verification of save path 2019-12-16 17:15:27 +01:00
David Kocik 233b60bc12 macos first update bug fix 2019-12-16 14:06:25 +01:00
David Kocik 0db9815467 correct beahvior when disconnecting device other way than button in slicer 2019-12-16 13:53:12 +01:00
David Kocik 5a26be1150 message box about succesful removal 2019-12-13 18:02:25 +01:00
David Kocik 81a2f8535a merge 2019-12-13 15:26:42 +01:00
David Kocik 9c79c7f644 prev commit linux part 2019-12-13 15:12:20 +01:00
David Kocik 1ec7fc23e2 check if last path is on rem drive 2019-12-13 15:07:35 +01:00
David Kocik 72f1adbb44 refactoring 2019-12-13 15:05:01 +01:00
David Kocik 4bf8a0ef24 removable drives manager linux part 2019-12-13 14:54:25 +01:00
David Kocik f3ecf55d38 removable drive manager - Windows part 2019-12-13 14:54:25 +01:00
David Kocik 8e1292f353 comments 2019-12-13 13:51:46 +01:00