8 be provided or otherwise made available to, or used by, any |
8 be provided or otherwise made available to, or used by, any |
9 other person. No title to or ownership of the software is |
9 other person. No title to or ownership of the software is |
10 hereby transferred. |
10 hereby transferred. |
11 " |
11 " |
12 AbstractSourceCodeManagementSettingsAppl subclass:#PerforceSourceCodeManagementSettingsAppl |
12 AbstractSourceCodeManagementSettingsAppl subclass:#PerforceSourceCodeManagementSettingsAppl |
13 instanceVariableNames:'selectedPerModuleRoot perforceExecutableHolder |
13 instanceVariableNames:'selectedPerModuleRoot perforceExecutableHolder |
14 listOfPerforceModules defaultSettingsHolder tableColumns |
14 listOfPerforceModules defaultSettingsHolder tableColumns |
15 defaultSettingsPrototypeList' |
15 defaultSettingsPrototypeList checkLabel' |
16 classVariableNames:'RecentlyUsedCVSRoots RecentlyUsedStoreHosts |
16 classVariableNames:'RecentlyUsedCVSRoots RecentlyUsedStoreHosts |
17 RecentlyUsedSmallTeamHosts LastStoreHost LastStoreUser |
17 RecentlyUsedSmallTeamHosts LastStoreHost LastStoreUser |
18 LastStorePassword' |
18 LastStorePassword' |
19 poolDictionaries:'' |
19 poolDictionaries:'' |
20 category:'System-SourceCodeManagement' |
20 category:'System-SourceCodeManagement' |
21 ! |
21 ! |
22 |
22 |
23 ApplicationModel subclass:#ManagerPerModuleApp |
23 ApplicationModel subclass:#ManagerPerModuleApp |
24 instanceVariableNames:'moduleHolder acceptChannel settingsHolder |
24 instanceVariableNames:'moduleHolder acceptChannel settingsHolder |
25 sourceCodeManagementSettingsApp acceptEnableChannel canceled |
25 sourceCodeManagementSettingsApp acceptEnableChannel canceled |
26 defaultSettingsPrototypeList' |
26 defaultSettingsPrototypeList' |
27 classVariableNames:'' |
27 classVariableNames:'' |
28 poolDictionaries:'' |
28 poolDictionaries:'' |
29 privateIn:PerforceSourceCodeManagementSettingsAppl |
29 privateIn:PerforceSourceCodeManagementSettingsAppl |
30 ! |
30 ! |
31 |
31 |
32 Object subclass:#ModuleManager |
32 Object subclass:#ModuleManager |
33 instanceVariableNames:'manager module settings app check checkIcon' |
33 instanceVariableNames:'manager module settings app check checkIcon' |
34 classVariableNames:'' |
34 classVariableNames:'' |
35 poolDictionaries:'' |
35 poolDictionaries:'' |
36 privateIn:PerforceSourceCodeManagementSettingsAppl |
36 privateIn:PerforceSourceCodeManagementSettingsAppl |
37 ! |
37 ! |
38 |
38 |
39 !PerforceSourceCodeManagementSettingsAppl class methodsFor:'documentation'! |
39 |
40 |
40 |
41 copyright |
41 |
42 " |
42 |
43 COPYRIGHT (c) 2011 by eXept Software AG |
43 |
44 All Rights Reserved |
44 |
45 |
45 |
46 This software is furnished under a license and may be used |
46 |
47 only in accordance with the terms of that license and with the |
47 |
48 inclusion of the above copyright notice. This software may not |
48 |
49 be provided or otherwise made available to, or used by, any |
49 |
50 other person. No title to or ownership of the software is |
|
51 hereby transferred. |
|
52 " |
|
53 ! ! |
|
54 |
|
55 !PerforceSourceCodeManagementSettingsAppl class methodsFor:'image specs'! |
|
56 |
|
57 defaultIcon |
|
58 ^ self defaultIcon4. |
|
59 "/ ^ self defaultIcon3 |
|
60 |
|
61 "Created: / 21-12-2011 / 12:35:05 / cg" |
|
62 ! |
|
63 |
|
64 defaultIcon1 |
|
65 "This resource specification was automatically generated |
|
66 by the ImageEditor of ST/X." |
|
67 |
|
68 "Do not manually edit this!! If it is corrupted, |
|
69 the ImageEditor may not be able to read the specification." |
|
70 |
|
71 " |
|
72 self defaultIcon1 inspect |
|
73 ImageEditor openOnClass:self andSelector:#defaultIcon1 |
|
74 Icon flushCachedIcons |
|
75 " |
|
76 |
|
77 <resource: #image> |
|
78 |
|
79 ^Icon |
|
80 constantNamed:'PerforceSourceCodeManagementSettingsAppl class defaultIcon1' |
|
81 ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
82 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PHA@PHA@0D@@@D@@@@@@@@@@@@@@ TFA XFA \B@@@C@ HB@ @@@@@@ |
|
83 @@HIB (IBP(IA@LB@ $JBPH@@@@@@@@BBP(LCPXJB $N@!!@JB!!@B@@@@@@@@@!!@PCP@@D!!@PA (PBP(P@ @@@@@@@@HPDAH@@ALPDA@PD@(PD@H@@@@@@@@B |
|
84 EQ@VB (WDA@PEQLMEP(B@@@@@@@@@!!TWEQ$ZE1\WEQ@@F1$S@ @@@@@@@@HZEQ@SF1TUEQT\@AXZA H@@@@@@@@BF!!4S@@4ZF!!4Q@@@^G00B@@@@@@@@@!!8^ |
|
85 D2@^F!!(G@@@QH"L$IPH@@@@@@@H''G!!TUG" )AR(EJ2L,KR4B@@@@@@@B@!!D/LBL"H#D1LRH2H3L4@ @@@@@@@@@BJ3L6KB0,KB0#H2L#H0H@@@@@@@@@@ HB |
|
86 @ HB@ HBH#(-@ HB@@@@@@@@@@@@@@@@@@@@@#(4KPH@@@@@@@@@@@@@@@@@@@@@@@H=O H@@@@@@@@@@@@@@@@@@@@@@@@B@ HB@@@@@@@@@@@@@@@@@@@@ |
|
87 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[240 240 240 224 232 250 208 232 250 224 240 250 160 192 210 128 176 200 144 176 200 160 192 220 144 176 210 112 160 180 128 160 180 160 200 220 128 168 200 160 184 210 208 224 240 176 208 220 112 152 180 176 200 220 144 184 210 144 168 200 192 216 240 112 144 170 128 152 180 112 144 180 128 168 180 96 136 170 112 136 170 144 168 180 192 216 220 96 136 160 96 128 160 48 112 140 176 192 220 144 184 220 16 96 130 32 96 130 144 200 220 192 232 250 176 216 250 96 120 140 80 120 140 80 128 160 112 168 200 80 136 170 32 104 140 96 152 180 128 184 210 96 144 170 48 104 140 16 88 120 32 104 130 16 88 130 0 80 100 176 224 250 32 96 140 144 192 220 160 208 240 160 208 220 16 80 120 80 144 170 80 144 180 0 64 100 0 72 100]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@G?H@G?O G?? G?? G''? G''? G?? G?7 G?7 G/'' G?O0G??0G??0A??0A??0@@_@@@^@@@^@@@@@@@@@') ; yourself); yourself] |
|
88 ! |
|
89 |
|
90 defaultIcon2 |
|
91 "This resource specification was automatically generated |
|
92 by the ImageEditor of ST/X." |
|
93 |
|
94 "Do not manually edit this!! If it is corrupted, |
|
95 the ImageEditor may not be able to read the specification." |
|
96 |
|
97 " |
|
98 self defaultIcon2 inspect |
|
99 ImageEditor openOnClass:self andSelector:#defaultIcon2 |
|
100 Icon flushCachedIcons |
|
101 " |
|
102 |
|
103 <resource: #image> |
|
104 |
|
105 ^Icon |
|
106 constantNamed:'PerforceSourceCodeManagementSettingsAppl class defaultIcon2' |
|
107 ifAbsentPut:[(Depth4Image new) width: 24; height: 24; photometric:(#palette); bitsPerSample:(#[4]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
108 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@QUUV@@@@@@@@@@A%UUUUUX@@@@@@BUUUUUUUUUTP@@@HUUUUUUUUUUUU$@@@@@UUUU |
|
109 UUUU$@@@@@@@@FUUUUT@@@@@@@@@@@AUUZ@@)B@@@@@@H@@BL@BUUV @@@BEUU @@HUUZP@@@@YUUUUQ!!%UY@@@@@@@$UUUUUUVP@@@@@@@@@BUUUU@@QUP@ |
|
110 @@@@@@@AU@B%UP@@@@@@A0@@@@EUP@@@@@@@UUU@@DUY@@@@@@@UUUUUUUV@@@@@@@JH$VUUUU @@@@@@@@@@@@HYY@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
|
111 @@@@@@@@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[255 248 248 240 200 104 255 216 160 255 248 240 240 192 64 240 168 24 240 176 48 255 240 224 255 224 176 255 208 136 255 232 208]; mask:((Depth1Image new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@A @@G8@@_?@C??0O??<@?? @O<@@C88@!!#<C<O0G??@C?>@@O8<@A30@PG @>O@C?>@G?<@@A8@@@@@@@@@@@@@') ; yourself); yourself] |
|
112 ! |
|
113 |
|
114 defaultIcon3 |
|
115 "This resource specification was automatically generated |
|
116 by the ImageEditor of ST/X." |
|
117 |
|
118 "Do not manually edit this!! If it is corrupted, |
|
119 the ImageEditor may not be able to read the specification." |
|
120 |
|
121 " |
|
122 self defaultIcon3 inspect |
|
123 ImageEditor openOnClass:self andSelector:#defaultIcon3 |
|
124 Icon flushCachedIcons |
|
125 " |
|
126 |
|
127 <resource: #image> |
|
128 |
|
129 ^Icon |
|
130 constantNamed:'PerforceSourceCodeManagementSettingsAppl class defaultIcon3' |
|
131 ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
132 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PHA@PHA@0D@@@D@@@@@@@@@@@@@@ PEAPTEAPXB@@@C@ HB@ @@@@@@ |
|
133 @@HGB@ GA0 GBPLB@ \HA0H@@@@@@@@BA0 JB0THB@\L@ 4HB@4B@@@@@@@@@ 4MB0@@C 4MAP MA0 M@ @@@@@@@@HMCP8@@@<MCP4MCP MCPH@@@@@@@@B |
|
134 D@4QB@ RCP4MD@<KD@ B@@@@@@@@@!!@RDALTD!!HRD@4@EQLO@ @@@@@@@@HTM#X3L1@PDA@V@ADTAPH@@@@@@@@BL3X6M#X3EA\X@@@YF (B@@@@@@@@L#X6 |
|
135 C1,YECLF@@@XGA4^G0H@@@@@@CL4L1@PFRD"ABLDIA4%I"XB@@@@L3L6MSX7JA48GB$)JQ0*GR,,@ @@@@@3MSX3IB,8NC %IRT]GQ4]GPH@@@@@@CL<@ H8 |
|
136 N3,:N@HBGB8&@ HB@@@@@@@@@@@8NC$8NC @@"8,I H@@@@@@@@8@@@@@@@8N@@@@@H/L@H@@@@@@@@@@C 8NC 8NCD@@@@B@ HB@@@@@@@@@@@@NS 8NCD@ |
|
137 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[247 247 247 239 243 252 231 243 252 239 247 252 191 215 227 199 215 227 207 223 237 183 207 217 191 207 217 207 223 232 191 211 227 207 219 232 231 239 247 183 203 217 199 219 232 199 211 227 183 199 212 191 203 217 183 199 217 175 195 212 183 195 212 199 211 217 223 235 237 175 195 207 215 227 237 175 191 207 151 183 197 215 223 237 135 175 192 143 175 192 199 227 237 223 243 252 175 187 197 167 187 197 167 191 207 183 211 227 167 195 212 143 179 197 175 203 217 175 199 212 151 179 197 135 171 187 143 179 192 135 171 192 127 167 177 143 175 197 135 167 187 127 159 177 127 163 177 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]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@G?H@G?O G?? G?? G''? G''? G?? G?7 G?7 G?'' G?O0G??0_??0O??0G??0@?_@HL^@G<^@C8@@@@@@') ; yourself); yourself] |
|
138 ! |
|
139 |
|
140 defaultIcon4 |
|
141 "This resource specification was automatically generated |
|
142 by the ImageEditor of ST/X." |
|
143 |
|
144 "Do not manually edit this!! If it is corrupted, |
|
145 the ImageEditor may not be able to read the specification." |
|
146 |
|
147 " |
|
148 self defaultIcon4 inspect |
|
149 ImageEditor openOnClass:self andSelector:#defaultIcon4 |
|
150 Icon flushCachedIcons |
|
151 " |
|
152 |
|
153 <resource: #image> |
|
154 |
|
155 ^Icon |
|
156 constantNamed:'PerforceSourceCodeManagementSettingsAppl class defaultIcon4' |
|
157 ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
158 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AUUUUUU @@@@@@@@@@@@@@@@@@ |
|
159 @@@@U(F.+Y]QJ@@@FB\$(P@@@@@@@@@@@ET)H#U7JS]IFRX)S%\@@@@@@@@@@@@SO6B1E1F+$C5SJSYB@@@@@@@@@@@@D:>MW)>Y_P!!;#8HI\0@@@@@@@@@@ |
|
160 @D@)J!!R0& 0])J"CG!!0@@@@@@@@@@@AAJ08J^VM_(1TP_7 G@@@@@@@@@@@@-;^4-J2NM@=5$'':)@@@@@@@@@@@@-K^7-;^4^&T2@C1OK@@@@@@@@@@@,;^7 |
|
161 SBB''%+P@''HY/%E$K@@@@@@@@@KR5-@YPHR4A''X]0JU)DSZH@@@@@-KR7-+^8@D"9\WE[CTU!!K0L3@@@@@@B4-+^4@@B9.[$@@C@Z)X0@@@@@@@@@@KR=@@B9 |
|
162 /K2;.PBJWT]K@@@@@@@@@@@@@@B9.[*9.[$@@H,[@@@@@@@@@@B9@@@@@@B9.P@@@@@@@@@@@@@@@@@@@K&9.[&9.[H@@@@@@@@@@@@@@@@@@@@@.+&9.[H@ |
|
163 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[255 207 52 214 168 55 233 238 244 117 121 125 215 219 225 217 222 228 166 169 170 185 189 193 118 113 66 175 127 29 172 137 46 183 143 46 186 146 50 149 132 77 212 161 47 102 106 106 233 202 75 244 197 63 237 243 249 253 208 64 244 197 65 116 121 116 236 242 248 141 145 139 212 219 146 193 198 148 232 179 53 146 149 152 164 168 171 127 97 27 138 106 37 200 204 209 180 136 36 187 140 37 209 152 33 214 218 223 219 166 45 223 228 234 240 194 60 240 194 64 138 131 107 230 183 62 239 191 65 230 184 63 120 122 121 213 164 49 232 237 244 104 109 109 251 215 73 225 231 235 162 166 166 180 184 188 153 111 25 175 126 27 185 134 29 186 141 39 223 228 223 217 221 226 223 227 230 232 237 235 255 235 80 227 199 81 236 241 247 232 185 63 253 216 78 253 217 79 131 135 134 230 234 240 215 159 40 232 182 60 216 221 223 96 97 95 154 158 159 178 183 183 144 110 31 199 204 209 163 130 45 175 133 40 205 150 34 203 156 46 134 121 82 223 172 50 228 233 234 232 183 60 236 243 248 253 216 79 254 241 108 123 127 129 233 184 62 255 196 50 232 182 57 118 122 120 216 220 226 211 164 51 161 167 160 102 81 27 139 107 33 147 120 48 166 132 45 167 134 50 212 217 221 94 100 98 227 233 231 224 229 234 228 183 56 253 208 63 237 243 247 238 243 250 231 235 242 234 239 246 254 208 63 240 194 65 216 168 53 114 120 119 217 221 227 148 152 153 227 232 238 178 182 180 143 110 31 171 125 28 118 105 65 173 137 46 205 150 33 214 159 37 224 166 38 221 167 46 223 170 49 231 179 56 235 239 244 245 203 72 238 190 64 233 181 58 232 184 62 128 131 126 255 230 77 215 162 44 117 121 122 222 227 232 203 152 38 150 153 155 172 176 177 132 102 33 154 121 40 147 118 49 101 101 82 228 233 221 255 235 71 227 233 230 211 164 52 228 233 237 227 181 61 244 196 63 237 242 248 233 182 59 234 184 60 236 241 248 255 205 50 214 166 51 222 226 230 195 202 151 229 233 240 153 156 155 168 172 176 138 101 24 157 117 33 119 99 56 219 225 216 184 158 61 139 130 81 100 101 96 144 149 103 225 175 53 149 154 112 245 200 66 246 202 71 232 184 63 233 183 61 131 134 130 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]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@C@@@C@@@CA<@CA?OCA??CA??CA??CA??CA??CA?>CC?.CG??CG??#_/?#ON^CF_^C@?LCHL@CG<@CC8@C@@@C') ; yourself); yourself] |
|
164 ! ! |
|
165 |
|
166 !PerforceSourceCodeManagementSettingsAppl class methodsFor:'interface specs'! |
|
167 |
|
168 windowSpec |
|
169 "This resource specification was automatically generated |
|
170 by the UIPainter of ST/X." |
|
171 |
|
172 "Do not manually edit this!! If it is corrupted, |
|
173 the UIPainter may not be able to read the specification." |
|
174 |
|
175 " |
|
176 UIPainter new openOnClass:PerforceSourceCodeManagementSettingsAppl andSelector:#windowSpec |
|
177 PerforceSourceCodeManagementSettingsAppl new openInterface:#windowSpec |
|
178 PerforceSourceCodeManagementSettingsAppl open |
|
179 " |
|
180 |
|
181 <resource: #canvas> |
|
182 |
|
183 ^ |
|
184 #(FullSpec |
|
185 name: windowSpec |
|
186 window: |
|
187 (WindowSpec |
|
188 label: 'Source Code Manager Settings' |
|
189 name: 'Source Code Manager Settings' |
|
190 min: (Point 10 10) |
|
191 bounds: (Rectangle 0 0 767 642) |
|
192 ) |
|
193 component: |
|
194 (SpecCollection |
|
195 collection: ( |
|
196 (VerticalPanelViewSpec |
|
197 name: 'VerticalPanel3' |
|
198 layout: (LayoutFrame 0 0 0 0 0 1 0 1) |
|
199 horizontalLayout: fit |
|
200 verticalLayout: topSpace |
|
201 horizontalSpace: 3 |
|
202 verticalSpace: 4 |
|
203 component: |
|
204 (SpecCollection |
|
205 collection: ( |
|
206 (FramedBoxSpec |
|
207 label: 'Perforce (P4) Sourcecode Manager Settings' |
|
208 name: 'FramedBox3' |
|
209 labelPosition: topLeft |
|
210 translateLabel: true |
|
211 component: |
|
212 (SpecCollection |
|
213 collection: ( |
|
214 (CheckBoxSpec |
|
215 label: 'Show in Browser Menus' |
|
216 name: 'CheckBox1' |
|
217 layout: (LayoutFrame 0 0 5 0 -150 1 27 0) |
|
218 activeHelpKey: shownInBrowserMenus |
|
219 model: shownInBrowserMenusHolder |
|
220 translateLabel: true |
|
221 ) |
|
222 (ActionButtonSpec |
|
223 label: 'Check' |
|
224 name: 'Button6' |
|
225 layout: (LayoutFrame -150 1 5 0 -5 1 27 0) |
|
226 translateLabel: true |
|
227 labelChannel: checkLabel |
|
228 model: checkPerforceSettings |
|
229 ) |
|
230 (ViewSpec |
|
231 name: 'Box3' |
|
232 layout: (LayoutFrame 0 0 36 0 0 1 0 1) |
|
233 component: |
|
234 (SpecCollection |
|
235 collection: ( |
|
236 (LabelSpec |
|
237 label: 'Default Perforce Root' |
|
238 name: 'Label1' |
|
239 layout: (LayoutFrame 0 0.0 1 0 60 0.25 23 0) |
|
240 level: 0 |
|
241 translateLabel: true |
|
242 adjust: right |
|
243 ) |
|
244 (LabelSpec |
|
245 label: '(client:user:pass@host:port) ' |
|
246 name: 'Label18' |
|
247 layout: (LayoutFrame 4 0.0 19 0 64 0.25 34 0) |
|
248 style: (FontDescription helvetica medium roman 10) |
|
249 level: 0 |
|
250 foregroundColor: (Color 32.9991607537957 32.9991607537957 32.9991607537957) |
|
251 translateLabel: true |
|
252 adjust: right |
|
253 ) |
|
254 (ComboBoxSpec |
|
255 name: 'cvsRootComboBox' |
|
256 layout: (LayoutFrame 66 0.25 7 0 -5 1 29 0) |
|
257 tabable: true |
|
258 model: defaultSettingsHolder |
|
259 immediateAccept: true |
|
260 acceptOnLeave: true |
|
261 acceptOnReturn: true |
|
262 acceptOnTab: true |
|
263 acceptOnLostFocus: true |
|
264 acceptChannel: acceptChannel |
|
265 acceptOnPointerLeave: true |
|
266 comboList: defaultSettingsPrototypeList |
|
267 ) |
|
268 (LabelSpec |
|
269 label: 'Perforce Command or Path:' |
|
270 name: 'Label22' |
|
271 layout: (LayoutFrame 0 0.0 38 0 60 0.25 60 0) |
|
272 level: 0 |
|
273 translateLabel: true |
|
274 adjust: right |
|
275 ) |
|
276 (InputFieldSpec |
|
277 name: 'EntryField8' |
|
278 layout: (LayoutFrame 66 0.25 38 0 -5 1 60 0) |
|
279 tabable: true |
|
280 model: perforceExecutableHolder |
|
281 immediateAccept: false |
|
282 acceptOnLostFocus: true |
|
283 acceptChannel: acceptChannel |
|
284 acceptOnPointerLeave: true |
|
285 ) |
|
286 ) |
|
287 |
|
288 ) |
|
289 ) |
|
290 ) |
|
291 |
|
292 ) |
|
293 extent: (Point 767 138) |
|
294 ) |
|
295 (ViewSpec |
|
296 name: 'ManagerSetupBoxx' |
|
297 component: |
|
298 (SpecCollection |
|
299 collection: ( |
|
300 (FramedBoxSpec |
|
301 label: 'Per Module Manager Setup' |
|
302 name: 'PerModuleManagerSetup' |
|
303 layout: (LayoutFrame 0 0 -1 0 0 1 -3 1) |
|
304 labelPosition: topLeft |
|
305 translateLabel: true |
|
306 component: |
|
307 (SpecCollection |
|
308 collection: ( |
|
309 (DataSetSpec |
|
310 name: 'Table1' |
|
311 layout: (LayoutFrame 5 0 5 0 0 1 180 0) |
|
312 model: selectedPerModuleRoot |
|
313 hasHorizontalScrollBar: true |
|
314 hasVerticalScrollBar: true |
|
315 dataList: listOfModules |
|
316 useIndex: false |
|
317 columnHolder: tableColumns |
|
318 beDependentOfRows: true |
|
319 ) |
|
320 (HorizontalPanelViewSpec |
|
321 name: 'HorizontalPanel11' |
|
322 layout: (LayoutFrame 5 0 -25 1 -1 1 0 1) |
|
323 horizontalLayout: fitSpace |
|
324 verticalLayout: center |
|
325 horizontalSpace: 3 |
|
326 verticalSpace: 3 |
|
327 component: |
|
328 (SpecCollection |
|
329 collection: ( |
|
330 (ActionButtonSpec |
|
331 label: 'Add/Apply' |
|
332 name: 'Button2' |
|
333 translateLabel: true |
|
334 tabable: true |
|
335 model: addPerModuleRoot |
|
336 extent: (Point 361 22) |
|
337 ) |
|
338 (ActionButtonSpec |
|
339 label: 'Remove' |
|
340 name: 'Button3' |
|
341 translateLabel: true |
|
342 tabable: true |
|
343 model: removePerModuleRoot |
|
344 enableChannel: removeEnabled |
|
345 extent: (Point 361 22) |
|
346 ) |
|
347 ) |
|
348 |
|
349 ) |
|
350 ) |
|
351 ) |
|
352 |
|
353 ) |
|
354 ) |
|
355 ) |
|
356 |
|
357 ) |
|
358 extent: (Point 767 250) |
|
359 ) |
|
360 (FramedBoxSpec |
|
361 label: 'Source Cache' |
|
362 name: 'FramedBox2' |
|
363 visibilityChannel: false |
|
364 labelPosition: topLeft |
|
365 translateLabel: true |
|
366 component: |
|
367 (SpecCollection |
|
368 collection: ( |
|
369 (ViewSpec |
|
370 name: 'Box4' |
|
371 layout: (LayoutFrame 0 0 0 0 0 1 30 0) |
|
372 component: |
|
373 (SpecCollection |
|
374 collection: ( |
|
375 (LabelSpec |
|
376 label: 'Source Cache Dir:' |
|
377 name: 'Label23' |
|
378 layout: (LayoutFrame 0 0.0 0 0 60 0.25 22 0) |
|
379 translateLabel: true |
|
380 adjust: right |
|
381 ) |
|
382 (InputFieldSpec |
|
383 name: 'EntryField9' |
|
384 layout: (LayoutFrame 64 0.25 0 0 0 1 22 0) |
|
385 model: sourceCacheDir |
|
386 immediateAccept: false |
|
387 acceptOnReturn: true |
|
388 acceptOnTab: true |
|
389 acceptOnLostFocus: true |
|
390 acceptOnPointerLeave: true |
|
391 ) |
|
392 ) |
|
393 |
|
394 ) |
|
395 ) |
|
396 (HorizontalPanelViewSpec |
|
397 name: 'HorizontalPanel12' |
|
398 layout: (LayoutFrame 44 0.25 33 0 0 1 67 0) |
|
399 horizontalLayout: fitSpace |
|
400 verticalLayout: center |
|
401 horizontalSpace: 3 |
|
402 verticalSpace: 3 |
|
403 component: |
|
404 (SpecCollection |
|
405 collection: ( |
|
406 (ActionButtonSpec |
|
407 label: 'Flush Cache now' |
|
408 name: 'Button4' |
|
409 translateLabel: true |
|
410 tabable: true |
|
411 model: flushSourceCache |
|
412 extent: (Point 250 22) |
|
413 ) |
|
414 (ActionButtonSpec |
|
415 label: 'Condense Cache now' |
|
416 name: 'Button5' |
|
417 translateLabel: true |
|
418 tabable: true |
|
419 model: condenseSourceCache |
|
420 extent: (Point 250 22) |
|
421 ) |
|
422 ) |
|
423 |
|
424 ) |
|
425 ) |
|
426 ) |
|
427 |
|
428 ) |
|
429 extent: (Point 767 95) |
|
430 ) |
|
431 (ViewSpec |
|
432 name: 'VerboseBox' |
|
433 component: |
|
434 (SpecCollection |
|
435 collection: ( |
|
436 (CheckBoxSpec |
|
437 label: 'Verbose (Trace Access on Transcript)' |
|
438 name: 'CheckBox6' |
|
439 layout: (LayoutFrame 30 0 5 0 -5 1 27 0) |
|
440 model: verboseSourceCodeAccess |
|
441 translateLabel: true |
|
442 ) |
|
443 ) |
|
444 |
|
445 ) |
|
446 extent: (Point 767 25) |
|
447 ) |
|
448 ) |
|
449 |
|
450 ) |
|
451 ) |
|
452 ) |
|
453 |
|
454 ) |
|
455 ) |
|
456 ! ! |
|
457 |
|
458 !PerforceSourceCodeManagementSettingsAppl class methodsFor:'menu specs'! |
|
459 |
|
460 menuPerModule |
|
461 "This resource specification was automatically generated |
|
462 by the MenuEditor of ST/X." |
|
463 |
|
464 "Do not manually edit this!! If it is corrupted, |
|
465 the MenuEditor may not be able to read the specification." |
|
466 |
|
467 |
|
468 " |
|
469 MenuEditor new openOnClass:PerforceSourceCodeManagementSettingsAppl andSelector:#menuPerModule |
|
470 (Menu new fromLiteralArrayEncoding:(PerforceSourceCodeManagementSettingsAppl menuPerModule)) startUp |
|
471 " |
|
472 |
|
473 <resource: #menu> |
|
474 |
|
475 ^ |
|
476 #(Menu |
|
477 ( |
|
478 (MenuItem |
|
479 label: 'Check' |
|
480 itemValue: checkPerforceSettings |
|
481 translateLabel: true |
|
482 ) |
|
483 ) |
|
484 nil |
|
485 nil |
|
486 ) |
|
487 ! ! |
|
488 |
|
489 !PerforceSourceCodeManagementSettingsAppl class methodsFor:'queries'! |
|
490 |
|
491 managerClass |
|
492 "backlink to my manager class (needed by the settings app)" |
|
493 |
|
494 ^ PerforceSourceCodeManager |
|
495 |
|
496 "Created: / 19-04-2011 / 12:52:02 / cg" |
|
497 ! ! |
|
498 |
|
499 !PerforceSourceCodeManagementSettingsAppl class methodsFor:'tableColumns specs'! |
|
500 |
|
501 tableColumns |
|
502 "This resource specification was automatically generated |
|
503 by the DataSetBuilder of ST/X." |
|
504 |
|
505 "Do not manually edit this!! If it is corrupted, |
|
506 the DataSetBuilder may not be able to read the specification." |
|
507 |
|
508 " |
|
509 DataSetBuilder new openOnClass:PerforceSourceCodeManagementSettingsAppl andSelector:#tableColumns |
|
510 " |
|
511 |
|
512 <resource: #tableColumns> |
|
513 |
|
514 ^#( |
|
515 (DataSetColumnSpec |
|
516 label: 'Module' |
|
517 labelButtonType: Button |
|
518 usePreferredWidth: true |
|
519 width: 100 |
|
520 minWidth: 100 |
|
521 model: module |
|
522 menuFromApplication: false |
|
523 ) |
|
524 (DataSetColumnSpec |
|
525 label: 'Settings' |
|
526 labelButtonType: Button |
|
527 editorType: InputField |
|
528 model: settings |
|
529 menuFromApplication: false |
|
530 isResizeable: false |
|
531 ) |
|
532 (DataSetColumnSpec |
|
533 label: 'Check' |
|
534 labelButtonType: Button |
|
535 model: check |
|
536 menuFromApplication: false |
|
537 doubleClickedSelector: doubleClick |
|
538 isResizeable: false |
|
539 ) |
|
540 ) |
|
541 |
|
542 ! ! |
|
543 |
|
544 !PerforceSourceCodeManagementSettingsAppl methodsFor:'actions'! |
|
545 |
|
546 addModule:aModuleManager |
|
547 |
|
548 |detectedManager| |
|
549 |
|
550 detectedManager := self listOfModules detect:[:eachModuleManager| eachModuleManager module = aModuleManager module] ifNone:nil. |
|
551 detectedManager isNil ifTrue:[ |
|
552 self listOfModules add:aModuleManager; sort. |
|
553 self updateModifiedChannel. |
|
554 ] ifFalse:[ |
|
555 Dialog information:'Manager for Module ', aModuleManager module, ' already exists'. |
|
556 ]. |
|
557 |
|
558 |
|
559 "Created: / 08-11-2006 / 19:25:21 / cg" |
|
560 ! |
|
561 |
|
562 addModule:module withData:data |
|
563 (self listOfModules includes:module) ifFalse:[ |
|
564 self listOfModules add:module; sort. |
|
565 ]. |
|
566 |
|
567 self updateModifiedChannel. |
|
568 |
|
569 "Created: / 08-11-2006 / 19:25:21 / cg" |
|
570 ! |
|
571 |
|
572 addPerModuleRoot |
|
573 |
|
574 |app moduleManager| |
|
575 |
|
576 app := ManagerPerModuleApp openFromSourceCodeManagementSettingsApp:self. |
|
577 app canceled ifFalse:[ |
|
578 moduleManager := ModuleManager newForApplication:self. |
|
579 app moduleHolder value isEmptyOrNil ifTrue:[ |
|
580 self information:'Adding without module name not allowed'. |
|
581 ^ self. |
|
582 ]. |
|
583 moduleManager module:app moduleHolder value. |
|
584 moduleManager settings:app settingsHolder value. |
|
585 self listOfModules add:moduleManager. |
|
586 self updateModifiedChannel. |
|
587 ]. |
|
588 "Modified: / 08-11-2006 / 19:27:39 / cg" |
|
589 ! |
|
590 |
|
591 basicReadSettings |
|
592 |moduleManager moduleAndSettings| |
|
593 |
|
594 self initialize. |
|
595 |
|
596 self defaultSettingsHolder value:PerforceSourceCodeManager getPerforceDefaultSettingsString. |
|
597 self listOfModules removeAll. |
|
598 moduleAndSettings := PerforceSourceCodeManager repositoryInfoPerModule copy. |
|
599 moduleAndSettings notEmptyOrNil ifTrue:[ |
|
600 moduleAndSettings keysAndValuesDo:[:module :settings| |
|
601 moduleManager := ModuleManager newForApplication:self. |
|
602 moduleManager module:module. |
|
603 moduleManager settings:settings. |
|
604 self listOfModules add:moduleManager. |
|
605 ]. |
|
606 ]. |
|
607 self listOfModules sort. |
|
608 |
|
609 self hasManager ifTrue:[ |
|
610 self sourceCacheDir value:(PerforceSourceCodeManager cacheDirectoryName). |
|
611 ]. |
|
612 |
|
613 self perforceExecutableHolder value:PerforceSourceCodeManager perforceExecutable. |
|
614 self verboseSourceCodeAccess value:PerforceSourceCodeManager verboseSourceCodeAccess. |
|
615 self shownInBrowserMenusHolder value:PerforceSourceCodeManager shownInBrowserMenus. |
|
616 |
|
617 "/ self selectedPerModuleRootChanged. |
|
618 |
|
619 "Modified: / 10-01-2012 / 00:21:00 / cg" |
|
620 ! |
|
621 |
|
622 basicSaveSettings |
|
623 |client repositoryInfoPerModule| |
|
624 |
|
625 self hasManager ifTrue:[ |
|
626 | nm fn| |
|
627 |
|
628 nm := self sourceCacheDir value. |
|
629 nm notEmptyOrNil ifTrue:[ |
|
630 (fn := nm asFilename) exists ifFalse:[ |
|
631 (self confirm:('Perforce cache directory ''' , nm , ''' does not exist\create ?' withCRs)) ifTrue:[ |
|
632 fn makeDirectory; |
|
633 makeReadableForAll; |
|
634 makeWritableForAll; |
|
635 makeExecutableForAll. |
|
636 ] |
|
637 ]. |
|
638 (fn isDirectory |
|
639 and:[fn isReadable |
|
640 and:[fn isWritable]]) ifTrue:[ |
|
641 PerforceSourceCodeManager cacheDirectoryName:nm. |
|
642 ] ifFalse:[ |
|
643 self warn:'Invalid sourceCache directory.' |
|
644 ] |
|
645 ]. |
|
646 repositoryInfoPerModule := Dictionary new. |
|
647 self listOfModules do:[:aModuleManager| |
|
648 repositoryInfoPerModule at:aModuleManager module put:aModuleManager settings. |
|
649 ]. |
|
650 |
|
651 PerforceSourceCodeManager repositoryInfoPerModule:repositoryInfoPerModule. |
|
652 PerforceSourceCodeManager perforceExecutable:((self perforceExecutableHolder value ? '') withoutSeparators). |
|
653 client := self defaultSettingsHolder value. |
|
654 PerforceSourceCodeManager setDefaultPerforceSettingsFromString:client. |
|
655 PerforceSourceCodeManager verboseSourceCodeAccess:self verboseSourceCodeAccess value. |
|
656 PerforceSourceCodeManager shownInBrowserMenus:self shownInBrowserMenusHolder value. |
|
657 ]. |
|
658 |
|
659 self acceptChannel value. |
|
660 |
|
661 "Modified: / 10-01-2012 / 00:21:59 / cg" |
|
662 ! |
|
663 |
|
664 checkPerforceSettings |
|
665 |
|
666 |result icon| |
|
667 |
|
668 PerforceSourceCodeManager perforceError handle:[:ex| |
|
669 self warn:ex description. |
|
670 ^false |
|
671 ] do:[ |
|
672 result := PerforceSourceCodeManager checkPerforceSettings:(self defaultSettingsHolder value) forPackage:nil. |
|
673 result ifTrue:[ |
|
674 icon := GenericToolbarIconLibrary ledGreen14x14. |
|
675 ] ifFalse:[ |
|
676 icon := GenericToolbarIconLibrary ledRed14x14. |
|
677 ]. |
|
678 self checkLabel value:(LabelAndIcon label:'Check' icon:icon). |
|
679 ]. |
|
680 ^false |
|
681 ! |
|
682 |
|
683 condenseSourceCache |
|
684 self withWaitCursorDo:[ AbstractSourceCodeManager condenseSourceCache ]. |
|
685 Method flushSourceStreamCache. |
|
686 |
|
687 "Modified: / 28-11-2006 / 12:21:33 / cg" |
|
688 ! |
|
689 |
|
690 flushSourceCache |
|
691 self withWaitCursorDo:[ AbstractSourceCodeManager flushSourceCache ]. |
|
692 |
|
693 "Modified: / 30-09-2011 / 13:33:51 / cg" |
|
694 ! |
|
695 |
|
696 removePerModuleRoot |
|
697 |
|
698 |module| |
|
699 |
|
700 acceptChannel value:true. |
|
701 module := self selectedPerModuleRoot value. |
|
702 self listOfModules remove:module ifAbsent:nil. |
|
703 self updateModifiedChannel. |
|
704 ! ! |
|
705 |
|
706 !PerforceSourceCodeManagementSettingsAppl methodsFor:'aspects'! |
|
707 |
|
708 checkLabel |
|
709 <resource: #uiAspect> |
|
710 |
|
711 "automatically generated by UIPainter ..." |
|
712 |
|
713 "*** the code below creates a default model when invoked." |
|
714 "*** (which may not be the one you wanted)" |
|
715 "*** Please change as required and accept it in the browser." |
|
716 "*** (and replace this comment by something more useful ;-)" |
|
717 |
|
718 checkLabel isNil ifTrue:[ |
|
719 checkLabel := 'Check' asValue. |
|
720 "/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
721 "/ checkLabel addDependent:self. |
|
722 "/ checkLabel onChangeSend:#checkLabelChanged to:self. |
|
723 ]. |
|
724 ^ checkLabel. |
|
725 ! |
|
726 |
|
727 defaultSettingsHolder |
|
728 |
|
729 defaultSettingsHolder isNil ifTrue:[ |
|
730 defaultSettingsHolder := ValueHolder new. |
|
731 defaultSettingsHolder addDependent:self. |
|
732 ]. |
|
733 ^ defaultSettingsHolder. |
|
734 ! |
|
735 |
|
736 defaultSettingsPrototypeList |
|
737 |
|
738 defaultSettingsPrototypeList isNil ifTrue:[ |
|
739 defaultSettingsPrototypeList := self perforcePrototypeList. |
|
740 ]. |
|
741 ^ defaultSettingsPrototypeList. |
|
742 ! |
|
743 |
|
744 initialListOfModules |
|
745 ^ List new. |
|
746 |
|
747 "Created: / 02-03-2012 / 14:41:40 / cg" |
|
748 ! |
|
749 |
|
750 perforceExecutableHolder |
|
751 perforceExecutableHolder isNil ifTrue:[ |
|
752 perforceExecutableHolder := ValueHolder new. |
|
753 perforceExecutableHolder onChangeSend:#updateModifiedChannel to:self |
|
754 ]. |
|
755 ^ perforceExecutableHolder. |
|
756 |
|
757 "Created: / 21-09-2006 / 15:37:06 / cg" |
|
758 ! |
|
759 |
|
760 perforcePrototypeList |
|
761 |
|
762 |first client| |
|
763 |
|
764 client := PerforceSourceCodeManager perforceClient. |
|
765 client isEmptyOrNil ifTrue:[ |
|
766 client := 'workspace'. |
|
767 ]. |
|
768 first := (client ,':', PerforceSourceCodeManager perforceUser, ':', |
|
769 (PerforceSourceCodeManager perforcePassword ? 'pass'), '@', |
|
770 PerforceSourceCodeManager perforcePort). |
|
771 ^ Array with:first. |
|
772 ! |
|
773 |
|
774 selectedPerModuleRoot |
|
775 selectedPerModuleRoot isNil ifTrue:[ |
|
776 selectedPerModuleRoot := ValueHolder new. |
|
777 selectedPerModuleRoot addDependent:self. |
|
778 ]. |
|
779 ^ selectedPerModuleRoot. |
|
780 ! |
|
781 |
|
782 tableColumns |
|
783 <resource: #uiAspect> |
|
784 |
|
785 "automatically generated by UIPainter ..." |
|
786 |
|
787 "*** the code below creates a default model when invoked." |
|
788 "*** (which may not be the one you wanted)" |
|
789 "*** Please change as required and accept it in the browser." |
|
790 "*** (and replace this comment by something more useful ;-)" |
|
791 |
|
792 tableColumns isNil ifTrue:[ |
|
793 tableColumns := self class tableColumns asValue. |
|
794 "/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
795 "/ tableColumns addDependent:self. |
|
796 "/ tableColumns onChangeSend:#tableColumnsChanged to:self. |
|
797 ]. |
|
798 ^ tableColumns. |
|
799 ! ! |
|
800 |
|
801 !PerforceSourceCodeManagementSettingsAppl methodsFor:'change & update'! |
|
802 |
|
803 selectedPerModuleRootChanged |
|
804 |
|
805 self removeEnabled value:self selectedPerModuleRoot value notNil. |
|
806 ! |
|
807 |
|
808 sourceDirChanged |
|
809 | nm fn| |
|
810 |
|
811 nm := self sourceCacheDir value. |
|
812 nm isEmptyOrNil ifTrue:[^ self]. |
|
813 |
|
814 (fn := nm asFilename) exists ifFalse:[ |
|
815 (self confirm:('SourceCache directory ''' , nm , ''' does not exist.\Create ?' withCRs)) ifTrue:[ |
|
816 fn makeDirectory; |
|
817 makeReadableForAll; |
|
818 makeWritableForAll; |
|
819 makeExecutableForAll. |
|
820 ] ifFalse:[ |
|
821 self sourceCacheDir value:(AbstractSourceCodeManager cacheDirectoryName). |
|
822 ^ self. |
|
823 ]. |
|
824 ]. |
|
825 (fn isDirectory |
|
826 and:[fn isReadable |
|
827 and:[fn isWritable]]) ifTrue:[ |
|
828 AbstractSourceCodeManager cacheDirectoryName:nm. |
|
829 ] ifFalse:[ |
|
830 self warn:'Invalid sourceCache directory.'. |
|
831 self sourceCacheDir value:(AbstractSourceCodeManager cacheDirectoryName). |
|
832 ]. |
|
833 ! |
|
834 |
|
835 update:something with:aParameter from:changedObject |
|
836 "/ common |
|
837 changedObject == sourceCacheDir ifTrue:[ |
|
838 self sourceDirChanged. |
|
839 self updateModifiedChannel. |
|
840 ^ self |
|
841 ]. |
|
842 |
|
843 changedObject == selectedPerModuleRoot ifTrue:[ |
|
844 self selectedPerModuleRootChanged. |
|
845 ^ self |
|
846 ]. |
|
847 |
|
848 changedObject == defaultSettingsHolder ifTrue:[ |
|
849 self updateModifiedChannel. |
|
850 ]. |
|
851 |
|
852 super update:something with:aParameter from:changedObject |
|
853 |
|
854 "Modified (format): / 02-03-2012 / 14:42:15 / cg" |
|
855 ! ! |
|
856 |
|
857 !PerforceSourceCodeManagementSettingsAppl methodsFor:'help'! |
|
858 |
|
859 helpFilename |
|
860 ^ 'Launcher/perforceSetup.html' |
|
861 |
|
862 "Modified: / 05-08-2011 / 09:10:03 / cg" |
|
863 ! ! |
|
864 |
|
865 !PerforceSourceCodeManagementSettingsAppl methodsFor:'initialization & release'! |
|
866 |
|
867 initialize |
|
868 (AbstractSourceCodeManager notNil) ifTrue:[ AbstractSourceCodeManager autoload ]. |
|
869 |
|
870 sourceCacheDir := nil asValue. |
|
871 sourceCacheDir addDependent:self. |
|
872 |
|
873 super initialize. |
|
874 |
|
875 "Modified: / 08-11-2006 / 19:20:32 / cg" |
|
876 ! ! |
|
877 |
|
878 !PerforceSourceCodeManagementSettingsAppl methodsFor:'queries'! |
|
879 |
|
880 hasManager |
|
881 "true if ANY source code management class is available" |
|
882 |
|
883 ^ PerforceSourceCodeManager notNil and:[PerforceSourceCodeManager isLoaded] |
|
884 ! |
|
885 |
|
886 hasUnsavedChanges |
|
887 |
|
888 |repositoryInfoPerModule client settings| |
|
889 |
|
890 (PerforceSourceCodeManager shownInBrowserMenus ~= self shownInBrowserMenusHolder value) |
|
891 ifTrue:[^ true]. |
|
892 |
|
893 client := self defaultSettingsHolder value. |
|
894 client notNil ifTrue:[ |
|
895 settings := PerforceSourceCodeManager getPerforceSettingsFromString:client. |
|
896 PerforceSourceCodeManager perforceClient ~= (settings at:#client ifAbsent:nil) ifTrue:[ |
|
897 ^ true |
|
898 ]. |
|
899 PerforceSourceCodeManager perforceUser ~= (settings at:#user ifAbsent:nil) ifTrue:[ |
|
900 ^ true |
|
901 ]. |
|
902 PerforceSourceCodeManager perforcePort ~= (settings at:#port ifAbsent:nil) ifTrue:[ |
|
903 ^ true |
|
904 ]. |
|
905 PerforceSourceCodeManager perforcePassword ~= (settings at:#password ifAbsent:nil) ifTrue:[ |
|
906 ^ true |
|
907 ]. |
|
908 ]. |
|
909 |
|
910 repositoryInfoPerModule := Dictionary new. |
|
911 self listOfModules do:[:aModuleManager| |
|
912 repositoryInfoPerModule at:aModuleManager module put:aModuleManager settings. |
|
913 ]. |
|
914 PerforceSourceCodeManager verboseSourceCodeAccess ~= self verboseSourceCodeAccess value ifTrue:[ |
|
915 ^true |
|
916 ]. |
|
917 |
|
918 PerforceSourceCodeManager repositoryInfoPerModule keysAndValuesDo:[:module :info | |
|
919 ((repositoryInfoPerModule includesKey:module) and:[info = (repositoryInfoPerModule at:module)]) |
|
920 ifFalse:[^ true]. |
|
921 ]. |
|
922 repositoryInfoPerModule keysAndValuesDo:[:module :info| |
|
923 ((PerforceSourceCodeManager repositoryInfoPerModule includesKey:module) and:[(PerforceSourceCodeManager repositoryInfoPerModule at:module) = info]) |
|
924 ifFalse:[^ true]. |
|
925 ]. |
|
926 self perforceExecutableHolder value ~= PerforceSourceCodeManager perforceExecutable ifTrue:[ |
|
927 ^true |
|
928 ]. |
|
929 ^ false |
|
930 |
|
931 "Modified: / 10-01-2012 / 00:31:38 / cg" |
|
932 ! |
|
933 |
|
934 repositoryInfoPerModuleFor:sourceCodeManager |
|
935 |
|
936 |repositoryInfoPerModule| |
|
937 |
|
938 repositoryInfoPerModule := Dictionary new. |
|
939 self listOfModules do:[:aModuleManager| |
|
940 repositoryInfoPerModule at:aModuleManager module put:aModuleManager settings. |
|
941 ]. |
|
942 ^ repositoryInfoPerModule |
|
943 ! ! |
|
944 |
50 |
945 !PerforceSourceCodeManagementSettingsAppl::ManagerPerModuleApp class methodsFor:'instance creation'! |
51 !PerforceSourceCodeManagementSettingsAppl::ManagerPerModuleApp class methodsFor:'instance creation'! |
946 |
52 |
947 openFromSourceCodeManagementSettingsApp:something |
53 openFromSourceCodeManagementSettingsApp:something |
948 |
54 |