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
David Kocik
9085440c15
button show after write
2019-12-13 13:51:46 +01:00
David Kocik
2c7b711f76
eject button after export
2019-12-13 13:51:46 +01:00
David Kocik
1d25201a12
linux eject
2019-12-13 13:51:46 +01:00
Slic3rPE
19789d78c2
macos eject
2019-12-13 13:51:46 +01:00