231 with E5OverrideCursor(): |
231 with E5OverrideCursor(): |
232 res = self.__multiProjectFile.readFile(fn) |
232 res = self.__multiProjectFile.readFile(fn) |
233 else: |
233 else: |
234 # old XML based format |
234 # old XML based format |
235 f = QFile(fn) |
235 f = QFile(fn) |
236 if f.open(QIODevice.ReadOnly): |
236 if f.open(QIODevice.OpenModeFlag.ReadOnly): |
237 with E5OverrideCursor(): |
237 with E5OverrideCursor(): |
238 from E5XML.MultiProjectReader import MultiProjectReader |
238 from E5XML.MultiProjectReader import MultiProjectReader |
239 reader = MultiProjectReader(f, self) |
239 reader = MultiProjectReader(f, self) |
240 reader.readXML() |
240 reader.readXML() |
241 f.close() |
241 f.close() |
283 # new JSON based format |
283 # new JSON based format |
284 res = self.__multiProjectFile.writeFile(fn) |
284 res = self.__multiProjectFile.writeFile(fn) |
285 else: |
285 else: |
286 # old XML based format |
286 # old XML based format |
287 f = QFile(fn) |
287 f = QFile(fn) |
288 if f.open(QIODevice.WriteOnly): |
288 if f.open(QIODevice.OpenModeFlag.WriteOnly): |
289 from E5XML.MultiProjectWriter import MultiProjectWriter |
289 from E5XML.MultiProjectWriter import MultiProjectWriter |
290 MultiProjectWriter( |
290 MultiProjectWriter( |
291 f, |
291 f, |
292 self, os.path.splitext(os.path.basename(fn))[0] |
292 self, os.path.splitext(os.path.basename(fn))[0] |
293 ).writeXML() |
293 ).writeXML() |
336 startdir = self.ppath |
336 startdir = self.ppath |
337 if not startdir: |
337 if not startdir: |
338 startdir = Preferences.getMultiProject("Workspace") |
338 startdir = Preferences.getMultiProject("Workspace") |
339 dlg = AddProjectDialog(self.ui, startdir=startdir, |
339 dlg = AddProjectDialog(self.ui, startdir=startdir, |
340 categories=self.categories, category=category) |
340 categories=self.categories, category=category) |
341 if dlg.exec() == QDialog.Accepted: |
341 if dlg.exec() == QDialog.DialogCode.Accepted: |
342 name, filename, isMaster, description, category, uid = ( |
342 name, filename, isMaster, description, category, uid = ( |
343 dlg.getData() |
343 dlg.getData() |
344 ) |
344 ) |
345 |
345 |
346 # step 1: check, if project was already added |
346 # step 1: check, if project was already added |
515 if not self.checkDirty(): |
515 if not self.checkDirty(): |
516 return |
516 return |
517 |
517 |
518 from .PropertiesDialog import PropertiesDialog |
518 from .PropertiesDialog import PropertiesDialog |
519 dlg = PropertiesDialog(self, True) |
519 dlg = PropertiesDialog(self, True) |
520 if dlg.exec() == QDialog.Accepted: |
520 if dlg.exec() == QDialog.DialogCode.Accepted: |
521 self.closeMultiProject() |
521 self.closeMultiProject() |
522 dlg.storeData() |
522 dlg.storeData() |
523 self.opened = True |
523 self.opened = True |
524 self.setDirty(True) |
524 self.setDirty(True) |
525 self.closeAct.setEnabled(True) |
525 self.closeAct.setEnabled(True) |
532 """ |
532 """ |
533 Private slot to display the properties dialog. |
533 Private slot to display the properties dialog. |
534 """ |
534 """ |
535 from .PropertiesDialog import PropertiesDialog |
535 from .PropertiesDialog import PropertiesDialog |
536 dlg = PropertiesDialog(self, False) |
536 dlg = PropertiesDialog(self, False) |
537 if dlg.exec() == QDialog.Accepted: |
537 if dlg.exec() == QDialog.DialogCode.Accepted: |
538 dlg.storeData() |
538 dlg.storeData() |
539 self.setDirty(True) |
539 self.setDirty(True) |
540 self.multiProjectPropertiesChanged.emit() |
540 self.multiProjectPropertiesChanged.emit() |
541 |
541 |
542 @pyqtSlot() |
542 @pyqtSlot() |