--- a/eric6/MicroPython/MicroPythonWidget.py Thu Feb 04 14:35:50 2021 +0100 +++ b/eric6/MicroPython/MicroPythonWidget.py Thu Feb 04 14:38:01 2021 +0100 @@ -1000,14 +1000,15 @@ self.__showNoDeviceMessage() return - workspace = self.__device.getWorkspace() - fileName = E5FileDialog.getOpenFileName( - self, - self.tr("Open Python File"), - workspace, - self.tr("Python3 Files (*.py);;All Files (*)")) - if fileName: - e5App().getObject("ViewManager").openSourceFile(fileName) + workspace = self.getDeviceWorkspace() + if workspace: + fileName = E5FileDialog.getOpenFileName( + self, + self.tr("Open Python File"), + workspace, + self.tr("Python3 Files (*.py);;All Files (*)")) + if fileName: + e5App().getObject("ViewManager").openSourceFile(fileName) @pyqtSlot() def on_saveButton_clicked(self): @@ -1018,10 +1019,11 @@ self.__showNoDeviceMessage() return - workspace = self.__device.getWorkspace() aw = e5App().getObject("ViewManager").activeWindow() if aw: - aw.saveFileAs(workspace) + workspace = self.getDeviceWorkspace() + if workspace: + aw.saveFileAs(workspace) @pyqtSlot(bool) def on_chartButton_clicked(self, checked): @@ -1132,21 +1134,26 @@ """<p>Reason: {0}</p>""").format(reason)) return - if not self.__interface.isConnected(): - self.__connectToDevice() - self.__fileManagerWidget = MicroPythonFileManagerWidget( - self.__interface, self.__device.supportsLocalFileAccess(), - self) - - self.__ui.addSideWidget(self.__ui.BottomSide, - self.__fileManagerWidget, - UI.PixmapCache.getIcon("filemanager"), - self.tr("µPy Files")) - self.__ui.showSideWidget(self.__fileManagerWidget) + with E5OverrideCursor(): + if not self.__interface.isConnected(): + self.__connectToDevice() + if self.__connected: + self.__fileManagerWidget = MicroPythonFileManagerWidget( + self.__interface, + self.__device.supportsLocalFileAccess(), + self) + + self.__ui.addSideWidget( + self.__ui.BottomSide, + self.__fileManagerWidget, + UI.PixmapCache.getIcon("filemanager"), + self.tr("µPy Files") + ) + self.__ui.showSideWidget(self.__fileManagerWidget) - self.__device.setFileManager(True) - - self.__fileManagerWidget.start() + self.__device.setFileManager(True) + + self.__fileManagerWidget.start() else: self.__fileManagerWidget.stop() @@ -1497,7 +1504,11 @@ if fn: defaultDirectory = os.path.dirname(fn) if not defaultDirectory: - defaultDirectory = Preferences.getMultiProject("Workspace") + defaultDirectory = ( + Preferences.getMicroPython("MpyWorkspace") or + Preferences.getMultiProject("Workspace") or + os.path.expanduser("~") + ) pythonFile = E5FileDialog.getOpenFileName( self, title,