391 self.viewmanager = viewmanager |
391 self.viewmanager = viewmanager |
392 self.groups = {} |
392 self.groups = {} |
393 |
393 |
394 self.setHeaderLabels(["Template"]) |
394 self.setHeaderLabels(["Template"]) |
395 self.header().hide() |
395 self.header().hide() |
396 self.header().setSortIndicator(0, Qt.AscendingOrder) |
396 self.header().setSortIndicator(0, Qt.SortOrder.AscendingOrder) |
397 self.setRootIsDecorated(True) |
397 self.setRootIsDecorated(True) |
398 self.setAlternatingRowColors(True) |
398 self.setAlternatingRowColors(True) |
399 |
399 |
400 self.__menu = QMenu(self) |
400 self.__menu = QMenu(self) |
401 self.applyAct = self.__menu.addAction( |
401 self.applyAct = self.__menu.addAction( |
434 self.__activating = False |
434 self.__activating = False |
435 self.__dirty = False |
435 self.__dirty = False |
436 |
436 |
437 self.__templatesFile = TemplatesFile(self) |
437 self.__templatesFile = TemplatesFile(self) |
438 |
438 |
439 self.setContextMenuPolicy(Qt.CustomContextMenu) |
439 self.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu) |
440 self.customContextMenuRequested.connect(self.__showContextMenu) |
440 self.customContextMenuRequested.connect(self.__showContextMenu) |
441 self.itemActivated.connect(self.__templateItemActivated) |
441 self.itemActivated.connect(self.__templateItemActivated) |
442 |
442 |
443 self.setWindowIcon(UI.PixmapCache.getIcon("eric")) |
443 self.setWindowIcon(UI.PixmapCache.getIcon("eric")) |
444 |
444 |
492 groupName = itm.getGroupName() |
492 groupName = itm.getGroupName() |
493 |
493 |
494 from .TemplatePropertiesDialog import TemplatePropertiesDialog |
494 from .TemplatePropertiesDialog import TemplatePropertiesDialog |
495 dlg = TemplatePropertiesDialog(self) |
495 dlg = TemplatePropertiesDialog(self) |
496 dlg.setSelectedGroup(groupName) |
496 dlg.setSelectedGroup(groupName) |
497 if dlg.exec() == QDialog.Accepted: |
497 if dlg.exec() == QDialog.DialogCode.Accepted: |
498 name, description, groupName, template = dlg.getData() |
498 name, description, groupName, template = dlg.getData() |
499 self.addEntry(groupName, name, description, template) |
499 self.addEntry(groupName, name, description, template) |
500 self.__dirty = True |
500 self.__dirty = True |
501 |
501 |
502 def __addGroup(self): |
502 def __addGroup(self): |
503 """ |
503 """ |
504 Private slot to handle the Add Group context menu action. |
504 Private slot to handle the Add Group context menu action. |
505 """ |
505 """ |
506 from .TemplatePropertiesDialog import TemplatePropertiesDialog |
506 from .TemplatePropertiesDialog import TemplatePropertiesDialog |
507 dlg = TemplatePropertiesDialog(self, True) |
507 dlg = TemplatePropertiesDialog(self, True) |
508 if dlg.exec() == QDialog.Accepted: |
508 if dlg.exec() == QDialog.DialogCode.Accepted: |
509 name, language = dlg.getData() |
509 name, language = dlg.getData() |
510 self.addGroup(name, language) |
510 self.addGroup(name, language) |
511 self.__dirty = True |
511 self.__dirty = True |
512 |
512 |
513 def __edit(self): |
513 def __edit(self): |
520 else: |
520 else: |
521 editGroup = True |
521 editGroup = True |
522 |
522 |
523 from .TemplatePropertiesDialog import TemplatePropertiesDialog |
523 from .TemplatePropertiesDialog import TemplatePropertiesDialog |
524 dlg = TemplatePropertiesDialog(self, editGroup, itm) |
524 dlg = TemplatePropertiesDialog(self, editGroup, itm) |
525 if dlg.exec() == QDialog.Accepted: |
525 if dlg.exec() == QDialog.DialogCode.Accepted: |
526 if editGroup: |
526 if editGroup: |
527 name, language = dlg.getData() |
527 name, language = dlg.getData() |
528 self.changeGroup(itm.getName(), name, language) |
528 self.changeGroup(itm.getName(), name, language) |
529 else: |
529 else: |
530 name, description, groupName, template = dlg.getData() |
530 name, description, groupName, template = dlg.getData() |
729 if Preferences.getTemplates("SingleDialog"): |
729 if Preferences.getTemplates("SingleDialog"): |
730 from .TemplateMultipleVariablesDialog import ( |
730 from .TemplateMultipleVariablesDialog import ( |
731 TemplateMultipleVariablesDialog |
731 TemplateMultipleVariablesDialog |
732 ) |
732 ) |
733 dlg = TemplateMultipleVariablesDialog(variables, self) |
733 dlg = TemplateMultipleVariablesDialog(variables, self) |
734 if dlg.exec() == QDialog.Accepted: |
734 if dlg.exec() == QDialog.DialogCode.Accepted: |
735 varValues.update(dlg.getVariables()) |
735 varValues.update(dlg.getVariables()) |
736 ok = True |
736 ok = True |
737 else: |
737 else: |
738 from .TemplateSingleVariableDialog import ( |
738 from .TemplateSingleVariableDialog import ( |
739 TemplateSingleVariableDialog |
739 TemplateSingleVariableDialog |
740 ) |
740 ) |
741 for var in variables: |
741 for var in variables: |
742 dlg = TemplateSingleVariableDialog(var, self) |
742 dlg = TemplateSingleVariableDialog(var, self) |
743 if dlg.exec() == QDialog.Accepted: |
743 if dlg.exec() == QDialog.DialogCode.Accepted: |
744 varValues[var] = dlg.getVariable() |
744 varValues[var] = dlg.getVariable() |
745 else: |
745 else: |
746 return |
746 return |
747 del dlg |
747 del dlg |
748 ok = True |
748 ok = True |
983 # new JSON based file |
983 # new JSON based file |
984 res = self.__templatesFile.writeFile(filename) |
984 res = self.__templatesFile.writeFile(filename) |
985 else: |
985 else: |
986 # old XML based file |
986 # old XML based file |
987 f = QFile(filename) |
987 f = QFile(filename) |
988 ok = f.open(QIODevice.WriteOnly) |
988 ok = f.open(QIODevice.OpenModeFlag.WriteOnly) |
989 if not ok: |
989 if not ok: |
990 E5MessageBox.critical( |
990 E5MessageBox.critical( |
991 self, |
991 self, |
992 self.tr("Save Templates"), |
992 self.tr("Save Templates"), |
993 self.tr( |
993 self.tr( |
1023 |
1023 |
1024 if filename.endswith(".ecj"): |
1024 if filename.endswith(".ecj"): |
1025 self.__templatesFile.readFile(filename) |
1025 self.__templatesFile.readFile(filename) |
1026 else: |
1026 else: |
1027 f = QFile(filename) |
1027 f = QFile(filename) |
1028 if f.open(QIODevice.ReadOnly): |
1028 if f.open(QIODevice.OpenModeFlag.ReadOnly): |
1029 from E5XML.TemplatesReader import TemplatesReader |
1029 from E5XML.TemplatesReader import TemplatesReader |
1030 reader = TemplatesReader(f, viewer=self) |
1030 reader = TemplatesReader(f, viewer=self) |
1031 reader.readXML() |
1031 reader.readXML() |
1032 f.close() |
1032 f.close() |
1033 else: |
1033 else: |