eric7/MultiProject/MultiProject.py

branch
eric7
changeset 8351
7d13e08ddb3f
parent 8327
666c2b81cbb7
child 8356
68ec9c3d4de5
equal deleted inserted replaced
8350:74a3b2a6a944 8351:7d13e08ddb3f
234 else: 234 else:
235 # old XML based format 235 # old XML based format
236 f = QFile(fn) 236 f = QFile(fn)
237 if f.open(QIODevice.OpenModeFlag.ReadOnly): 237 if f.open(QIODevice.OpenModeFlag.ReadOnly):
238 with E5OverrideCursor(): 238 with E5OverrideCursor():
239 from E5XML.MultiProjectReader import MultiProjectReader 239 from EricXML.MultiProjectReader import MultiProjectReader
240 reader = MultiProjectReader(f, self) 240 reader = MultiProjectReader(f, self)
241 reader.readXML() 241 reader.readXML()
242 f.close() 242 f.close()
243 res = not reader.hasError() 243 res = not reader.hasError()
244 else: 244 else:
278 @return flag indicating success 278 @return flag indicating success
279 """ 279 """
280 if fn is None: 280 if fn is None:
281 fn = self.pfile 281 fn = self.pfile
282 282
283 if os.path.splitext(fn)[1] == ".emj": 283 res = self.__multiProjectFile.writeFile(fn)
284 # new JSON based format
285 res = self.__multiProjectFile.writeFile(fn)
286 else:
287 # old XML based format
288 f = QFile(fn)
289 if f.open(QIODevice.OpenModeFlag.WriteOnly):
290 from E5XML.MultiProjectWriter import MultiProjectWriter
291 MultiProjectWriter(
292 f,
293 self, os.path.splitext(os.path.basename(fn))[0]
294 ).writeXML()
295 res = True
296 else:
297 E5MessageBox.critical(
298 self.ui,
299 self.tr("Save Multi Project File"),
300 self.tr(
301 "<p>The multi project file <b>{0}</b> could not be "
302 "written.</p>").format(fn))
303 res = False
304
305 if res: 284 if res:
306 self.pfile = os.path.abspath(fn) 285 self.pfile = os.path.abspath(fn)
307 self.ppath = os.path.abspath(os.path.dirname(fn)) 286 self.ppath = os.path.abspath(os.path.dirname(fn))
308 self.name = os.path.splitext(os.path.basename(fn))[0] 287 self.name = os.path.splitext(os.path.basename(fn))[0]
309 self.setDirty(False) 288 self.setDirty(False)
622 (Preferences.getMultiProject("Workspace") or 601 (Preferences.getMultiProject("Workspace") or
623 Utilities.getHomeDir()) 602 Utilities.getHomeDir())
624 ) 603 )
625 fn, selectedFilter = E5FileDialog.getSaveFileNameAndFilter( 604 fn, selectedFilter = E5FileDialog.getSaveFileNameAndFilter(
626 self.parent(), 605 self.parent(),
627 self.tr("Save multiproject as"), 606 self.tr("Save Multiproject"),
628 defaultPath, 607 defaultPath,
629 self.tr("Multi Project Files (*.emj);;" 608 self.tr("Multi Project Files (*.emj)"),
630 "XML Multi Project Files (*.e5m)"),
631 defaultFilter, 609 defaultFilter,
632 E5FileDialog.DontConfirmOverwrite) 610 E5FileDialog.DontConfirmOverwrite)
633 611
634 if fn: 612 if fn:
635 ext = QFileInfo(fn).suffix() 613 ext = QFileInfo(fn).suffix()

eric ide

mercurial