QScintilla/Editor.py

changeset 3030
4a0a82ddd9d2
parent 3020
542e97d4ecb3
child 3034
7ce719013078
child 3058
0a02c433f52d
equal deleted inserted replaced
3029:4055a15ce0f2 3030:4a0a82ddd9d2
616 self.eolMenu = self.__initContextMenuEol() 616 self.eolMenu = self.__initContextMenuEol()
617 self.__menus["Eol"] = self.eolMenu 617 self.__menus["Eol"] = self.eolMenu
618 self.encodingsMenu = self.__initContextMenuEncodings() 618 self.encodingsMenu = self.__initContextMenuEncodings()
619 self.__menus["Encodings"] = self.encodingsMenu 619 self.__menus["Encodings"] = self.encodingsMenu
620 620
621 self.menuActs["Undo"] = \ 621 self.menuActs["Undo"] = self.menu.addAction(
622 self.menu.addAction(UI.PixmapCache.getIcon("editUndo.png"), 622 UI.PixmapCache.getIcon("editUndo.png"),
623 self.trUtf8('Undo'), self.undo) 623 self.trUtf8('Undo'), self.undo)
624 self.menuActs["Redo"] = \ 624 self.menuActs["Redo"] = self.menu.addAction(
625 self.menu.addAction(UI.PixmapCache.getIcon("editRedo.png"), 625 UI.PixmapCache.getIcon("editRedo.png"),
626 self.trUtf8('Redo'), self.redo) 626 self.trUtf8('Redo'), self.redo)
627 self.menuActs["Revert"] = \ 627 self.menuActs["Revert"] = self.menu.addAction(
628 self.menu.addAction(self.trUtf8("Revert to last saved state"), 628 self.trUtf8("Revert to last saved state"),
629 self.revertToUnmodified) 629 self.revertToUnmodified)
630 self.menu.addSeparator() 630 self.menu.addSeparator()
631 self.menuActs["Cut"] = \ 631 self.menuActs["Cut"] = self.menu.addAction(
632 self.menu.addAction(UI.PixmapCache.getIcon("editCut.png"), 632 UI.PixmapCache.getIcon("editCut.png"),
633 self.trUtf8('Cut'), self.cut) 633 self.trUtf8('Cut'), self.cut)
634 self.menuActs["Copy"] = \ 634 self.menuActs["Copy"] = self.menu.addAction(
635 self.menu.addAction(UI.PixmapCache.getIcon("editCopy.png"), 635 UI.PixmapCache.getIcon("editCopy.png"),
636 self.trUtf8('Copy'), self.copy) 636 self.trUtf8('Copy'), self.copy)
637 self.menu.addAction(UI.PixmapCache.getIcon("editPaste.png"), 637 self.menu.addAction(
638 UI.PixmapCache.getIcon("editPaste.png"),
638 self.trUtf8('Paste'), self.paste) 639 self.trUtf8('Paste'), self.paste)
639 if not self.miniMenu: 640 if not self.miniMenu:
640 self.menu.addSeparator() 641 self.menu.addSeparator()
641 self.menu.addAction(UI.PixmapCache.getIcon("editIndent.png"), 642 self.menu.addAction(
643 UI.PixmapCache.getIcon("editIndent.png"),
642 self.trUtf8('Indent'), self.indentLineOrSelection) 644 self.trUtf8('Indent'), self.indentLineOrSelection)
643 self.menu.addAction(UI.PixmapCache.getIcon("editUnindent.png"), 645 self.menu.addAction(
646 UI.PixmapCache.getIcon("editUnindent.png"),
644 self.trUtf8('Unindent'), self.unindentLineOrSelection) 647 self.trUtf8('Unindent'), self.unindentLineOrSelection)
645 self.menuActs["Comment"] = \ 648 self.menuActs["Comment"] = self.menu.addAction(
646 self.menu.addAction(UI.PixmapCache.getIcon("editComment.png"), 649 UI.PixmapCache.getIcon("editComment.png"),
647 self.trUtf8('Comment'), self.commentLineOrSelection) 650 self.trUtf8('Comment'), self.commentLineOrSelection)
648 self.menuActs["Uncomment"] = \ 651 self.menuActs["Uncomment"] = self.menu.addAction(
649 self.menu.addAction( 652 UI.PixmapCache.getIcon("editUncomment.png"),
650 UI.PixmapCache.getIcon("editUncomment.png"), 653 self.trUtf8('Uncomment'), self.uncommentLineOrSelection)
651 self.trUtf8('Uncomment'), self.uncommentLineOrSelection) 654 self.menuActs["StreamComment"] = self.menu.addAction(
652 self.menuActs["StreamComment"] = \ 655 self.trUtf8('Stream Comment'),
653 self.menu.addAction(self.trUtf8('Stream Comment'), 656 self.streamCommentLineOrSelection)
654 self.streamCommentLineOrSelection) 657 self.menuActs["BoxComment"] = self.menu.addAction(
655 self.menuActs["BoxComment"] = \ 658 self.trUtf8('Box Comment'),
656 self.menu.addAction(self.trUtf8('Box Comment'), 659 self.boxCommentLineOrSelection)
657 self.boxCommentLineOrSelection)
658 self.menu.addSeparator() 660 self.menu.addSeparator()
659 self.menu.addAction(self.trUtf8('Select to brace'), 661 self.menu.addAction(
660 self.selectToMatchingBrace) 662 self.trUtf8('Select to brace'), self.selectToMatchingBrace)
661 self.menu.addAction(self.trUtf8('Select all'), self.__selectAll) 663 self.menu.addAction(self.trUtf8('Select all'), self.__selectAll)
662 self.menu.addAction( 664 self.menu.addAction(
663 self.trUtf8('Deselect all'), self.__deselectAll) 665 self.trUtf8('Deselect all'), self.__deselectAll)
664 self.menu.addSeparator() 666 self.menu.addSeparator()
665 self.menuActs["SpellCheck"] = \ 667 self.menuActs["SpellCheck"] = self.menu.addAction(
666 self.menu.addAction(UI.PixmapCache.getIcon("spellchecking.png"), 668 UI.PixmapCache.getIcon("spellchecking.png"),
667 self.trUtf8('Check spelling...'), self.checkSpelling) 669 self.trUtf8('Check spelling...'), self.checkSpelling)
668 self.menuActs["SpellCheckSelection"] = \ 670 self.menuActs["SpellCheckSelection"] = self.menu.addAction(
669 self.menu.addAction(UI.PixmapCache.getIcon("spellchecking.png"), 671 UI.PixmapCache.getIcon("spellchecking.png"),
670 self.trUtf8('Check spelling of selection...'), 672 self.trUtf8('Check spelling of selection...'),
671 self.__checkSpellingSelection) 673 self.__checkSpellingSelection)
672 self.menuActs["SpellCheckRemove"] = \ 674 self.menuActs["SpellCheckRemove"] = self.menu.addAction(
673 self.menu.addAction(self.trUtf8("Remove from dictionary"), 675 self.trUtf8("Remove from dictionary"),
674 self.__removeFromSpellingDictionary) 676 self.__removeFromSpellingDictionary)
675 self.menu.addSeparator() 677 self.menu.addSeparator()
676 self.menu.addAction(self.trUtf8('Shorten empty lines'), 678 self.menu.addAction(
677 self.shortenEmptyLines) 679 self.trUtf8('Shorten empty lines'), self.shortenEmptyLines)
678 self.menu.addSeparator() 680 self.menu.addSeparator()
679 self.menuActs["Languages"] = self.menu.addMenu(self.languagesMenu) 681 self.menuActs["Languages"] = self.menu.addMenu(self.languagesMenu)
680 self.menuActs["Encodings"] = self.menu.addMenu(self.encodingsMenu) 682 self.menuActs["Encodings"] = self.menu.addMenu(self.encodingsMenu)
681 self.menuActs["Eol"] = self.menu.addMenu(self.eolMenu) 683 self.menuActs["Eol"] = self.menu.addMenu(self.eolMenu)
682 self.menu.addSeparator() 684 self.menu.addSeparator()
683 self.menuActs["MonospacedFont"] = \ 685 self.menuActs["MonospacedFont"] = self.menu.addAction(
684 self.menu.addAction(self.trUtf8("Use Monospaced Font"), 686 self.trUtf8("Use Monospaced Font"),
685 self.handleMonospacedEnable) 687 self.handleMonospacedEnable)
686 self.menuActs["MonospacedFont"].setCheckable(True) 688 self.menuActs["MonospacedFont"].setCheckable(True)
687 self.menuActs["MonospacedFont"].setChecked(self.useMonospaced) 689 self.menuActs["MonospacedFont"].setChecked(self.useMonospaced)
688 self.menuActs["AutosaveEnable"] = \ 690 self.menuActs["AutosaveEnable"] = self.menu.addAction(
689 self.menu.addAction(self.trUtf8("Autosave enabled"), 691 self.trUtf8("Autosave enabled"), self.__autosaveEnable)
690 self.__autosaveEnable)
691 self.menuActs["AutosaveEnable"].setCheckable(True) 692 self.menuActs["AutosaveEnable"].setCheckable(True)
692 self.menuActs["AutosaveEnable"].setChecked(self.autosaveEnabled) 693 self.menuActs["AutosaveEnable"].setChecked(self.autosaveEnabled)
693 self.menuActs["TypingAidsEnabled"] = \ 694 self.menuActs["TypingAidsEnabled"] = self.menu.addAction(
694 self.menu.addAction(self.trUtf8("Typing aids enabled"), 695 self.trUtf8("Typing aids enabled"), self.__toggleTypingAids)
695 self.__toggleTypingAids)
696 self.menuActs["TypingAidsEnabled"].setCheckable(True) 696 self.menuActs["TypingAidsEnabled"].setCheckable(True)
697 self.menuActs["TypingAidsEnabled"].setEnabled( 697 self.menuActs["TypingAidsEnabled"].setEnabled(
698 self.completer is not None) 698 self.completer is not None)
699 self.menuActs["TypingAidsEnabled"].setChecked( 699 self.menuActs["TypingAidsEnabled"].setChecked(
700 self.completer is not None and self.completer.isEnabled()) 700 self.completer is not None and self.completer.isEnabled())
701 self.menuActs["AutoCompletionEnable"] = \ 701 self.menuActs["AutoCompletionEnable"] = self.menu.addAction(
702 self.menu.addAction(self.trUtf8("Autocompletion enabled"), 702 self.trUtf8("Autocompletion enabled"),
703 self.__toggleAutoCompletionEnable) 703 self.__toggleAutoCompletionEnable)
704 self.menuActs["AutoCompletionEnable"].setCheckable(True) 704 self.menuActs["AutoCompletionEnable"].setCheckable(True)
705 self.menuActs["AutoCompletionEnable"].setChecked( 705 self.menuActs["AutoCompletionEnable"].setChecked(
706 self.autoCompletionThreshold() != -1) 706 self.autoCompletionThreshold() != -1)
707 if not self.isResourcesFile: 707 if not self.isResourcesFile:
708 self.menu.addMenu(self.autocompletionMenu) 708 self.menu.addMenu(self.autocompletionMenu)
715 self.menuActs["Show"] = self.menu.addMenu(self.menuShow) 715 self.menuActs["Show"] = self.menu.addMenu(self.menuShow)
716 self.menu.addSeparator() 716 self.menu.addSeparator()
717 self.menuActs["Diagrams"] = self.menu.addMenu(self.graphicsMenu) 717 self.menuActs["Diagrams"] = self.menu.addMenu(self.graphicsMenu)
718 self.menu.addSeparator() 718 self.menu.addSeparator()
719 self.menu.addAction(self.trUtf8('New view'), self.__newView) 719 self.menu.addAction(self.trUtf8('New view'), self.__newView)
720 act = self.menu.addAction(self.trUtf8('New view (with new split)'), 720 act = self.menu.addAction(
721 self.__newViewNewSplit) 721 self.trUtf8('New view (with new split)'), self.__newViewNewSplit)
722 if not self.vm.canSplit(): 722 if not self.vm.canSplit():
723 act.setEnabled(False) 723 act.setEnabled(False)
724 self.menu.addAction(UI.PixmapCache.getIcon("close.png"), 724 self.menu.addAction(
725 UI.PixmapCache.getIcon("close.png"),
725 self.trUtf8('Close'), self.__contextClose) 726 self.trUtf8('Close'), self.__contextClose)
726 self.menu.addSeparator() 727 self.menu.addSeparator()
727 self.menuActs["Save"] = \ 728 self.menuActs["Save"] = self.menu.addAction(
728 self.menu.addAction(UI.PixmapCache.getIcon("fileSave.png"), 729 UI.PixmapCache.getIcon("fileSave.png"),
729 self.trUtf8('Save'), self.__contextSave) 730 self.trUtf8('Save'), self.__contextSave)
730 self.menu.addAction(UI.PixmapCache.getIcon("fileSaveAs.png"), 731 self.menu.addAction(
732 UI.PixmapCache.getIcon("fileSaveAs.png"),
731 self.trUtf8('Save As...'), self.__contextSaveAs) 733 self.trUtf8('Save As...'), self.__contextSaveAs)
732 if not self.miniMenu: 734 if not self.miniMenu:
733 self.menu.addMenu(self.exportersMenu) 735 self.menu.addMenu(self.exportersMenu)
734 self.menu.addSeparator() 736 self.menu.addSeparator()
735 self.menuActs["OpenRejections"] = \ 737 self.menuActs["OpenRejections"] = self.menu.addAction(
736 self.menu.addAction(self.trUtf8("Open 'rejection' file"), 738 self.trUtf8("Open 'rejection' file"),
737 self.__contextOpenRejections) 739 self.__contextOpenRejections)
738 self.menu.addSeparator() 740 self.menu.addSeparator()
739 self.menu.addAction(UI.PixmapCache.getIcon("printPreview.png"), 741 self.menu.addAction(
740 self.trUtf8("Print Preview"), self.printPreviewFile) 742 UI.PixmapCache.getIcon("printPreview.png"),
741 self.menu.addAction(UI.PixmapCache.getIcon("print.png"), 743 self.trUtf8("Print Preview"), self.printPreviewFile)
744 self.menu.addAction(
745 UI.PixmapCache.getIcon("print.png"),
742 self.trUtf8('Print'), self.printFile) 746 self.trUtf8('Print'), self.printFile)
743 else: 747 else:
744 self.menuActs["OpenRejections"] = None 748 self.menuActs["OpenRejections"] = None
745 749
746 self.menu.aboutToShow.connect(self.__showContextMenu) 750 self.menu.aboutToShow.connect(self.__showContextMenu)
758 762
759 @return reference to the generated menu (QMenu) 763 @return reference to the generated menu (QMenu)
760 """ 764 """
761 menu = QMenu(self.trUtf8('Autocomplete')) 765 menu = QMenu(self.trUtf8('Autocomplete'))
762 766
763 self.menuActs["acDynamic"] = \ 767 self.menuActs["acDynamic"] = menu.addAction(
764 menu.addAction(self.trUtf8('dynamic'), 768 self.trUtf8('dynamic'), self.autoComplete)
765 self.autoComplete)
766 menu.addSeparator() 769 menu.addSeparator()
767 menu.addAction(self.trUtf8('from Document'), 770 menu.addAction(
768 self.autoCompleteFromDocument) 771 self.trUtf8('from Document'), self.autoCompleteFromDocument)
769 self.menuActs["acAPI"] = \ 772 self.menuActs["acAPI"] = menu.addAction(
770 menu.addAction(self.trUtf8('from APIs'), 773 self.trUtf8('from APIs'), self.autoCompleteFromAPIs)
771 self.autoCompleteFromAPIs) 774 self.menuActs["acAPIDocument"] = menu.addAction(
772 self.menuActs["acAPIDocument"] = \ 775 self.trUtf8('from Document and APIs'), self.autoCompleteFromAll)
773 menu.addAction(self.trUtf8('from Document and APIs'),
774 self.autoCompleteFromAll)
775 menu.addSeparator() 776 menu.addSeparator()
776 self.menuActs["calltip"] = \ 777 self.menuActs["calltip"] = menu.addAction(
777 menu.addAction(self.trUtf8('Calltip'), self.callTip) 778 self.trUtf8('Calltip'), self.callTip)
778 779
779 menu.aboutToShow.connect(self.__showContextMenuAutocompletion) 780 menu.aboutToShow.connect(self.__showContextMenuAutocompletion)
780 781
781 return menu 782 return menu
782 783
820 821
821 @return reference to the generated menu (QMenu) 822 @return reference to the generated menu (QMenu)
822 """ 823 """
823 menu = QMenu(self.trUtf8('Diagrams')) 824 menu = QMenu(self.trUtf8('Diagrams'))
824 825
825 menu.addAction(self.trUtf8('Class Diagram...'), 826 menu.addAction(
826 self.__showClassDiagram) 827 self.trUtf8('Class Diagram...'), self.__showClassDiagram)
827 menu.addAction(self.trUtf8('Package Diagram...'), 828 menu.addAction(
828 self.__showPackageDiagram) 829 self.trUtf8('Package Diagram...'), self.__showPackageDiagram)
829 menu.addAction(self.trUtf8('Imports Diagram...'), 830 menu.addAction(
830 self.__showImportsDiagram) 831 self.trUtf8('Imports Diagram...'), self.__showImportsDiagram)
831 self.applicationDiagramMenuAct = \ 832 self.applicationDiagramMenuAct = menu.addAction(
832 menu.addAction(self.trUtf8('Application Diagram...'), 833 self.trUtf8('Application Diagram...'),
833 self.__showApplicationDiagram) 834 self.__showApplicationDiagram)
834 menu.addSeparator() 835 menu.addSeparator()
835 menu.addAction(UI.PixmapCache.getIcon("open.png"), 836 menu.addAction(
837 UI.PixmapCache.getIcon("open.png"),
836 self.trUtf8("Load Diagram..."), self.__loadDiagram) 838 self.trUtf8("Load Diagram..."), self.__loadDiagram)
837 839
838 menu.aboutToShow.connect(self.__showContextMenuGraphics) 840 menu.aboutToShow.connect(self.__showContextMenuGraphics)
839 841
840 return menu 842 return menu
981 margins. 983 margins.
982 """ 984 """
983 # bookmark margin 985 # bookmark margin
984 self.bmMarginMenu = QMenu() 986 self.bmMarginMenu = QMenu()
985 987
986 self.bmMarginMenu.addAction(self.trUtf8('Toggle bookmark'), 988 self.bmMarginMenu.addAction(
987 self.menuToggleBookmark) 989 self.trUtf8('Toggle bookmark'), self.menuToggleBookmark)
988 self.marginMenuActs["NextBookmark"] = \ 990 self.marginMenuActs["NextBookmark"] = self.bmMarginMenu.addAction(
989 self.bmMarginMenu.addAction(self.trUtf8('Next bookmark'), 991 self.trUtf8('Next bookmark'), self.nextBookmark)
990 self.nextBookmark) 992 self.marginMenuActs["PreviousBookmark"] = self.bmMarginMenu.addAction(
991 self.marginMenuActs["PreviousBookmark"] = \ 993 self.trUtf8('Previous bookmark'), self.previousBookmark)
992 self.bmMarginMenu.addAction(self.trUtf8('Previous bookmark'), 994 self.marginMenuActs["ClearBookmark"] = self.bmMarginMenu.addAction(
993 self.previousBookmark) 995 self.trUtf8('Clear all bookmarks'), self.clearBookmarks)
994 self.marginMenuActs["ClearBookmark"] = \
995 self.bmMarginMenu.addAction(self.trUtf8('Clear all bookmarks'),
996 self.clearBookmarks)
997 996
998 self.bmMarginMenu.aboutToShow.connect(self.__showContextMenuMargin) 997 self.bmMarginMenu.aboutToShow.connect(self.__showContextMenuMargin)
999 998
1000 # breakpoint margin 999 # breakpoint margin
1001 self.bpMarginMenu = QMenu() 1000 self.bpMarginMenu = QMenu()
1002 1001
1003 self.marginMenuActs["Breakpoint"] = \ 1002 self.marginMenuActs["Breakpoint"] = self.bpMarginMenu.addAction(
1004 self.bpMarginMenu.addAction(self.trUtf8('Toggle breakpoint'), 1003 self.trUtf8('Toggle breakpoint'), self.menuToggleBreakpoint)
1005 self.menuToggleBreakpoint) 1004 self.marginMenuActs["TempBreakpoint"] = self.bpMarginMenu.addAction(
1006 self.marginMenuActs["TempBreakpoint"] = \ 1005 self.trUtf8('Toggle temporary breakpoint'),
1006 self.__menuToggleTemporaryBreakpoint)
1007 self.marginMenuActs["EditBreakpoint"] = self.bpMarginMenu.addAction(
1008 self.trUtf8('Edit breakpoint...'), self.menuEditBreakpoint)
1009 self.marginMenuActs["EnableBreakpoint"] = self.bpMarginMenu.addAction(
1010 self.trUtf8('Enable breakpoint'),
1011 self.__menuToggleBreakpointEnabled)
1012 self.marginMenuActs["NextBreakpoint"] = self.bpMarginMenu.addAction(
1013 self.trUtf8('Next breakpoint'), self.menuNextBreakpoint)
1014 self.marginMenuActs["PreviousBreakpoint"] = \
1007 self.bpMarginMenu.addAction( 1015 self.bpMarginMenu.addAction(
1008 self.trUtf8('Toggle temporary breakpoint'), 1016 self.trUtf8('Previous breakpoint'),
1009 self.__menuToggleTemporaryBreakpoint)
1010 self.marginMenuActs["EditBreakpoint"] = \
1011 self.bpMarginMenu.addAction(self.trUtf8('Edit breakpoint...'),
1012 self.menuEditBreakpoint)
1013 self.marginMenuActs["EnableBreakpoint"] = \
1014 self.bpMarginMenu.addAction(self.trUtf8('Enable breakpoint'),
1015 self.__menuToggleBreakpointEnabled)
1016 self.marginMenuActs["NextBreakpoint"] = \
1017 self.bpMarginMenu.addAction(self.trUtf8('Next breakpoint'),
1018 self.menuNextBreakpoint)
1019 self.marginMenuActs["PreviousBreakpoint"] = \
1020 self.bpMarginMenu.addAction(self.trUtf8('Previous breakpoint'),
1021 self.menuPreviousBreakpoint) 1017 self.menuPreviousBreakpoint)
1022 self.marginMenuActs["ClearBreakpoint"] = \ 1018 self.marginMenuActs["ClearBreakpoint"] = self.bpMarginMenu.addAction(
1023 self.bpMarginMenu.addAction(self.trUtf8('Clear all breakpoints'), 1019 self.trUtf8('Clear all breakpoints'), self.__menuClearBreakpoints)
1024 self.__menuClearBreakpoints)
1025 1020
1026 self.bpMarginMenu.aboutToShow.connect(self.__showContextMenuMargin) 1021 self.bpMarginMenu.aboutToShow.connect(self.__showContextMenuMargin)
1027 1022
1028 # indicator margin 1023 # indicator margin
1029 self.indicMarginMenu = QMenu() 1024 self.indicMarginMenu = QMenu()
1030 1025
1031 self.marginMenuActs["GotoSyntaxError"] = \ 1026 self.marginMenuActs["GotoSyntaxError"] = \
1032 self.indicMarginMenu.addAction(self.trUtf8('Goto syntax error'), 1027 self.indicMarginMenu.addAction(
1033 self.gotoSyntaxError) 1028 self.trUtf8('Goto syntax error'), self.gotoSyntaxError)
1034 self.marginMenuActs["ShowSyntaxError"] = \ 1029 self.marginMenuActs["ShowSyntaxError"] = \
1035 self.indicMarginMenu.addAction( 1030 self.indicMarginMenu.addAction(
1036 self.trUtf8('Show syntax error message'), 1031 self.trUtf8('Show syntax error message'),
1037 self.__showSyntaxError) 1032 self.__showSyntaxError)
1038 self.marginMenuActs["ClearSyntaxError"] = \ 1033 self.marginMenuActs["ClearSyntaxError"] = \
1039 self.indicMarginMenu.addAction(self.trUtf8('Clear syntax error'), 1034 self.indicMarginMenu.addAction(
1040 self.clearSyntaxError) 1035 self.trUtf8('Clear syntax error'), self.clearSyntaxError)
1041 self.indicMarginMenu.addSeparator() 1036 self.indicMarginMenu.addSeparator()
1042 self.marginMenuActs["NextWarningMarker"] = \ 1037 self.marginMenuActs["NextWarningMarker"] = \
1043 self.indicMarginMenu.addAction(self.trUtf8("Next warning"), 1038 self.indicMarginMenu.addAction(
1044 self.nextFlakesWarning) 1039 self.trUtf8("Next warning"), self.nextFlakesWarning)
1045 self.marginMenuActs["PreviousWarningMarker"] = \ 1040 self.marginMenuActs["PreviousWarningMarker"] = \
1046 self.indicMarginMenu.addAction(self.trUtf8("Previous warning"), 1041 self.indicMarginMenu.addAction(
1047 self.previousFlakesWarning) 1042 self.trUtf8("Previous warning"), self.previousFlakesWarning)
1048 self.marginMenuActs["ShowWarning"] = \ 1043 self.marginMenuActs["ShowWarning"] = \
1049 self.indicMarginMenu.addAction(self.trUtf8('Show warning message'), 1044 self.indicMarginMenu.addAction(
1050 self.__showFlakesWarning) 1045 self.trUtf8('Show warning message'), self.__showFlakesWarning)
1051 self.marginMenuActs["ClearWarnings"] = \ 1046 self.marginMenuActs["ClearWarnings"] = \
1052 self.indicMarginMenu.addAction(self.trUtf8('Clear warnings'), 1047 self.indicMarginMenu.addAction(
1053 self.clearFlakesWarnings) 1048 self.trUtf8('Clear warnings'), self.clearFlakesWarnings)
1054 self.indicMarginMenu.addSeparator() 1049 self.indicMarginMenu.addSeparator()
1055 self.marginMenuActs["NextCoverageMarker"] = \ 1050 self.marginMenuActs["NextCoverageMarker"] = \
1056 self.indicMarginMenu.addAction(self.trUtf8('Next uncovered line'), 1051 self.indicMarginMenu.addAction(
1057 self.nextUncovered) 1052 self.trUtf8('Next uncovered line'), self.nextUncovered)
1058 self.marginMenuActs["PreviousCoverageMarker"] = \ 1053 self.marginMenuActs["PreviousCoverageMarker"] = \
1059 self.indicMarginMenu.addAction( 1054 self.indicMarginMenu.addAction(
1060 self.trUtf8('Previous uncovered line'), 1055 self.trUtf8('Previous uncovered line'), self.previousUncovered)
1061 self.previousUncovered)
1062 self.indicMarginMenu.addSeparator() 1056 self.indicMarginMenu.addSeparator()
1063 self.marginMenuActs["NextTaskMarker"] = \ 1057 self.marginMenuActs["NextTaskMarker"] = \
1064 self.indicMarginMenu.addAction(self.trUtf8('Next task'), 1058 self.indicMarginMenu.addAction(
1065 self.nextTask) 1059 self.trUtf8('Next task'), self.nextTask)
1066 self.marginMenuActs["PreviousTaskMarker"] = \ 1060 self.marginMenuActs["PreviousTaskMarker"] = \
1067 self.indicMarginMenu.addAction(self.trUtf8('Previous task'), 1061 self.indicMarginMenu.addAction(
1068 self.previousTask) 1062 self.trUtf8('Previous task'), self.previousTask)
1069 self.indicMarginMenu.addSeparator() 1063 self.indicMarginMenu.addSeparator()
1070 self.marginMenuActs["NextChangeMarker"] = \ 1064 self.marginMenuActs["NextChangeMarker"] = \
1071 self.indicMarginMenu.addAction(self.trUtf8('Next change'), 1065 self.indicMarginMenu.addAction(
1072 self.nextChange) 1066 self.trUtf8('Next change'), self.nextChange)
1073 self.marginMenuActs["PreviousChangeMarker"] = \ 1067 self.marginMenuActs["PreviousChangeMarker"] = \
1074 self.indicMarginMenu.addAction(self.trUtf8('Previous change'), 1068 self.indicMarginMenu.addAction(
1075 self.previousChange) 1069 self.trUtf8('Previous change'), self.previousChange)
1076 1070
1077 self.indicMarginMenu.aboutToShow.connect(self.__showContextMenuMargin) 1071 self.indicMarginMenu.aboutToShow.connect(self.__showContextMenuMargin)
1078 1072
1079 def __initContextMenuUnifiedMargins(self): 1073 def __initContextMenuUnifiedMargins(self):
1080 """ 1074 """
1081 Private method used to setup the context menu for the unified margins. 1075 Private method used to setup the context menu for the unified margins.
1082 """ 1076 """
1083 self.marginMenu = QMenu() 1077 self.marginMenu = QMenu()
1084 1078
1085 self.marginMenu.addAction(self.trUtf8('Toggle bookmark'), 1079 self.marginMenu.addAction(
1086 self.menuToggleBookmark) 1080 self.trUtf8('Toggle bookmark'), self.menuToggleBookmark)
1087 self.marginMenuActs["NextBookmark"] = \ 1081 self.marginMenuActs["NextBookmark"] = self.marginMenu.addAction(
1088 self.marginMenu.addAction(self.trUtf8('Next bookmark'), 1082 self.trUtf8('Next bookmark'), self.nextBookmark)
1089 self.nextBookmark) 1083 self.marginMenuActs["PreviousBookmark"] = self.marginMenu.addAction(
1090 self.marginMenuActs["PreviousBookmark"] = \ 1084 self.trUtf8('Previous bookmark'), self.previousBookmark)
1091 self.marginMenu.addAction(self.trUtf8('Previous bookmark'), 1085 self.marginMenuActs["ClearBookmark"] = self.marginMenu.addAction(
1092 self.previousBookmark) 1086 self.trUtf8('Clear all bookmarks'), self.clearBookmarks)
1093 self.marginMenuActs["ClearBookmark"] = \
1094 self.marginMenu.addAction(self.trUtf8('Clear all bookmarks'),
1095 self.clearBookmarks)
1096 self.marginMenu.addSeparator() 1087 self.marginMenu.addSeparator()
1097 self.marginMenuActs["GotoSyntaxError"] = \ 1088 self.marginMenuActs["GotoSyntaxError"] = self.marginMenu.addAction(
1098 self.marginMenu.addAction(self.trUtf8('Goto syntax error'), 1089 self.trUtf8('Goto syntax error'), self.gotoSyntaxError)
1099 self.gotoSyntaxError) 1090 self.marginMenuActs["ShowSyntaxError"] = self.marginMenu.addAction(
1100 self.marginMenuActs["ShowSyntaxError"] = \ 1091 self.trUtf8('Show syntax error message'), self.__showSyntaxError)
1101 self.marginMenu.addAction(self.trUtf8('Show syntax error message'), 1092 self.marginMenuActs["ClearSyntaxError"] = self.marginMenu.addAction(
1102 self.__showSyntaxError) 1093 self.trUtf8('Clear syntax error'), self.clearSyntaxError)
1103 self.marginMenuActs["ClearSyntaxError"] = \
1104 self.marginMenu.addAction(self.trUtf8('Clear syntax error'),
1105 self.clearSyntaxError)
1106 self.marginMenu.addSeparator() 1094 self.marginMenu.addSeparator()
1107 self.marginMenuActs["NextWarningMarker"] = \ 1095 self.marginMenuActs["NextWarningMarker"] = self.marginMenu.addAction(
1108 self.marginMenu.addAction(self.trUtf8("Next warning"), 1096 self.trUtf8("Next warning"), self.nextFlakesWarning)
1109 self.nextFlakesWarning)
1110 self.marginMenuActs["PreviousWarningMarker"] = \ 1097 self.marginMenuActs["PreviousWarningMarker"] = \
1111 self.marginMenu.addAction(self.trUtf8("Previous warning"), 1098 self.marginMenu.addAction(
1112 self.previousFlakesWarning) 1099 self.trUtf8("Previous warning"), self.previousFlakesWarning)
1113 self.marginMenuActs["ShowWarning"] = \ 1100 self.marginMenuActs["ShowWarning"] = self.marginMenu.addAction(
1114 self.marginMenu.addAction(self.trUtf8('Show warning message'), 1101 self.trUtf8('Show warning message'), self.__showFlakesWarning)
1115 self.__showFlakesWarning) 1102 self.marginMenuActs["ClearWarnings"] = self.marginMenu.addAction(
1116 self.marginMenuActs["ClearWarnings"] = \ 1103 self.trUtf8('Clear warnings'), self.clearFlakesWarnings)
1117 self.marginMenu.addAction(self.trUtf8('Clear warnings'),
1118 self.clearFlakesWarnings)
1119 self.marginMenu.addSeparator() 1104 self.marginMenu.addSeparator()
1120 self.marginMenuActs["Breakpoint"] = \ 1105 self.marginMenuActs["Breakpoint"] = self.marginMenu.addAction(
1121 self.marginMenu.addAction(self.trUtf8('Toggle breakpoint'), 1106 self.trUtf8('Toggle breakpoint'), self.menuToggleBreakpoint)
1122 self.menuToggleBreakpoint) 1107 self.marginMenuActs["TempBreakpoint"] = self.marginMenu.addAction(
1123 self.marginMenuActs["TempBreakpoint"] = \ 1108 self.trUtf8('Toggle temporary breakpoint'),
1109 self.__menuToggleTemporaryBreakpoint)
1110 self.marginMenuActs["EditBreakpoint"] = self.marginMenu.addAction(
1111 self.trUtf8('Edit breakpoint...'), self.menuEditBreakpoint)
1112 self.marginMenuActs["EnableBreakpoint"] = self.marginMenu.addAction(
1113 self.trUtf8('Enable breakpoint'),
1114 self.__menuToggleBreakpointEnabled)
1115 self.marginMenuActs["NextBreakpoint"] = self.marginMenu.addAction(
1116 self.trUtf8('Next breakpoint'), self.menuNextBreakpoint)
1117 self.marginMenuActs["PreviousBreakpoint"] = self.marginMenu.addAction(
1118 self.trUtf8('Previous breakpoint'), self.menuPreviousBreakpoint)
1119 self.marginMenuActs["ClearBreakpoint"] = self.marginMenu.addAction(
1120 self.trUtf8('Clear all breakpoints'), self.__menuClearBreakpoints)
1121 self.marginMenu.addSeparator()
1122 self.marginMenuActs["NextCoverageMarker"] = self.marginMenu.addAction(
1123 self.trUtf8('Next uncovered line'), self.nextUncovered)
1124 self.marginMenuActs["PreviousCoverageMarker"] = \
1124 self.marginMenu.addAction( 1125 self.marginMenu.addAction(
1125 self.trUtf8('Toggle temporary breakpoint'), 1126 self.trUtf8('Previous uncovered line'), self.previousUncovered)
1126 self.__menuToggleTemporaryBreakpoint)
1127 self.marginMenuActs["EditBreakpoint"] = \
1128 self.marginMenu.addAction(self.trUtf8('Edit breakpoint...'),
1129 self.menuEditBreakpoint)
1130 self.marginMenuActs["EnableBreakpoint"] = \
1131 self.marginMenu.addAction(self.trUtf8('Enable breakpoint'),
1132 self.__menuToggleBreakpointEnabled)
1133 self.marginMenuActs["NextBreakpoint"] = \
1134 self.marginMenu.addAction(self.trUtf8('Next breakpoint'),
1135 self.menuNextBreakpoint)
1136 self.marginMenuActs["PreviousBreakpoint"] = \
1137 self.marginMenu.addAction(self.trUtf8('Previous breakpoint'),
1138 self.menuPreviousBreakpoint)
1139 self.marginMenuActs["ClearBreakpoint"] = \
1140 self.marginMenu.addAction(self.trUtf8('Clear all breakpoints'),
1141 self.__menuClearBreakpoints)
1142 self.marginMenu.addSeparator() 1127 self.marginMenu.addSeparator()
1143 self.marginMenuActs["NextCoverageMarker"] = \ 1128 self.marginMenuActs["NextTaskMarker"] = self.marginMenu.addAction(
1144 self.marginMenu.addAction(self.trUtf8('Next uncovered line'), 1129 self.trUtf8('Next task'), self.nextTask)
1145 self.nextUncovered) 1130 self.marginMenuActs["PreviousTaskMarker"] = self.marginMenu.addAction(
1146 self.marginMenuActs["PreviousCoverageMarker"] = \ 1131 self.trUtf8('Previous task'), self.previousTask)
1147 self.marginMenu.addAction(self.trUtf8('Previous uncovered line'),
1148 self.previousUncovered)
1149 self.marginMenu.addSeparator() 1132 self.marginMenu.addSeparator()
1150 self.marginMenuActs["NextTaskMarker"] = \ 1133 self.marginMenuActs["NextChangeMarker"] = self.marginMenu.addAction(
1151 self.marginMenu.addAction(self.trUtf8('Next task'), 1134 self.trUtf8('Next change'), self.nextChange)
1152 self.nextTask) 1135 self.marginMenuActs["PreviousChangeMarker"] = \
1153 self.marginMenuActs["PreviousTaskMarker"] = \ 1136 self.marginMenu.addAction(
1154 self.marginMenu.addAction(self.trUtf8('Previous task'), 1137 self.trUtf8('Previous change'), self.previousChange)
1155 self.previousTask)
1156 self.marginMenu.addSeparator() 1138 self.marginMenu.addSeparator()
1157 self.marginMenuActs["NextChangeMarker"] = \ 1139 self.marginMenuActs["LMBbookmarks"] = self.marginMenu.addAction(
1158 self.marginMenu.addAction(self.trUtf8('Next change'), 1140 self.trUtf8('LMB toggles bookmarks'), self.__lmBbookmarks)
1159 self.nextChange)
1160 self.marginMenuActs["PreviousChangeMarker"] = \
1161 self.marginMenu.addAction(self.trUtf8('Previous change'),
1162 self.previousChange)
1163 self.marginMenu.addSeparator()
1164 self.marginMenuActs["LMBbookmarks"] = \
1165 self.marginMenu.addAction(self.trUtf8('LMB toggles bookmarks'),
1166 self.__lmBbookmarks)
1167 self.marginMenuActs["LMBbookmarks"].setCheckable(True) 1141 self.marginMenuActs["LMBbookmarks"].setCheckable(True)
1168 self.marginMenuActs["LMBbookmarks"].setChecked(False) 1142 self.marginMenuActs["LMBbookmarks"].setChecked(False)
1169 self.marginMenuActs["LMBbreakpoints"] = \ 1143 self.marginMenuActs["LMBbreakpoints"] = self.marginMenu.addAction(
1170 self.marginMenu.addAction(self.trUtf8('LMB toggles breakpoints'), 1144 self.trUtf8('LMB toggles breakpoints'), self.__lmBbreakpoints)
1171 self.__lmBbreakpoints)
1172 self.marginMenuActs["LMBbreakpoints"].setCheckable(True) 1145 self.marginMenuActs["LMBbreakpoints"].setCheckable(True)
1173 self.marginMenuActs["LMBbreakpoints"].setChecked(True) 1146 self.marginMenuActs["LMBbreakpoints"].setChecked(True)
1174 1147
1175 self.marginMenu.aboutToShow.connect(self.__showContextMenuMargin) 1148 self.marginMenu.aboutToShow.connect(self.__showContextMenuMargin)
1176 1149
1778 if isProjectPy2: 1751 if isProjectPy2:
1779 self.filetype = "Python2" 1752 self.filetype = "Python2"
1780 return isProjectPy2 1753 return isProjectPy2
1781 else: 1754 else:
1782 # 3) determine by compiling the sources 1755 # 3) determine by compiling the sources
1783 syntaxError = Utilities.py2compile(self.fileName, 1756 syntaxError = Utilities.py2compile(
1784 checkFlakes=False)[0] 1757 self.fileName, checkFlakes=False)[0]
1785 if not syntaxError: 1758 if not syntaxError:
1786 self.filetype = "Python2" 1759 self.filetype = "Python2"
1787 return True 1760 return True
1788 1761
1789 if ext in self.dbs.getExtensions('Python2'): 1762 if ext in self.dbs.getExtensions('Python2'):
2085 @param line line number of the breakpoint (integer) 2058 @param line line number of the breakpoint (integer)
2086 @param temporary flag indicating a temporary breakpoint (boolean) 2059 @param temporary flag indicating a temporary breakpoint (boolean)
2087 """ 2060 """
2088 if self.fileName and \ 2061 if self.fileName and \
2089 (self.isPy3File() or self.isPy2File() or self.isRubyFile()): 2062 (self.isPy3File() or self.isPy2File() or self.isRubyFile()):
2090 self.breakpointModel.addBreakPoint(self.fileName, line, 2063 self.breakpointModel.addBreakPoint(
2091 ('', temporary, True, 0)) 2064 self.fileName, line, ('', temporary, True, 0))
2092 self.breakpointToggled.emit(self) 2065 self.breakpointToggled.emit(self)
2093 2066
2094 def __toggleBreakpointEnabled(self, line): 2067 def __toggleBreakpointEnabled(self, line):
2095 """ 2068 """
2096 Private method to toggle a breakpoints enabled status. 2069 Private method to toggle a breakpoints enabled status.
2179 index = self.breakpointModel.getBreakPointIndex(self.fileName, ln) 2152 index = self.breakpointModel.getBreakPointIndex(self.fileName, ln)
2180 if not index.isValid(): 2153 if not index.isValid():
2181 return 2154 return
2182 2155
2183 from Debugger.EditBreakpointDialog import EditBreakpointDialog 2156 from Debugger.EditBreakpointDialog import EditBreakpointDialog
2184 dlg = EditBreakpointDialog((self.fileName, ln), 2157 dlg = EditBreakpointDialog(
2158 (self.fileName, ln),
2185 (cond, temp, enabled, ignorecount), 2159 (cond, temp, enabled, ignorecount),
2186 self.condHistory, self, modal=True) 2160 self.condHistory, self, modal=True)
2187 if dlg.exec_() == QDialog.Accepted: 2161 if dlg.exec_() == QDialog.Accepted:
2188 cond, temp, enabled, ignorecount = dlg.getData() 2162 cond, temp, enabled, ignorecount = dlg.getData()
2189 self.breakpointModel.setBreakPointByIndex(index, 2163 self.breakpointModel.setBreakPointByIndex(
2190 self.fileName, ln, (cond, temp, enabled, ignorecount)) 2164 index, self.fileName, ln,
2165 (cond, temp, enabled, ignorecount))
2191 2166
2192 self.line = -1 2167 self.line = -1
2193 2168
2194 def menuNextBreakpoint(self): 2169 def menuNextBreakpoint(self):
2195 """ 2170 """
4095 self.setWrapVisualFlags(wrapVisualFlag, wrapVisualFlag) 4070 self.setWrapVisualFlags(wrapVisualFlag, wrapVisualFlag)
4096 4071
4097 self.zoomTo(Preferences.getEditor("ZoomFactor")) 4072 self.zoomTo(Preferences.getEditor("ZoomFactor"))
4098 4073
4099 self.searchIndicator = QsciScintilla.INDIC_CONTAINER 4074 self.searchIndicator = QsciScintilla.INDIC_CONTAINER
4100 self.indicatorDefine(self.searchIndicator, QsciScintilla.INDIC_BOX, 4075 self.indicatorDefine(
4076 self.searchIndicator, QsciScintilla.INDIC_BOX,
4101 Preferences.getEditorColour("SearchMarkers")) 4077 Preferences.getEditorColour("SearchMarkers"))
4102 if not Preferences.getEditor("SearchMarkersEnabled") and \ 4078 if not Preferences.getEditor("SearchMarkersEnabled") and \
4103 not Preferences.getEditor("QuickSearchMarkersEnabled") and \ 4079 not Preferences.getEditor("QuickSearchMarkersEnabled") and \
4104 not Preferences.getEditor("MarkOccurrencesEnabled"): 4080 not Preferences.getEditor("MarkOccurrencesEnabled"):
4105 self.clearAllIndicators(self.searchIndicator) 4081 self.clearAllIndicators(self.searchIndicator)
4226 self.autoCompleteFromAll() 4202 self.autoCompleteFromAll()
4227 else: 4203 else:
4228 E5MessageBox.information( 4204 E5MessageBox.information(
4229 self, 4205 self,
4230 self.trUtf8("Autocompletion"), 4206 self.trUtf8("Autocompletion"),
4231 self.trUtf8("""Autocompletion is not available because""" 4207 self.trUtf8(
4208 """Autocompletion is not available because"""
4232 """ there is no autocompletion source set.""")) 4209 """ there is no autocompletion source set."""))
4233 4210
4234 def setAutoCompletionEnabled(self, enable): 4211 def setAutoCompletionEnabled(self, enable):
4235 """ 4212 """
4236 Public method to enable/disable autocompletion. 4213 Public method to enable/disable autocompletion.
4492 @param pos position into the text (integer) 4469 @param pos position into the text (integer)
4493 @return new position for the calltip (integer) 4470 @return new position for the calltip (integer)
4494 """ 4471 """
4495 ct = pos 4472 ct = pos
4496 if ctshift: 4473 if ctshift:
4497 ctmin = self.SendScintilla(QsciScintilla.SCI_POSITIONFROMLINE, 4474 ctmin = self.SendScintilla(
4475 QsciScintilla.SCI_POSITIONFROMLINE,
4498 self.SendScintilla(QsciScintilla.SCI_LINEFROMPOSITION, ct)) 4476 self.SendScintilla(QsciScintilla.SCI_LINEFROMPOSITION, ct))
4499 if ct - ctshift < ctmin: 4477 if ct - ctshift < ctmin:
4500 ct = ctmin 4478 ct = ctmin
4501 else: 4479 else:
4502 ct = ct - ctshift 4480 ct = ct - ctshift
4672 basename = os.path.splitext(fn)[0] 4650 basename = os.path.splitext(fn)[0]
4673 tbasename = os.path.splitext(tfn)[0] 4651 tbasename = os.path.splitext(tfn)[0]
4674 prEnable = prEnable or \ 4652 prEnable = prEnable or \
4675 os.path.isfile("{0}.profile".format(basename)) or \ 4653 os.path.isfile("{0}.profile".format(basename)) or \
4676 os.path.isfile("{0}.profile".format(tbasename)) 4654 os.path.isfile("{0}.profile".format(tbasename))
4677 coEnable = (coEnable or \ 4655 coEnable = (
4656 coEnable or \
4678 os.path.isfile("{0}.coverage".format(basename)) or \ 4657 os.path.isfile("{0}.coverage".format(basename)) or \
4679 os.path.isfile("{0}.coverage".format(tbasename))) and \ 4658 os.path.isfile("{0}.coverage".format(tbasename))) and \
4680 self.project.isPy3Project() 4659 self.project.isPy3Project()
4681 4660
4682 # now check ourself 4661 # now check ourself
4686 basename = os.path.splitext(fn)[0] 4665 basename = os.path.splitext(fn)[0]
4687 tbasename = os.path.splitext(tfn)[0] 4666 tbasename = os.path.splitext(tfn)[0]
4688 prEnable = prEnable or \ 4667 prEnable = prEnable or \
4689 os.path.isfile("{0}.profile".format(basename)) or \ 4668 os.path.isfile("{0}.profile".format(basename)) or \
4690 os.path.isfile("{0}.profile".format(tbasename)) 4669 os.path.isfile("{0}.profile".format(tbasename))
4691 coEnable = (coEnable or \ 4670 coEnable = (
4671 coEnable or \
4692 os.path.isfile("{0}.coverage".format(basename)) or \ 4672 os.path.isfile("{0}.coverage".format(basename)) or \
4693 os.path.isfile("{0}.coverage".format(tbasename))) and \ 4673 os.path.isfile("{0}.coverage".format(tbasename))) and \
4694 self.isPy3File() 4674 self.isPy3File()
4695 4675
4696 # now check for syntax errors 4676 # now check for syntax errors
5594 annotations = [] 5574 annotations = []
5595 if styleAnnotations: 5575 if styleAnnotations:
5596 annotationStyleTxt = "\n".join(styleAnnotations) 5576 annotationStyleTxt = "\n".join(styleAnnotations)
5597 if warningAnnotations or errorAnnotations: 5577 if warningAnnotations or errorAnnotations:
5598 annotationStyleTxt += "\n" 5578 annotationStyleTxt += "\n"
5599 annotations.append(QsciStyledText(annotationStyleTxt, 5579 annotations.append(QsciStyledText(
5600 self.annotationStyleStyle)) 5580 annotationStyleTxt, self.annotationStyleStyle))
5601 5581
5602 if warningAnnotations: 5582 if warningAnnotations:
5603 annotationWarningTxt = "\n".join(warningAnnotations) 5583 annotationWarningTxt = "\n".join(warningAnnotations)
5604 if errorAnnotations: 5584 if errorAnnotations:
5605 annotationWarningTxt += "\n" 5585 annotationWarningTxt += "\n"
5606 annotations.append(QsciStyledText(annotationWarningTxt, 5586 annotations.append(QsciStyledText(
5607 self.annotationWarningStyle)) 5587 annotationWarningTxt, self.annotationWarningStyle))
5608 5588
5609 if errorAnnotations: 5589 if errorAnnotations:
5610 annotationErrorTxt = "\n".join(errorAnnotations) 5590 annotationErrorTxt = "\n".join(errorAnnotations)
5611 annotations.append(QsciStyledText(annotationErrorTxt, 5591 annotations.append(QsciStyledText(
5612 self.annotationErrorStyle)) 5592 annotationErrorTxt, self.annotationErrorStyle))
5613 5593
5614 if annotations: 5594 if annotations:
5615 self.annotate(line, annotations) 5595 self.annotate(line, annotations)
5616 else: 5596 else:
5617 self.clearAnnotations(line) 5597 self.clearAnnotations(line)
6199 6179
6200 @return reference to the generated menu (QMenu) 6180 @return reference to the generated menu (QMenu)
6201 """ 6181 """
6202 menu = QMenu(self.trUtf8('Resources')) 6182 menu = QMenu(self.trUtf8('Resources'))
6203 6183
6204 menu.addAction(self.trUtf8('Add file...'), 6184 menu.addAction(
6205 self.__addFileResource) 6185 self.trUtf8('Add file...'), self.__addFileResource)
6206 menu.addAction(self.trUtf8('Add files...'), 6186 menu.addAction(
6207 self.__addFileResources) 6187 self.trUtf8('Add files...'), self.__addFileResources)
6208 menu.addAction(self.trUtf8('Add aliased file...'), 6188 menu.addAction(
6189 self.trUtf8('Add aliased file...'),
6209 self.__addFileAliasResource) 6190 self.__addFileAliasResource)
6210 menu.addAction(self.trUtf8('Add localized resource...'), 6191 menu.addAction(
6192 self.trUtf8('Add localized resource...'),
6211 self.__addLocalizedResource) 6193 self.__addLocalizedResource)
6212 menu.addSeparator() 6194 menu.addSeparator()
6213 menu.addAction(self.trUtf8('Add resource frame'), 6195 menu.addAction(
6214 self.__addResourceFrame) 6196 self.trUtf8('Add resource frame'), self.__addResourceFrame)
6215 6197
6216 menu.aboutToShow.connect(self.__showContextMenuResources) 6198 menu.aboutToShow.connect(self.__showContextMenuResources)
6217 6199
6218 return menu 6200 return menu
6219 6201
6430 if len(templateNames) == 1: 6412 if len(templateNames) == 1:
6431 self.__applyTemplate(templateNames[0], 6413 self.__applyTemplate(templateNames[0],
6432 self.getLanguage()) 6414 self.getLanguage())
6433 return 6415 return
6434 elif len(templateNames) > 1: 6416 elif len(templateNames) > 1:
6435 self.showUserList(TemplateCompletionListID, 6417 self.showUserList(
6418 TemplateCompletionListID,
6436 ["{0}?{1:d}".format(t, self.TemplateImageID) \ 6419 ["{0}?{1:d}".format(t, self.TemplateImageID) \
6437 for t in templateNames]) 6420 for t in templateNames])
6438 return 6421 return
6439 6422
6440 super().editorCommand(cmd) 6423 super().editorCommand(cmd)
6658 if suggestions: 6641 if suggestions:
6659 self.spellingMenu.addSeparator() 6642 self.spellingMenu.addSeparator()
6660 self.spellingMenu.addAction( 6643 self.spellingMenu.addAction(
6661 UI.PixmapCache.getIcon("spellchecking.png"), 6644 UI.PixmapCache.getIcon("spellchecking.png"),
6662 self.trUtf8("Check spelling..."), self.__checkSpellingWord) 6645 self.trUtf8("Check spelling..."), self.__checkSpellingWord)
6663 self.spellingMenu.addAction(self.trUtf8("Add to dictionary"), 6646 self.spellingMenu.addAction(
6664 self.__addToSpellingDictionary) 6647 self.trUtf8("Add to dictionary"), self.__addToSpellingDictionary)
6665 self.spellingMenu.addAction(self.trUtf8("Ignore All"), 6648 self.spellingMenu.addAction(
6666 self.__ignoreSpellingAlways) 6649 self.trUtf8("Ignore All"), self.__ignoreSpellingAlways)
6667 6650
6668 self.showMenu.emit("Spelling", self.spellingMenu, self) 6651 self.showMenu.emit("Spelling", self.spellingMenu, self)
6669 6652
6670 def __contextMenuSpellingTriggered(self, action): 6653 def __contextMenuSpellingTriggered(self, action):
6671 """ 6654 """

eric ide

mercurial