998 """ |
998 """ |
999 if not self.__device: |
999 if not self.__device: |
1000 self.__showNoDeviceMessage() |
1000 self.__showNoDeviceMessage() |
1001 return |
1001 return |
1002 |
1002 |
1003 workspace = self.__device.getWorkspace() |
1003 workspace = self.getDeviceWorkspace() |
1004 fileName = E5FileDialog.getOpenFileName( |
1004 if workspace: |
1005 self, |
1005 fileName = E5FileDialog.getOpenFileName( |
1006 self.tr("Open Python File"), |
1006 self, |
1007 workspace, |
1007 self.tr("Open Python File"), |
1008 self.tr("Python3 Files (*.py);;All Files (*)")) |
1008 workspace, |
1009 if fileName: |
1009 self.tr("Python3 Files (*.py);;All Files (*)")) |
1010 e5App().getObject("ViewManager").openSourceFile(fileName) |
1010 if fileName: |
|
1011 e5App().getObject("ViewManager").openSourceFile(fileName) |
1011 |
1012 |
1012 @pyqtSlot() |
1013 @pyqtSlot() |
1013 def on_saveButton_clicked(self): |
1014 def on_saveButton_clicked(self): |
1014 """ |
1015 """ |
1015 Private slot to save the current editor to the connected device. |
1016 Private slot to save the current editor to the connected device. |
1016 """ |
1017 """ |
1017 if not self.__device: |
1018 if not self.__device: |
1018 self.__showNoDeviceMessage() |
1019 self.__showNoDeviceMessage() |
1019 return |
1020 return |
1020 |
1021 |
1021 workspace = self.__device.getWorkspace() |
|
1022 aw = e5App().getObject("ViewManager").activeWindow() |
1022 aw = e5App().getObject("ViewManager").activeWindow() |
1023 if aw: |
1023 if aw: |
1024 aw.saveFileAs(workspace) |
1024 workspace = self.getDeviceWorkspace() |
|
1025 if workspace: |
|
1026 aw.saveFileAs(workspace) |
1025 |
1027 |
1026 @pyqtSlot(bool) |
1028 @pyqtSlot(bool) |
1027 def on_chartButton_clicked(self, checked): |
1029 def on_chartButton_clicked(self, checked): |
1028 """ |
1030 """ |
1029 Private slot to open a chart view to plot data received from the |
1031 Private slot to open a chart view to plot data received from the |
1130 self.tr("Start File Manager"), |
1132 self.tr("Start File Manager"), |
1131 self.tr("""<p>The File Manager cannot be started.</p>""" |
1133 self.tr("""<p>The File Manager cannot be started.</p>""" |
1132 """<p>Reason: {0}</p>""").format(reason)) |
1134 """<p>Reason: {0}</p>""").format(reason)) |
1133 return |
1135 return |
1134 |
1136 |
1135 if not self.__interface.isConnected(): |
1137 with E5OverrideCursor(): |
1136 self.__connectToDevice() |
1138 if not self.__interface.isConnected(): |
1137 self.__fileManagerWidget = MicroPythonFileManagerWidget( |
1139 self.__connectToDevice() |
1138 self.__interface, self.__device.supportsLocalFileAccess(), |
1140 if self.__connected: |
1139 self) |
1141 self.__fileManagerWidget = MicroPythonFileManagerWidget( |
1140 |
1142 self.__interface, |
1141 self.__ui.addSideWidget(self.__ui.BottomSide, |
1143 self.__device.supportsLocalFileAccess(), |
1142 self.__fileManagerWidget, |
1144 self) |
1143 UI.PixmapCache.getIcon("filemanager"), |
1145 |
1144 self.tr("µPy Files")) |
1146 self.__ui.addSideWidget( |
1145 self.__ui.showSideWidget(self.__fileManagerWidget) |
1147 self.__ui.BottomSide, |
|
1148 self.__fileManagerWidget, |
|
1149 UI.PixmapCache.getIcon("filemanager"), |
|
1150 self.tr("µPy Files") |
|
1151 ) |
|
1152 self.__ui.showSideWidget(self.__fileManagerWidget) |
1146 |
1153 |
1147 self.__device.setFileManager(True) |
1154 self.__device.setFileManager(True) |
1148 |
1155 |
1149 self.__fileManagerWidget.start() |
1156 self.__fileManagerWidget.start() |
1150 else: |
1157 else: |
1151 self.__fileManagerWidget.stop() |
1158 self.__fileManagerWidget.stop() |
1152 |
1159 |
1153 if (not self.replButton.isChecked() and |
1160 if (not self.replButton.isChecked() and |
1154 not self.chartButton.isChecked()): |
1161 not self.chartButton.isChecked()): |
1495 if aw: |
1502 if aw: |
1496 fn = aw.getFileName() |
1503 fn = aw.getFileName() |
1497 if fn: |
1504 if fn: |
1498 defaultDirectory = os.path.dirname(fn) |
1505 defaultDirectory = os.path.dirname(fn) |
1499 if not defaultDirectory: |
1506 if not defaultDirectory: |
1500 defaultDirectory = Preferences.getMultiProject("Workspace") |
1507 defaultDirectory = ( |
|
1508 Preferences.getMicroPython("MpyWorkspace") or |
|
1509 Preferences.getMultiProject("Workspace") or |
|
1510 os.path.expanduser("~") |
|
1511 ) |
1501 pythonFile = E5FileDialog.getOpenFileName( |
1512 pythonFile = E5FileDialog.getOpenFileName( |
1502 self, |
1513 self, |
1503 title, |
1514 title, |
1504 defaultDirectory, |
1515 defaultDirectory, |
1505 self.tr("Python Files (*.py);;All Files (*)")) |
1516 self.tr("Python Files (*.py);;All Files (*)")) |