660 (Menu new fromLiteralArrayEncoding:(FileBrowser menuSpec)) startUp |
660 (Menu new fromLiteralArrayEncoding:(FileBrowser menuSpec)) startUp |
661 " |
661 " |
662 |
662 |
663 <resource: #menu> |
663 <resource: #menu> |
664 |
664 |
665 ^ |
665 ^ |
666 |
666 #(#Menu |
667 #(#Menu |
667 #( |
668 |
668 #(#MenuItem |
669 #( |
669 #label: 'About' |
670 #(#MenuItem |
670 #translateLabel: true |
671 #label: 'About' |
671 #labelImage: #(#ResourceRetriever #ToolApplicationModel #menuIcon) |
672 #translateLabel: true |
672 #submenu: |
673 #labelImage: #(#ResourceRetriever #ToolApplicationModel #menuIcon) |
673 #(#Menu |
674 #submenu: |
674 #( |
|
675 #(#MenuItem |
|
676 #label: 'About Smalltalk/X...' |
|
677 #translateLabel: true |
|
678 #value: #showAboutSTX |
|
679 ) |
|
680 #(#MenuItem |
|
681 #label: '-' |
|
682 ) |
|
683 #(#MenuItem |
|
684 #label: 'About FileBrowser...' |
|
685 #translateLabel: true |
|
686 #value: #openAboutThisApplication |
|
687 ) |
|
688 ) |
|
689 nil |
|
690 nil |
|
691 ) |
|
692 ) |
|
693 #(#MenuItem |
|
694 #label: 'File' |
|
695 #translateLabel: true |
|
696 #submenu: |
|
697 #(#Menu |
|
698 #( |
|
699 #(#MenuItem |
|
700 #label: 'Open' |
|
701 #translateLabel: true |
|
702 #value: #menuOpen |
|
703 #enabled: #hasSelection |
|
704 ) |
|
705 #(#MenuItem |
|
706 #label: 'Open selected Filename' |
|
707 #translateLabel: true |
|
708 #isVisible: #hasFilenameSelectionInCodeView |
|
709 #value: #openSelectedFilename |
|
710 #enabled: #hasFilenameSelectionInCodeView |
|
711 ) |
|
712 #(#MenuItem |
|
713 #label: 'FileIn' |
|
714 #translateLabel: true |
|
715 #value: #fileFileIn |
|
716 #enabled: #hasSelection |
|
717 ) |
|
718 #(#MenuItem |
|
719 #label: '-' |
|
720 ) |
|
721 #(#MenuItem |
|
722 #label: 'New' |
|
723 #translateLabel: true |
|
724 #submenu: |
675 #(#Menu |
725 #(#Menu |
676 |
726 #( |
677 #( |
727 #(#MenuItem |
678 #(#MenuItem |
728 #label: 'Directory...' |
679 #label: 'About Smalltalk/X...' |
729 #translateLabel: true |
680 #translateLabel: true |
730 #value: #newDirectory |
681 #value: #showAboutSTX |
|
682 ) |
731 ) |
683 #(#MenuItem |
732 #(#MenuItem |
684 #label: '-' |
733 #label: 'File...' |
|
734 #translateLabel: true |
|
735 #value: #newFile |
685 ) |
736 ) |
686 #(#MenuItem |
737 #(#MenuItem |
687 #label: 'About FileBrowser...' |
738 #label: 'Hard Link...' |
688 #translateLabel: true |
739 #translateLabel: true |
689 #value: #openAboutThisApplication |
740 #isVisible: #systemIsUnix |
|
741 #value: #newHardLink |
690 ) |
742 ) |
691 ) nil |
743 #(#MenuItem |
|
744 #label: 'Symbolic Link...' |
|
745 #translateLabel: true |
|
746 #isVisible: #systemIsUnix |
|
747 #value: #newSoftLink |
|
748 ) |
|
749 ) |
692 nil |
750 nil |
693 ) |
751 nil |
|
752 ) |
|
753 ) |
|
754 #(#MenuItem |
|
755 #label: 'Remove' |
|
756 #translateLabel: true |
|
757 #value: #fileRemove |
|
758 #enabled: #hasSelection |
|
759 ) |
|
760 #(#MenuItem |
|
761 #label: 'Rename' |
|
762 #translateLabel: true |
|
763 #value: #fileRename |
|
764 #enabled: #hasSelection |
|
765 ) |
|
766 #(#MenuItem |
|
767 #label: 'Properties...' |
|
768 #translateLabel: true |
|
769 #value: #fileGetLongInfo |
|
770 #enabled: #hasSelection |
|
771 ) |
|
772 #(#MenuItem |
|
773 #label: '-' |
|
774 #isVisible: #javaSupportLoaded |
|
775 ) |
|
776 #(#MenuItem |
|
777 #label: 'Add to Java ClassPath' |
|
778 #translateLabel: true |
|
779 #isVisible: #javaSupportLoaded |
|
780 #value: #fileAddToJavaClassPath |
|
781 #enabled: #canAddToClassPath |
|
782 ) |
|
783 #(#MenuItem |
|
784 #label: 'Remove from Java ClassPath' |
|
785 #translateLabel: true |
|
786 #isVisible: #javaSupportLoaded |
|
787 #value: #fileRemoveFromJavaClassPath |
|
788 #enabled: #canRemoveToClassPath |
|
789 ) |
|
790 #(#MenuItem |
|
791 #label: '-' |
|
792 ) |
|
793 #(#MenuItem |
|
794 #label: 'Spawn' |
|
795 #translateLabel: true |
|
796 #value: #fileSpawn |
|
797 ) |
|
798 #(#MenuItem |
|
799 #label: '-' |
|
800 ) |
|
801 #(#MenuItem |
|
802 #label: 'Exit' |
|
803 #translateLabel: true |
|
804 #value: #menuExit |
|
805 ) |
|
806 ) |
|
807 nil |
|
808 nil |
694 ) |
809 ) |
695 #(#MenuItem |
810 ) |
696 #label: 'File' |
811 #(#MenuItem |
697 #translateLabel: true |
812 #label: 'Directory' |
698 #submenu: |
813 #translateLabel: true |
699 #(#Menu |
814 #submenuChannel: #directoryMenuSpec |
700 |
815 ) |
701 #( |
816 #(#MenuItem |
702 #(#MenuItem |
817 #label: 'Edit' |
703 #label: 'Open' |
818 #translateLabel: true |
704 #translateLabel: true |
819 #submenu: |
705 #value: #menuOpen |
820 #(#Menu |
706 #enabled: #hasSelection |
821 #( |
707 ) |
822 #(#MenuItem |
708 #(#MenuItem |
823 #label: 'Get Contents' |
709 #label: 'Open selected Filename' |
824 #translateLabel: true |
710 #translateLabel: true |
825 #value: #fileGet |
711 #value: #openSelectedFilename |
826 #enabled: #hasSelection |
712 #isVisible: #hasFilenameSelectionInCodeView |
827 ) |
713 #enabled: #hasFilenameSelectionInCodeView |
828 #(#MenuItem |
714 ) |
829 #label: 'Insert Contents' |
715 #(#MenuItem |
830 #translateLabel: true |
716 #label: 'FileIn' |
831 #value: #fileInsert |
717 #translateLabel: true |
832 #enabled: #hasSelection |
718 #value: #fileFileIn |
833 ) |
719 #enabled: #hasSelection |
834 #(#MenuItem |
720 ) |
835 #label: '-' |
721 #(#MenuItem |
836 ) |
722 #label: '-' |
837 #(#MenuItem |
723 ) |
838 #label: 'Copy File List' |
724 #(#MenuItem |
839 #translateLabel: true |
725 #label: 'New' |
840 #value: #copyFileList |
726 #translateLabel: true |
841 ) |
727 #submenu: |
842 #(#MenuItem |
728 #(#Menu |
843 #label: 'Copy Selected Filename' |
729 |
844 #translateLabel: true |
730 #( |
845 #value: #copySelectedFileName |
731 #(#MenuItem |
846 ) |
732 #label: 'Directory...' |
847 #(#MenuItem |
733 #translateLabel: true |
848 #label: 'Copy Command History' |
734 #value: #newDirectory |
849 #translateLabel: true |
735 ) |
850 #value: #copyCommandHistory |
736 #(#MenuItem |
851 ) |
737 #label: 'File...' |
852 ) |
738 #translateLabel: true |
853 nil |
739 #value: #newFile |
854 nil |
740 ) |
|
741 #(#MenuItem |
|
742 #label: 'Hard Link...' |
|
743 #translateLabel: true |
|
744 #isVisible: #systemIsUnix |
|
745 #value: #newHardLink |
|
746 ) |
|
747 #(#MenuItem |
|
748 #label: 'Symbolic Link...' |
|
749 #translateLabel: true |
|
750 #isVisible: #systemIsUnix |
|
751 #value: #newSoftLink |
|
752 ) |
|
753 ) nil |
|
754 nil |
|
755 ) |
|
756 ) |
|
757 #(#MenuItem |
|
758 #label: 'Remove' |
|
759 #translateLabel: true |
|
760 #value: #fileRemove |
|
761 #enabled: #hasSelection |
|
762 ) |
|
763 #(#MenuItem |
|
764 #label: 'Rename' |
|
765 #translateLabel: true |
|
766 #value: #fileRename |
|
767 #enabled: #hasSelection |
|
768 ) |
|
769 #(#MenuItem |
|
770 #label: 'Properties...' |
|
771 #translateLabel: true |
|
772 #value: #fileGetLongInfo |
|
773 #enabled: #hasSelection |
|
774 ) |
|
775 #(#MenuItem |
|
776 #label: '-' |
|
777 #isVisible: #javaSupportLoaded |
|
778 ) |
|
779 #(#MenuItem |
|
780 #label: 'Add to Java ClassPath' |
|
781 #translateLabel: true |
|
782 #isVisible: #javaSupportLoaded |
|
783 #value: #fileAddToJavaClassPath |
|
784 #enabled: #canAddToClassPath |
|
785 ) |
|
786 #(#MenuItem |
|
787 #label: 'Remove from Java ClassPath' |
|
788 #translateLabel: true |
|
789 #isVisible: #javaSupportLoaded |
|
790 #value: #fileRemoveFromJavaClassPath |
|
791 #enabled: #canRemoveToClassPath |
|
792 ) |
|
793 #(#MenuItem |
|
794 #label: '-' |
|
795 ) |
|
796 #(#MenuItem |
|
797 #label: 'Spawn' |
|
798 #translateLabel: true |
|
799 #value: #fileSpawn |
|
800 ) |
|
801 #(#MenuItem |
|
802 #label: '-' |
|
803 ) |
|
804 #(#MenuItem |
|
805 #label: 'Exit' |
|
806 #translateLabel: true |
|
807 #value: #menuExit |
|
808 ) |
|
809 ) nil |
|
810 nil |
|
811 ) |
|
812 ) |
855 ) |
813 #(#MenuItem |
856 ) |
814 #label: 'Directory' |
857 #(#MenuItem |
815 #translateLabel: true |
858 #label: 'View' |
816 #submenuChannel: #directoryMenuSpec |
859 #translateLabel: true |
|
860 #submenu: |
|
861 #(#Menu |
|
862 #( |
|
863 #(#MenuItem |
|
864 #label: 'Details' |
|
865 #translateLabel: true |
|
866 #indication: #showingDetails |
|
867 ) |
|
868 #(#MenuItem |
|
869 #label: 'Show Hidden Files' |
|
870 #translateLabel: true |
|
871 #indication: #showingHiddenFiles |
|
872 ) |
|
873 #(#MenuItem |
|
874 #label: 'Big Image Preview' |
|
875 #translateLabel: true |
|
876 #indication: #showingBigImagePreview |
|
877 ) |
|
878 #(#MenuItem |
|
879 #label: '-' |
|
880 ) |
|
881 #(#MenuItem |
|
882 #label: 'Sort By Name' |
|
883 #translateLabel: true |
|
884 #choice: #sortByWhat |
|
885 #choiceValue: #name |
|
886 ) |
|
887 #(#MenuItem |
|
888 #label: 'Sort By Type' |
|
889 #translateLabel: true |
|
890 #choice: #sortByWhat |
|
891 #choiceValue: #type |
|
892 ) |
|
893 #(#MenuItem |
|
894 #label: 'Sort By Time' |
|
895 #translateLabel: true |
|
896 #choice: #sortByWhat |
|
897 #choiceValue: #time |
|
898 ) |
|
899 #(#MenuItem |
|
900 #label: 'Ignore Case' |
|
901 #translateLabel: true |
|
902 #enabled: #sortByName |
|
903 #indication: #sortCaseless |
|
904 ) |
|
905 #(#MenuItem |
|
906 #label: '-' |
|
907 ) |
|
908 #(#MenuItem |
|
909 #label: 'Encoding...' |
|
910 #translateLabel: true |
|
911 #value: #fileEncoding |
|
912 ) |
|
913 #(#MenuItem |
|
914 #label: '-' |
|
915 ) |
|
916 #(#MenuItem |
|
917 #label: 'Update' |
|
918 #translateLabel: true |
|
919 #value: #updateCurrentDirectory |
|
920 ) |
|
921 ) |
|
922 nil |
|
923 nil |
817 ) |
924 ) |
818 #(#MenuItem |
925 ) |
819 #label: 'CVS' |
926 #(#MenuItem |
820 #translateLabel: true |
927 #label: 'Tools' |
821 #submenu: |
928 #translateLabel: true |
822 #(#Menu |
929 #submenu: |
823 |
930 #(#Menu |
824 #( |
931 #( |
825 #(#MenuItem |
932 #(#MenuItem |
826 #label: 'Remove file && CVS Container' |
933 #label: 'Unix Command' |
827 #translateLabel: true |
934 #translateLabel: true |
828 #value: #fileRemoveAndRemoveContainerFromCVS |
935 #isVisible: #systemIsUnix |
829 #enabled: #canRemoveCVSContainer |
936 #value: #menuOSCommand |
830 ) |
937 ) |
831 ) nil |
938 #(#MenuItem |
832 nil |
939 #label: 'DOS Command' |
833 ) |
940 #translateLabel: true |
|
941 #isVisible: #systemIsDOS |
|
942 #value: #menuOSCommand |
|
943 ) |
|
944 #(#MenuItem |
|
945 #label: 'VMS Command' |
|
946 #translateLabel: true |
|
947 #isVisible: #systemIsVMS |
|
948 #value: #menuOSCommand |
|
949 ) |
|
950 #(#MenuItem |
|
951 #label: '-' |
|
952 ) |
|
953 #(#MenuItem |
|
954 #label: 'Changes Browser' |
|
955 #translateLabel: true |
|
956 #value: #openChangesBrowser |
|
957 #enabled: #hasSelection |
|
958 ) |
|
959 #(#MenuItem |
|
960 #label: 'Editor' |
|
961 #translateLabel: true |
|
962 #value: #openEditor |
|
963 #enabled: #hasSelection |
|
964 ) |
|
965 #(#MenuItem |
|
966 #label: 'HTML Reader' |
|
967 #translateLabel: true |
|
968 #value: #openHTMLReader |
|
969 #enabled: #hasSelection |
|
970 ) |
|
971 #(#MenuItem |
|
972 #label: 'Applet Viewer' |
|
973 #translateLabel: true |
|
974 #isVisible: #hasJava |
|
975 #value: #openAppletViewer |
|
976 #enabled: #hasJavaAndSelection |
|
977 ) |
|
978 #(#MenuItem |
|
979 #label: 'Image Inspector' |
|
980 #translateLabel: true |
|
981 #value: #openImageInspector |
|
982 #enabled: #hasSelection |
|
983 ) |
|
984 #(#MenuItem |
|
985 #label: 'Image Preview' |
|
986 #translateLabel: true |
|
987 #value: #openImagePreview |
|
988 #enabled: #hasSelection |
|
989 ) |
|
990 #(#MenuItem |
|
991 #label: 'Image Editor' |
|
992 #translateLabel: true |
|
993 #value: #openImageEditor |
|
994 #enabled: #hasSelection |
|
995 ) |
|
996 #(#MenuItem |
|
997 #label: 'ZipFile Tool' |
|
998 #translateLabel: true |
|
999 #value: #openZipTool |
|
1000 #enabled: #hasZipFileSelected |
|
1001 ) |
|
1002 #(#MenuItem |
|
1003 #label: 'File Differences...' |
|
1004 #translateLabel: true |
|
1005 #value: #openDiffView |
|
1006 ) |
|
1007 #(#MenuItem |
|
1008 #label: 'Find Duplicate Files' |
|
1009 #translateLabel: true |
|
1010 #value: #fileFindDuplicates |
|
1011 ) |
|
1012 #(#MenuItem |
|
1013 #label: 'Find All Duplicate Files (recursive)' |
|
1014 #translateLabel: true |
|
1015 #value: #fileFindAllDuplicates |
|
1016 ) |
|
1017 #(#MenuItem |
|
1018 #label: 'Find a File...' |
|
1019 #translateLabel: true |
|
1020 #value: #fileFindFile |
|
1021 ) |
|
1022 #(#MenuItem |
|
1023 #label: 'Hex Dump' |
|
1024 #translateLabel: true |
|
1025 #value: #fileHexDump |
|
1026 ) |
|
1027 #(#MenuItem |
|
1028 #label: 'Shell Terminal' |
|
1029 #translateLabel: true |
|
1030 #isVisible: #systemIsUnix |
|
1031 #value: #openTerminal |
|
1032 #enabled: #systemIsUnix |
|
1033 ) |
|
1034 ) |
|
1035 nil |
|
1036 nil |
834 ) |
1037 ) |
835 #(#MenuItem |
1038 ) |
836 #label: 'Edit' |
1039 #(#MenuItem |
837 #translateLabel: true |
1040 #label: 'CVS' |
838 #submenu: |
1041 #translateLabel: true |
839 #(#Menu |
1042 #submenu: |
840 |
1043 #(#Menu |
841 #( |
1044 #( |
842 #(#MenuItem |
1045 #(#MenuItem |
843 #label: 'Get Contents' |
1046 #label: 'Update selected files/directories' |
844 #translateLabel: true |
1047 #translateLabel: true |
845 #value: #fileGet |
1048 #value: #cvsUpdateSelection |
846 #enabled: #hasSelection |
1049 #enabled: #hasSelection |
847 ) |
1050 ) |
848 #(#MenuItem |
1051 #(#MenuItem |
849 #label: 'Insert Contents' |
1052 #label: 'Update directory local' |
850 #translateLabel: true |
1053 #translateLabel: true |
851 #value: #fileInsert |
1054 #value: #cvsUpdateDirectoryLocal |
852 #enabled: #hasSelection |
1055 ) |
853 ) |
1056 #(#MenuItem |
854 #(#MenuItem |
1057 #label: 'Update directory recursive' |
855 #label: '-' |
1058 #translateLabel: true |
856 ) |
1059 #value: #cvsUpdateDirectoryRecursive |
857 #(#MenuItem |
1060 ) |
858 #label: 'Copy File List' |
1061 #(#MenuItem |
859 #translateLabel: true |
1062 #label: '-' |
860 #value: #copyFileList |
1063 ) |
861 ) |
1064 #(#MenuItem |
862 #(#MenuItem |
1065 #label: 'Remove file && CVS Container' |
863 #label: 'Copy Selected Filename' |
1066 #translateLabel: true |
864 #translateLabel: true |
1067 #value: #cvsRemoveFileAndContainer |
865 #value: #copySelectedFileName |
1068 #enabled: #canRemoveCVSContainer |
866 ) |
1069 ) |
867 #(#MenuItem |
1070 ) |
868 #label: 'Copy Command History' |
1071 nil |
869 #translateLabel: true |
1072 nil |
870 #value: #copyCommandHistory |
|
871 ) |
|
872 ) nil |
|
873 nil |
|
874 ) |
|
875 ) |
1073 ) |
876 #(#MenuItem |
1074 ) |
877 #label: 'View' |
1075 #(#MenuItem |
878 #translateLabel: true |
1076 #label: 'Help' |
879 #submenu: |
1077 #translateLabel: true |
880 #(#Menu |
1078 #startGroup: #right |
881 |
1079 #submenu: |
882 #( |
1080 #(#Menu |
883 #(#MenuItem |
1081 #( |
884 #label: 'Details' |
1082 #(#MenuItem |
885 #translateLabel: true |
1083 #label: 'FileBrowser Documentation' |
886 #indication: #showingDetails |
1084 #translateLabel: true |
887 ) |
1085 #value: #openHTMLDocument: |
888 #(#MenuItem |
1086 #argument: 'tools/fbrowser/TOP.html' |
889 #label: 'Show Hidden Files' |
1087 ) |
890 #translateLabel: true |
1088 ) |
891 #indication: #showingHiddenFiles |
1089 nil |
892 ) |
1090 nil |
893 #(#MenuItem |
|
894 #label: 'Big Image Preview' |
|
895 #translateLabel: true |
|
896 #indication: #showingBigImagePreview |
|
897 ) |
|
898 #(#MenuItem |
|
899 #label: '-' |
|
900 ) |
|
901 #(#MenuItem |
|
902 #label: 'Sort By Name' |
|
903 #translateLabel: true |
|
904 #choice: #sortByWhat |
|
905 #choiceValue: #name |
|
906 ) |
|
907 #(#MenuItem |
|
908 #label: 'Sort By Type' |
|
909 #translateLabel: true |
|
910 #choice: #sortByWhat |
|
911 #choiceValue: #type |
|
912 ) |
|
913 #(#MenuItem |
|
914 #label: 'Sort By Time' |
|
915 #translateLabel: true |
|
916 #choice: #sortByWhat |
|
917 #choiceValue: #time |
|
918 ) |
|
919 #(#MenuItem |
|
920 #label: 'Ignore Case' |
|
921 #translateLabel: true |
|
922 #enabled: #sortByName |
|
923 #indication: #sortCaseless |
|
924 ) |
|
925 #(#MenuItem |
|
926 #label: '-' |
|
927 ) |
|
928 #(#MenuItem |
|
929 #label: 'Encoding...' |
|
930 #translateLabel: true |
|
931 #value: #fileEncoding |
|
932 ) |
|
933 #(#MenuItem |
|
934 #label: '-' |
|
935 ) |
|
936 #(#MenuItem |
|
937 #label: 'Update' |
|
938 #translateLabel: true |
|
939 #value: #updateCurrentDirectory |
|
940 ) |
|
941 ) nil |
|
942 nil |
|
943 ) |
|
944 ) |
1091 ) |
945 #(#MenuItem |
1092 ) |
946 #label: 'Tools' |
1093 ) |
947 #translateLabel: true |
1094 nil |
948 #submenu: |
1095 nil |
949 #(#Menu |
|
950 |
|
951 #( |
|
952 #(#MenuItem |
|
953 #label: 'Unix Command' |
|
954 #translateLabel: true |
|
955 #isVisible: #systemIsUnix |
|
956 #value: #menuOSCommand |
|
957 ) |
|
958 #(#MenuItem |
|
959 #label: 'DOS Command' |
|
960 #translateLabel: true |
|
961 #isVisible: #systemIsDOS |
|
962 #value: #menuOSCommand |
|
963 ) |
|
964 #(#MenuItem |
|
965 #label: 'VMS Command' |
|
966 #translateLabel: true |
|
967 #isVisible: #systemIsVMS |
|
968 #value: #menuOSCommand |
|
969 ) |
|
970 #(#MenuItem |
|
971 #label: '-' |
|
972 ) |
|
973 #(#MenuItem |
|
974 #label: 'Changes Browser' |
|
975 #translateLabel: true |
|
976 #value: #openChangesBrowser |
|
977 #enabled: #hasSelection |
|
978 ) |
|
979 #(#MenuItem |
|
980 #label: 'Editor' |
|
981 #translateLabel: true |
|
982 #value: #openEditor |
|
983 #enabled: #hasSelection |
|
984 ) |
|
985 #(#MenuItem |
|
986 #label: 'HTML Reader' |
|
987 #translateLabel: true |
|
988 #value: #openHTMLReader |
|
989 #enabled: #hasSelection |
|
990 ) |
|
991 #(#MenuItem |
|
992 #label: 'Applet Viewer' |
|
993 #translateLabel: true |
|
994 #isVisible: #hasJava |
|
995 #value: #openAppletViewer |
|
996 #enabled: #hasJavaAndSelection |
|
997 ) |
|
998 #(#MenuItem |
|
999 #label: 'Image Inspector' |
|
1000 #translateLabel: true |
|
1001 #value: #openImageInspector |
|
1002 #enabled: #hasSelection |
|
1003 ) |
|
1004 #(#MenuItem |
|
1005 #label: 'Image Preview' |
|
1006 #translateLabel: true |
|
1007 #value: #openImagePreview |
|
1008 #enabled: #hasSelection |
|
1009 ) |
|
1010 #(#MenuItem |
|
1011 #label: 'Image Editor' |
|
1012 #translateLabel: true |
|
1013 #value: #openImageEditor |
|
1014 #enabled: #hasSelection |
|
1015 ) |
|
1016 #(#MenuItem |
|
1017 #label: 'ZipFile Tool' |
|
1018 #translateLabel: true |
|
1019 #value: #openZipTool |
|
1020 #enabled: #hasZipFileSelected |
|
1021 ) |
|
1022 #(#MenuItem |
|
1023 #label: 'File Differences...' |
|
1024 #translateLabel: true |
|
1025 #value: #openDiffView |
|
1026 ) |
|
1027 #(#MenuItem |
|
1028 #label: 'Find Duplicate Files' |
|
1029 #translateLabel: true |
|
1030 #value: #fileFindDuplicates |
|
1031 ) |
|
1032 #(#MenuItem |
|
1033 #label: 'Find All Duplicate Files (recursive)' |
|
1034 #translateLabel: true |
|
1035 #value: #fileFindAllDuplicates |
|
1036 ) |
|
1037 #(#MenuItem |
|
1038 #label: 'Find a File...' |
|
1039 #translateLabel: true |
|
1040 #value: #fileFindFile |
|
1041 ) |
|
1042 #(#MenuItem |
|
1043 #label: 'Hex Dump' |
|
1044 #translateLabel: true |
|
1045 #value: #fileHexDump |
|
1046 ) |
|
1047 #(#MenuItem |
|
1048 #label: 'Shell Terminal' |
|
1049 #translateLabel: true |
|
1050 #isVisible: #systemIsUnix |
|
1051 #value: #openTerminal |
|
1052 #enabled: #systemIsUnix |
|
1053 ) |
|
1054 ) nil |
|
1055 nil |
|
1056 ) |
|
1057 ) |
|
1058 #(#MenuItem |
|
1059 #label: 'Help' |
|
1060 #translateLabel: true |
|
1061 #startGroup: #right |
|
1062 #submenu: |
|
1063 #(#Menu |
|
1064 |
|
1065 #( |
|
1066 #(#MenuItem |
|
1067 #label: 'FileBrowser Documentation' |
|
1068 #translateLabel: true |
|
1069 #value: #openHTMLDocument: |
|
1070 #argument: 'tools/fbrowser/TOP.html' |
|
1071 ) |
|
1072 ) nil |
|
1073 nil |
|
1074 ) |
|
1075 ) |
|
1076 ) nil |
|
1077 nil |
|
1078 ) |
1096 ) |
1079 ! ! |
1097 ! ! |
1080 |
1098 |
1081 !FileBrowser class methodsFor:'queries'! |
1099 !FileBrowser class methodsFor:'queries'! |
1082 |
1100 |
3496 "/ Transcript show:'fBrowser:'; showCR:sortByWhat value. |
3489 "/ Transcript show:'fBrowser:'; showCR:sortByWhat value. |
3497 self updateCurrentDirectory |
3490 self updateCurrentDirectory |
3498 |
3491 |
3499 "Created: / 14.8.1998 / 16:17:20 / cg" |
3492 "Created: / 14.8.1998 / 16:17:20 / cg" |
3500 "Modified: / 14.8.1998 / 16:44:00 / cg" |
3493 "Modified: / 14.8.1998 / 16:44:00 / cg" |
|
3494 ! ! |
|
3495 |
|
3496 !FileBrowser methodsFor:'menu actions - cvs'! |
|
3497 |
|
3498 cvsRemoveFileAndContainer |
|
3499 "remove the selected file(s) and their CVS containers. |
|
3500 Query if user really wants to really remove them." |
|
3501 |
|
3502 |sel q| |
|
3503 |
|
3504 sel := fileListView selection. |
|
3505 sel size > 0 ifTrue:[ |
|
3506 sel := sel collect:[:rawIndex | fileList at:rawIndex]. |
|
3507 sel size > 1 ifTrue:[ |
|
3508 q := resources string:'remove %1 selected files and CVS containers ?' with:(sel size) |
|
3509 ] ifFalse:[ |
|
3510 q := resources string:'remove ''%1'' and CVS container ?' with:(sel first asText allBold) |
|
3511 ]. |
|
3512 (self sensor shiftDown |
|
3513 or:[self ask:q yesButton:'remove']) ifTrue:[ |
|
3514 self withCursor:(Cursor wait) do:[ |
|
3515 self doRemoveAndRemoveFromCVS:sel |
|
3516 ] |
|
3517 ] |
|
3518 ] |
|
3519 |
|
3520 "Modified: / 16.12.1998 / 17:30:31 / cg" |
|
3521 ! |
|
3522 |
|
3523 cvsUpdateDirectoryLocal |
|
3524 "update this directory" |
|
3525 |
|
3526 self |
|
3527 doExecuteCommand:'cvs upd -l' replace:false |
|
3528 |
|
3529 "Modified: / 16.12.1998 / 17:30:31 / cg" |
|
3530 ! |
|
3531 |
|
3532 cvsUpdateDirectoryRecursive |
|
3533 "update this directory" |
|
3534 |
|
3535 self |
|
3536 doExecuteCommand:'cvs upd -d' replace:false |
|
3537 |
|
3538 "Modified: / 16.12.1998 / 17:30:31 / cg" |
|
3539 ! |
|
3540 |
|
3541 cvsUpdateSelection |
|
3542 "update selected files" |
|
3543 |
|
3544 |sel| |
|
3545 |
|
3546 sel := fileListView selection. |
|
3547 sel size > 0 ifTrue:[ |
|
3548 sel := sel collect:[:rawIndex | fileList at:rawIndex]. |
|
3549 sel do:[:fn | |
|
3550 self |
|
3551 doExecuteCommand:('cvs upd ' , fn) replace:false |
|
3552 ] |
|
3553 ]. |
|
3554 ! |
|
3555 |
|
3556 doRemoveAndRemoveFromCVS:filesToRemove |
|
3557 "remove the selected file(s) and their CVS containers - no questions asked" |
|
3558 |
|
3559 |msg idx needUpdate toRemove updateRunning yesToAll| |
|
3560 |
|
3561 updateRunning := listUpdateProcess notNil. |
|
3562 self stopUpdateProcess. |
|
3563 toRemove := OrderedCollection new. |
|
3564 |
|
3565 "/ |
|
3566 "/ did the directory change in the meanwhile ? |
|
3567 "/ |
|
3568 needUpdate := (currentDirectory modificationTime > timeOfLastCheck). |
|
3569 |
|
3570 yesToAll := false. |
|
3571 lockUpdate := true. |
|
3572 [ |
|
3573 filesToRemove do:[:fileName | |
|
3574 |f| |
|
3575 |
|
3576 f := currentDirectory construct:fileName. |
|
3577 OperatingSystem accessDeniedErrorSignal handle:[:ex| |
|
3578 "was not able to remove it" |
|
3579 msg := (resources string:'cannot remove ''%1'' !!' with:fileName). |
|
3580 self showAlert:msg with:(OperatingSystem lastErrorString) |
|
3581 ] do:[ |
|
3582 |answer contents| |
|
3583 |
|
3584 (f isSymbolicLink not) ifTrue:[ |
|
3585 self |
|
3586 doExecuteCommand:('cvs remove -f ' , f baseName) |
|
3587 replace:false. |
|
3588 |
|
3589 " |
|
3590 self show:nil |
|
3591 " |
|
3592 idx := fileList indexOf:fileName. |
|
3593 idx ~~ 0 ifTrue:[ |
|
3594 toRemove add:idx. |
|
3595 ] |
|
3596 ] |
|
3597 ]. |
|
3598 ]. |
|
3599 ] valueNowOrOnUnwindDo:[ |
|
3600 lockUpdate := false. |
|
3601 fileListView setSelection:nil. |
|
3602 |
|
3603 "/ |
|
3604 "/ remove reverse - otherwise indices are wrong |
|
3605 "/ |
|
3606 toRemove sort. |
|
3607 toRemove reverseDo:[:idx | |
|
3608 fileList removeIndex:idx. |
|
3609 fileListView removeIndex:idx. |
|
3610 ]. |
|
3611 |
|
3612 updateRunning ifTrue:[ |
|
3613 self updateCurrentDirectory |
|
3614 ] ifFalse:[ |
|
3615 " |
|
3616 install a new check after some time |
|
3617 " |
|
3618 needUpdate ifFalse:[timeOfLastCheck := AbsoluteTime now]. |
|
3619 Processor removeTimedBlock:checkBlock. |
|
3620 Processor addTimedBlock:checkBlock afterSeconds:checkDelta. |
|
3621 ] |
|
3622 ]. |
|
3623 |
|
3624 self |
|
3625 doExecuteCommand:('cvs commit -m ''removed via FileBrowser''') |
|
3626 replace:false. |
|
3627 |
|
3628 "Modified: / 21.10.1998 / 17:02:11 / cg" |
3501 ! ! |
3629 ! ! |
3502 |
3630 |
3503 !FileBrowser methodsFor:'misc user interaction'! |
3631 !FileBrowser methodsFor:'misc user interaction'! |
3504 |
3632 |
3505 closeRequest |
3633 closeRequest |