Commit Graph

77 Commits

Author SHA1 Message Date
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
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
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
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
David Kocik
62cf800db6 adding constantness & removing unused code 2020-01-22 17:15:09 +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
Lukas Matena
13f1bb2e43 An attempt to fix missing renaming from .gcode.tmp to .gcode
Added a missing include
2019-12-21 12:31:32 +01:00
David Kocik
146b942641 set_did_eject method 2019-12-18 10:08:17 +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
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
Slic3rPE
12cb9a8143 macos eject 2019-12-13 13:51:46 +01:00
David Kocik
8f0eef8f36 eject button functionality 2019-12-13 13:51:46 +01:00
David Kocik
f5e3750d23 eject button functionality 2019-12-13 13:51:46 +01:00
Slic3rPE
44b1a9cf7f macos better wrapper 2019-12-13 13:51:46 +01:00
Slic3rPE
9e4f470f98 macos better wrapper 2019-12-13 13:51:46 +01:00
David Kocik
a259058845 macos better wrapper 2019-12-13 13:51:45 +01:00
Slic3rPE
c37128ad63 macos list devices 2019-12-13 13:51:45 +01:00
Slic3rPE
c3653589f6 macos implementation 2019-12-13 13:51:45 +01:00
David Kocik
e0a12342da macos mm files 2019-12-13 13:51:45 +01:00
David Kocik
91c358fe23 osx device unmount callback - not sure if will build 2019-12-13 13:51:45 +01:00
David Kocik
8f069e2d47 windows registration for device notif(thru hidden app) - windows doesnt need update now 2019-12-13 13:51:45 +01:00
David Kocik
b386eb45dc erase callbacks 2019-12-13 13:51:45 +01:00
David Kocik
6396ec571a callback only for used device 2019-12-13 13:51:45 +01:00
David Kocik
66f203379c last save path 2019-12-13 13:51:45 +01:00
David Kocik
63ee4e3a2f last path functions 2019-12-13 13:51:45 +01:00
David Kocik
1c8ca1aec1 refactoring 2019-12-13 13:51:45 +01:00
David Kocik
5db80edcd3 linux eject 2019-12-13 13:51:45 +01:00
David Kocik
17b146c0a3 search for rd as root 2019-12-13 13:51:45 +01:00
David Kocik
735308b794 refactoring 2019-12-13 13:51:45 +01:00
David Kocik
649f3a2c3e add_callback function 2019-12-13 13:51:45 +01:00
David Kocik
1790c795fb rdm update every 2 seconds 2019-12-13 13:51:45 +01:00
David Kocik
852d8ad5cc check if last path is on rem drive 2019-12-13 13:51:45 +01:00
David Kocik
b8b4b1dd42 refactoring 2019-12-13 13:51:45 +01:00
David Kocik
04ef585124 removable drives manager linux part 2019-12-13 13:51:45 +01:00
David Kocik
8b4732e811 removable drive manager - Windows part 2019-12-13 13:51:45 +01:00