eric6/MicroPython/MicroPythonWidget.py

changeset 8067
a467ab075be0
parent 8061
979562f350bf
child 8071
408756e389d0
equal deleted inserted replaced
8066:1208cdae96b6 8067:a467ab075be0
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 (*)"))

eric ide

mercurial