544 |
544 |
545 fn, selectedFilter = E5FileDialog.getSaveFileNameAndFilter( |
545 fn, selectedFilter = E5FileDialog.getSaveFileNameAndFilter( |
546 self, |
546 self, |
547 self.tr("Export Highlighting Styles"), |
547 self.tr("Export Highlighting Styles"), |
548 stylesDir, |
548 stylesDir, |
549 self.tr("Highlighting Styles File (*.ehj);;" |
549 self.tr("Highlighting Styles File (*.ehj)"), |
550 "XML Highlighting Styles File (*.e6h)"), |
|
551 "", |
550 "", |
552 E5FileDialog.DontConfirmOverwrite) |
551 E5FileDialog.DontConfirmOverwrite) |
553 |
552 |
554 if not fn: |
553 if not fn: |
555 return |
554 return |
569 if os.path.exists(fn) else |
568 if os.path.exists(fn) else |
570 True |
569 True |
571 ) |
570 ) |
572 |
571 |
573 if ok: |
572 if ok: |
574 if fn.endswith(".ehj"): |
573 from Preferences.HighlightingStylesFile import (HighlightingStylesFile |
575 from Preferences.HighlightingStylesFile import ( |
574 ) |
576 HighlightingStylesFile |
575 highlightingStylesFile = HighlightingStylesFile() |
577 ) |
576 highlightingStylesFile.writeFile(fn, lexers) |
578 highlightingStylesFile = HighlightingStylesFile() |
|
579 highlightingStylesFile.writeFile(fn, lexers) |
|
580 else: |
|
581 f = QFile(fn) |
|
582 if f.open(QIODevice.OpenModeFlag.WriteOnly): |
|
583 from E5XML.HighlightingStylesWriter import ( |
|
584 HighlightingStylesWriter |
|
585 ) |
|
586 HighlightingStylesWriter(f, lexers).writeXML() |
|
587 f.close() |
|
588 else: |
|
589 E5MessageBox.critical( |
|
590 self, |
|
591 self.tr("Export Highlighting Styles"), |
|
592 self.tr("<p>The highlighting styles file <b>{0}</b>" |
|
593 " could not be written.</p><p>Reason: {1}</p>") |
|
594 .format(fn, f.errorString()) |
|
595 ) |
|
596 |
577 |
597 def __importStyles(self, importAll=False): |
578 def __importStyles(self, importAll=False): |
598 """ |
579 """ |
599 Private method to import the styles of lexers to be selected. |
580 Private method to import the styles of lexers to be selected. |
600 |
581 |
626 return |
607 return |
627 else: |
608 else: |
628 # old XML based file |
609 # old XML based file |
629 f = QFile(fn) |
610 f = QFile(fn) |
630 if f.open(QIODevice.OpenModeFlag.ReadOnly): |
611 if f.open(QIODevice.OpenModeFlag.ReadOnly): |
631 from E5XML.HighlightingStylesReader import ( |
612 from EricXML.HighlightingStylesReader import ( |
632 HighlightingStylesReader |
613 HighlightingStylesReader |
633 ) |
614 ) |
634 reader = HighlightingStylesReader(f, self.lexers) |
615 reader = HighlightingStylesReader(f, self.lexers) |
635 styles = reader.readXML() |
616 styles = reader.readXML() |
636 f.close() |
617 f.close() |