author | Claus Gittinger <cg@exept.de> |
Tue, 16 Jan 2018 17:29:03 +0100 | |
changeset 17877 | b1761a097d6e |
parent 16656 | af56b4bc61fb |
child 16664 | ef51c9c52b52 |
child 17913 | a59f66ff7b47 |
permissions | -rw-r--r-- |
10989 | 1 |
" |
2 |
COPYRIGHT (c) 2011 by eXept Software AG |
|
3 |
All Rights Reserved |
|
4 |
||
5 |
This software is furnished under a license and may be used |
|
6 |
only in accordance with the terms of that license and with the |
|
7 |
inclusion of the above copyright notice. This software may not |
|
8 |
be provided or otherwise made available to, or used by, any |
|
9 |
other person. No title to or ownership of the software is |
|
10 |
hereby transferred. |
|
11 |
" |
|
12 |
"{ Package: 'stx:libtool' }" |
|
13 |
||
16015 | 14 |
"{ NameSpace: Smalltalk }" |
15 |
||
10989 | 16 |
AbstractSourceCodeManagementSettingsAppl subclass:#FileBasedSourceCodeManagementSettingsAppl |
11330 | 17 |
instanceVariableNames:'pathPerModule repositoryPathHolder perModulePath |
18 |
perModulePathModule selectedPerModulePath' |
|
16656 | 19 |
classVariableNames:'' |
10989 | 20 |
poolDictionaries:'' |
21 |
category:'System-SourceCodeManagement' |
|
22 |
! |
|
23 |
||
24 |
!FileBasedSourceCodeManagementSettingsAppl class methodsFor:'documentation'! |
|
25 |
||
26 |
copyright |
|
27 |
" |
|
28 |
COPYRIGHT (c) 2011 by eXept Software AG |
|
29 |
All Rights Reserved |
|
30 |
||
31 |
This software is furnished under a license and may be used |
|
32 |
only in accordance with the terms of that license and with the |
|
33 |
inclusion of the above copyright notice. This software may not |
|
34 |
be provided or otherwise made available to, or used by, any |
|
35 |
other person. No title to or ownership of the software is |
|
36 |
hereby transferred. |
|
37 |
" |
|
38 |
! |
|
39 |
||
40 |
documentation |
|
41 |
" |
|
42 |
This settings app controls the parameters of the simple FileBasedSourceCodeManager. |
|
43 |
" |
|
44 |
! ! |
|
45 |
||
46 |
!FileBasedSourceCodeManagementSettingsAppl class methodsFor:'defaults'! |
|
47 |
||
48 |
defaultRepositoryPath |
|
11000 | 49 |
^ FileBasedSourceCodeManager defaultRepositoryPath |
10989 | 50 |
|
51 |
"Created: / 21-12-2011 / 14:55:40 / cg" |
|
52 |
! ! |
|
53 |
||
11030 | 54 |
!FileBasedSourceCodeManagementSettingsAppl class methodsFor:'help specs'! |
55 |
||
56 |
flyByHelpSpec |
|
57 |
"This resource specification was automatically generated |
|
58 |
by the UIHelpTool of ST/X." |
|
59 |
||
60 |
"Do not manually edit this!! If it is corrupted, |
|
61 |
the UIHelpTool may not be able to read the specification." |
|
62 |
||
63 |
" |
|
64 |
UIHelpTool openOnClass:FileBasedSourceCodeManagementSettingsAppl |
|
65 |
" |
|
66 |
||
67 |
<resource: #help> |
|
68 |
||
69 |
^ super flyByHelpSpec addPairsFrom:#( |
|
70 |
||
71 |
#defaultRepositoryPath |
|
72 |
'The default repository directory used for all modules not listed below' |
|
73 |
||
74 |
#perModuleModule |
|
75 |
'The module for which a specific directory is defined' |
|
76 |
||
77 |
#perModuleRepositoryPath |
|
78 |
'The repository directory of this module' |
|
79 |
||
80 |
#repositoryPathPerModule |
|
11731 | 81 |
'Module specific repository directories' |
11030 | 82 |
|
83 |
) |
|
84 |
||
85 |
"Created: / 25-12-2011 / 14:00:06 / cg" |
|
86 |
! ! |
|
87 |
||
10989 | 88 |
!FileBasedSourceCodeManagementSettingsAppl class methodsFor:'image specs'! |
89 |
||
90 |
defaultIcon |
|
14337
67da8a022ca9
Mark program icons with resource
Stefan Vogel <sv@exept.de>
parents:
14315
diff
changeset
|
91 |
<resource: #programImage> |
67da8a022ca9
Mark program icons with resource
Stefan Vogel <sv@exept.de>
parents:
14315
diff
changeset
|
92 |
|
11011 | 93 |
^ self defaultIcon2 |
10989 | 94 |
|
95 |
"Created: / 21-12-2011 / 14:51:12 / cg" |
|
96 |
! |
|
97 |
||
98 |
defaultIcon1 |
|
14391
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
99 |
<resource: #image> |
10989 | 100 |
"This resource specification was automatically generated |
101 |
by the ImageEditor of ST/X." |
|
102 |
"Do not manually edit this!! If it is corrupted, |
|
103 |
the ImageEditor may not be able to read the specification." |
|
104 |
" |
|
105 |
self defaultIcon1 inspect |
|
106 |
ImageEditor openOnClass:self andSelector:#defaultIcon1 |
|
14391
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
107 |
Icon flushCachedIcons" |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
108 |
|
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
109 |
^ Icon |
10989 | 110 |
constantNamed:'FileBasedSourceCodeManagementSettingsAppl class defaultIcon1' |
14391
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
111 |
ifAbsentPut:[ |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
112 |
(Depth8Image new) |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
113 |
width:22; |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
114 |
height:22; |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
115 |
photometric:(#palette); |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
116 |
bitsPerSample:(#[ 8 ]); |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
117 |
samplesPerPixel:(1); |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
118 |
bits:(ByteArray |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
119 |
fromPackedString:' |
10989 | 120 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B_''92\@@@@@@@@@@@@@@@@@@@@@@B\''9>_''90@@@@@@@@@@@@@@@@@ |
121 |
@@B[''9<@@@@@''@@@@@@@@@@@@@@@@@@@''I6\@@@@@@@@@@@@@@@@@@@@@@B\''I>^'':@@@JD@@@@@@@@@@@@@@@@GA)2^''900LJF!!(S@0LC@0LH1="0@@A2 ( |
|
122 |
''JT(X:F$)JN!![&9.[&:K#'',@@E((X3M.[*F!!(*F!!(R6U%IBYM&5 @@@!!L:D3N3-KKZF!!EBBS$YZRA ROJ @@HQQK(ZF!!(ZF!!&''Y6D9^WG9]/B9 @@BE3XVF" |
|
123 |
(ZF!!&&M#IBP(JC<_YR*X@@AFZ4)QK&8<N3, HB@3L68JO1\*@@@@QUD%W4\ \2@ RD +EAHR]Q(,@@@@@GDUL''P U3EHLT!!UUQPRD''TZK@@@@@@MNQ$[W"M* |
|
124 |
\@T^APUS^T5$M@@@@@@@CWYP^U%YVQ0\Y34XOTP7U @@@@@@@@L>WT1LI$0&X$9&VAXQ[@@@@@@@@@A\P$QRPF!!2BG]AJT$@@@@@@@@@@@@@RTM)GS(BD@@@ |
|
14391
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
125 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
126 |
colorMapFromArray:#[ 223 191 95 128 127 112 160 144 128 175 143 112 224 223 207 255 224 127 207 192 160 207 175 112 144 112 48 224 192 128 240 224 191 192 176 144 239 224 223 175 143 111 239 224 176 223 192 111 191 175 160 159 112 64 255 240 176 240 240 208 255 239 176 240 208 127 160 127 63 176 159 112 255 224 96 207 160 64 224 208 175 239 208 144 240 223 95 128 96 64 240 224 127 255 240 224 255 239 175 192 160 111 255 255 224 255 223 112 255 240 223 255 223 143 255 208 64 208 192 191 255 255 223 160 143 127 160 144 111 240 240 175 160 159 112 240 239 176 208 176 111 239 223 159 207 176 127 255 224 144 239 208 112 255 240 192 175 159 128 240 239 175 192 176 159 224 207 111 207 191 128 239 208 111 144 112 96 255 240 191 255 239 192 240 224 95 192 144 48 240 239 208 224 192 64 144 112 95 160 127 47 127 80 47 255 224 111 176 144 96 176 159 96 240 223 176 240 239 144 176 175 159 240 224 144 255 239 191 240 208 64 255 239 128 239 208 79 223 208 208 191 144 64 240 223 143 240 208 63 255 239 127 240 240 192 255 239 159 144 112 79 240 224 143 191 159 63 240 223 80 207 176 112 240 240 191 175 143 127 224 192 112 240 223 112 208 176 80 176 159 127 255 224 160 240 223 79 255 240 208 207 191 112 239 239 207 208 176 79 255 223 95 192 160 63 128 111 48 255 223 127 255 224 159 159 127 95 176 160 112 255 240 207 255 255 240 240 224 112 176 143 96 160 143 48 240 239 160 207 160 80 239 223 175 239 192 96 143 111 64 160 143 95 255 224 128 255 248 200 255 248 24 15 56 160 255 248 88 239 232 240 240 240 240 255 248 152 48 80 176 255 248 96 48 88 176 240 240 248 207 216 240 223 216 224 255 248 48 224 224 232 255 248 176 255 248 248 240 144 24 255 248 136 63 96 184 240 208 24 239 239 224 176 159 111 240 207 96 207 160 127 240 207 111 191 191 160 223 208 175 240 208 111 255 255 239 192 176 175 208 207 176 0 0 0 0 64 0 32 96 32 96 192 128 32 128 64 32 160 64 32 128 32 64 64 64 96 96 96 128 128 128 32 32 32 32 64 32 ]; |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
127 |
mask:((ImageMask new) |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
128 |
width:22; |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
129 |
height:22; |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
130 |
bits:(ByteArray |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
131 |
fromPackedString:'@@@@@@@@@<@@A>@@C!!@@C @@O2@@_??@_??@_??8_??8_??8_??0_?? _?? _?? _??@_?>@_?<@_? @_0@@@@@@'); |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
132 |
yourself); |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
133 |
yourself |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
134 |
] |
10989 | 135 |
! |
136 |
||
137 |
defaultIcon2 |
|
14391
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
138 |
<resource: #image> |
10989 | 139 |
"This resource specification was automatically generated |
140 |
by the ImageEditor of ST/X." |
|
141 |
"Do not manually edit this!! If it is corrupted, |
|
142 |
the ImageEditor may not be able to read the specification." |
|
143 |
" |
|
144 |
self defaultIcon2 inspect |
|
145 |
ImageEditor openOnClass:self andSelector:#defaultIcon2 |
|
14391
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
146 |
Icon flushCachedIcons" |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
147 |
|
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
148 |
^ Icon |
10989 | 149 |
constantNamed:'FileBasedSourceCodeManagementSettingsAppl class defaultIcon2' |
14391
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
150 |
ifAbsentPut:[ |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
151 |
(Depth8Image new) |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
152 |
width:22; |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
153 |
height:22; |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
154 |
photometric:(#palette); |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
155 |
bitsPerSample:(#[ 8 ]); |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
156 |
samplesPerPixel:(1); |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
157 |
bits:(ByteArray |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
158 |
fromPackedString:' |
10989 | 159 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
160 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8B0,0L@\@@@@@@@@@@@@@@@@@@@@GA!!L$H" 0LC@0LC@0LC@0LH1="0@@A2 ( |
|
161 |
JB (X6M.[&9.[&9.[&:K#'',@@E((X3M.[#L3N3-[V26U%IBYM&5 @@@!!L5,3N3-KKQP5EBBS$YZRA ROJ @@HQQKKY>_''I0G]''Y6D9^WG9]/B9 @@BE3XY2_ |
|
162 |
''9>_''FM#IBP(JC<_YR*X@@AFZ9._''68<N3.\HB@3L68JO1\*@@@@QUF\''Y0 \2@ RD +EAHR]Q(,@@@@@I2\''9:_(CEH(T!!UUQPRD''TZK@@@@@@M''I:_''BM* |
|
163 |
(ZF!!APUS^T5$M@@@@@@@CWZ\)U%Y(ZR$(:DXOTP7U @@@@@@@@L>WT1L(ZF"(ZF!!VAXQ[@@@@@@@@@A\(TQRPF!!2(ZEAJT$@@@@@@@@@@@@@RTN!!(ZF!!(ZFZ |
|
14391
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
164 |
@@@@@@@@@@@@@@@@@@@@@JJ!!(ZFZ@@@@@@@@@@@@@@@@@@@a'); |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
165 |
colorMapFromArray:#[ 223 191 95 128 127 112 160 144 128 175 143 112 224 223 207 255 224 127 207 192 160 207 175 112 144 112 48 224 192 128 240 224 191 192 176 144 239 224 223 175 143 111 239 224 176 223 192 111 191 175 160 159 112 64 255 240 176 240 240 208 255 239 176 240 208 127 160 127 63 176 159 112 255 224 96 207 160 64 224 208 175 239 208 144 240 223 95 128 96 64 240 224 127 255 240 224 255 239 175 192 160 111 255 255 224 255 223 112 255 240 223 255 223 143 255 208 64 208 192 191 255 255 223 160 143 127 160 144 111 240 240 175 160 159 112 240 239 176 208 176 111 239 223 159 207 176 127 255 224 144 239 208 112 255 240 192 175 159 128 240 239 175 192 176 159 224 207 111 207 191 128 239 208 111 144 112 96 255 240 191 255 239 192 240 224 95 192 144 48 240 239 208 224 192 64 144 112 95 160 127 47 127 80 47 255 224 111 176 144 96 176 159 96 240 223 176 240 239 144 176 175 159 240 224 144 255 239 191 240 208 64 255 239 128 239 208 79 223 208 208 191 144 64 240 223 143 240 208 63 255 239 127 240 240 192 255 239 159 144 112 79 240 224 143 191 159 63 240 223 80 207 176 112 240 240 191 175 143 127 224 192 112 240 223 112 208 176 80 176 159 127 255 224 160 240 223 79 255 240 208 207 191 112 239 239 207 208 176 79 255 223 95 192 160 63 128 111 48 255 223 127 255 224 159 159 127 95 176 160 112 255 240 207 255 255 240 240 224 112 176 143 96 160 143 48 240 239 160 207 160 80 239 223 175 239 192 96 143 111 64 160 143 95 255 224 128 255 248 200 255 248 24 15 56 160 255 248 88 239 232 240 240 240 240 255 248 152 48 80 176 255 248 96 48 88 176 240 240 248 207 216 240 223 216 224 255 248 48 224 224 232 255 248 176 255 248 248 240 144 24 255 248 136 63 96 184 240 208 24 239 239 224 176 159 111 240 207 96 207 160 127 240 207 111 191 191 160 223 208 175 240 208 111 255 255 239 192 176 175 208 207 176 0 0 0 0 64 0 32 96 32 96 192 128 32 128 64 32 160 64 32 128 32 64 64 64 96 96 96 128 128 128 32 32 32 32 64 32 ]; |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
166 |
mask:((ImageMask new) |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
167 |
width:22; |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
168 |
height:22; |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
169 |
bits:(ByteArray |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
170 |
fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@O0@@_??@_??@_??8_??8_??8_??0_?? _?? _?? _??@_?>@_?<@_? @_<@@C8@@'); |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
171 |
yourself); |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
172 |
yourself |
c427f923299e
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14337
diff
changeset
|
173 |
] |
10989 | 174 |
! ! |
175 |
||
176 |
!FileBasedSourceCodeManagementSettingsAppl class methodsFor:'interface specs'! |
|
177 |
||
178 |
windowSpec |
|
179 |
"This resource specification was automatically generated |
|
180 |
by the UIPainter of ST/X." |
|
181 |
||
182 |
"Do not manually edit this!! If it is corrupted, |
|
183 |
the UIPainter may not be able to read the specification." |
|
184 |
||
185 |
" |
|
186 |
UIPainter new openOnClass:FileBasedSourceCodeManagementSettingsAppl andSelector:#windowSpec |
|
187 |
FileBasedSourceCodeManagementSettingsAppl new openInterface:#windowSpec |
|
188 |
FileBasedSourceCodeManagementSettingsAppl open |
|
189 |
" |
|
190 |
||
191 |
<resource: #canvas> |
|
192 |
||
193 |
^ |
|
14256
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
194 |
#(FullSpec |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
195 |
name: windowSpec |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
196 |
window: |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
197 |
(WindowSpec |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
198 |
label: 'FileBased SCM Settings' |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
199 |
name: 'FileBased SCM Settings' |
14315 | 200 |
flags: 1 |
14256
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
201 |
min: (Point 10 10) |
14315 | 202 |
bounds: (Rectangle 0 0 694 545) |
14256
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
203 |
) |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
204 |
component: |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
205 |
(SpecCollection |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
206 |
collection: ( |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
207 |
(VerticalPanelViewSpec |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
208 |
name: 'VerticalPanel2' |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
209 |
layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
210 |
horizontalLayout: fit |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
211 |
verticalLayout: topSpace |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
212 |
horizontalSpace: 3 |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
213 |
verticalSpace: 20 |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
214 |
component: |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
215 |
(SpecCollection |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
216 |
collection: ( |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
217 |
(LabelSpec |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
218 |
label: 'Demo Only' |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
219 |
name: 'Label10' |
16153 | 220 |
style: (FontDescription #'Segoe UI' medium roman 16 #'ms-default' nil nil) |
221 |
foregroundColor: (Color 87.0 0.0 0.0) |
|
14256
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
222 |
translateLabel: true |
14315 | 223 |
extent: (Point 694 37) |
14256
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
224 |
) |
14315 | 225 |
(FramedBoxSpec |
226 |
label: 'File Based Source Repository Manager Settings' |
|
227 |
name: 'FileRepositorySetupBox' |
|
228 |
labelPosition: topLeft |
|
229 |
translateLabel: true |
|
14256
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
230 |
component: |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
231 |
(SpecCollection |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
232 |
collection: ( |
14315 | 233 |
(CheckBoxSpec |
234 |
label: 'Show in Browser Menus' |
|
235 |
name: 'CheckBox1' |
|
236 |
layout: (LayoutFrame 0 0 5 0 0 1 35 0) |
|
237 |
activeHelpKey: shownInBrowserMenus |
|
238 |
model: shownInBrowserMenusHolder |
|
239 |
translateLabel: true |
|
240 |
) |
|
14256
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
241 |
(ViewSpec |
14315 | 242 |
name: 'Box1' |
243 |
layout: (LayoutFrame 0 0 38 0 0 1 68 0) |
|
14256
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
244 |
component: |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
245 |
(SpecCollection |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
246 |
collection: ( |
14315 | 247 |
(LabelSpec |
248 |
label: 'Repository Path:' |
|
249 |
name: 'Label1' |
|
250 |
layout: (LayoutFrame 0 0.0 0 0 60 0.25 30 0) |
|
251 |
activeHelpKey: defaultRepositoryPath |
|
252 |
level: 0 |
|
14256
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
253 |
translateLabel: true |
14315 | 254 |
adjust: right |
255 |
) |
|
256 |
(InputFieldSpec |
|
257 |
name: 'RepositoryPathField' |
|
258 |
layout: (LayoutFrame 64 0.25 0 0 0 1 30 0) |
|
259 |
activeHelpKey: defaultRepositoryPath |
|
260 |
tabable: true |
|
261 |
model: repositoryPathHolder |
|
262 |
acceptChannel: acceptChannel |
|
263 |
acceptOnPointerLeave: true |
|
10989 | 264 |
) |
14256
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
265 |
) |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
266 |
|
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
267 |
) |
14315 | 268 |
) |
269 |
(LabelSpec |
|
270 |
label: 'Path per Module:' |
|
271 |
name: 'knownModulesLabel' |
|
272 |
layout: (LayoutFrame 0 0.0 82 0 60 0.25 112 0) |
|
273 |
activeHelpKey: repositoryPathPerModule |
|
274 |
translateLabel: true |
|
275 |
adjust: right |
|
276 |
) |
|
277 |
(SequenceViewSpec |
|
278 |
name: 'List1' |
|
279 |
layout: (LayoutFrame 64 0.25 82 0 0 1 201 0) |
|
280 |
activeHelpKey: repositoryPathPerModule |
|
281 |
tabable: true |
|
282 |
model: selectedPerModulePath |
|
283 |
hasHorizontalScrollBar: true |
|
284 |
hasVerticalScrollBar: true |
|
285 |
miniScrollerHorizontal: true |
|
286 |
useIndex: false |
|
287 |
sequenceList: listOfModules |
|
288 |
) |
|
289 |
(LabelSpec |
|
290 |
label: 'Module:' |
|
291 |
name: 'moduleLabel' |
|
292 |
layout: (LayoutFrame 0 0.0 207 0 60 0.25 237 0) |
|
293 |
activeHelpKey: perModuleModule |
|
294 |
translateLabel: true |
|
295 |
adjust: right |
|
296 |
) |
|
297 |
(ComboBoxSpec |
|
298 |
name: 'ComboBox1' |
|
299 |
layout: (LayoutFrame 64 0.25 207 0 0 1 237 0) |
|
300 |
activeHelpKey: perModuleModule |
|
301 |
tabable: true |
|
302 |
model: perModulePathModule |
|
303 |
acceptChannel: acceptChannel |
|
304 |
acceptOnPointerLeave: true |
|
305 |
comboList: sampleModuleList |
|
306 |
) |
|
307 |
(LabelSpec |
|
308 |
label: 'Path:' |
|
309 |
name: 'cvsRootLabel' |
|
310 |
layout: (LayoutFrame 0 0.0 240 0 60 0.25 270 0) |
|
311 |
activeHelpKey: perModuleRepositoryPath |
|
312 |
translateLabel: true |
|
313 |
adjust: right |
|
314 |
) |
|
315 |
(ComboBoxSpec |
|
316 |
name: 'perModulePathComboBox' |
|
317 |
layout: (LayoutFrame 64 0.25 240 0 0 1.0 270 0) |
|
318 |
activeHelpKey: perModuleRepositoryPath |
|
319 |
tabable: true |
|
320 |
model: perModulePath |
|
321 |
immediateAccept: true |
|
322 |
acceptOnLeave: true |
|
323 |
acceptOnReturn: true |
|
324 |
acceptOnTab: true |
|
325 |
acceptOnLostFocus: true |
|
326 |
acceptChannel: acceptChannel |
|
327 |
acceptOnPointerLeave: true |
|
328 |
comboList: pathPrototypeList |
|
329 |
) |
|
330 |
(HorizontalPanelViewSpec |
|
331 |
name: 'HorizontalPanel2' |
|
332 |
layout: (LayoutFrame 64 0.25 274 0 -1 1 304 0) |
|
333 |
horizontalLayout: fitSpace |
|
334 |
verticalLayout: center |
|
335 |
horizontalSpace: 3 |
|
336 |
verticalSpace: 3 |
|
337 |
component: |
|
338 |
(SpecCollection |
|
339 |
collection: ( |
|
340 |
(ActionButtonSpec |
|
341 |
label: 'Add/Apply' |
|
342 |
name: 'addButton' |
|
343 |
translateLabel: true |
|
344 |
tabable: true |
|
345 |
model: addPerModulePath |
|
16153 | 346 |
extent: (Point 135 30) |
14315 | 347 |
) |
348 |
(ActionButtonSpec |
|
349 |
label: 'Remove' |
|
350 |
name: 'removeButton' |
|
351 |
translateLabel: true |
|
352 |
tabable: true |
|
353 |
model: removePerModulePath |
|
354 |
enableChannel: removeEnabled |
|
16153 | 355 |
extent: (Point 135 30) |
14315 | 356 |
) |
357 |
(ViewSpec |
|
358 |
name: 'Box11' |
|
16153 | 359 |
extent: (Point 137 10) |
14315 | 360 |
) |
361 |
) |
|
362 |
||
363 |
) |
|
10989 | 364 |
) |
14256
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
365 |
) |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
366 |
|
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
367 |
) |
16153 | 368 |
extent: (Point 694 342) |
10989 | 369 |
) |
14256
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
370 |
) |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
371 |
|
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
372 |
) |
10989 | 373 |
) |
14256
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
374 |
) |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
375 |
|
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
376 |
) |
99c9828ff9c5
class: FileBasedSourceCodeManagementSettingsAppl
Claus Gittinger <cg@exept.de>
parents:
14248
diff
changeset
|
377 |
) |
10989 | 378 |
! ! |
379 |
||
380 |
!FileBasedSourceCodeManagementSettingsAppl class methodsFor:'queries'! |
|
381 |
||
382 |
managerClass |
|
383 |
"backlink to my manager class (needed by the settings app)" |
|
384 |
||
385 |
^ FileBasedSourceCodeManager |
|
386 |
||
387 |
"Created: / 19-04-2011 / 12:46:52 / cg" |
|
388 |
! ! |
|
389 |
||
390 |
!FileBasedSourceCodeManagementSettingsAppl methodsFor:'actions'! |
|
391 |
||
392 |
addModule:module withData:data |
|
393 |
(self listOfModules includes:module) ifFalse:[ |
|
394 |
self listOfModules add:module; sort. |
|
395 |
]. |
|
396 |
pathPerModule at:module put:data. |
|
397 |
||
398 |
self updateModifiedChannel. |
|
399 |
||
400 |
"Created: / 08-11-2006 / 19:25:21 / cg" |
|
401 |
! |
|
402 |
||
403 |
addPerModulePath |
|
404 |
|module path| |
|
405 |
||
406 |
acceptChannel value:true. |
|
407 |
||
408 |
module := self perModulePathModule value. |
|
409 |
path := self perModulePath value. |
|
410 |
||
411 |
path size > 0 ifTrue:[ |
|
412 |
self validateDirectoryExistsAndIsWritable:path. |
|
413 |
self addModule:module withData:(Array with:FileBasedSourceCodeManager with:path). |
|
414 |
]. |
|
415 |
||
416 |
"Created: / 21-12-2011 / 14:23:10 / cg" |
|
417 |
! |
|
418 |
||
419 |
basicReadSettings |
|
420 |
|infoPerModule| |
|
421 |
||
422 |
self initialize. |
|
423 |
||
424 |
infoPerModule := FileBasedSourceCodeManager repositoryInfoPerModule. |
|
425 |
infoPerModule keysAndValuesDo:[:module :info | |
|
426 |
pathPerModule at:module put:(Array with:FileBasedSourceCodeManager with:info). |
|
427 |
]. |
|
428 |
||
11000 | 429 |
self repositoryPathHolder value:FileBasedSourceCodeManager repositoryPath ? FileBasedSourceCodeManager defaultRepositoryPath. |
10989 | 430 |
|
431 |
pathPerModule notNil ifTrue:[ |
|
432 |
self listOfModules removeAll. |
|
433 |
listOfModules addAll:pathPerModule keys asList. |
|
434 |
]. |
|
435 |
||
11067
aa11bad9a498
preps for \"showInBrowserMenus\"
Claus Gittinger <cg@exept.de>
parents:
11065
diff
changeset
|
436 |
self shownInBrowserMenusHolder value:FileBasedSourceCodeManager shownInBrowserMenus. |
aa11bad9a498
preps for \"showInBrowserMenus\"
Claus Gittinger <cg@exept.de>
parents:
11065
diff
changeset
|
437 |
|
aa11bad9a498
preps for \"showInBrowserMenus\"
Claus Gittinger <cg@exept.de>
parents:
11065
diff
changeset
|
438 |
"Modified: / 10-01-2012 / 00:20:51 / cg" |
10989 | 439 |
! |
440 |
||
441 |
basicSaveSettings |
|
442 |
|infoPerModule modules| |
|
443 |
||
444 |
modules := pathPerModule select:[:entry | entry first == FileBasedSourceCodeManager]. |
|
445 |
infoPerModule := Dictionary new. |
|
446 |
modules keysAndValuesDo:[:module :entry | |
|
447 |
entry first == FileBasedSourceCodeManager ifTrue:[ |
|
448 |
infoPerModule at:module put:(entry second). |
|
449 |
]. |
|
450 |
]. |
|
11000 | 451 |
|
10989 | 452 |
FileBasedSourceCodeManager repositoryInfoPerModule:infoPerModule. |
11000 | 453 |
FileBasedSourceCodeManager repositoryPath:(self repositoryPathHolder value). |
11067
aa11bad9a498
preps for \"showInBrowserMenus\"
Claus Gittinger <cg@exept.de>
parents:
11065
diff
changeset
|
454 |
FileBasedSourceCodeManager shownInBrowserMenus:self shownInBrowserMenusHolder value. |
10989 | 455 |
|
456 |
self acceptChannel value. |
|
457 |
||
11067
aa11bad9a498
preps for \"showInBrowserMenus\"
Claus Gittinger <cg@exept.de>
parents:
11065
diff
changeset
|
458 |
"Modified: / 10-01-2012 / 00:21:49 / cg" |
10989 | 459 |
! |
460 |
||
461 |
removePerModulePath |
|
462 |
|module| |
|
463 |
||
464 |
acceptChannel value:true. |
|
465 |
||
466 |
module := self perModulePathModule value. |
|
467 |
self listOfModules remove:module ifAbsent:nil. |
|
468 |
pathPerModule removeKey:module ifAbsent:nil. |
|
469 |
self perModulePathModule value:nil. |
|
470 |
self perModulePath value:nil. |
|
471 |
self updateModifiedChannel. |
|
472 |
||
473 |
"Created: / 21-12-2011 / 14:26:08 / cg" |
|
474 |
! ! |
|
475 |
||
476 |
!FileBasedSourceCodeManagementSettingsAppl methodsFor:'aspects'! |
|
477 |
||
11330 | 478 |
initialListOfModules |
479 |
^ pathPerModule keys asList sort |
|
10989 | 480 |
|
11330 | 481 |
"Created: / 02-03-2012 / 14:40:32 / cg" |
10989 | 482 |
! |
483 |
||
484 |
pathPrototypeList |
|
485 |
^ #( |
|
11000 | 486 |
'./repository' |
10989 | 487 |
) |
488 |
||
489 |
"Created: / 21-12-2011 / 13:13:05 / cg" |
|
490 |
! |
|
491 |
||
492 |
perModulePath |
|
493 |
perModulePath isNil ifTrue:[ |
|
494 |
perModulePath := ValueHolder new. |
|
495 |
perModulePath addDependent:self. |
|
496 |
]. |
|
497 |
^ perModulePath. |
|
498 |
||
499 |
"Created: / 21-12-2011 / 14:19:03 / cg" |
|
500 |
! |
|
501 |
||
502 |
perModulePathModule |
|
503 |
perModulePathModule isNil ifTrue:[ |
|
504 |
perModulePathModule := ValueHolder new. |
|
505 |
]. |
|
506 |
^ perModulePathModule. |
|
507 |
||
508 |
"Created: / 21-12-2011 / 14:31:09 / cg" |
|
509 |
! |
|
510 |
||
511 |
repositoryPathHolder |
|
512 |
repositoryPathHolder isNil ifTrue:[ |
|
11000 | 513 |
repositoryPathHolder := FileBasedSourceCodeManager defaultRepositoryPath asValue. |
10989 | 514 |
repositoryPathHolder addDependent:self. |
515 |
]. |
|
516 |
^ repositoryPathHolder. |
|
517 |
||
518 |
"Created: / 21-12-2011 / 13:11:58 / cg" |
|
519 |
! |
|
520 |
||
521 |
selectedPerModulePath |
|
522 |
selectedPerModulePath isNil ifTrue:[ |
|
523 |
selectedPerModulePath := ValueHolder new. |
|
524 |
selectedPerModulePath addDependent:self. |
|
525 |
]. |
|
526 |
^ selectedPerModulePath. |
|
527 |
||
528 |
"Created: / 21-12-2011 / 14:35:37 / cg" |
|
529 |
! ! |
|
530 |
||
531 |
!FileBasedSourceCodeManagementSettingsAppl methodsFor:'change & update'! |
|
532 |
||
533 |
selectedPerModulePathChanged |
|
534 |
|module entry| |
|
535 |
||
536 |
self acceptChannel value:true. |
|
537 |
||
538 |
module := self selectedPerModulePath value. |
|
539 |
module isNil ifTrue:[ |
|
540 |
self removeEnabled value:false. |
|
541 |
self perModulePathModule value:' '. |
|
542 |
self perModulePath value:''. |
|
543 |
^ self |
|
544 |
]. |
|
545 |
||
546 |
entry := pathPerModule at:module ifAbsent:#(). |
|
547 |
(entry first = FileBasedSourceCodeManager) ifTrue:[ |
|
548 |
self removeEnabled value:true. |
|
549 |
self perModulePathModule value:module. |
|
550 |
self perModulePath value:(entry at:2). |
|
551 |
] ifFalse:[ |
|
552 |
self removeEnabled value:false. |
|
553 |
self perModulePathModule value:module , ' ',('<<use ',entry first managerTypeName,'>>') allBold. |
|
554 |
self perModulePath value:''. |
|
555 |
]. |
|
556 |
||
557 |
"Created: / 21-12-2011 / 14:35:04 / cg" |
|
558 |
! |
|
559 |
||
560 |
update:something with:aParameter from:changedObject |
|
561 |
changedObject == selectedPerModulePath ifTrue:[ |
|
562 |
self selectedPerModulePathChanged. |
|
563 |
^ self |
|
564 |
]. |
|
11000 | 565 |
changedObject == repositoryPathHolder ifTrue:[ |
566 |
self updateModifiedChannel. |
|
567 |
^ self |
|
568 |
]. |
|
10989 | 569 |
|
570 |
super update:something with:aParameter from:changedObject |
|
571 |
||
11000 | 572 |
"Modified: / 22-12-2011 / 00:27:48 / cg" |
10989 | 573 |
! |
574 |
||
575 |
validateDirectoryExistsAndIsWritable:aDirectory |
|
576 |
|nm fn| |
|
577 |
||
578 |
fn := aDirectory asFilename. |
|
579 |
nm := fn baseName. |
|
580 |
||
581 |
fn exists ifFalse:[ |
|
582 |
(self confirm:(resources |
|
583 |
stringWithCRs:'Directory "%1" does not exist.\Create ?' |
|
584 |
with:nm) |
|
585 |
) ifFalse:[ |
|
586 |
^ false. |
|
587 |
]. |
|
588 |
fn |
|
589 |
recursiveMakeDirectory; |
|
590 |
makeReadableForAll; |
|
591 |
makeWritableForAll; |
|
592 |
makeExecutableForAll. |
|
593 |
^ true. |
|
594 |
]. |
|
595 |
||
596 |
(fn isDirectory) ifFalse:[ |
|
597 |
self warn:(resources |
|
598 |
stringWithCRs:'Not a directory: "%1"' |
|
599 |
with:nm). |
|
600 |
^ false. |
|
601 |
]. |
|
602 |
||
13238 | 603 |
(fn isWritableDirectory and:[fn isReadable]) ifFalse:[ |
10989 | 604 |
(self confirm:(resources |
605 |
stringWithCRs:'Directory "%1" is not both readable and writable.\Change ?' |
|
606 |
with:nm) |
|
607 |
) ifFalse:[ |
|
608 |
^ false. |
|
609 |
]. |
|
610 |
fn |
|
611 |
makeReadableForAll; |
|
612 |
makeWritableForAll; |
|
613 |
makeExecutableForAll. |
|
13238 | 614 |
(fn isWritableDirectory and:[fn isReadable]) ifFalse:[ |
10989 | 615 |
self warn:(resources |
616 |
stringWithCRs:'Directory "%1" cannot be made both readable and writable.' |
|
617 |
with:nm). |
|
618 |
^ false. |
|
619 |
]. |
|
620 |
]. |
|
621 |
||
622 |
^ true |
|
623 |
||
624 |
"Created: / 21-12-2011 / 14:43:11 / cg" |
|
625 |
! ! |
|
626 |
||
627 |
!FileBasedSourceCodeManagementSettingsAppl methodsFor:'help'! |
|
628 |
||
14248 | 629 |
editorHelpRelativeWikiURL |
630 |
"the relative URL of the dialog-description in the Wiki" |
|
631 |
||
632 |
^ 'Settings_FileBasedSourceCodeManagerSettings' |
|
633 |
! |
|
634 |
||
10989 | 635 |
helpFilename |
636 |
^ 'Launcher/fileBasedRepositorySetup.html' |
|
637 |
||
638 |
"Modified: / 21-12-2011 / 14:36:53 / cg" |
|
639 |
! ! |
|
640 |
||
641 |
!FileBasedSourceCodeManagementSettingsAppl methodsFor:'initialization & release'! |
|
642 |
||
643 |
initialize |
|
644 |
(AbstractSourceCodeManager notNil) ifTrue:[ AbstractSourceCodeManager autoload ]. |
|
645 |
||
646 |
pathPerModule := Dictionary new. |
|
647 |
||
648 |
FileBasedSourceCodeManager repositoryInfoPerModule |
|
649 |
keysAndValuesDo:[:module :info | |
|
650 |
module withoutSeparators ~= module ifTrue:[ |
|
651 |
self halt:'should not happen any longer' |
|
652 |
]. |
|
653 |
pathPerModule at:module put:(Array with:FileBasedSourceCodeManager with:info) |
|
654 |
]. |
|
655 |
||
656 |
super initialize. |
|
657 |
||
11000 | 658 |
"Modified: / 21-12-2011 / 23:50:23 / cg" |
10989 | 659 |
! ! |
660 |
||
661 |
!FileBasedSourceCodeManagementSettingsAppl methodsFor:'queries'! |
|
662 |
||
663 |
hasUnsavedChanges |
|
664 |
|modules| |
|
665 |
||
11000 | 666 |
(FileBasedSourceCodeManager repositoryPath ? FileBasedSourceCodeManager defaultRepositoryPath) ~= self repositoryPathHolder value |
667 |
ifTrue:[^ true]. |
|
11073
454df119de86
preps for \"showInBrowserMenus\"
Claus Gittinger <cg@exept.de>
parents:
11067
diff
changeset
|
668 |
(FileBasedSourceCodeManager shownInBrowserMenus ~= self shownInBrowserMenusHolder value) |
454df119de86
preps for \"showInBrowserMenus\"
Claus Gittinger <cg@exept.de>
parents:
11067
diff
changeset
|
669 |
ifTrue:[^ true]. |
11000 | 670 |
|
10989 | 671 |
modules := pathPerModule select:[:entry | entry first == FileBasedSourceCodeManager]. |
672 |
||
673 |
FileBasedSourceCodeManager repositoryInfoPerModule keysAndValuesDo:[:module :info | |
|
674 |
((modules includesKey:module) and:[info = (modules at:module) second]) |
|
675 |
ifFalse:[^ true]. |
|
676 |
]. |
|
677 |
modules keysAndValuesDo:[:module :info| |
|
678 |
((FileBasedSourceCodeManager repositoryInfoPerModule includesKey:module) and:[(FileBasedSourceCodeManager repositoryInfoPerModule at:module) = info second]) |
|
679 |
ifFalse:[^ true]. |
|
680 |
]. |
|
681 |
||
682 |
^ false |
|
683 |
||
11073
454df119de86
preps for \"showInBrowserMenus\"
Claus Gittinger <cg@exept.de>
parents:
11067
diff
changeset
|
684 |
"Modified: / 10-01-2012 / 00:31:28 / cg" |
10989 | 685 |
! ! |
686 |
||
687 |
!FileBasedSourceCodeManagementSettingsAppl class methodsFor:'documentation'! |
|
688 |
||
689 |
version |
|
16015 | 690 |
^ '$Header$' |
10989 | 691 |
! |
692 |
||
693 |
version_CVS |
|
16015 | 694 |
^ '$Header$' |
695 |
! |
|
696 |
||
697 |
version_FileRepository |
|
698 |
^ '$Path: stx/libtool/FileBasedSourceCodeManagementSettingsAppl.st, Version: 1$' |
|
10989 | 699 |
! ! |
13238 | 700 |