MIMETypes.st
author Claus Gittinger <cg@exept.de>
Sun, 23 Feb 2020 16:01:31 +0100
changeset 4450 c07db2570587
parent 4417 46c175173ac5
permissions -rw-r--r--
#REFACTORING by exept class: GIFReader comment/format in: #readImage: changed: #fromStream: #writeHeaderFor:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4388
20e3d76cf3aa #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 4279
diff changeset
     1
"{ Encoding: utf8 }"
20e3d76cf3aa #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 4279
diff changeset
     2
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
 COPYRIGHT (c) 1997 by eXept Software AG 
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
     5
	      All Rights Reserved
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 This software is furnished under a license and may be used
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 only in accordance with the terms of that license and with the
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 inclusion of the above copyright notice.   This software may not
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 be provided or otherwise made available to, or used by, any
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
 other person.  No title to or ownership of the software is
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
 hereby transferred.
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
"
1410
faf04ef6892b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1364
diff changeset
    14
"{ Package: 'stx:libview2' }"
faf04ef6892b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1364
diff changeset
    15
3451
3f6dc42dff22 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
    16
"{ NameSpace: Smalltalk }"
3f6dc42dff22 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
    17
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
Object subclass:#MIMETypes
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
    19
	instanceVariableNames:''
3691
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
    20
	classVariableNames:'CharSetToFontMapping DefaultCommandPerMIMEPerOS
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
    21
		DefaultPrintCommandPerMIMEPerOS
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
    22
		FileSuffixToImageReaderClassMapping FileSuffixToTypeMapping
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
    23
		FilenameToTypeMapping LastSuffix LastType
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
    24
		SuffixToCommentStringMapping SuffixToParenthesisSpecMapping
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
    25
		TypeFromContentsDetectors TypeToCommentStringMapping
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
    26
		TypeToFileSuffixMapping TypeToImageReaderClassMapping
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
    27
		TypeToInfoMapping TypeToParenthesisSpecMapping
4417
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
    28
		TypeToViewerApplicationMapping TypeToAudioReaderClassMapping
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
    29
		FileSuffixToAudioReaderClassMapping'
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
    30
	poolDictionaries:''
1800
817b8ce39da7 category
Claus Gittinger <cg@exept.de>
parents: 1783
diff changeset
    31
	category:'Net-Communication-Support'
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
    32
!
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
    33
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
    34
ImmutableString variableByteSubclass:#MIMEType
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
    35
	instanceVariableNames:''
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
    36
	classVariableNames:'CachedTypes'
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
    37
	poolDictionaries:''
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
    38
	privateIn:MIMETypes
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
!
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
!MIMETypes class methodsFor:'documentation'!
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
copyright
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
"
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
 COPYRIGHT (c) 1997 by eXept Software AG 
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
    46
	      All Rights Reserved
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
 This software is furnished under a license and may be used
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
 only in accordance with the terms of that license and with the
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
 inclusion of the above copyright notice.   This software may not
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
 be provided or otherwise made available to, or used by, any
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
 other person.  No title to or ownership of the software is
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
 hereby transferred.
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
"
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
!
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
documentation
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
"
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
    just a place to keep MIME information
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
    (avoid spreading things at many places)
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
1021
004c324dc31a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 713
diff changeset
    64
    MIMETypes is abstract and functional.
004c324dc31a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 713
diff changeset
    65
    Actually, in some OperatingSystems, this information may
004c324dc31a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 713
diff changeset
    66
    be found in some config files (or registries).
004c324dc31a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 713
diff changeset
    67
    Therefore, this class may have to be extended to support this
004c324dc31a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 713
diff changeset
    68
    and fetch the information from there eventually.
004c324dc31a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 713
diff changeset
    69
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
    [author:]
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
        Claus Gittinger
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
"
1311
Claus Gittinger <cg@exept.de>
parents: 1300
diff changeset
    73
!
Claus Gittinger <cg@exept.de>
parents: 1300
diff changeset
    74
2486
42063a7fc3db mimeType: x-expecco-testSuite (extension: ets)
Claus Gittinger <cg@exept.de>
parents: 2479
diff changeset
    75
examples
42063a7fc3db mimeType: x-expecco-testSuite (extension: ets)
Claus Gittinger <cg@exept.de>
parents: 2479
diff changeset
    76
"
2970
8b91ec204044 comment/format in: #initialize
Claus Gittinger <cg@exept.de>
parents: 2968
diff changeset
    77
                                                                            [exBegin]
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
    78
    MIMETypes mimeTypeFromString:'text/plain'
3210
784ada4aa13b class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3187
diff changeset
    79
                                                                            [exEnd]
784ada4aa13b class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3187
diff changeset
    80
                                                                            [exBegin]
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
    81
    MIMETypes mimeTypeFromString:'application/x-expecco-testsuite'
2970
8b91ec204044 comment/format in: #initialize
Claus Gittinger <cg@exept.de>
parents: 2968
diff changeset
    82
                                                                            [exEnd]
2486
42063a7fc3db mimeType: x-expecco-testSuite (extension: ets)
Claus Gittinger <cg@exept.de>
parents: 2479
diff changeset
    83
2970
8b91ec204044 comment/format in: #initialize
Claus Gittinger <cg@exept.de>
parents: 2968
diff changeset
    84
                                                                            [exBegin]
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
    85
    MIMETypes mimeTypeForSuffix:'gif'
2970
8b91ec204044 comment/format in: #initialize
Claus Gittinger <cg@exept.de>
parents: 2968
diff changeset
    86
    MIMETypes mimeTypeForSuffix:'ets'
8b91ec204044 comment/format in: #initialize
Claus Gittinger <cg@exept.de>
parents: 2968
diff changeset
    87
    MIMETypes mimeTypeForSuffix:'xlsx'
8b91ec204044 comment/format in: #initialize
Claus Gittinger <cg@exept.de>
parents: 2968
diff changeset
    88
                                                                            [exEnd]
2486
42063a7fc3db mimeType: x-expecco-testSuite (extension: ets)
Claus Gittinger <cg@exept.de>
parents: 2479
diff changeset
    89
"
42063a7fc3db mimeType: x-expecco-testSuite (extension: ets)
Claus Gittinger <cg@exept.de>
parents: 2479
diff changeset
    90
!
42063a7fc3db mimeType: x-expecco-testSuite (extension: ets)
Claus Gittinger <cg@exept.de>
parents: 2479
diff changeset
    91
1311
Claus Gittinger <cg@exept.de>
parents: 1300
diff changeset
    92
knownTypes
Claus Gittinger <cg@exept.de>
parents: 1300
diff changeset
    93
"
Claus Gittinger <cg@exept.de>
parents: 1300
diff changeset
    94
    simply a reminder for me ...
Claus Gittinger <cg@exept.de>
parents: 1300
diff changeset
    95
Claus Gittinger <cg@exept.de>
parents: 1300
diff changeset
    96
    application         mime                            file extentsions
Claus Gittinger <cg@exept.de>
parents: 1300
diff changeset
    97
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
    98
        powerpoint      application/ms-powerpoint       .pot, .ppz, .ppt, .pps,
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
    99
                        application/mspowerpoint
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   100
                        application/vnd.ms-powerpoint
1311
Claus Gittinger <cg@exept.de>
parents: 1300
diff changeset
   101
                        application/x-mspowerpoint
Claus Gittinger <cg@exept.de>
parents: 1300
diff changeset
   102
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   103
        shockwave       application/x-shockwave-flash   .swf
1311
Claus Gittinger <cg@exept.de>
parents: 1300
diff changeset
   104
1312
Claus Gittinger <cg@exept.de>
parents: 1311
diff changeset
   105
        futuresplash    application/futuresplash        .spl
1311
Claus Gittinger <cg@exept.de>
parents: 1300
diff changeset
   106
"
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
! !
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
!MIMETypes class methodsFor:'initialization'!
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
3691
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
   111
addMimeTypeDetector:aMimeTypeFromContentsDetectorBlock
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
   112
    "any class (especially: image readers) may add a block
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   113
     that detects the MIME type from a given content.
3691
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
   114
     The block is called with two arguments, some data (usually the first few kilobytes
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
   115
     of a file) and the suffix of the file, or nil if unknown.
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   116
     The block should return the MIME type or nil."
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   117
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   118
    TypeFromContentsDetectors isNil ifTrue:[ TypeFromContentsDetectors := OrderedCollection new ].
3691
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
   119
    TypeFromContentsDetectors add:aMimeTypeFromContentsDetectorBlock.
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   120
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   121
    "Modified (comment): / 01-03-2018 / 19:06:46 / mawalch"
3691
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
   122
!
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
   123
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   124
initialize
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   125
    "initialize wellKnown facts"
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   126
2491
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   127
    MIMEType initialize. "must be initialized first"
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   128
    LastSuffix := LastType := nil.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   129
    self initializeFileNameToMimeTypeMapping.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   130
    self initializeImageReaderMappings.
4417
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   131
    self initializeAudioReaderMappings.
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   132
    self initializeCommentStringMappings.
2491
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   133
    self initializeParenthesisSpecMappings.
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   134
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   135
    "
2970
8b91ec204044 comment/format in: #initialize
Claus Gittinger <cg@exept.de>
parents: 2968
diff changeset
   136
     self initialize
8b91ec204044 comment/format in: #initialize
Claus Gittinger <cg@exept.de>
parents: 2968
diff changeset
   137
    "
8b91ec204044 comment/format in: #initialize
Claus Gittinger <cg@exept.de>
parents: 2968
diff changeset
   138
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
   139
    "Modified: / 10-04-2007 / 15:16:44 / cg"
2970
8b91ec204044 comment/format in: #initialize
Claus Gittinger <cg@exept.de>
parents: 2968
diff changeset
   140
    "Modified (comment): / 29-11-2011 / 19:11:51 / cg"
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   141
!
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   142
4417
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   143
initializeAudioReaderMappings
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   144
    "these are used so select an audio reader, based on a file's MIME type"
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   145
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   146
    |rdr|
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   147
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   148
    FileSuffixToAudioReaderClassMapping isNil ifTrue:[
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   149
        FileSuffixToAudioReaderClassMapping := Dictionary new
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   150
    ].
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   151
    "MIME" TypeToAudioReaderClassMapping isNil ifTrue:[
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   152
        TypeToAudioReaderClassMapping := Dictionary new
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   153
    ].
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   154
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   155
    "/ setup mimeType to image reader class mapping ...
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   156
    self audioReaderForType:'audio/basic' put:AUFileReader.
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   157
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   158
    "/ setup suffix to image reader class mapping ...
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   159
    (rdr := Smalltalk at:#AUFileReader) notNil ifTrue:[
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   160
        self imageReaderForSuffix:'au'  put:rdr.
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   161
        self imageReaderForSuffix:'snd' put:rdr.
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   162
    ].
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   163
    (rdr := Smalltalk at:#WAVFileReader) notNil ifTrue:[
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   164
        self imageReaderForSuffix:'wav'  put:rdr.
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   165
    ].
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   166
    (rdr := Smalltalk at:#AIFFFileReader) notNil ifTrue:[
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   167
        self imageReaderForSuffix:'aiff' put:rdr.
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   168
    ].
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   169
!
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
   170
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   171
initializeCommentStringMappings
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   172
    "these are used by the editor's comment/uncomment functions"
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   173
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   174
    TypeToCommentStringMapping := Dictionary new.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   175
    SuffixToCommentStringMapping := Dictionary new.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   176
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   177
    TypeToCommentStringMapping
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   178
        at:'application/x-make'
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   179
        put:#('#' (nil nil)).           "/ '#' EOL comments only
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   180
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   181
    TypeToCommentStringMapping
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   182
        at:'application/x-sh'
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   183
        put:#('#' (nil nil)).           "/ '#' EOL comments only
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   184
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   185
    #('text/html' 'text/xml'
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   186
      'application/xml'
2489
b891d96fd496 elf extension: x-expecco-logfile
Claus Gittinger <cg@exept.de>
parents: 2487
diff changeset
   187
      'application/x-expecco-testsuite'
b891d96fd496 elf extension: x-expecco-logfile
Claus Gittinger <cg@exept.de>
parents: 2487
diff changeset
   188
      'application/x-expecco-logfile'
b891d96fd496 elf extension: x-expecco-logfile
Claus Gittinger <cg@exept.de>
parents: 2487
diff changeset
   189
    )
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   190
    do:[:eachXMLType |
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   191
        TypeToCommentStringMapping
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   192
            at:eachXMLType
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   193
            put:#(nil ('<!!-- ' ' -->')). "/ '<!!-- ... -->' delimited comments only
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   194
    ].
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   195
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   196
    TypeToCommentStringMapping
2055
501740104b75 css-comments
Claus Gittinger <cg@exept.de>
parents: 2048
diff changeset
   197
        at:'text/css'
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   198
        put:#('//' ('/*' '*/')).
2055
501740104b75 css-comments
Claus Gittinger <cg@exept.de>
parents: 2048
diff changeset
   199
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   200
    TypeToCommentStringMapping
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   201
        at:'application/x-batch-script'
2937
67ef44218dc0 changed: #initializeCommentStringMappings
Claus Gittinger <cg@exept.de>
parents: 2924
diff changeset
   202
        put:#('@REM ' '@rem ' 'REM ' 'rem ' (nil nil)).         "/ 'rem ' for EOL comments only
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   203
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   204
    "/ the following is ST/X specific
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   205
    TypeToCommentStringMapping
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   206
        at:'application/x-smalltalk-source'
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   207
        put:#('"/' ('"' '"')).           "/ '"/ ' for EOL; ".." for delimited comments
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   208
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   209
    "/ this is for standard smalltalk
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   210
"/    TypeToCommentStringMapping
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   211
"/        at:'application/x-smalltalk-source'
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   212
"/        put:#(nil ('"' '"')).            "/ ".." for delimited comments only
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   213
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   214
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   215
    TypeToCommentStringMapping
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   216
        at:'application/x-pascal-source'
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   217
        put:#(nil ('{' '}')).           "/ '{'..'}' for delimited comments
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   218
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   219
    "/ this is ANSI-c
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   220
    TypeToCommentStringMapping
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   221
        at:'application/x-c-source'
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   222
        put:#('//' ('/*' '*/')).
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   223
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   224
    TypeToCommentStringMapping
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   225
        at:'application/x-cpp-source'
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   226
        put:#('//' ('/*' '*/')).
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   227
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   228
    TypeToCommentStringMapping
2479
40a05c259915 c# mime type
Claus Gittinger <cg@exept.de>
parents: 2432
diff changeset
   229
        at:'application/x-csharp-source'
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   230
        put:#('//' ('/*' '*/')).
2479
40a05c259915 c# mime type
Claus Gittinger <cg@exept.de>
parents: 2432
diff changeset
   231
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   232
    TypeToCommentStringMapping
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   233
        at:'application/x-java-source'
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   234
        put:#('//' ('/*' '*/')).
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   235
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   236
    TypeToCommentStringMapping
2048
dbb361dd9c5f comment strings for javascript files
Claus Gittinger <cg@exept.de>
parents: 2028
diff changeset
   237
        at:'application/x-javascript'
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   238
        put:#('//' ('/*' '*/')).
2048
dbb361dd9c5f comment strings for javascript files
Claus Gittinger <cg@exept.de>
parents: 2028
diff changeset
   239
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   240
    TypeToCommentStringMapping
4043
d7895e68fa21 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 4030
diff changeset
   241
        at:'application/x-scheme-source'
d7895e68fa21 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 4030
diff changeset
   242
        put:#(';' ('#| ' ' |#')).           "/ ';' for EOL comments only
d7895e68fa21 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 4030
diff changeset
   243
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   244
    TypeToCommentStringMapping
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
   245
        at:'application/x-lisp-source'
3482
3d7a30e2aa97 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3476
diff changeset
   246
        put:#(';' (nil nil)).           "/ ';' for EOL comments only
3d7a30e2aa97 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3476
diff changeset
   247
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   248
    TypeToCommentStringMapping
3482
3d7a30e2aa97 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3476
diff changeset
   249
        at:'application/x-python-source'
3d7a30e2aa97 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3476
diff changeset
   250
        put:#('#' (nil nil)).           "/ '#' for EOL comments only
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
   251
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   252
    TypeToCommentStringMapping
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   253
        at:'application/x-asn1-source'
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   254
        put:#('--' ('--' '--')).
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   255
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   256
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   257
    "/ st/x support files
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   258
    SuffixToCommentStringMapping
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   259
        at:'style'
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   260
        put:#(';' (nil nil)).
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   261
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   262
    SuffixToCommentStringMapping
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   263
        at:'rs'
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
   264
        put:#(';' (nil nil)).
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
   265
2937
67ef44218dc0 changed: #initializeCommentStringMappings
Claus Gittinger <cg@exept.de>
parents: 2924
diff changeset
   266
    "Modified: / 06-09-2011 / 10:46:27 / cg"
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   267
!
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   268
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   269
initializeDefaultCommands
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   270
    "these are used to select an application to be opened when a file of a particular
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   271
     type is double clicked in the browser.
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   272
     TODO: move this to OS"
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   273
3253
32a605517d3d class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   274
    |unixCommands win32Commands unixPrintCommands win32PrintCommands listToTry|
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   275
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   276
    DefaultCommandPerMIMEPerOS := Dictionary new.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   277
    DefaultCommandPerMIMEPerOS at:#unix  put:(unixCommands := Dictionary new).
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   278
    DefaultCommandPerMIMEPerOS at:#win32 put:(win32Commands := Dictionary new).
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   279
3187
6708c6aacc39 class: MIMETypes
Stefan Vogel <sv@exept.de>
parents: 3113
diff changeset
   280
    unixCommands at:'application/x-tar-compressed' put:'tar tvf -'.
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   281
2141
8decb5cd7766 support html browser under unix
ca
parents: 2118
diff changeset
   282
    OperatingSystem isMSWINDOWSlike ifFalse:[ |cmd|
3253
32a605517d3d class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   283
        OperatingSystem isOSXlike ifTrue:[
4219
b467fda5ae2c #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 4179
diff changeset
   284
            "/ unixCommands at:'text/html' put:('open -a Safari "%1"').
b467fda5ae2c #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 4179
diff changeset
   285
            unixCommands at:'text/html' put:('open -a Firefox "%1"').
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   286
            unixCommands at:'application/pdf' put:('open -a Preview "%1"').
3253
32a605517d3d class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   287
        ] ifFalse:[
3322
78576b7fa8c5 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   288
            listToTry := #('firefox' 'chrome' 'chromium' 'konqueror' 'opera').
78576b7fa8c5 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   289
            cmd := listToTry
78576b7fa8c5 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   290
                        detect:[:aCmd| (OperatingSystem pathOfCommand:aCmd) notEmptyOrNil ]
78576b7fa8c5 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   291
                        ifNone:nil.
78576b7fa8c5 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   292
            cmd notNil ifTrue:[
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   293
                unixCommands at:'text/html' put:(cmd, ' "%1"')
3322
78576b7fa8c5 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   294
            ].
3187
6708c6aacc39 class: MIMETypes
Stefan Vogel <sv@exept.de>
parents: 3113
diff changeset
   295
3322
78576b7fa8c5 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   296
            listToTry := #('acroread' 'okular' 'evince' 'kpdf' 'xpdf').
78576b7fa8c5 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   297
            cmd := listToTry
78576b7fa8c5 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   298
                        detect:[:aCmd| (OperatingSystem pathOfCommand:aCmd) notEmptyOrNil ]
78576b7fa8c5 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   299
                        ifNone:nil.
78576b7fa8c5 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   300
            cmd notNil ifTrue:[
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   301
                unixCommands at:'application/pdf' put:(cmd, ' "%1"')
3322
78576b7fa8c5 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   302
            ].
4073
104724bda57c #FEATURE by mawalch
mawalch
parents: 4072
diff changeset
   303
104724bda57c #FEATURE by mawalch
mawalch
parents: 4072
diff changeset
   304
            listToTry := #('xdg-open').
104724bda57c #FEATURE by mawalch
mawalch
parents: 4072
diff changeset
   305
            cmd := listToTry
104724bda57c #FEATURE by mawalch
mawalch
parents: 4072
diff changeset
   306
                        detect:[:aCmd| (OperatingSystem pathOfCommand:aCmd) notEmptyOrNil ]
104724bda57c #FEATURE by mawalch
mawalch
parents: 4072
diff changeset
   307
                        ifNone:nil.
104724bda57c #FEATURE by mawalch
mawalch
parents: 4072
diff changeset
   308
            cmd notNil ifTrue:[
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   309
                unixCommands at:'text/plain' put:(cmd , ' "%1"')
4073
104724bda57c #FEATURE by mawalch
mawalch
parents: 4072
diff changeset
   310
            ].
104724bda57c #FEATURE by mawalch
mawalch
parents: 4072
diff changeset
   311
3187
6708c6aacc39 class: MIMETypes
Stefan Vogel <sv@exept.de>
parents: 3113
diff changeset
   312
        ].
2141
8decb5cd7766 support html browser under unix
ca
parents: 2118
diff changeset
   313
    ].
8decb5cd7766 support html browser under unix
ca
parents: 2118
diff changeset
   314
8decb5cd7766 support html browser under unix
ca
parents: 2118
diff changeset
   315
2116
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
   316
    DefaultPrintCommandPerMIMEPerOS := Dictionary new.
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
   317
    DefaultPrintCommandPerMIMEPerOS at:#unix  put:(unixPrintCommands := Dictionary new).
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
   318
    DefaultPrintCommandPerMIMEPerOS at:#win32 put:(win32PrintCommands := Dictionary new).
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
   319
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
   320
    "/ if you have a good (intelligent) spooler ;-)
2904
bb555534881e changed: #initializeDefaultCommands
Stefan Vogel <sv@exept.de>
parents: 2892
diff changeset
   321
    unixPrintCommands at:'application/pdf'         put:'lpr "%1"'.
2116
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
   322
    "/ if not, you may need more...
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
   323
    "/ unixPrintCommands at:'application/pdf'         put:'pdfToPS %1 | lpr'.
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
   324
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   325
    "
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   326
     self initializeDefaultCommands
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   327
    "
1979
0612875a95c1 acroread command from registry (win32)
Claus Gittinger <cg@exept.de>
parents: 1925
diff changeset
   328
0612875a95c1 acroread command from registry (win32)
Claus Gittinger <cg@exept.de>
parents: 1925
diff changeset
   329
    "Modified: / 12-05-2004 / 11:43:23 / cg"
4073
104724bda57c #FEATURE by mawalch
mawalch
parents: 4072
diff changeset
   330
    "Modified: / 01-03-2018 / 18:42:42 / mawalch"
4219
b467fda5ae2c #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 4179
diff changeset
   331
    "Modified: / 07-02-2019 / 17:53:24 / Claus Gittinger"
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   332
!
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   333
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   334
initializeFileInfoMappings
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   335
    "these are used by the file browser if a 'file' command is not present in the OS"
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   336
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   337
    TypeToInfoMapping := Dictionary new.
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   338
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   339
    TypeToInfoMapping at:'application/x-smalltalk-source' put:'Smalltalk source'.
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   340
    TypeToInfoMapping at:'text/html' put:'HTML document'.
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   341
    TypeToInfoMapping at:'text/xml' put:'XML document'.
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   342
    TypeToInfoMapping at:'application/xml' put:'XML document'.
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   343
    TypeToInfoMapping at:'application/x-c-source' put:'C source'.
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   344
    TypeToInfoMapping at:'application/x-c-header' put:'C header file'.
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   345
    TypeToInfoMapping at:'application/x-cpp-source' put:'C++ source'.
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   346
    TypeToInfoMapping at:'application/x-csharp-source' put:'C# source'.
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   347
    TypeToInfoMapping at:'application/x-java-source' put:'Java source'.
4030
837bae830c08 #OTHER by mawalch
mawalch
parents: 4013
diff changeset
   348
    TypeToInfoMapping at:'application/x-javascript' put:'JavaScript source'.
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   349
    TypeToInfoMapping at:'application/x-lisp-source' put:'Lisp source'.
4043
d7895e68fa21 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 4030
diff changeset
   350
    TypeToInfoMapping at:'application/x-scheme-source' put:'Scheme source'.
3482
3d7a30e2aa97 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3476
diff changeset
   351
    TypeToInfoMapping at:'application/x-python-source' put:'Python source'.
4088
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
   352
    TypeToInfoMapping at:'application/x-ruby-source' put:'Ruby source'.
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   353
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   354
    TypeToInfoMapping at:'application/x-make' put:'make rules'.
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   355
    TypeToInfoMapping at:'application/binary' put:'binary object file'.
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   356
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   357
    "
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   358
     self initializeFileInfoMappings
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   359
     'foo.H' asFilename mimeTypeFromName
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   360
     'foo.o' asFilename mimeTypeFromName
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   361
    "
4030
837bae830c08 #OTHER by mawalch
mawalch
parents: 4013
diff changeset
   362
837bae830c08 #OTHER by mawalch
mawalch
parents: 4013
diff changeset
   363
    "Modified: / 30-11-2017 / 07:54:23 / mawalch"
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   364
!
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   365
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   366
initializeFileNameToMimeTypeMapping
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   367
    "initialize wellKnown facts"
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   368
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   369
    |types|
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   370
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   371
    FileSuffixToTypeMapping isNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   372
        FileSuffixToTypeMapping := Dictionary new:270.
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   373
    ].
1887
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
   374
    TypeToFileSuffixMapping isNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   375
        TypeToFileSuffixMapping := Dictionary new:105.
1887
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
   376
    ].
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   377
    FilenameToTypeMapping isNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   378
        FilenameToTypeMapping := Dictionary new:16.
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   379
    ].
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   380
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   381
    types := OrderedCollection new.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   382
    types addAll:self textTypeList.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   383
    types addAll:self imageTypeList.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   384
    types addAll:self videoTypeList.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   385
    types addAll:self audioTypeList.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   386
    types addAll:self applicationTypeList.
1888
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   387
    types addAll:self osSpecificTypeList.
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   388
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   389
    types pairWiseDo:[:suff :typeString|
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   390
        |mimeType|
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   391
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   392
        mimeType := MIMEType fromString:typeString.
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   393
        suff isArray ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   394
            suff do:[:s |FileSuffixToTypeMapping at:s put:mimeType].
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   395
            TypeToFileSuffixMapping at:mimeType put:suff first.
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   396
        ] ifFalse:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   397
            FileSuffixToTypeMapping at:suff put:mimeType.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   398
            TypeToFileSuffixMapping at:mimeType put:suff.
1887
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
   399
        ].
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   400
    ].
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   401
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   402
    self miscFilenameList pairWiseDo:[:suffixes :typeString|
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   403
        |mimeType|
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   404
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   405
        mimeType := MIMEType fromString:typeString.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   406
        suffixes isArray ifTrue:[
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   407
            suffixes do:[:eachSuffix | FilenameToTypeMapping at:eachSuffix put:mimeType]
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   408
        ] ifFalse:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   409
            FilenameToTypeMapping at:suffixes put:mimeType
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   410
        ]
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   411
    ].
1888
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   412
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   413
    "
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   414
     self initializeFileNameToMimeTypeMapping
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   415
    "
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   416
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   417
    "Modified (format): / 09-02-2017 / 14:59:33 / stefan"
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   418
!
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   419
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   420
initializeImageReaderMappings
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   421
    "these are used so select an image reader, based on a bitmap image's MIME type"
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   422
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   423
    |rdr|
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   424
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   425
    FileSuffixToImageReaderClassMapping isNil ifTrue:[
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   426
        FileSuffixToImageReaderClassMapping := Dictionary new
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   427
    ].
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   428
    "MIME" TypeToImageReaderClassMapping isNil ifTrue:[
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   429
        TypeToImageReaderClassMapping := Dictionary new
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   430
    ].
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   431
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   432
    "/ setup mimeType to image reader class mapping ...
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   433
    self imageReaderForType:'image/jpeg' put:JPEGReader.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   434
    self imageReaderForType:'image/gif'  put:GIFReader.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   435
    self imageReaderForType:'image/tiff' put:TIFFReader.
3978
3cf74e1b8c21 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3962
diff changeset
   436
    self imageReaderForType:'image/x-adobe-dng' put:TIFFReader.
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   437
    self imageReaderForType:'image/png'  put:PNGReader.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   438
    self imageReaderForType:'image/icns' put:MacOSXIconReader.
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   439
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   440
    "/ setup suffix to image reader class mapping ...
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   441
    self imageReaderForSuffix:'jpg'  put:JPEGReader.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   442
    self imageReaderForSuffix:'jpeg' put:JPEGReader.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   443
    self imageReaderForSuffix:'gif'  put:GIFReader.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   444
    self imageReaderForSuffix:'tif'  put:TIFFReader.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   445
    self imageReaderForSuffix:'tiff' put:TIFFReader.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   446
    self imageReaderForSuffix:'png'  put:PNGReader.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   447
    self imageReaderForSuffix:'icns' put:MacOSXIconReader.
2570
a089fc8372f1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2535
diff changeset
   448
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   449
    "/ some 'used-to-be-optional' readers
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   450
    (rdr := Smalltalk at:#WindowsIconReader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   451
        self imageReaderForType:'image/bmp'      put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   452
        self imageReaderForType:'image/x-MS-bmp' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   453
        self imageReaderForType:'image/x-ms-bmp' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   454
        self imageReaderForType:'image/x-MS-ico' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   455
        self imageReaderForType:'image/x-ms-ico' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   456
        self imageReaderForSuffix:'bmp'            put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   457
        self imageReaderForSuffix:'ico'            put:rdr.
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   458
    ].
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   459
    (rdr := Smalltalk at:#XBMReader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   460
        self imageReaderForType:'image/x-xbitmap' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   461
        self imageReaderForSuffix:'xbm'             put:rdr.
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   462
    ].
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   463
    (rdr := Smalltalk at:#XPMReader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   464
        self imageReaderForType:'image/x-xpixmap' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   465
        self imageReaderForSuffix:'pm'              put:rdr.
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   466
    ].
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   467
    (rdr := Smalltalk at:#PBMReader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   468
        self imageReaderForType:'image/x-portable-pixmap'  put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   469
        self imageReaderForType:'image/x-portable-bitmap'  put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   470
        self imageReaderForType:'image/x-portable-graymap' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   471
        self imageReaderForType:'image/x-portable-anymap'  put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   472
        self imageReaderForSuffix:'ppm'                      put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   473
        self imageReaderForSuffix:'pbm'                      put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   474
        self imageReaderForSuffix:'pgm'                      put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   475
        self imageReaderForSuffix:'pnm'                      put:rdr.
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   476
    ].
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   477
    (rdr := Smalltalk at:#PCXReader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   478
        self imageReaderForType:'image/x-pcx' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   479
        self imageReaderForSuffix:'pcx'         put:rdr.
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   480
    ].
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   481
    (rdr := Smalltalk at:#TargaReader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   482
        self imageReaderForType:'image/x-targa' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   483
        self imageReaderForSuffix:'tga'           put:rdr.
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   484
    ].
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   485
    (rdr := Smalltalk at:#XWDReader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   486
        self imageReaderForType:'image/x-xwindowdump' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   487
        self imageReaderForType:'image/x-windowdump'  put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   488
        self imageReaderForSuffix:'xwd'                 put:rdr.
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   489
    ].
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   490
    (rdr := Smalltalk at:#BlitImageReader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   491
        self imageReaderForType:'image/x-blitimage' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   492
        self imageReaderForSuffix:'48x48x1'           put:rdr.
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   493
    ].
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   494
    (rdr := Smalltalk at:#IrisRGBReader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   495
        self imageReaderForType:'image/x-rgb' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   496
        self imageReaderForSuffix:'rgb'         put:rdr.
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   497
    ].
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   498
    (rdr := Smalltalk at:#SunRasterReader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   499
        self imageReaderForType:'image/x-sunraster' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   500
        self imageReaderForSuffix:'im8'               put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   501
        self imageReaderForSuffix:'icon'              put:rdr.
2570
a089fc8372f1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2535
diff changeset
   502
    ].
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   503
    (rdr := Smalltalk at:#ST80FormReader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   504
        self imageReaderForType:'image/x-st80-form' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   505
        self imageReaderForSuffix:'form'              put:rdr.
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   506
    ].
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   507
    (rdr := Smalltalk at:#FaceReader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   508
        self imageReaderForType:'image/x-face' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   509
        self imageReaderForSuffix:'face'         put:rdr.
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   510
    ].
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   511
    (rdr := Smalltalk at:#PCDReader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   512
        self imageReaderForType:'image/x-photo-cd' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   513
        self imageReaderForSuffix:'pcd'              put:rdr.
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   514
    ].
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   515
    (rdr := Smalltalk at:#CMURasterReader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   516
        self imageReaderForType:'image/x-cmu-raster' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   517
        self imageReaderForSuffix:'ras'                put:rdr.
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   518
    ].
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   519
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   520
    "/ movie formats - experimental and not yet complete / finished / delivered / published
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   521
"/    (rdr := Smalltalk at:#FLIReader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   522
"/        self imageReaderForType:'video/x-fli' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   523
"/        self imageReaderForSuffix:'fli'         put:rdr.
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   524
"/    ].
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   525
"/    (rdr := Smalltalk at:#AVIReader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   526
"/        self imageReaderForType:'video/x-msvideo' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   527
"/        self imageReaderForSuffix:'avi'             put:rdr.
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   528
"/    ].
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   529
"/    (rdr := Smalltalk at:#AVIReader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   530
"/        self imageReaderForType:'video/x-msvideo' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   531
"/        self imageReaderForSuffix:'avi'             put:rdr.
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   532
"/    ].
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   533
"/    (rdr := Smalltalk at:#QuickTimeReader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   534
"/        self imageReaderForType:'video/quicktime' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   535
"/        self imageReaderForSuffix:'qt'              put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   536
"/        self imageReaderForSuffix:'mov'             put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   537
"/        self imageReaderForSuffix:'moov'            put:rdr.
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   538
"/    ].
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   539
"/    (rdr := Smalltalk at:#MPEG2Reader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   540
"/        self imageReaderForType:'video/x-mpeg2' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   541
"/        self imageReaderForSuffix:'mpg2'          put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   542
"/        self imageReaderForSuffix:'mpv2'          put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   543
"/        self imageReaderForSuffix:'mp2v'          put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   544
"/        self imageReaderForSuffix:'mp2'           put:rdr.
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   545
"/    ].
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   546
"/    (rdr := Smalltalk at:#MPEGReader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   547
"/        self imageReaderForType:'video/mpeg' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   548
"/        self imageReaderForSuffix:'mpg'        put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   549
"/        self imageReaderForSuffix:'mpeg'       put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   550
"/        self imageReaderForSuffix:'mpe'        put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   551
"/        self imageReaderForSuffix:'mpv'        put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   552
"/        self imageReaderForSuffix:'vps'        put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   553
"/        self imageReaderForSuffix:'mpegv'      put:rdr.
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   554
"/    ].
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   555
"/    (rdr := Smalltalk at:#SGIMovieReader) notNil ifTrue:[
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   556
"/        self imageReaderForType:'video/x-sgi-movie' put:rdr.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   557
"/        self imageReaderForSuffix:'movie'             put:rdr.
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   558
"/    ].
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   559
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   560
    "Modified (format): / 09-02-2017 / 15:46:48 / stefan"
3978
3cf74e1b8c21 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3962
diff changeset
   561
    "Modified: / 25-08-2017 / 15:24:51 / cg"
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
   562
!
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
   563
2491
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   564
initializeParenthesisSpecMappings
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   565
    "these are used by the editors to mark matching parentheses"
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   566
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
   567
    |spec|
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
   568
2491
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   569
    TypeToParenthesisSpecMapping := Dictionary new.
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   570
    SuffixToParenthesisSpecMapping := Dictionary new.
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   571
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
   572
    "/ ST/X spec
2491
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   573
    spec := IdentityDictionary new.
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   574
    spec at:#open put:#( $( $[ ${ ).
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   575
    spec at:#close put:#( $) $] $} ).
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   576
    spec at:#ignore put:#( $' $" '$[' '$]' '${' '$)' ).
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   577
    spec at:#eolComment put:'"/'.
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   578
    TypeToParenthesisSpecMapping at:'application/x-smalltalk-source' put:spec.
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   579
2479
40a05c259915 c# mime type
Claus Gittinger <cg@exept.de>
parents: 2432
diff changeset
   580
    "/ XML & HTML
2491
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   581
    spec := IdentityDictionary new.
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   582
    spec at:#open put:#( $< ).
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   583
    spec at:#close put:#( $> ).
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   584
    spec at:#ignore put:#( $' $" '$[' '$]' '${' '$)' ).
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   585
    #( 'text/html' 'text/xml' 'application/xml' ) do:[:eachXMLType |
2491
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   586
        TypeToParenthesisSpecMapping at:eachXMLType put:spec
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
   587
    ].
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   588
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   589
    "/ ANSI-c, Java, C#
2491
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   590
    spec := IdentityDictionary new.
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   591
    spec at:#open put:#( $( $[ ${ ).
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   592
    spec at:#close put:#( $) $] $} ).
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   593
    spec at:#ignore put:#( $' $" ).
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   594
    spec at:#eolComment put:'//'.
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   595
    TypeToParenthesisSpecMapping at:'application/x-c-source' put:spec.
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   596
    TypeToParenthesisSpecMapping at:'application/x-cpp-source' put:spec.
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   597
    TypeToParenthesisSpecMapping at:'application/x-csharp-source' put:spec.
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   598
    TypeToParenthesisSpecMapping at:'application/x-java-source' put:spec.
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   599
    TypeToParenthesisSpecMapping at:'application/x-javascript' put:spec.
3482
3d7a30e2aa97 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3476
diff changeset
   600
    TypeToParenthesisSpecMapping at:'application/x-python-source' put:spec.
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   601
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   602
    "/ Lisp / Scheme
2491
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   603
    spec := IdentityDictionary new.
3039
1a8ca229615f class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3020
diff changeset
   604
    spec at:#open put:#( $( $[ ).
1a8ca229615f class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3020
diff changeset
   605
    spec at:#close put:#( $) $] ).
2491
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   606
    spec at:#ignore put:#( $" ).
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   607
    spec at:#eolComment put:';'.
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   608
    TypeToParenthesisSpecMapping at:'application/x-lisp-source' put:spec.
4043
d7895e68fa21 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 4030
diff changeset
   609
    TypeToParenthesisSpecMapping at:'application/x-scheme-source' put:spec.
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
   610
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
   611
    "Created: / 10-04-2007 / 15:16:37 / cg"
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   612
    "Modified (format): / 01-03-2018 / 19:02:39 / mawalch"
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   613
! !
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   614
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   615
!MIMETypes class methodsFor:'initialization-lists'!
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   616
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   617
applicationCompressorsAndArchiveTypeList
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   618
    "compressor applications"
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   619
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   620
    ^ #(
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   621
        "/ the first column is a list of extensions, the second the more-or-less official MIME type
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   622
1890
ccf118af49ce tar.bz2 suffix
Claus Gittinger <cg@exept.de>
parents: 1889
diff changeset
   623
        'tar'                       'application/x-tar'
ccf118af49ce tar.bz2 suffix
Claus Gittinger <cg@exept.de>
parents: 1889
diff changeset
   624
        'gtar'                      'application/x-gtar'
4065
faf35b819e48 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4064
diff changeset
   625
        ('tgz' 'tar.gz')            'application/x-tar-gzip-compressed' "/ 'application/x-tar-compressed'
1891
1b53c21c64c5 tar.bz2 suffix
Claus Gittinger <cg@exept.de>
parents: 1890
diff changeset
   626
        ('tar.bz2')                 'application/x-tar-bzip2-compressed'
4065
faf35b819e48 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4064
diff changeset
   627
        'zip'                       'application/x-zip-compressed'      "/ will be changed to application/zip soon
1890
ccf118af49ce tar.bz2 suffix
Claus Gittinger <cg@exept.de>
parents: 1889
diff changeset
   628
        'bz2'                       'application/x-bzip2-compressed'
4065
faf35b819e48 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4064
diff changeset
   629
        ('gz' 'z')                  'application/x-gzip-compressed'     "/ will be changed to application/gzip soon
faf35b819e48 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4064
diff changeset
   630
        'lz'                        'application/lzip'
1890
ccf118af49ce tar.bz2 suffix
Claus Gittinger <cg@exept.de>
parents: 1889
diff changeset
   631
        'cpio'                      'application/x-cpio'
ccf118af49ce tar.bz2 suffix
Claus Gittinger <cg@exept.de>
parents: 1889
diff changeset
   632
        'shar'                      'application/x-shar'
ccf118af49ce tar.bz2 suffix
Claus Gittinger <cg@exept.de>
parents: 1889
diff changeset
   633
        'jar'                       'application/java-archive'
ccf118af49ce tar.bz2 suffix
Claus Gittinger <cg@exept.de>
parents: 1889
diff changeset
   634
        'sar'                       'application/x-squeak-archive'
ccf118af49ce tar.bz2 suffix
Claus Gittinger <cg@exept.de>
parents: 1889
diff changeset
   635
        'sit'                       'application/x-stuffit'
ccf118af49ce tar.bz2 suffix
Claus Gittinger <cg@exept.de>
parents: 1889
diff changeset
   636
        'hqx'                       'application/mac-binhex40'
ccf118af49ce tar.bz2 suffix
Claus Gittinger <cg@exept.de>
parents: 1889
diff changeset
   637
        'cpt'                       'application/mac-compactpro'
4065
faf35b819e48 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4064
diff changeset
   638
        'pkg'                       'application/x-xar'                 "/ a mac archiver for packages
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   639
    )
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   640
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   641
    "Modified (format): / 05-02-2017 / 19:37:10 / cg"
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   642
    "Modified (comment): / 01-03-2018 / 19:07:27 / mawalch"
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   643
!
645
97e83ab4d246 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 643
diff changeset
   644
1609
090ee7aa4cab *** empty log message ***
penk
parents: 1606
diff changeset
   645
applicationMiscTypeList
090ee7aa4cab *** empty log message ***
penk
parents: 1606
diff changeset
   646
    "misc applications"
090ee7aa4cab *** empty log message ***
penk
parents: 1606
diff changeset
   647
090ee7aa4cab *** empty log message ***
penk
parents: 1606
diff changeset
   648
    ^ #(
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   649
        "/ the first column is a list of extensions, the second the more-or-less official MIME type
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   650
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   651
        ('a' 'o' 'obj' )                      'application/binary'
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   652
        'lic'                                 'application/license'
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   653
        ('dll' 'so')                          'application/shared-library'
2486
42063a7fc3db mimeType: x-expecco-testSuite (extension: ets)
Claus Gittinger <cg@exept.de>
parents: 2479
diff changeset
   654
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   655
        'ets'                                 'application/x-expecco-testsuite'
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   656
        'etr'                                 'application/x-expecco-testrepository'
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   657
        'elf'                                 'application/x-expecco-logfile'
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   658
        'expeccolicense'                      'application/x-expecco-license'
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   659
        'expeccopatch'                        'application/x-expecco-patch'
1609
090ee7aa4cab *** empty log message ***
penk
parents: 1606
diff changeset
   660
    )
2886
22b48a4da285 comment/format in: #initializeFileNameToMimeTypeMapping
sr
parents: 2830
diff changeset
   661
2968
bcd13537812b changed: #applicationMiscTypeList
sr
parents: 2942
diff changeset
   662
    "Modified: / 03-11-2011 / 10:42:28 / sr"
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   663
    "Modified (format): / 05-02-2017 / 19:37:05 / cg"
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   664
    "Modified: / 09-02-2017 / 14:31:45 / stefan"
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   665
    "Modified (comment): / 01-03-2018 / 19:07:37 / mawalch"
1609
090ee7aa4cab *** empty log message ***
penk
parents: 1606
diff changeset
   666
!
090ee7aa4cab *** empty log message ***
penk
parents: 1606
diff changeset
   667
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   668
applicationProgLangTypeList
3020
3f9c74ff0975 changed: #applicationProgLangTypeList
Claus Gittinger <cg@exept.de>
parents: 3014
diff changeset
   669
    "applications for programming languages"
713
548898fdd1dc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 663
diff changeset
   670
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   671
    ^ #(
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   672
        "/ the first column is a list of extensions, the second the more-or-less official MIME type
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   673
1609
090ee7aa4cab *** empty log message ***
penk
parents: 1606
diff changeset
   674
        ('st' 'cls' 'rc')            'application/x-smalltalk-source'
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   675
        'sif'                        'application/x-smalltalk-source-sif'
1668
070264d3a087 added dolphin package
Claus Gittinger <cg@exept.de>
parents: 1666
diff changeset
   676
        'pac'                        'application/x-smalltalk-dolphin-package'
1778
6a019cc68896 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1777
diff changeset
   677
6a019cc68896 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1777
diff changeset
   678
        'sts'                        'application/x-squeak-source'
6a019cc68896 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1777
diff changeset
   679
        'pr'                         'application/x-squeak-project'
6a019cc68896 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1777
diff changeset
   680
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   681
        'c'                          'application/x-c-source'
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   682
        ('cc' 'cpp')                 'application/x-cpp-source'
2479
40a05c259915 c# mime type
Claus Gittinger <cg@exept.de>
parents: 2432
diff changeset
   683
        'cs'                         'application/x-csharp-source'
1609
090ee7aa4cab *** empty log message ***
penk
parents: 1606
diff changeset
   684
        ('h' 'hi')                   'application/x-c-header'
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   685
        ('js' 'mocha')               'application/x-javascript'
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   686
        ('java' 'jav')               'application/x-java-source'
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   687
        'sh'                         'application/x-sh'
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   688
        'csh'                        'application/x-csh'
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   689
        'tcl'                        'application/x-tcl'
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   690
        'pl'                         'application/x-perl'
3020
3f9c74ff0975 changed: #applicationProgLangTypeList
Claus Gittinger <cg@exept.de>
parents: 3014
diff changeset
   691
        'dart'                       'application/x-dart'
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   692
        'mak'                        'application/x-make'
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   693
        'bat'                        'application/x-batch-script'
3008
aadfac4bdc84 changed:
Claus Gittinger <cg@exept.de>
parents: 2970
diff changeset
   694
        ('asn1' 'x409' 'gdmo' 'gdm') 'application/x-asn1-source'
aadfac4bdc84 changed:
Claus Gittinger <cg@exept.de>
parents: 2970
diff changeset
   695
4068
9627d81c141e #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4065
diff changeset
   696
        ('scm' 'ss' 'sch'
4043
d7895e68fa21 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 4030
diff changeset
   697
         'arc' 'brg' 'rkt')          'application/x-scheme-source'
d7895e68fa21 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 4030
diff changeset
   698
d7895e68fa21 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 4030
diff changeset
   699
        ('lisp' 'lsp' 'cl' )         'application/x-lisp-source'
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   700
3482
3d7a30e2aa97 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3476
diff changeset
   701
        'py'                         'application/x-python-source'
3961
666aec2fb8d9 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3952
diff changeset
   702
        ('pyc' 'pyo' )               'application/x-python-compiled-bytecode'
666aec2fb8d9 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3952
diff changeset
   703
        'pyd'                        'application/x-python-compiled-code'
666aec2fb8d9 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3952
diff changeset
   704
        'whl'                        'application/x-python-wheel-package'
4179
3fa2465bef0a #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4146
diff changeset
   705
        'cbl'                        'application/x-cobol-source'
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   706
    )
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
   707
3961
666aec2fb8d9 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3952
diff changeset
   708
    "Modified: / 23-06-2017 / 13:34:37 / cg"
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   709
    "Modified (comment): / 01-03-2018 / 19:07:43 / mawalch"
4179
3fa2465bef0a #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4146
diff changeset
   710
    "Modified: / 18-09-2018 / 21:07:27 / Claus Gittinger"
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   711
!
1561
942de18a3e3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1560
diff changeset
   712
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   713
applicationTextTypeList
1606
158c10a36736 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1604
diff changeset
   714
    "text applications"
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   715
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   716
    ^ #(
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   717
        "/ the first column is a list of extensions, the second the more-or-less official MIME type
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   718
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   719
        ('ps' 'eps')                 'application/postscript'
1778
6a019cc68896 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1777
diff changeset
   720
        "/ 'ai'                         'application/postscript'
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   721
        'pdf'                        'application/pdf'
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   722
        'rtf'                        'application/rtf'
1778
6a019cc68896 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1777
diff changeset
   723
        "/ 'rtf'                        'text/rtf'            ????
3008
aadfac4bdc84 changed:
Claus Gittinger <cg@exept.de>
parents: 2970
diff changeset
   724
        'ics'                        'text/calendar'
aadfac4bdc84 changed:
Claus Gittinger <cg@exept.de>
parents: 2970
diff changeset
   725
        'doc'                        'application/ms-word-document'
1778
6a019cc68896 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1777
diff changeset
   726
        "/ 'doc'                        'application/winword'
6a019cc68896 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1777
diff changeset
   727
        'swf'                        'application/x-shockwave-flash'
6a019cc68896 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1777
diff changeset
   728
        ('ppt' 'ppz' 'pot' 'pps')    'application/mspowerpoint'
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   729
        'xls'                        'application/x-excel'
2028
5d67d14ad4a0 slk type added
Michael Beyl <mb@exept.de>
parents: 2024
diff changeset
   730
        'slk'                        'application/vnd.ms-excel'
2911
7afaf1fdae8b comment/format in: #mimeTypeForFilename:
Claus Gittinger <cg@exept.de>
parents: 2904
diff changeset
   731
        'txt'                        'text/plain'
2970
8b91ec204044 comment/format in: #initialize
Claus Gittinger <cg@exept.de>
parents: 2968
diff changeset
   732
        'xlsx'                       'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
3476
ae8711fddc4e class: MIMETypes
sr
parents: 3451
diff changeset
   733
        'xltx'                       'application/vnd.openxmlformats-officedocument.spreadsheetml.template'
ae8711fddc4e class: MIMETypes
sr
parents: 3451
diff changeset
   734
        'potx'                       'application/vnd.openxmlformats-officedocument.presentationml.template'
ae8711fddc4e class: MIMETypes
sr
parents: 3451
diff changeset
   735
        'ppsx'                       'application/vnd.openxmlformats-officedocument.presentationml.slideshow'
ae8711fddc4e class: MIMETypes
sr
parents: 3451
diff changeset
   736
        'pptx'                       'application/vnd.openxmlformats-officedocument.presentationml.presentation'
ae8711fddc4e class: MIMETypes
sr
parents: 3451
diff changeset
   737
        'sldx'                       'application/vnd.openxmlformats-officedocument.presentationml.slide'
ae8711fddc4e class: MIMETypes
sr
parents: 3451
diff changeset
   738
        'docx'                       'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
ae8711fddc4e class: MIMETypes
sr
parents: 3451
diff changeset
   739
        'dotx'                       'application/vnd.openxmlformats-officedocument.wordprocessingml.template'
ae8711fddc4e class: MIMETypes
sr
parents: 3451
diff changeset
   740
        'xlam'                       'application/vnd.ms-excel.addin.macroEnabled.12'
ae8711fddc4e class: MIMETypes
sr
parents: 3451
diff changeset
   741
        'xlsb'                       'application/vnd.ms-excel.sheet.binary.macroEnabled.12'
4279
0c07b6f38d45 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4245
diff changeset
   742
        'chm'                        'application/vnd.ms-htmlhelp'
3952
6a9078c8b47e #BUGFIX by sr
sr
parents: 3941
diff changeset
   743
        'xhtml'                      'application/xhtml+xml'
3482
3d7a30e2aa97 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3476
diff changeset
   744
3d7a30e2aa97 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3476
diff changeset
   745
        'edi'                        'application/EDIFACT'
4136
874a5465a78f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4088
diff changeset
   746
        'json'                       'application/json'
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   747
    )
2911
7afaf1fdae8b comment/format in: #mimeTypeForFilename:
Claus Gittinger <cg@exept.de>
parents: 2904
diff changeset
   748
3008
aadfac4bdc84 changed:
Claus Gittinger <cg@exept.de>
parents: 2970
diff changeset
   749
    "Modified: / 26-05-2012 / 15:27:30 / cg"
3476
ae8711fddc4e class: MIMETypes
sr
parents: 3451
diff changeset
   750
    "Modified: / 18-05-2015 / 09:46:47 / sr"
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   751
    "Modified (format): / 05-02-2017 / 19:37:20 / cg"
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   752
    "Modified (comment): / 01-03-2018 / 19:07:51 / mawalch"
4279
0c07b6f38d45 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4245
diff changeset
   753
    "Modified: / 27-06-2019 / 16:31:45 / Claus Gittinger"
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   754
!
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   755
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   756
applicationTypeList
1606
158c10a36736 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1604
diff changeset
   757
    "applications"
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   758
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   759
    |typeList|
1180
c3309b30d14f code cleanup & added mimeType aquire fallBack via OS
Claus Gittinger <cg@exept.de>
parents: 1023
diff changeset
   760
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   761
    typeList := OrderedCollection new.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   762
    typeList addAll:self applicationProgLangTypeList.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   763
    typeList addAll:self applicationTextTypeList.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   764
    typeList addAll:self applicationCompressorsAndArchiveTypeList.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   765
    typeList addAll:self applicationMiscTypeList.
1616
f07466809515 add binary file extensions
penk
parents: 1612
diff changeset
   766
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   767
    ^ typeList
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   768
!
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   769
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   770
audioTypeList
1606
158c10a36736 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1604
diff changeset
   771
    "audio formats ..."
1180
c3309b30d14f code cleanup & added mimeType aquire fallBack via OS
Claus Gittinger <cg@exept.de>
parents: 1023
diff changeset
   772
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   773
    ^ #(
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   774
        "/ the first column is a list of extensions, the second the more-or-less official MIME type
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   775
1720
cca50de2e8e4 change x-png to png
penk
parents: 1716
diff changeset
   776
        ('au' 'snd')            'audio/basic'
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   777
        'ra'                    'audio/x-realaudio'
1778
6a019cc68896 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1777
diff changeset
   778
        ('ram' 'rm')            'audio/x-pn-realaudio'
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   779
        "/ cg: see unixSpecific / windowsSpecific
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   780
        "/        'rpm'                   'audio/x-pn-realaudio-plugin'
4393
001140ff0138 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4389
diff changeset
   781
        ('mpa' 'mpega' 'mpga' 'm4a')  'audio/mpeg'
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   782
        "/        'mp3'                   'audio/x-mp3'
1778
6a019cc68896 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1777
diff changeset
   783
        ('mp3' 'mp2')           'audio/mpeg'
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   784
        'wav'                   'audio/x-wav'
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   785
        ('aif' 'aiff' 'aifc')   'audio/x-aiff'
1778
6a019cc68896 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1777
diff changeset
   786
        ('midi' 'mid')          'audio/midi'
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   787
    )
3008
aadfac4bdc84 changed:
Claus Gittinger <cg@exept.de>
parents: 2970
diff changeset
   788
aadfac4bdc84 changed:
Claus Gittinger <cg@exept.de>
parents: 2970
diff changeset
   789
    "Modified: / 26-05-2012 / 15:23:45 / cg"
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   790
    "Modified (comment): / 05-02-2017 / 19:37:48 / cg"
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
   791
    "Modified: / 09-02-2017 / 14:29:59 / stefan"
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   792
    "Modified (comment): / 01-03-2018 / 19:07:54 / mawalch"
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   793
!
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   794
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   795
imageTypeList
4013
8e5323ca9c4d #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3983
diff changeset
   796
    "/ wellknown image formats ...
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   797
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   798
    ^ #(
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   799
        "/ the first column is a list of extensions, the second the more-or-less official MIME type
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   800
1216
26fe79e724d0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1188
diff changeset
   801
        ('jpg' 'jpeg')  'image/jpeg'
1188
bea6424548e3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1180
diff changeset
   802
        'gif'           'image/gif'
bea6424548e3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1180
diff changeset
   803
        ('tif' 'tiff')  'image/tiff'
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   804
        ('xbm' 'bm')    'image/x-xbitmap'
1188
bea6424548e3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1180
diff changeset
   805
        'xpm'           'image/x-xpixmap'
1720
cca50de2e8e4 change x-png to png
penk
parents: 1716
diff changeset
   806
        'png'           'image/png'
1188
bea6424548e3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1180
diff changeset
   807
        'pcd'           'image/x-photo-cd'
bea6424548e3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1180
diff changeset
   808
        'bmp'           'image/x-MS-bmp'
bea6424548e3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1180
diff changeset
   809
        'rgb'           'image/x-rgb'
bea6424548e3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1180
diff changeset
   810
        'ppm'           'image/x-portable-pixmap'
bea6424548e3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1180
diff changeset
   811
        'pgm'           'image/x-portable-graymap'
bea6424548e3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1180
diff changeset
   812
        'pbm'           'image/x-portable-bitmap'
bea6424548e3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1180
diff changeset
   813
        'pnm'           'image/x-portable-anymap'
bea6424548e3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1180
diff changeset
   814
        'xwd'           'image/x-xwindowdump'
bea6424548e3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1180
diff changeset
   815
        'ras'           'image/x-cmu-raster'
1216
26fe79e724d0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1188
diff changeset
   816
        'tga'           'image/x-targa'
4013
8e5323ca9c4d #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3983
diff changeset
   817
        'ico'           'image/x-icon'
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   818
        'icns'          'image/icns'
3978
3cf74e1b8c21 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3962
diff changeset
   819
        'dng'           'image/x-adobe-dng'
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   820
    )
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   821
4013
8e5323ca9c4d #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3983
diff changeset
   822
    "Modified: / 13-09-2017 / 09:05:15 / cg"
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   823
    "Modified (comment): / 01-03-2018 / 19:08:18 / mawalch"
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   824
!
1180
c3309b30d14f code cleanup & added mimeType aquire fallBack via OS
Claus Gittinger <cg@exept.de>
parents: 1023
diff changeset
   825
1609
090ee7aa4cab *** empty log message ***
penk
parents: 1606
diff changeset
   826
miscFilenameList
3104
39607bbc7c1d class: MIMETypes
Stefan Vogel <sv@exept.de>
parents: 3039
diff changeset
   827
    "other formats (not by suffix, but by fileName instead) ..."
1609
090ee7aa4cab *** empty log message ***
penk
parents: 1606
diff changeset
   828
090ee7aa4cab *** empty log message ***
penk
parents: 1606
diff changeset
   829
    ^ #(
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   830
        "/ the first column is a list of extensions, the second the more-or-less official MIME type
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   831
2113
65cbfeee886d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2096
diff changeset
   832
        ('makefile' 'make.proto' 'make.spec' 'nt.mak')  'application/x-make'
4146
1caea5ec90da #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 4136
diff changeset
   833
        ('exe' 'bin' 'com')                             'vnd.microsoft.portable-executable'
2113
65cbfeee886d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2096
diff changeset
   834
        ('class')                                       'application/octet-stream'
2375
723e3325bad1 top file format
Claus Gittinger <cg@exept.de>
parents: 2298
diff changeset
   835
        ('top')                                         'application/x-waltop-digital-notepad'
1609
090ee7aa4cab *** empty log message ***
penk
parents: 1606
diff changeset
   836
    )
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   837
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   838
    "Modified (comment): / 05-02-2017 / 19:38:00 / cg"
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   839
    "Modified (comment): / 01-03-2018 / 19:09:17 / mawalch"
4146
1caea5ec90da #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 4136
diff changeset
   840
    "Modified: / 09-07-2018 / 10:53:43 / Stefan Vogel"
1609
090ee7aa4cab *** empty log message ***
penk
parents: 1606
diff changeset
   841
!
090ee7aa4cab *** empty log message ***
penk
parents: 1606
diff changeset
   842
1888
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   843
osSpecificTypeList
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   844
    OperatingSystem isMSWINDOWSlike ifTrue:[
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   845
        ^ self windowsSpecificTypeList
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   846
    ].
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   847
    ^ self unixSpecificTypeList
2023
70c535a959be *** empty log message ***
penk
parents: 2020
diff changeset
   848
70c535a959be *** empty log message ***
penk
parents: 2020
diff changeset
   849
"
70c535a959be *** empty log message ***
penk
parents: 2020
diff changeset
   850
    self osSpecificTypeList
70c535a959be *** empty log message ***
penk
parents: 2020
diff changeset
   851
"
1888
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   852
!
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   853
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   854
textTypeList
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   855
   "/ misc text ...
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   856
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   857
    ^ #(
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   858
        "/ the first column is a list of extensions, the second the more-or-less official MIME type
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   859
1887
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
   860
        ('html' 'htm' 'shtml')  'text/html'
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   861
        ('txt' 'text')          'text/plain'
1680
d34932ed0e86 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1668
diff changeset
   862
        'xml'                   'text/xml'
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   863
        'fxml'                  'text/xml'
3517
e65c4b28543e #FEATURE
Claus Gittinger <cg@exept.de>
parents: 3492
diff changeset
   864
        'xsd'                   'text/xml'
1777
5879ec563fc1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1775
diff changeset
   865
        'css'                   'text/css'
2432
8dcb56eb1e89 csv icon
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
   866
        'csv'                   'text/csv'
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   867
    )
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   868
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   869
    "Modified: / 05-02-2017 / 19:38:12 / cg"
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   870
    "Modified (comment): / 01-03-2018 / 19:09:34 / mawalch"
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   871
!
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   872
1888
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   873
unixSpecificTypeList
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   874
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   875
    ^ #(
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   876
        "/ the first column is a list of extensions, the second the more-or-less official MIME type
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   877
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   878
        "/ cg: RPM is 'audio/x-pn-realaudio-plugin' for WIN32
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   879
        "/     and 'application/x-rpm' for Unix
1888
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   880
        'rpm'                   'application/x-rpm'
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   881
    )
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   882
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   883
    "Modified (comment): / 05-02-2017 / 19:38:23 / cg"
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   884
    "Modified (comment): / 01-03-2018 / 19:09:37 / mawalch"
1888
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   885
!
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   886
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   887
videoTypeList
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   888
    "/ video formats ...
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   889
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   890
    ^ #(
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   891
        "/ the first column is a list of extensions, the second the more-or-less official mimetype
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   892
1720
cca50de2e8e4 change x-png to png
penk
parents: 1716
diff changeset
   893
        ('qt' 'mov' 'moov')                'video/quicktime'
cca50de2e8e4 change x-png to png
penk
parents: 1716
diff changeset
   894
        ('mpv' 'mpegv' 'mpg' 'mpeg' 'mpe') 'video/mpeg'
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   895
        'movie'                            'video/x-sgi-movie'
1820
7817c4809af7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1819
diff changeset
   896
        ('avi' 'wmv' 'asf')                'video/x-msvideo'
1604
0c678133dc4b new class for mimeType instances
penk
parents: 1593
diff changeset
   897
        ('mpv2' 'mp2v' 'mp2' 'mpeg2')      'video/x-mpeg2'
3367
048fc9f61885 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3359
diff changeset
   898
        ('mp4')                            'video/mp4'
1680
d34932ed0e86 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1668
diff changeset
   899
        'rm'                               'application/vnd.rn-realmedia'
d34932ed0e86 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1668
diff changeset
   900
        'rv'                               'video/x-pn-realvideo'
3295
c430566c334c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3260
diff changeset
   901
        'fli'                              'video/x-fli'
3367
048fc9f61885 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3359
diff changeset
   902
        'flv'                              'video/x-flv'      "/ macromedia flash video
1778
6a019cc68896 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1777
diff changeset
   903
   )
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   904
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   905
    "Modified (comment): / 05-02-2017 / 19:38:33 / cg"
1888
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   906
!
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   907
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   908
windowsSpecificTypeList
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   909
    ^ #(
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   910
        "/ the first column is a list of extensions, the second the more-or-less official MIME type
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   911
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   912
        "/ cg: RPM is 'audio/x-pn-realaudio-plugin' for WIN32
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   913
        "/     and 'application/x-rpm' for Unix
1888
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   914
        'rpm'                   'audio/x-pn-realaudio-plugin'
ef0f346b8f43 rpm suffix is RPM-package under unix (realplayer under windows)
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   915
    )
3862
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   916
a5c6ef8ecf6a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 3756
diff changeset
   917
    "Modified (comment): / 05-02-2017 / 19:38:42 / cg"
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   918
    "Modified (comment): / 01-03-2018 / 19:09:41 / mawalch"
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   919
! !
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   920
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   921
!MIMETypes class methodsFor:'obsolete'!
1489
9e339e123bfa commentStrings: added ifUnknown-argument
tm
parents: 1475
diff changeset
   922
2491
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   923
defaultCommandForMimeType:mimeType
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   924
    <resource: #obsolete>
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   925
    self obsoleteMethodWarning:'use #defaultCommandTemplateToOpenMimeType:'.
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   926
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   927
    ^ self defaultCommandTemplateToOpenMimeType:mimeType
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   928
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   929
    "
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   930
     MIMETypes defaultCommandTemplateToOpenMimeType:'application/pdf'
2491
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   931
    "
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   932
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   933
    "Created: / 12-05-2004 / 11:09:22 / cg"
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   934
    "Modified: / 12-05-2004 / 11:16:53 / cg"
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   935
!
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
   936
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   937
fontForCharset:aCharSetName
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   938
    "return the font-encoding for an iso-charset"
1489
9e339e123bfa commentStrings: added ifUnknown-argument
tm
parents: 1475
diff changeset
   939
1981
52b15b1e90b6 Mark obsolete methods
Stefan Vogel <sv@exept.de>
parents: 1979
diff changeset
   940
    <resource:#obsolete>
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   941
    self obsoleteMethodWarning:'use FontDescription >> fontNamePatternForCharset:'.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   942
    ^ FontDescription fontNamePatternForCharset:aCharSetName.
1489
9e339e123bfa commentStrings: added ifUnknown-argument
tm
parents: 1475
diff changeset
   943
9e339e123bfa commentStrings: added ifUnknown-argument
tm
parents: 1475
diff changeset
   944
    "
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   945
     MIMETypes fontForCharset:'iso2022-jp'
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   946
     MIMETypes fontForCharset:'euc-jp'
1472
bef5798d367d comment strings
Claus Gittinger <cg@exept.de>
parents: 1411
diff changeset
   947
    "
bef5798d367d comment strings
Claus Gittinger <cg@exept.de>
parents: 1411
diff changeset
   948
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   949
    "Modified: / 1.8.1998 / 17:00:57 / cg"
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   950
! !
1472
bef5798d367d comment strings
Claus Gittinger <cg@exept.de>
parents: 1411
diff changeset
   951
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
   952
!MIMETypes class methodsFor:'queries'!
1472
bef5798d367d comment strings
Claus Gittinger <cg@exept.de>
parents: 1411
diff changeset
   953
647
6f26c76aa0c9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   954
defineImageType:mimeType suffix:aSuffix reader:aReaderClass
6f26c76aa0c9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   955
    "register an image reader."
6f26c76aa0c9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   956
3981
9b65ca1a1f85 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3978
diff changeset
   957
    self defineImageType:mimeType suffix:aSuffix reader:aReaderClass info:nil
9b65ca1a1f85 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3978
diff changeset
   958
9b65ca1a1f85 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3978
diff changeset
   959
    "Modified: / 26-08-2017 / 10:30:00 / cg"
9b65ca1a1f85 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3978
diff changeset
   960
!
9b65ca1a1f85 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3978
diff changeset
   961
9b65ca1a1f85 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3978
diff changeset
   962
defineImageType:mimeType suffix:aSuffix reader:aReaderClass info:info
9b65ca1a1f85 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3978
diff changeset
   963
    "register an image reader."
9b65ca1a1f85 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3978
diff changeset
   964
4080
90b625be9e29 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4074
diff changeset
   965
    "/ flush caches
90b625be9e29 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4074
diff changeset
   966
    LastSuffix := LastType := nil.
90b625be9e29 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4074
diff changeset
   967
647
6f26c76aa0c9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   968
    aSuffix notNil ifTrue:[
6f26c76aa0c9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   969
        self imageReaderForSuffix:aSuffix put:aReaderClass.
6f26c76aa0c9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   970
    ].
6f26c76aa0c9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   971
6f26c76aa0c9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   972
    mimeType notNil ifTrue:[
6f26c76aa0c9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   973
        self imageReaderForType:mimeType put:aReaderClass
6f26c76aa0c9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   974
    ].
6f26c76aa0c9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   975
6f26c76aa0c9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   976
    (aSuffix notNil and:[mimeType notNil]) ifTrue:[
6f26c76aa0c9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   977
        self mimeTypeForSuffix:aSuffix put:mimeType
6f26c76aa0c9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   978
    ].
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   979
3981
9b65ca1a1f85 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3978
diff changeset
   980
    (info notNil and:[mimeType notNil])  ifTrue:[
3982
103f4c22121a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3981
diff changeset
   981
        self typeToInfoMapping at:mimeType put:info.
3981
9b65ca1a1f85 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3978
diff changeset
   982
    ].
9b65ca1a1f85 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3978
diff changeset
   983
9b65ca1a1f85 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3978
diff changeset
   984
    "Created: / 26-08-2017 / 10:29:11 / cg"
3982
103f4c22121a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3981
diff changeset
   985
    "Modified: / 27-08-2017 / 14:30:53 / cg"
647
6f26c76aa0c9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   986
!
6f26c76aa0c9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   987
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   988
fileInfoForMimeType:mimeType
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   989
    "given a mimeType, return an info string similar to what the unix 'file' command
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   990
     provides. This info here is returned by systems which have no file (i.e. MSDOS) and
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   991
     for types of which file does not know about (smalltalk files, for example)"
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   992
3982
103f4c22121a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3981
diff changeset
   993
    ^ self typeToInfoMapping at:mimeType ifAbsent:nil
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   994
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   995
    "
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   996
     self fileInfoForMimeType:(MIMEType fromString:'text/html')
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
   997
     self fileInfoForMimeType:(MIMEType fromString:'image/gif')
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   998
    "
3982
103f4c22121a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3981
diff changeset
   999
103f4c22121a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3981
diff changeset
  1000
    "Modified (comment): / 27-08-2017 / 14:31:33 / cg"
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
  1001
!
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
  1002
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1003
fileSuffixToImageReaderMapping
1021
004c324dc31a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 713
diff changeset
  1004
    "return the suffix-to-imageReader mapping"
004c324dc31a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 713
diff changeset
  1005
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1006
    ^ FileSuffixToImageReaderClassMapping ? #()
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1007
1021
004c324dc31a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 713
diff changeset
  1008
    "Modified: / 1.8.1998 / 17:00:11 / cg"
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1009
!
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1010
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1011
imageFileSuffixes
1021
004c324dc31a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 713
diff changeset
  1012
    "return a collection with known file suffixes"
004c324dc31a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 713
diff changeset
  1013
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1014
    FileSuffixToImageReaderClassMapping isNil ifTrue:[^ #()].
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1015
    ^ FileSuffixToImageReaderClassMapping keys
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1016
1021
004c324dc31a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 713
diff changeset
  1017
    "Created: / 30.6.1997 / 22:04:48 / cg"
004c324dc31a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 713
diff changeset
  1018
    "Modified: / 1.8.1998 / 17:01:26 / cg"
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1019
!
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1020
3014
e6d9a204da08 comment/format in: #mimeTypeForFilename:
Claus Gittinger <cg@exept.de>
parents: 3012
diff changeset
  1021
mimeTypeForFilename:filenameOrString
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1022
    "given a filename, return the MIME type or nil if unknown"
1272
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1023
1780
ba94d562efe8 support double-suffix such as '.tar.gz'
Claus Gittinger <cg@exept.de>
parents: 1779
diff changeset
  1024
    |type filename lcFilename suff suff2|
1272
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1025
3014
e6d9a204da08 comment/format in: #mimeTypeForFilename:
Claus Gittinger <cg@exept.de>
parents: 3012
diff changeset
  1026
    filename := filenameOrString asFilename.
1474
bd86cf0c1a84 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1473
diff changeset
  1027
bd86cf0c1a84 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1473
diff changeset
  1028
    lcFilename := filename baseName asLowercase.
1272
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1029
    type := FilenameToTypeMapping at:lcFilename ifAbsent:nil.
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1030
    type isNil ifTrue:[
3962
f281042e880e #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3961
diff changeset
  1031
        "/ allow for fallback (maybe Windows registry knows something)...
1272
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1032
        type := OperatingSystem mimeTypeForFilename:lcFilename.
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1033
        "/ the special value #unknown is returned as nil;
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1034
        "/ this avoids constant retry if a mimeType is not known in
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1035
        "/ the OS.
1275
cf421c7dfeec *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
  1036
"/        type isNil ifTrue:[
cf421c7dfeec *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
  1037
"/            FilenameToTypeMapping at:lcFilename put:#unknown
cf421c7dfeec *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
  1038
"/        ].
1272
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1039
    ].
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1040
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1041
    type == #unknown ifTrue:[
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1042
        type := nil.
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1043
    ].
1273
7a52d4bcdb10 filenames mime query falls back to suffix query.
Claus Gittinger <cg@exept.de>
parents: 1272
diff changeset
  1044
7a52d4bcdb10 filenames mime query falls back to suffix query.
Claus Gittinger <cg@exept.de>
parents: 1272
diff changeset
  1045
    type isNil ifTrue:[
1473
876caa979b7e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1472
diff changeset
  1046
        suff := filename suffix.
3962
f281042e880e #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3961
diff changeset
  1047
        suff notEmpty ifTrue:[
1780
ba94d562efe8 support double-suffix such as '.tar.gz'
Claus Gittinger <cg@exept.de>
parents: 1779
diff changeset
  1048
            "/ sigh - special code for multiple-suffices...
ba94d562efe8 support double-suffix such as '.tar.gz'
Claus Gittinger <cg@exept.de>
parents: 1779
diff changeset
  1049
            "/ .tar.gz -> tgz
ba94d562efe8 support double-suffix such as '.tar.gz'
Claus Gittinger <cg@exept.de>
parents: 1779
diff changeset
  1050
            suff2 := filename withoutSuffix suffix.
3962
f281042e880e #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3961
diff changeset
  1051
            suff2 notEmpty ifTrue:[
1780
ba94d562efe8 support double-suffix such as '.tar.gz'
Claus Gittinger <cg@exept.de>
parents: 1779
diff changeset
  1052
                type := self mimeTypeForSuffix:(suff2 , '.' , suff).
ba94d562efe8 support double-suffix such as '.tar.gz'
Claus Gittinger <cg@exept.de>
parents: 1779
diff changeset
  1053
            ].
3983
2ec7424998e4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 3982
diff changeset
  1054
            (type isNil or:[type == #unknown]) ifTrue:[
1780
ba94d562efe8 support double-suffix such as '.tar.gz'
Claus Gittinger <cg@exept.de>
parents: 1779
diff changeset
  1055
                type := self mimeTypeForSuffix:suff
ba94d562efe8 support double-suffix such as '.tar.gz'
Claus Gittinger <cg@exept.de>
parents: 1779
diff changeset
  1056
            ].
1273
7a52d4bcdb10 filenames mime query falls back to suffix query.
Claus Gittinger <cg@exept.de>
parents: 1272
diff changeset
  1057
        ]
7a52d4bcdb10 filenames mime query falls back to suffix query.
Claus Gittinger <cg@exept.de>
parents: 1272
diff changeset
  1058
    ].
7a52d4bcdb10 filenames mime query falls back to suffix query.
Claus Gittinger <cg@exept.de>
parents: 1272
diff changeset
  1059
3871
51014a1e5d17 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 3870
diff changeset
  1060
    type == #unknown ifTrue:[
51014a1e5d17 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 3870
diff changeset
  1061
        type := nil.
51014a1e5d17 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 3870
diff changeset
  1062
    ].
51014a1e5d17 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 3870
diff changeset
  1063
1272
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1064
    ^ type
1780
ba94d562efe8 support double-suffix such as '.tar.gz'
Claus Gittinger <cg@exept.de>
parents: 1779
diff changeset
  1065
ba94d562efe8 support double-suffix such as '.tar.gz'
Claus Gittinger <cg@exept.de>
parents: 1779
diff changeset
  1066
    "
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1067
     MIMETypes mimeTypeForFilename:'typeinst.dvi'
2820
98e9403031ad comment/format
Claus Gittinger <cg@exept.de>
parents: 2758
diff changeset
  1068
     MIMETypes mimeTypeForFilename:'foo.tar'
98e9403031ad comment/format
Claus Gittinger <cg@exept.de>
parents: 2758
diff changeset
  1069
     MIMETypes mimeTypeForFilename:'foo.tgz'
98e9403031ad comment/format
Claus Gittinger <cg@exept.de>
parents: 2758
diff changeset
  1070
     MIMETypes mimeTypeForFilename:'foo.tar.gz'
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1071
     MIMETypes mimeTypeForFilename:'foo.txt'
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1072
     MIMETypes mimeTypeForFilename:'foo.pkg'
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1073
     MIMETypes mimeTypeForFilename:'foo.sm'
4179
3fa2465bef0a #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4146
diff changeset
  1074
     MIMETypes mimeTypeForFilename:'foo.cbl'
3983
2ec7424998e4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 3982
diff changeset
  1075
     MIMETypes mimeTypeForFilename:'/Users/cg/work/stx/goodies/bitmaps/tiffimages/moreSamples/multi-channel.ome.tif'
2ec7424998e4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 3982
diff changeset
  1076
     MIMETypes mimeTypeForFilename:'multi-channel.ome.tif'
2ec7424998e4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 3982
diff changeset
  1077
     MIMETypes mimeTypeForFilename:'multi-channel.tif'
1780
ba94d562efe8 support double-suffix such as '.tar.gz'
Claus Gittinger <cg@exept.de>
parents: 1779
diff changeset
  1078
    "
2911
7afaf1fdae8b comment/format in: #mimeTypeForFilename:
Claus Gittinger <cg@exept.de>
parents: 2904
diff changeset
  1079
3962
f281042e880e #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3961
diff changeset
  1080
    "Modified (format): / 27-06-2017 / 16:25:40 / stefan"
3983
2ec7424998e4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 3982
diff changeset
  1081
    "Modified: / 27-08-2017 / 16:35:37 / cg"
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1082
    "Modified (comment): / 01-03-2018 / 18:52:25 / mawalch"
4179
3fa2465bef0a #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4146
diff changeset
  1083
    "Modified (comment): / 18-09-2018 / 21:10:13 / Claus Gittinger"
1272
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1084
!
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1085
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1086
mimeTypeForFilename:filename put:mimeType
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1087
    "register a MIME type for a filename"
1272
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1088
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1089
    FilenameToTypeMapping isNil ifTrue:[
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1090
        FilenameToTypeMapping := Dictionary new
91ba4078b690 additional mime table for filenames without suffix.
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  1091
    ].
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1092
    FilenameToTypeMapping at:filename put:(MIMEType fromString:mimeType asLowercase)
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1093
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1094
    "Modified (comment): / 01-03-2018 / 18:52:42 / mawalch"
1611
5804b7d63ee8 checkin from browser
penk
parents: 1610
diff changeset
  1095
!
5804b7d63ee8 checkin from browser
penk
parents: 1610
diff changeset
  1096
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1097
mimeTypeForSuffix:suffix
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1098
    "given a file suffix, return the MIME type"
1021
004c324dc31a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 713
diff changeset
  1099
1180
c3309b30d14f code cleanup & added mimeType aquire fallBack via OS
Claus Gittinger <cg@exept.de>
parents: 1023
diff changeset
  1100
    |type lcSuffix|
c3309b30d14f code cleanup & added mimeType aquire fallBack via OS
Claus Gittinger <cg@exept.de>
parents: 1023
diff changeset
  1101
1837
penk
parents: 1820
diff changeset
  1102
    suffix = LastSuffix ifTrue:[
penk
parents: 1820
diff changeset
  1103
        ^ LastType
penk
parents: 1820
diff changeset
  1104
    ].
penk
parents: 1820
diff changeset
  1105
1180
c3309b30d14f code cleanup & added mimeType aquire fallBack via OS
Claus Gittinger <cg@exept.de>
parents: 1023
diff changeset
  1106
    lcSuffix := suffix asLowercase.
1837
penk
parents: 1820
diff changeset
  1107
    type := FileSuffixToTypeMapping at:lcSuffix ifAbsent:nil.
penk
parents: 1820
diff changeset
  1108
    type isNil ifTrue:[
penk
parents: 1820
diff changeset
  1109
        "/ allow for fallback ...
penk
parents: 1820
diff changeset
  1110
        type := OperatingSystem mimeTypeForSuffix:lcSuffix.
penk
parents: 1820
diff changeset
  1111
        "/ the special value #unknown is returned as nil;
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1112
        "/ this avoids constant retry if a suffix is not known in the OS.
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1113
        type := type isNil ifTrue:[#unknown] ifFalse:[MIMEType fromString:type].
1837
penk
parents: 1820
diff changeset
  1114
        FileSuffixToTypeMapping at:lcSuffix put:type.
1180
c3309b30d14f code cleanup & added mimeType aquire fallBack via OS
Claus Gittinger <cg@exept.de>
parents: 1023
diff changeset
  1115
    ].
1837
penk
parents: 1820
diff changeset
  1116
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1117
    LastSuffix := suffix.
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1118
    LastType := type.
1841
b7ff9829e4b3 return value should be undefined if type isNil
penk
parents: 1840
diff changeset
  1119
    ^ type
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1120
1666
2fe4fb7be12c added xml type
Claus Gittinger <cg@exept.de>
parents: 1616
diff changeset
  1121
    "
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1122
     self mimeTypeForSuffix:'gif'
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1123
     self mimeTypeForSuffix:'rpm'
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1124
     self mimeTypeForSuffix:'zip'
1666
2fe4fb7be12c added xml type
Claus Gittinger <cg@exept.de>
parents: 1616
diff changeset
  1125
    "
2fe4fb7be12c added xml type
Claus Gittinger <cg@exept.de>
parents: 1616
diff changeset
  1126
2891
9aee109c1c1c changed:
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
  1127
    "Created: / 30-06-1997 / 21:55:51 / cg"
9aee109c1c1c changed:
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
  1128
    "Modified: / 14-02-2011 / 17:14:34 / cg"
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1129
    "Modified: / 09-02-2017 / 14:57:52 / stefan"
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1130
    "Modified (comment): / 01-03-2018 / 18:51:35 / mawalch"
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1131
!
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1132
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1133
mimeTypeForSuffix:suffix put:mimeType
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1134
    "register a MIME type for a file suffix"
1021
004c324dc31a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 713
diff changeset
  1135
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1136
    FileSuffixToTypeMapping isNil ifTrue:[
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1137
        FileSuffixToTypeMapping := Dictionary new
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1138
    ].
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1139
    FileSuffixToTypeMapping at:suffix ifAbsentPut:[MIMEType fromString:mimeType asLowercase].
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1140
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1141
    "Created: / 30-06-1997 / 21:56:20 / cg"
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1142
    "Modified: / 01-08-1998 / 17:03:18 / cg"
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1143
    "Modified: / 09-02-2017 / 15:09:17 / stefan"
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1144
    "Modified (comment): / 01-03-2018 / 18:51:17 / mawalch"
1593
4bf2544435a9 add class getter method for FileSuffixToTypemapping
penk
parents: 1561
diff changeset
  1145
!
4bf2544435a9 add class getter method for FileSuffixToTypemapping
penk
parents: 1561
diff changeset
  1146
4bf2544435a9 add class getter method for FileSuffixToTypemapping
penk
parents: 1561
diff changeset
  1147
mimeTypeForSuffixMapping
4bf2544435a9 add class getter method for FileSuffixToTypemapping
penk
parents: 1561
diff changeset
  1148
4bf2544435a9 add class getter method for FileSuffixToTypemapping
penk
parents: 1561
diff changeset
  1149
    ^ FileSuffixToTypeMapping
1611
5804b7d63ee8 checkin from browser
penk
parents: 1610
diff changeset
  1150
!
5804b7d63ee8 checkin from browser
penk
parents: 1610
diff changeset
  1151
2023
70c535a959be *** empty log message ***
penk
parents: 2020
diff changeset
  1152
mimeTypeFromString:mimeTypeString
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1153
    "given a MIME type for a string"
2023
70c535a959be *** empty log message ***
penk
parents: 2020
diff changeset
  1154
70c535a959be *** empty log message ***
penk
parents: 2020
diff changeset
  1155
     ^ MIMEType fromString:mimeTypeString
70c535a959be *** empty log message ***
penk
parents: 2020
diff changeset
  1156
70c535a959be *** empty log message ***
penk
parents: 2020
diff changeset
  1157
    "
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1158
     MIMETypes mimeTypeFromString:'text/html'
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1159
     MIMETypes mimeTypeFromString:'image/gif'
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1160
     MIMETypes mimeTypeFromString:'application/x-expecco-testsuite'
2023
70c535a959be *** empty log message ***
penk
parents: 2020
diff changeset
  1161
    "
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1162
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1163
    "Modified (comment): / 01-03-2018 / 18:49:50 / mawalch"
2023
70c535a959be *** empty log message ***
penk
parents: 2020
diff changeset
  1164
!
70c535a959be *** empty log message ***
penk
parents: 2020
diff changeset
  1165
1611
5804b7d63ee8 checkin from browser
penk
parents: 1610
diff changeset
  1166
mimeTypeOfContents:filename
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1167
    "given a filename, scan the contents, return the MIME type or nil, if unknown"
1611
5804b7d63ee8 checkin from browser
penk
parents: 1610
diff changeset
  1168
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1169
    |typeString|
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1170
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1171
    typeString := filename mimeTypeOfContents.
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1172
    typeString isNil ifTrue:[^ nil].
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1173
    ^ MIMEType fromString:typeString.
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1174
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1175
    "Modified (comment): / 01-03-2018 / 18:50:06 / mawalch"
1887
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
  1176
!
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
  1177
2582
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1178
mimeTypeOfData:someData
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1179
    "this tries to guess the MIME type of contents of someData.
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1180
     Returns nil if unknown.
2582
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1181
     This is done using some heuristics, and may need some improvement"
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1182
3400
7c44ae7a6d6b class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3380
diff changeset
  1183
    ^ self mimeTypeOfData:someData suffix:nil
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1184
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1185
    "Modified (comment): / 01-03-2018 / 18:50:22 / mawalch"
3400
7c44ae7a6d6b class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3380
diff changeset
  1186
!
7c44ae7a6d6b class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3380
diff changeset
  1187
7c44ae7a6d6b class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3380
diff changeset
  1188
mimeTypeOfData:someData suffix:fileNameSuffixOrNilIfUnknown
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1189
    "this tries to guess the MIME type of someData.
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1190
     Returns nil if unknown.
3691
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
  1191
     In addition to registered detectors (see addMimeTypeDetector:),
4072
9ed653401cb5 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4068
diff changeset
  1192
     this is done using heuristics, and may need some improvement"
3400
7c44ae7a6d6b class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3380
diff changeset
  1193
2582
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1194
    |buffer lcBuffer size idx idx2|
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1195
2583
Claus Gittinger <cg@exept.de>
parents: 2582
diff changeset
  1196
    someData isEmptyOrNil ifTrue:[^ nil].
Claus Gittinger <cg@exept.de>
parents: 2582
diff changeset
  1197
3691
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
  1198
    TypeFromContentsDetectors notNil ifTrue:[
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
  1199
        TypeFromContentsDetectors do:[:eachDetector |
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
  1200
            |m|
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
  1201
            
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
  1202
            m := eachDetector value:someData value:fileNameSuffixOrNilIfUnknown.
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
  1203
            m notNil ifTrue:[^ m]
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
  1204
        ]
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
  1205
    ].    
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
  1206
    
2583
Claus Gittinger <cg@exept.de>
parents: 2582
diff changeset
  1207
    size := 2048 min:someData size.
2582
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1208
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1209
    "/ read some data from the file ...
2583
Claus Gittinger <cg@exept.de>
parents: 2582
diff changeset
  1210
    buffer := (someData copyTo:size) asString.
3691
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
  1211
2582
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1212
    lcBuffer := buffer asLowercase.
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1213
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1214
    (idx := lcBuffer findString:'mimetype:') ~~ 0 ifTrue:[
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1215
        idx := idx + 'mimetype:' size.
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1216
        idx := lcBuffer indexOfNonSeparatorStartingAt:idx.
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1217
        idx2 := lcBuffer indexOfSeparatorStartingAt:idx.
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1218
        idx2 > idx ifTrue:[
2583
Claus Gittinger <cg@exept.de>
parents: 2582
diff changeset
  1219
            ^ MIMEType fromString:(lcBuffer copyFrom:idx to:idx2-1)
2582
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1220
        ].
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1221
    ].
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1222
2924
808feaad1bb3 changed: #mimeTypeOfData:
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1223
    "/ real starters
2582
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1224
    #(
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1225
        ( #[16r4C 16r00 16r00 16r00 16r01 16r14 16r02 16r00 16r00 16r00 16r00 16r00 16rC0 16r00 16r00 16r00 16r00 16r00 16r00 16r46] 
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1226
                #'application/x-ms-shortcut' )
2924
808feaad1bb3 changed: #mimeTypeOfData:
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1227
        ( 'ITOLITLS' 
808feaad1bb3 changed: #mimeTypeOfData:
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1228
                #'application/x-ms-reader' )
2582
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1229
        ( 'WALTOP' 
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1230
                #'application/x-waltop-digital-notepad' )
2892
3da4b1884487 changed: #mimeTypeOfData:
Claus Gittinger <cg@exept.de>
parents: 2891
diff changeset
  1231
        ('PK'                       
3da4b1884487 changed: #mimeTypeOfData:
Claus Gittinger <cg@exept.de>
parents: 2891
diff changeset
  1232
                #'application/x-zip-compressed')
4065
faf35b819e48 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4064
diff changeset
  1233
        ('LZIP'
faf35b819e48 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4064
diff changeset
  1234
                #'application/lzip')
4279
0c07b6f38d45 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4245
diff changeset
  1235
        ('ITSF'
0c07b6f38d45 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4245
diff changeset
  1236
                #'application/vnd.ms-htmlhelp'
0c07b6f38d45 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4245
diff changeset
  1237
        )
3113
f05de9a7a26c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3104
diff changeset
  1238
        ('<?xml'                       
f05de9a7a26c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3104
diff changeset
  1239
                #'text/xml')
2582
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1240
     ) pairsDo:[:pattern :what |
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1241
        |patternString|
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1242
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1243
        patternString := pattern asString.
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1244
        (buffer startsWith:patternString) ifTrue:[
3400
7c44ae7a6d6b class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3380
diff changeset
  1245
            what = #'application/x-zip-compressed' ifTrue:[
7c44ae7a6d6b class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3380
diff changeset
  1246
                fileNameSuffixOrNilIfUnknown = 'jar' ifTrue:[
7c44ae7a6d6b class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3380
diff changeset
  1247
                    ^ MIMEType fromString: #'application/java-archive'
7c44ae7a6d6b class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3380
diff changeset
  1248
                ].
7c44ae7a6d6b class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3380
diff changeset
  1249
            ].
2583
Claus Gittinger <cg@exept.de>
parents: 2582
diff changeset
  1250
            ^ MIMEType fromString:what
2582
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1251
        ]
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1252
    ].
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1253
2924
808feaad1bb3 changed: #mimeTypeOfData:
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1254
    "/ somewhere near the beginning
2582
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1255
    #(
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1256
            ('<body:'                   #'text/html')
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1257
            ('%!!ps-adobe'               #'application/postscript')
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1258
            ('%PDF-'                    #'application/pdf')
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1259
            ('#!! /bin/sh'               #'application/x-sh')
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1260
            ('#!!/bin/sh'                #'application/x-sh')
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1261
            "/ ('#!! /bin/bash'              'application/x-bash')
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1262
            "/ ('#!!/bin/bash'               'application/x-bash')
3482
3d7a30e2aa97 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3476
diff changeset
  1263
            ('UNB+UNO'                  #'application/EDIFACT')
2582
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1264
3113
f05de9a7a26c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3104
diff changeset
  1265
            ('---- encoding: '          #'application/x-smalltalk-source')
f05de9a7a26c class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3104
diff changeset
  1266
            ('---- timestamp '          #'application/x-smalltalk-source')
2582
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1267
            ('from dolphin'             #'application/x-smalltalk-source')
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1268
            ('from visualworks'         #'application/x-smalltalk-source')
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
  1269
            ('from squeak'              #'application/x-smalltalk-source')
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
  1270
            ('from smalltalk/x'         #'application/x-smalltalk-source')
4245
f70d2cc0e016 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4219
diff changeset
  1271
            ('"{ package:'              #'application/x-smalltalk-source')
f70d2cc0e016 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4219
diff changeset
  1272
            ('"{ encoding: '            #'application/x-smalltalk-source') 
2582
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1273
            ('categoriesforclass'       #'application/x-smalltalk-source')
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1274
            ('methodsfor!!'              #'application/x-smalltalk-source')
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1275
            ('subclass:'                #'application/x-smalltalk-source')
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1276
            ('methodsfor:'              #'application/x-smalltalk-source')
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1277
            ('interchangeversion:'      #'application/x-smalltalk-source-sif')
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1278
            ('subclass:'                #'application/x-smalltalk-source')
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1279
            ('methodsfor:'              #'application/x-smalltalk-source')
4245
f70d2cc0e016 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4219
diff changeset
  1280
            ('application create:'      #'application/x-smalltalk-source')
3332
5ab088e3de36 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3322
diff changeset
  1281
            ('becomeDefault!!'           #'application/x-smalltalk-source')
3451
3f6dc42dff22 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
  1282
            ('(reader defineClass:'     #'application/x-smalltalk-source')      "/ gravel smalltalk
4072
9ed653401cb5 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4068
diff changeset
  1283
            ('(define '                 #'application/x-scheme-source')      
2582
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1284
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1285
    ) pairsDo:[:pattern :what | 
4245
f70d2cc0e016 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4219
diff changeset
  1286
        (lcBuffer findString:pattern caseSensitive:false) ~~ 0 ifTrue:[
2583
Claus Gittinger <cg@exept.de>
parents: 2582
diff changeset
  1287
            ^ MIMEType fromString:what
2582
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1288
        ]
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1289
    ].
3691
f0cdcbd903e0 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
  1290
    
2582
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1291
    (idx := lcBuffer findString:'<h') ~~ 0 ifTrue:[
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1292
        ((lcBuffer continuesWith:'<head' startingAt:idx)
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1293
        or:[(lcBuffer continuesWith:'<html' startingAt:idx)
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1294
        or:[(lcBuffer continuesWith:'<h1' startingAt:idx)
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1295
        or:[(lcBuffer continuesWith:'<h2' startingAt:idx)
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1296
        or:[(lcBuffer continuesWith:'<h3' startingAt:idx)
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1297
        or:[(lcBuffer continuesWith:'<h4' startingAt:idx)
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1298
        or:[(lcBuffer continuesWith:'<h5' startingAt:idx)
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1299
        or:[(lcBuffer continuesWith:'<h6' startingAt:idx)]]]]]]])
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1300
        ifTrue:[
2583
Claus Gittinger <cg@exept.de>
parents: 2582
diff changeset
  1301
            ^ MIMEType fromString:'text/html'
2582
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1302
        ]
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1303
    ].
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1304
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1305
    [size ~~ 0 and:[(buffer at:size) isPrintable]] whileTrue:[size := size - 1].
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1306
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1307
    size == 0 ifTrue:[
2583
Claus Gittinger <cg@exept.de>
parents: 2582
diff changeset
  1308
        ^ MIMEType fromString:'text/plain'
2582
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1309
    ].
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1310
    ^ nil
2891
9aee109c1c1c changed:
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
  1311
2924
808feaad1bb3 changed: #mimeTypeOfData:
Claus Gittinger <cg@exept.de>
parents: 2912
diff changeset
  1312
    "Modified: / 12-07-2011 / 19:08:17 / cg"
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1313
    "Modified (comment): / 01-03-2018 / 18:50:36 / mawalch"
4279
0c07b6f38d45 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4245
diff changeset
  1314
    "Modified: / 27-06-2019 / 16:33:41 / Claus Gittinger"
2582
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1315
!
298203fdb64d mime type detection from conents moved from fileName to here
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  1316
1887
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
  1317
suffixForMimeType:mimeType
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1318
    "given a file suffix, return the MIME type"
1887
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
  1319
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
  1320
    ^ TypeToFileSuffixMapping at:mimeType ifAbsent:nil
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
  1321
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
  1322
    "
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1323
     self suffixForMimeType:(MIMEType fromString:'image/gif')
1887
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
  1324
    "
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
  1325
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1326
    "Created: / 30-06-1997 / 21:55:51 / cg"
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1327
    "Modified: / 23-12-1999 / 22:30:55 / cg"
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1328
    "Modified (comment): / 01-03-2018 / 18:50:50 / mawalch"
1887
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
  1329
!
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
  1330
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
  1331
suffixForMimeTypeString:mimeTypeString
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1332
    "given a file suffix, return the MIME type"
1887
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
  1333
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1334
     ^ self suffixForMimeType:(MIMEType fromString:mimeTypeString)
1887
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
  1335
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
  1336
    "
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1337
     self suffixForMimeTypeString:'image/gif'
1887
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
  1338
    "
ae19bd933dbd add suffixForMimeType acces
penk
parents: 1864
diff changeset
  1339
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1340
    "Created: / 30-06-1997 / 21:55:51 / cg"
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1341
    "Modified: / 23-12-1999 / 22:30:55 / cg"
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1342
    "Modified (comment): / 01-03-2018 / 18:51:06 / mawalch"
3982
103f4c22121a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3981
diff changeset
  1343
!
103f4c22121a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3981
diff changeset
  1344
103f4c22121a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3981
diff changeset
  1345
typeToInfoMapping
103f4c22121a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3981
diff changeset
  1346
    TypeToInfoMapping isNil ifTrue:[
103f4c22121a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3981
diff changeset
  1347
        self initializeFileInfoMappings
103f4c22121a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3981
diff changeset
  1348
    ].
103f4c22121a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3981
diff changeset
  1349
    ^ TypeToInfoMapping
103f4c22121a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3981
diff changeset
  1350
103f4c22121a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3981
diff changeset
  1351
    "Created: / 27-08-2017 / 14:30:44 / cg"
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1352
! !
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1353
2116
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1354
!MIMETypes class methodsFor:'queries-applications'!
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1355
2117
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1356
defaultCommandPerMIME
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1357
    "returns the collection which is used to map MIME type to command-templates."
2117
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1358
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1359
    "TODO: move this to OS/UserPreferences"
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1360
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1361
    DefaultCommandPerMIMEPerOS isNil ifTrue:[
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1362
        self initializeDefaultCommands
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1363
    ].
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1364
    OperatingSystem isUNIXlike ifTrue:[
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1365
        ^ DefaultCommandPerMIMEPerOS at:#unix
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1366
    ].
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1367
    ^ DefaultCommandPerMIMEPerOS at:#win32
2942
693d381bc775 comment/format in: #defaultCommandPerMIME
Claus Gittinger <cg@exept.de>
parents: 2937
diff changeset
  1368
693d381bc775 comment/format in: #defaultCommandPerMIME
Claus Gittinger <cg@exept.de>
parents: 2937
diff changeset
  1369
    "
693d381bc775 comment/format in: #defaultCommandPerMIME
Claus Gittinger <cg@exept.de>
parents: 2937
diff changeset
  1370
     MIMETypes defaultCommandPerMIME
693d381bc775 comment/format in: #defaultCommandPerMIME
Claus Gittinger <cg@exept.de>
parents: 2937
diff changeset
  1371
    "
693d381bc775 comment/format in: #defaultCommandPerMIME
Claus Gittinger <cg@exept.de>
parents: 2937
diff changeset
  1372
693d381bc775 comment/format in: #defaultCommandPerMIME
Claus Gittinger <cg@exept.de>
parents: 2937
diff changeset
  1373
    "Modified (comment): / 16-09-2011 / 16:20:12 / cg"
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1374
    "Modified (comment): / 01-03-2018 / 19:06:54 / mawalch"
2117
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1375
!
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1376
2116
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1377
defaultCommandTemplateToOpenMimeType:mimeType
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1378
    |cmd|
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1379
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1380
    cmd := self defaultCommandPerMIME at:mimeType ifAbsent:nil.
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1381
    cmd isNil ifTrue:[
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1382
        OperatingSystem isMSWINDOWSlike ifTrue:[
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1383
            cmd := Win32OperatingSystem::RegistryEntry commandTemplateToOpenMimeType:mimeType
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1384
        ].
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1385
    ].
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1386
    ^ cmd
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1387
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1388
    "
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1389
     MIMETypes defaultCommandTemplateToOpenMimeType:'application/pdf'
2118
b41112f6c76e commandTemplate stuff
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1390
     MIMETypes defaultCommandTemplateToOpenMimeType:'text/html'
2116
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1391
    "
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1392
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1393
    "Created: / 12-05-2004 / 11:09:22 / cg"
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1394
    "Modified: / 12-05-2004 / 11:16:53 / cg"
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1395
!
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1396
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1397
defaultCommandTemplateToPrintMimeType:mimeType
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1398
    |cmd|
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1399
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1400
    cmd := self defaultPrintCommandPerMIME at:mimeType ifAbsent:nil.
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1401
    cmd isNil ifTrue:[
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1402
        OperatingSystem isMSWINDOWSlike ifTrue:[
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1403
            cmd := Win32OperatingSystem::RegistryEntry commandTemplateToPrintMimeType:mimeType
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1404
        ].
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1405
    ].
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1406
    ^ cmd
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1407
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1408
    "
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1409
     MIMETypes defaultCommandTemplateToPrintMimeType:'application/pdf'
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1410
    "
2117
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1411
!
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1412
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1413
defaultPrintCommandPerMIME
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1414
    "returns the collection which is used to map MIME type to printing command-templates."
2117
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1415
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1416
    "TODO: move this to OS/UserPreferences"
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1417
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1418
    DefaultPrintCommandPerMIMEPerOS isNil ifTrue:[
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1419
        self initializeDefaultCommands
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1420
    ].
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1421
    OperatingSystem isUNIXlike ifTrue:[
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1422
        ^ DefaultPrintCommandPerMIMEPerOS at:#unix
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1423
    ].
84ad717d243e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2116
diff changeset
  1424
    ^ DefaultPrintCommandPerMIMEPerOS at:#win32
2116
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1425
! !
edc0a8f8ff26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2113
diff changeset
  1426
4417
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1427
!MIMETypes class methodsFor:'queries-audio formats'!
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1428
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1429
audioReaderClasses
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1430
    "return a collection of registered audio reader classes"
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1431
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1432
    TypeToAudioReaderClassMapping notNil ifTrue:[
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1433
        ^ TypeToAudioReaderClassMapping values asSet.
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1434
    ].
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1435
    ^ #().
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1436
!
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1437
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1438
audioReaderForSuffix:aSuffix
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1439
    "given a file suffix, return an appropriate audio reader class"
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1440
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1441
    FileSuffixToAudioReaderClassMapping isNil ifTrue:[
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1442
        self initializeAudioReaderMappings
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1443
    ].
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1444
    ^ FileSuffixToAudioReaderClassMapping at:aSuffix asLowercase ifAbsent:nil
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1445
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1446
    "
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1447
     self audioReaderForSuffix:'wav'
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1448
     self audioReaderForSuffix:'snd'
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1449
     self audioReaderForSuffix:'aiff'
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1450
    "
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1451
!
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1452
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1453
audioReaderForSuffix:aSuffix put:aReaderClass
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1454
    "register an audio reader for a file suffix"
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1455
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1456
    FileSuffixToAudioReaderClassMapping isNil ifTrue:[
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1457
        self initializeAudioReaderMappings
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1458
    ].
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1459
    FileSuffixToAudioReaderClassMapping at:aSuffix asLowercase put:aReaderClass
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1460
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1461
!
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1462
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1463
audioReaderForType:mimeTypeString
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1464
    "given a MIME type, return an appropriate audio reader class"
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1465
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1466
    TypeToAudioReaderClassMapping isNil ifTrue:[
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1467
        self initializeAudioReaderMappings
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1468
    ].
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1469
    ^ TypeToAudioReaderClassMapping at:mimeTypeString asLowercase ifAbsent:nil
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1470
!
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1471
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1472
audioReaderForType:mimeTypeString put:aReaderClass
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1473
    "register an audio reader for a MIME type"
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1474
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1475
    TypeToAudioReaderClassMapping isNil ifTrue:[
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1476
        self initializeAudioReaderMappings
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1477
    ].
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1478
    TypeToAudioReaderClassMapping
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1479
        at:(MIMEType fromString:mimeTypeString asLowercase)
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1480
        put:aReaderClass
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1481
! !
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1482
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1483
!MIMETypes class methodsFor:'queries-image formats'!
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1484
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1485
imageReaderClasses
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1486
    "return a collection of registered image reader classes"
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1487
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1488
    TypeToImageReaderClassMapping notNil ifTrue:[
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1489
        ^ TypeToImageReaderClassMapping values asSet.
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1490
    ].
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1491
    ^ #().
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1492
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1493
    "Created: / 30-06-1997 / 22:03:42 / cg"
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1494
    "Modified: / 01-08-1998 / 16:59:52 / cg"
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1495
    "Modified: / 09-02-2017 / 15:23:52 / stefan"
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1496
!
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1497
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1498
imageReaderForSuffix:aSuffix
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1499
    "given a file suffix, return an appropriate image reader class"
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1500
2724
8e834e62dbbc Initialize when querying for image type and not yet initialized
Stefan Vogel <sv@exept.de>
parents: 2710
diff changeset
  1501
    FileSuffixToImageReaderClassMapping isNil ifTrue:[
8e834e62dbbc Initialize when querying for image type and not yet initialized
Stefan Vogel <sv@exept.de>
parents: 2710
diff changeset
  1502
        self initializeImageReaderMappings
8e834e62dbbc Initialize when querying for image type and not yet initialized
Stefan Vogel <sv@exept.de>
parents: 2710
diff changeset
  1503
    ].
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1504
    ^ FileSuffixToImageReaderClassMapping at:aSuffix asLowercase ifAbsent:nil
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1505
4080
90b625be9e29 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4074
diff changeset
  1506
    "
90b625be9e29 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4074
diff changeset
  1507
     self imageReaderForSuffix:'wbmp'
90b625be9e29 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4074
diff changeset
  1508
    "
90b625be9e29 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4074
diff changeset
  1509
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1510
    "Created: / 30-06-1997 / 21:59:11 / cg"
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1511
    "Modified: / 01-08-1998 / 17:01:58 / cg"
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1512
    "Modified (comment): / 01-03-2018 / 18:57:59 / mawalch"
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1513
!
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1514
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1515
imageReaderForSuffix:aSuffix put:aReaderClass
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1516
    "register an image reader for a file suffix"
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1517
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1518
    FileSuffixToImageReaderClassMapping isNil ifTrue:[
2724
8e834e62dbbc Initialize when querying for image type and not yet initialized
Stefan Vogel <sv@exept.de>
parents: 2710
diff changeset
  1519
        self initializeImageReaderMappings
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1520
    ].
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1521
    FileSuffixToImageReaderClassMapping at:aSuffix asLowercase put:aReaderClass
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1522
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1523
    "Created: / 30.6.1997 / 21:59:43 / cg"
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1524
    "Modified: / 1.8.1998 / 17:02:14 / cg"
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1525
!
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1526
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1527
imageReaderForType:mimeTypeString
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1528
    "given a MIME type, return an appropriate image reader class"
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1529
2724
8e834e62dbbc Initialize when querying for image type and not yet initialized
Stefan Vogel <sv@exept.de>
parents: 2710
diff changeset
  1530
    TypeToImageReaderClassMapping isNil ifTrue:[
8e834e62dbbc Initialize when querying for image type and not yet initialized
Stefan Vogel <sv@exept.de>
parents: 2710
diff changeset
  1531
        self initializeImageReaderMappings
8e834e62dbbc Initialize when querying for image type and not yet initialized
Stefan Vogel <sv@exept.de>
parents: 2710
diff changeset
  1532
    ].
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1533
    ^ TypeToImageReaderClassMapping at:mimeTypeString asLowercase ifAbsent:nil
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1534
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1535
    "Created: / 30-06-1997 / 21:56:01 / cg"
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1536
    "Modified: / 01-08-1998 / 17:02:28 / cg"
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1537
    "Modified (format): / 01-03-2018 / 18:58:10 / mawalch"
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1538
!
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1539
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1540
imageReaderForType:mimeTypeString put:aReaderClass
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1541
    "register an image reader for a MIME type"
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1542
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1543
    TypeToImageReaderClassMapping isNil ifTrue:[
2724
8e834e62dbbc Initialize when querying for image type and not yet initialized
Stefan Vogel <sv@exept.de>
parents: 2710
diff changeset
  1544
        self initializeImageReaderMappings
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1545
    ].
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1546
    TypeToImageReaderClassMapping
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1547
        at:(MIMEType fromString:mimeTypeString asLowercase)
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1548
        put:aReaderClass
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1549
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1550
    "Created: / 30-06-1997 / 21:56:11 / cg"
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1551
    "Modified: / 01-08-1998 / 17:02:40 / cg"
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1552
    "Modified: / 09-02-2017 / 15:32:58 / stefan"
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1553
    "Modified (comment): / 01-03-2018 / 18:58:27 / mawalch"
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1554
! !
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1555
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1556
!MIMETypes class methodsFor:'queries-language syntax'!
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1557
4087
d9336080778d #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 4080
diff changeset
  1558
commentStringsForFilename:aFilenameOrString
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1559
    "return a useful comment definition; heuristics for now.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1560
     The returned value is an array of 2 elements;
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1561
     the first is the end-of-line comment string (or nil);
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1562
     the second an array of opening/closing delimiters (or an array of nils)"
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1563
4087
d9336080778d #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 4080
diff changeset
  1564
     |filename mime|
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1565
4087
d9336080778d #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 4080
diff changeset
  1566
     filename := aFilenameOrString asFilename.
d9336080778d #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 4080
diff changeset
  1567
     mime := MIMETypes mimeTypeForFilename:filename.
d9336080778d #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 4080
diff changeset
  1568
     ^ self commentStringsForMimeType:mime suffix:(filename suffix)
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1569
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1570
    "
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1571
     MIMETypes commentStringsForFilename:'Makefile'.
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1572
     MIMETypes commentStringsForFilename:'Object.st'.
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1573
     MIMETypes commentStringsForFilename:'Foo.java'.
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1574
     MIMETypes commentStringsForFilename:'Foo.html'.
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1575
    "
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1576
!
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1577
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1578
commentStringsForFilename:aFilename ifUnknown:alternativeBlockReturningCommentString
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1579
    "return a useful comment definition; heuristics for now.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1580
     The returned value is an array of 2 elements;
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1581
     the first is the end-of-line comment string (or nil);
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1582
     the second an array of opening/closing delimiters (or an array of nils)"
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1583
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1584
     |mime|
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1585
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1586
     mime := MIMETypes mimeTypeForFilename:aFilename.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1587
     ^ self commentStringsForMimeType:mime suffix:(aFilename asFilename suffix) ifUnknown:alternativeBlockReturningCommentString
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1588
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1589
    "
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1590
     MIMETypes commentStringsForFilename:'Makefile'.
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1591
     MIMETypes commentStringsForFilename:'Object.st'.
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1592
     MIMETypes commentStringsForFilename:'Foo.java'.
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1593
    "
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1594
!
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1595
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1596
commentStringsForMimeType:mime suffix:suff
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1597
    "return a useful comment definition; heuristics for now.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1598
     The returned value is an array of 2 elements;
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1599
     the first is the end-of-line comment string (or nil);
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1600
     the second an array of opening/closing delimiters (or an array of nils)"
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1601
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1602
    ^ self
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1603
        commentStringsForMimeType:mime suffix:suff
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1604
        ifUnknown: #(';' (nil nil))
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1605
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1606
    "
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1607
     |mime|
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1608
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1609
     mime := MIMETypes mimeTypeForFilename:'Makefile'.
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1610
     MIMETypes commentStringsForMimeType:mime suffix:nil.
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1611
    "
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1612
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1613
    "
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1614
     |mime|
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1615
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1616
     mime := MIMETypes mimeTypeForFilename:'Object.st'.
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1617
     MIMETypes commentStringsForMimeType:mime suffix:nil.
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1618
    "
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1619
!
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1620
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1621
commentStringsForMimeType:mime suffix:suff ifUnknown:alternativeBlockReturningCommentString
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1622
    "return a useful comment definition; heuristics for now.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1623
     The returned value is an array of 2 elements;
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1624
     the first is the end-of-line comment string (or nil);
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1625
     the second an array of opening/closing delimiters (or an array of nils)"
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1626
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1627
    |commentSpec|
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1628
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1629
    commentSpec := TypeToCommentStringMapping at:mime ifAbsent:nil.
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1630
    commentSpec notNil ifTrue:[
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1631
        ^ commentSpec
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1632
    ].
3492
0d8154dbdc2b class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3482
diff changeset
  1633
    suff notNil ifTrue:[
0d8154dbdc2b class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3482
diff changeset
  1634
        commentSpec := SuffixToCommentStringMapping at:suff ifAbsent:nil.
0d8154dbdc2b class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3482
diff changeset
  1635
        commentSpec notNil ifTrue:[
0d8154dbdc2b class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3482
diff changeset
  1636
            ^ commentSpec
0d8154dbdc2b class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3482
diff changeset
  1637
        ].
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1638
    ].
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1639
    ^ alternativeBlockReturningCommentString value
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1640
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1641
    "
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1642
     |mime|
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1643
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1644
     mime := MIMETypes mimeTypeForFilename:'Makefile'.
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1645
     MIMETypes commentStringsForMimeType:mime suffix:nil.
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1646
    "
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1647
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1648
    "
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1649
     |mime|
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1650
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1651
     mime := MIMETypes mimeTypeForFilename:'Object.st'.
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1652
     MIMETypes commentStringsForMimeType:mime suffix:nil.
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1653
    "
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1654
!
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1655
2491
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
  1656
parenthesisSpecForFilename:aFilename
4389
8e185bcef3dd #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 4388
diff changeset
  1657
    "return a useful parenthesis spec; heuristics for now.
8e185bcef3dd #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 4388
diff changeset
  1658
     The returned value is a dictionary to be used as parenthesis spec in an editor"
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1659
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1660
     |mime|
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1661
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1662
     mime := MIMETypes mimeTypeForFilename:aFilename.
2491
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
  1663
     ^ self parenthesisSpecForMimeType:mime suffix:(aFilename asFilename suffix)
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1664
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1665
    "
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1666
     MIMETypes parenthesisSpecForFilename:'Object.st'.
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1667
     MIMETypes parenthesisSpecForFilename:'Foo.java'.
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1668
     MIMETypes parenthesisSpecForFilename:'Foo.html'.
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1669
     MIMETypes parenthesisSpecForFilename:'Foo.lsp'.
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1670
    "
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1671
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1672
    "Created: / 10-04-2007 / 15:18:41 / cg"
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1673
!
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1674
2491
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
  1675
parenthesisSpecForFilename:aFilename ifUnknown:alternative
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1676
     |mime|
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1677
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1678
     mime := MIMETypes mimeTypeForFilename:aFilename.
2491
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
  1679
     ^ self parenthesisSpecForMimeType:mime suffix:(aFilename asFilename suffix) ifUnknown:alternative
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1680
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1681
    "Created: / 10-04-2007 / 15:26:20 / cg"
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1682
!
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1683
2491
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
  1684
parenthesisSpecForMimeType:mime suffix:suff
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1685
    ^ self
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1686
        parenthesisSpecForMimeType:mime suffix:suff
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1687
        ifUnknown:nil
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1688
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1689
    "Created: / 10-04-2007 / 15:19:39 / cg"
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1690
    "Modified (format): / 01-03-2018 / 19:03:58 / mawalch"
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1691
!
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1692
2491
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
  1693
parenthesisSpecForMimeType:mime suffix:suff ifUnknown:alternativeValue
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1694
    |spec|
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1695
2491
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
  1696
    spec := TypeToParenthesisSpecMapping at:mime ifAbsent:nil.
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1697
    spec notNil ifTrue:[
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1698
        ^ spec
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1699
    ].
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1700
2491
831417cc1e5b Change bas spelling: parentesis to good spellinge parenthesis
Stefan Vogel <sv@exept.de>
parents: 2490
diff changeset
  1701
    spec := SuffixToParenthesisSpecMapping at:suff ifAbsent:nil.
2298
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1702
    spec notNil ifTrue:[
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1703
        ^ spec
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1704
    ].
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1705
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1706
    ^ alternativeValue value
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1707
2d09f75ee005 parentesis spec
Claus Gittinger <cg@exept.de>
parents: 2142
diff changeset
  1708
    "Created: / 10-04-2007 / 15:20:38 / cg"
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1709
! !
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1710
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1711
!MIMETypes::MIMEType class methodsFor:'documentation'!
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1712
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1713
documentation
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1714
"
1864
c21ec6c1635e comments
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1715
    like a string, but knows that it represents a mimeType.
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
  1716
    mimetypes are singletons, remembered in the class variable CachedTypes.
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1717
"
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1718
! !
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1719
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1720
!MIMETypes::MIMEType class methodsFor:'instance creation'!
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1721
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1722
fromString:aString
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1723
    |cachedType newType|
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1724
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1725
    aString class == self ifTrue:[^ aString].
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1726
3011
f2af94d78383 delay initialization of cachedTypes
Claus Gittinger <cg@exept.de>
parents: 3008
diff changeset
  1727
    CachedTypes isNil ifTrue:[
3012
af9c31ac2fc1 make it a real dictionary
Claus Gittinger <cg@exept.de>
parents: 3011
diff changeset
  1728
        CachedTypes := Dictionary new:100.
3011
f2af94d78383 delay initialization of cachedTypes
Claus Gittinger <cg@exept.de>
parents: 3008
diff changeset
  1729
    ].
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1730
    cachedType := CachedTypes at:aString ifAbsent:nil.
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1731
    cachedType notNil ifTrue:[^ cachedType].
3011
f2af94d78383 delay initialization of cachedTypes
Claus Gittinger <cg@exept.de>
parents: 3008
diff changeset
  1732
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1733
    newType := aString copy changeClassTo:self.
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1734
    CachedTypes at:aString put:newType.
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1735
    ^ newType
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1736
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1737
    "
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1738
     CachedTypes := nil.
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1739
     self fromString:'text/html'
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1740
    "
3011
f2af94d78383 delay initialization of cachedTypes
Claus Gittinger <cg@exept.de>
parents: 3008
diff changeset
  1741
3012
af9c31ac2fc1 make it a real dictionary
Claus Gittinger <cg@exept.de>
parents: 3011
diff changeset
  1742
    "Modified: / 20-07-2012 / 17:36:31 / cg"
3870
360424eab025 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3862
diff changeset
  1743
    "Modified (comment): / 09-02-2017 / 15:36:06 / stefan"
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1744
! !
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1745
4088
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1746
!MIMETypes::MIMEType methodsFor:'converting'!
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1747
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1748
asMimeType
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1749
    ^ self
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1750
! !
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1751
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1752
!MIMETypes::MIMEType methodsFor:'queries'!
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1753
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
  1754
fileTypeInfo
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1755
    ^ MIMETypes fileInfoForMimeType:self
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
  1756
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
  1757
    "
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1758
     (MIMETypes mimeTypeFromString:'application/x-smalltalk-source') fileTypeInfo
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
  1759
    "
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1760
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1761
    "Modified: / 01-03-2018 / 19:16:49 / mawalch"
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
  1762
!
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
  1763
1693
4055b361abe9 isArchiv -> isArchive
Claus Gittinger <cg@exept.de>
parents: 1691
diff changeset
  1764
isArchive
3260
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1765
    <resource: #obsolete>
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1766
    "return true, if I represent an archive type (such as zip or tar)"
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1767
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1768
    ^ self isArchiveType
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1769
!
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1770
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1771
isArchiveType
1864
c21ec6c1635e comments
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1772
    "return true, if I represent an archive type (such as zip or tar)"
c21ec6c1635e comments
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1773
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1774
    |archivTypes|
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1775
1729
5d1b74b8d264 refactored
Claus Gittinger <cg@exept.de>
parents: 1720
diff changeset
  1776
    archivTypes := MIMETypes applicationCompressorsAndArchiveTypeList.
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1777
    archivTypes pairWiseDo:[: ext : type |
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1778
        self = type ifTrue:[ ^ true].
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1779
    ].
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1780
    ^ false
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1781
!
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1782
4417
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1783
isAudioType
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1784
    "return true, if I represent some audio type"
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1785
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1786
    ^ self startsWith:'audio/'
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1787
!
46c175173ac5 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 4393
diff changeset
  1788
2024
eb5838c72cc7 isBinary added
penk
parents: 2023
diff changeset
  1789
isBinary
3260
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1790
    <resource: #obsolete>
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1791
    "return true, if I represent a binary (non-text) type"
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1792
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1793
    ^ self isBinaryType
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1794
!
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1795
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1796
isBinaryType
2024
eb5838c72cc7 isBinary added
penk
parents: 2023
diff changeset
  1797
    "return true, if I represent a binary (non-text) type"
eb5838c72cc7 isBinary added
penk
parents: 2023
diff changeset
  1798
eb5838c72cc7 isBinary added
penk
parents: 2023
diff changeset
  1799
    ^ self isTextType not
eb5838c72cc7 isBinary added
penk
parents: 2023
diff changeset
  1800
!
eb5838c72cc7 isBinary added
penk
parents: 2023
diff changeset
  1801
4088
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1802
isCHeaderType
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1803
    "return true, if I represent a C header file type"
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1804
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1805
    ^ (self startsWith: 'application/x-c-header')
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1806
!
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1807
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1808
isCPPSourceType
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1809
    "return true, if I represent a C++ sourcecode type"
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1810
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1811
    ^ (self startsWith: 'application/x-cpp-source')
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1812
!
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1813
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1814
isCSourceType
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1815
    "return true, if I represent a C sourcecode type"
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1816
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1817
    ^ (self startsWith: 'application/x-c-source')
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1818
!
bbf9b58f99c8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
  1819
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1820
isHtml
3260
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1821
    <resource: #obsolete>
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1822
    "return true, if I represent the html text type"
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1823
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1824
    ^ self isHtmlType
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1825
!
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1826
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1827
isHtmlType
1864
c21ec6c1635e comments
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1828
    "return true, if I represent the html text type"
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1829
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1830
    ^ (self = 'text/html')
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1831
!
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1832
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1833
isImage
3260
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1834
    <resource: #obsolete>
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1835
    "return true, if I represent an image type (such as gif or jpg)"
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1836
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1837
    ^ self isImageType
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1838
!
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1839
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1840
isImageType
1864
c21ec6c1635e comments
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1841
    "return true, if I represent an image type (such as gif or jpg)"
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1842
1693
4055b361abe9 isArchiv -> isArchive
Claus Gittinger <cg@exept.de>
parents: 1691
diff changeset
  1843
    ^ (self startsWith:'image/')
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1844
!
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1845
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1846
isPdf
3260
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1847
    <resource: #obsolete>
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1848
    "return true, if I represent the pdf type"
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1849
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1850
    ^ self isPdfType
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1851
!
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1852
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1853
isPdfType
1864
c21ec6c1635e comments
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1854
    "return true, if I represent the pdf type"
c21ec6c1635e comments
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1855
1612
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1856
    ^ (self = 'application/pdf')
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1857
!
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1858
4c7893f943a8 *** empty log message ***
penk
parents: 1611
diff changeset
  1859
isSmalltalkSource
3260
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1860
    <resource: #obsolete>
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1861
    "return true, if I represent the smalltalk sourcecode type"
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1862
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1863
    ^ self isSmalltalkSourceType
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1864
!
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1865
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1866
isSmalltalkSourceType
1864
c21ec6c1635e comments
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1867
    "return true, if I represent the smalltalk sourcecode type"
c21ec6c1635e comments
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1868
3359
62084f197409 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
  1869
    ^ (self startsWith: 'application/x-smalltalk-source')
1783
faf721f692ae *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1780
diff changeset
  1870
!
faf721f692ae *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1780
diff changeset
  1871
2024
eb5838c72cc7 isBinary added
penk
parents: 2023
diff changeset
  1872
isTextType
eb5838c72cc7 isBinary added
penk
parents: 2023
diff changeset
  1873
    "return true, if I represent some text type"
eb5838c72cc7 isBinary added
penk
parents: 2023
diff changeset
  1874
eb5838c72cc7 isBinary added
penk
parents: 2023
diff changeset
  1875
    ^ self startsWith:'text/'
eb5838c72cc7 isBinary added
penk
parents: 2023
diff changeset
  1876
!
eb5838c72cc7 isBinary added
penk
parents: 2023
diff changeset
  1877
1783
faf721f692ae *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1780
diff changeset
  1878
isXml
3260
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1879
    <resource: #obsolete>
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1880
    "return true, if I represent the xml text type"
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1881
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1882
    ^ self isXmlType
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1883
!
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1884
cefd4c99843e class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3253
diff changeset
  1885
isXmlType
1864
c21ec6c1635e comments
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1886
    "return true, if I represent the xml text type"
c21ec6c1635e comments
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1887
3941
dd9237d3a727 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 3871
diff changeset
  1888
    ^ self = 'text/xml' or:[self = 'application/xml']
dd9237d3a727 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 3871
diff changeset
  1889
dd9237d3a727 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 3871
diff changeset
  1890
    "Modified (format): / 13-03-2017 / 09:41:52 / stefan"
2490
9bcc1b3fd7e0 MIMEType>>#suffix
Stefan Vogel <sv@exept.de>
parents: 2489
diff changeset
  1891
!
9bcc1b3fd7e0 MIMEType>>#suffix
Stefan Vogel <sv@exept.de>
parents: 2489
diff changeset
  1892
9bcc1b3fd7e0 MIMEType>>#suffix
Stefan Vogel <sv@exept.de>
parents: 2489
diff changeset
  1893
suffix
9bcc1b3fd7e0 MIMEType>>#suffix
Stefan Vogel <sv@exept.de>
parents: 2489
diff changeset
  1894
    ^ MIMETypes suffixForMimeType:self
9bcc1b3fd7e0 MIMEType>>#suffix
Stefan Vogel <sv@exept.de>
parents: 2489
diff changeset
  1895
9bcc1b3fd7e0 MIMEType>>#suffix
Stefan Vogel <sv@exept.de>
parents: 2489
diff changeset
  1896
    "
4074
5ffb711cddcf #BUGFIX by mawalch
mawalch
parents: 4073
diff changeset
  1897
       (MIMETypes mimeTypeFromString:'application/x-expecco-testsuite') suffix
2490
9bcc1b3fd7e0 MIMEType>>#suffix
Stefan Vogel <sv@exept.de>
parents: 2489
diff changeset
  1898
    "
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1899
! !
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1900
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1901
!MIMETypes class methodsFor:'documentation'!
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1902
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1903
version
3482
3d7a30e2aa97 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3476
diff changeset
  1904
    ^ '$Header$'
2758
66e62ceecb67 comment/format in: #defaultCommandForMimeType:
Claus Gittinger <cg@exept.de>
parents: 2724
diff changeset
  1905
!
66e62ceecb67 comment/format in: #defaultCommandForMimeType:
Claus Gittinger <cg@exept.de>
parents: 2724
diff changeset
  1906
66e62ceecb67 comment/format in: #defaultCommandForMimeType:
Claus Gittinger <cg@exept.de>
parents: 2724
diff changeset
  1907
version_CVS
3482
3d7a30e2aa97 class: MIMETypes
Claus Gittinger <cg@exept.de>
parents: 3476
diff changeset
  1908
    ^ '$Header$'
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1909
! !
1666
2fe4fb7be12c added xml type
Claus Gittinger <cg@exept.de>
parents: 1616
diff changeset
  1910
3104
39607bbc7c1d class: MIMETypes
Stefan Vogel <sv@exept.de>
parents: 3039
diff changeset
  1911
643
f3bd12eb1008 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1912
MIMETypes initialize!