##// END OF EJS Templates
html + css changes, added icons and etc.
marcink -
r219:64e1125f default
parent child Browse files
Show More
@@ -1,107 +1,107 b''
1 div.diffblock {
1 div.diffblock {
2 overflow: auto;
2 overflow: auto;
3 padding: 0px;
3 padding: 0px;
4 border: 1px solid #ccc;
4 border: 1px solid #ccc;
5 background: #f8f8f8;
5 background: #f8f8f8;
6 font-size: 100%;
6 font-size: 100%;
7 line-height: 100%;
7 line-height: 100%;
8 /* new */
8 /* new */
9 line-height: 125%;
9 line-height: 125%;
10 }
10 }
11 div.diffblock .code-header{
11 div.diffblock .code-header{
12 border-bottom: 1px solid #CCCCCC;
12 border-bottom: 1px solid #CCCCCC;
13 background: #EEEEEE;
13 background: #EEEEEE;
14 color:blue;
14 color:blue;
15 padding:10px 0 10px 0;
15 padding:10px 0 10px 0;
16 }
16 }
17 div.diffblock .code-header div{
17 div.diffblock .code-header div{
18 margin-left:25px;
18 margin-left:25px;
19 font-weight: bold;
19 font-weight: bold;
20 }
20 }
21 div.diffblock .code-body{
21 div.diffblock .code-body{
22 background: #EEEEEE;
22 background: #FFFFFF;
23 }
23 }
24 div.diffblock pre.raw{
24 div.diffblock pre.raw{
25 background: #FFFFFF;
25 background: #FFFFFF;
26 color:#000000;
26 color:#000000;
27 }
27 }
28
28
29 .code-difftable{
29 .code-difftable{
30 border-collapse: collapse;
30 border-collapse: collapse;
31 width: 99%;
31 width: 99%;
32 }
32 }
33 .code-difftable td:target *{
33 .code-difftable td:target *{
34 background: repeat scroll 0 0 #FFFFBE !important;
34 background: repeat scroll 0 0 #FFFFBE !important;
35 text-decoration: underline;
35 text-decoration: underline;
36 }
36 }
37 .code-difftable .context{
37 .code-difftable .context{
38 background:none repeat scroll 0 0 #DDE7EF;
38 background:none repeat scroll 0 0 #DDE7EF;
39 }
39 }
40 .code-difftable .add{
40 .code-difftable .add{
41 background:none repeat scroll 0 0 #DDFFDD;
41 background:none repeat scroll 0 0 #DDFFDD;
42 }
42 }
43 .code-difftable .add ins{
43 .code-difftable .add ins{
44 background:none repeat scroll 0 0 #AAFFAA;
44 background:none repeat scroll 0 0 #AAFFAA;
45 text-decoration:none;
45 text-decoration:none;
46 }
46 }
47
47
48 .code-difftable .del{
48 .code-difftable .del{
49 background:none repeat scroll 0 0 #FFDDDD;
49 background:none repeat scroll 0 0 #FFDDDD;
50 }
50 }
51 .code-difftable .del del{
51 .code-difftable .del del{
52 background:none repeat scroll 0 0 #FFAAAA;
52 background:none repeat scroll 0 0 #FFAAAA;
53 text-decoration:none;
53 text-decoration:none;
54 }
54 }
55
55
56 .code-difftable .lineno{
56 .code-difftable .lineno{
57 background:none repeat scroll 0 0 #EEEEEE !important;
57 background:none repeat scroll 0 0 #EEEEEE !important;
58 border-right:1px solid #DDDDDD;
58 border-right:1px solid #DDDDDD;
59 padding-left:2px;
59 padding-left:2px;
60 padding-right:2px;
60 padding-right:2px;
61 text-align:right;
61 text-align:right;
62 width:20px;
62 width:20px;
63 -moz-user-select:none;
63 -moz-user-select:none;
64 -webkit-user-select: none;
64 -webkit-user-select: none;
65 }
65 }
66 .code-difftable .lineno pre{
66 .code-difftable .lineno pre{
67 color:#747474 !important;
67 color:#747474 !important;
68 font:11px "Bitstream Vera Sans Mono",Monaco,"Courier New",Courier,monospace !important;
68 font:11px "Bitstream Vera Sans Mono",Monaco,"Courier New",Courier,monospace !important;
69 letter-spacing:-1px;
69 letter-spacing:-1px;
70 text-align:right;
70 text-align:right;
71 width:20px;
71 width:20px;
72 }
72 }
73 .code-difftable .lineno a{
73 .code-difftable .lineno a{
74 color:#0000CC !important;
74 color:#0000CC !important;
75 }
75 }
76 .code-difftable .code td{
76 .code-difftable .code td{
77 margin:0;
77 margin:0;
78 padding: 0;
78 padding: 0;
79 }
79 }
80 .code-difftable .code pre{
80 .code-difftable .code pre{
81 margin:0;
81 margin:0;
82 padding:0;
82 padding:0;
83 }
83 }
84
84
85
85
86 .code {
86 .code {
87 display: block;
87 display: block;
88 width: 100%;
88 width: 100%;
89 }
89 }
90 .code-diff {
90 .code-diff {
91 padding: 0px;
91 padding: 0px;
92 margin-top: 5px;
92 margin-top: 5px;
93 margin-bottom: 5px;
93 margin-bottom: 5px;
94 border-left: 2px solid #ccc;
94 border-left: 2px solid #ccc;
95 }
95 }
96 .code-diff pre, .line pre {
96 .code-diff pre, .line pre {
97 padding: 3px;
97 padding: 3px;
98 margin: 0;
98 margin: 0;
99 }
99 }
100 .lineno a {
100 .lineno a {
101 text-decoration: none;
101 text-decoration: none;
102 }
102 }
103
103
104 .line{
104 .line{
105 padding:0;
105 padding:0;
106 margin:0;
106 margin:0;
107 } No newline at end of file
107 }
@@ -1,661 +1,760 b''
1 /*** Initial Settings ***/
1 /*** Initial Settings ***/
2 #mainhtml{
2 #mainhtml{
3 margin: 15px 50px;
3 margin: 15px 50px;
4 background: #DBD4C6;
4 background: #DBD4C6;
5 font-family: sans-serif;
5 font-family: sans-serif;
6 }
6 }
7
7
8 a {
8 a {
9 color: #0000cc;
9 color: #556CB5;
10 text-decoration: none;
10 text-decoration: none;
11 }
11 }
12 a:HOVER{
12 a:HOVER{
13 text-decoration: underline;
13 text-decoration: underline;
14 }
14 }
15
15 /*** end of Initial Settings ***/
16 /*** end of Initial Settings ***/
16
17
18 /*** ***/
19 .table_disp {
20 border-left: 0px solid #666666;
21 border-bottom: 1px solid #666666;
22 border-right: 1px solid #666666;
23 padding: 0px;
24 margin: 0px;
25 border-spacing: 0px;
26 }
27
28 .table_disp .header {
29 border-top: 1px solid #666666;
30 background-color: #556CB5;
31 font-weight: bold;
32 color: white;
33 vertical-align: middle;
34 padding: 3px 5px;
35 text-align: left;
36 font-size: 0.9em;
37 }
38
39 .table_disp .header td {
40 padding: 4px;
41 vertical-align: middle;
42 border-top: 1px solid #AAAAAA;
43 border-bottom: 2px solid #666666;
44 }
45 .table_disp td {
46 border-left: 1px solid #AAAAAA;
47 padding-left: 2px;
48 padding-right: 0px;
49 }
50
51 table tr.parity0:hover,table tr.parity1:hover {
52 background: #D5E1E6;
53 }
54
55 table tr.parity0 {
56 background: #EAEAE9;
57 }
58
59 table tr.parity1 {
60 background: #FFFFFF;
61 }
62
63
64 /*** ***/
65
17 /** common settings **/
66 /** common settings **/
67 .add_icon{
68 background: url("/images/icons/add.png") no-repeat scroll 3px;
69 height: 16px;
70 padding-left: 20px;
71 padding-top: 0px;
72 text-align: left;
73
74 }
75 .edit_icon{
76 background: url("/images/icons/folder_edit.png") no-repeat scroll 3px;
77 height: 16px;
78 padding-left: 20px;
79 padding-top: 0px;
80 text-align: left;
81 }
82
83 .delete_icon{
84 background: url("/images/icons/delete.png") no-repeat scroll 3px;
85 height: 16px;
86 padding-left: 20px;
87 padding-top: 0px;
88 text-align: left;
89
90 }
91
92 .action_button{
93 border:0px;
94 display: block;
95 }
96 .action_button:hover{
97 border:0px;
98 font-style:italic;
99 cursor: pointer;
100 }
101
18 div#main {
102 div#main {
19 padding: 5px;
103 padding: 5px;
20 }
104 }
21
105
22 div#container {
106 div#container {
23 background: #FFFFFF;
107 background: #FFFFFF;
24 position: relative;
108 position: relative;
25 color: #666;
109 color: #666;
26 }
110 }
27
111
28 div.page-header {
112 div.page-header {
29 padding: 50px 20px 0;
113 padding: 50px 20px 0;
30 background: #556cb5 top left repeat-x;
114 background: #556cb5 top left repeat-x;
31 position: relative;
115 position: relative;
32 }
116 }
33
117
34 div.page-header h1 {
118 div.page-header h1 {
35 margin: 10px 0 30px;
119 margin: 10px 0 30px;
36 font-size: 1.8em;
120 font-size: 1.8em;
37 font-weight: bold;
121 font-weight: bold;
38 font-family: sans-serif;
122 font-family: sans-serif;
39 letter-spacing: 1px;
123 letter-spacing: 1px;
40 color: #DDD;
124 color: #DDD;
41 }
125 }
42
126
43 div.page-header h1 a {
127 div.page-header h1 a {
44 font-weight: bold;
128 font-weight: bold;
45 color: #FFF;
129 color: #FFF;
46 }
130 }
47
131
48 div.page-header a {
132 div.page-header a {
49 text-decoration: none;
133 text-decoration: none;
50 }
134 }
51
135
52 div.page-header form {
136 div.page-header form {
53 position: absolute;
137 position: absolute;
54 margin-bottom: 2px;
138 margin-bottom: 2px;
55 bottom: 0;
139 bottom: 0;
56 right: 20px;
140 right: 20px;
57 }
141 }
58
142
59 div.page-header form label {
143 div.page-header form label {
60 color: #DDD;
144 color: #DDD;
61 }
145 }
62
146
63 div.page-header form input {
147 div.page-header form input {
64 padding: 2px;
148 padding: 2px;
65 border: solid 1px #DDD;
149 border: solid 1px #DDD;
66 }
150 }
67
151
68 div.page-header form dl {
152 div.page-header form dl {
69 overflow: hidden;
153 overflow: hidden;
70 }
154 }
71
155
72 div.page-header form dl dt {
156 div.page-header form dl dt {
73 font-size: 1.2em;
157 font-size: 1.2em;
74 }
158 }
75
159
76 div.page-header form dl dt,div.page-header form dl dd {
160 div.page-header form dl dt,div.page-header form dl dd {
77 margin: 0 0 0 5px;
161 margin: 0 0 0 5px;
78 float: left;
162 float: left;
79 height: 24px;
163 height: 24px;
80 line-height: 20px;
164 line-height: 20px;
81 }
165 }
82
166
83 ul.page-nav {
167 ul.page-nav {
84 margin: 10px 0 0 0;
168 margin: 10px 0 0 0;
85 list-style-type: none;
169 list-style-type: none;
86 overflow: hidden;
170 overflow: hidden;
87 width: 800px;
171 width: 800px;
88 padding: 0;
172 padding: 0;
89 }
173 }
90
174
91 ul.page-nav li {
175 ul.page-nav li {
92 margin: 0 2px 0 0;
176 margin: 0 2px 0 0;
93 float: left;
177 float: left;
94 height: 24px;
178 height: 24px;
95 font-size: 1.1em;
179 font-size: 1.1em;
96 line-height: 24px;
180 line-height: 24px;
97 text-align: center;
181 text-align: center;
98 background: #DDD;
182 background: #DDD;
99 }
183 }
100
184
101 ul.page-nav li.current {
185 ul.page-nav li.current {
102 background: #FFF;
186 background: #FFF;
103 padding-right: 5px;
187 padding-right: 5px;
104 padding-left: 5px;
188 padding-left: 5px;
105 }
189 }
106
190
107 ul.page-nav li a {
191 ul.page-nav li a {
108 height: 24px;
192 height: 24px;
109 color: #666;
193 color: #666;
110 padding-right: 5px;
194 padding-right: 5px;
111 padding-left: 5px;
195 padding-left: 5px;
112 display: block;
196 display: block;
113 text-decoration: none;
197 text-decoration: none;
114 }
198 }
115 ul.page-nav li.logout a {
199 ul.page-nav li.logout a {
116 color: red;
200 color: red;
117 }
201 }
118 ul.page-nav li a:hover {
202 ul.page-nav li a:hover {
119 color: #333;
203 color: #333;
120 background: #FFF;
204 background: #FFF;
121 }
205 }
122
206
123 ul.submenu {
207 ul.submenu {
124 margin: 10px 0 -10px 20px;
208 margin: 5px 0px -20px 0px;
125 list-style-type: none;
209 list-style-type: none;
126 }
210 }
127
211
128 ul.submenu li {
212 ul.submenu li {
129 margin: 0 10px 0 0;
213 margin: 0 10px 0 0;
130 font-size: 1.2em;
214 font-size: 0.9em;
215 font-weight:bold;
131 display: inline;
216 display: inline;
132 }
217 }
218 ul.submenu .repos {
219 background: url("/images/icons/folder_edit.png") no-repeat scroll 3px;
220 height: 16px;
221 padding-left: 20px;
222 padding-top: 0px;
223 text-align: left;
224
225 }
226 ul.submenu .users {
227 background: url("/images/icons/user_edit.png") no-repeat scroll 3px;
228 height: 16px;
229 padding-left: 20px;
230 padding-top: 0px;
231 text-align: left;
232 }
233 ul.submenu .permissions {
234 background: url("/images/icons/folder_key.png") no-repeat scroll 3px;
235 height: 16px;
236 padding-left: 20px;
237 padding-top: 0px;
238 text-align: left;
239 }
240
241 ul.submenu .current_submenu {
242 border-bottom: 2px solid #556CB5;
243 }
133
244
134 h2 {
245 h2 {
135 margin: 20px 0 10px;
246 margin: 20px 0 10px;
136 height: 30px;
247 height: 30px;
137 line-height: 30px;
248 line-height: 30px;
138 text-indent: 20px;
249 text-indent: 20px;
139 background: #FFF;
250 background: #FFF;
140 font-size: 1.2em;
251 font-size: 1.2em;
141 border-top: dotted 1px #D5E1E6;
252 border-top: dotted 1px #D5E1E6;
142 font-weight: bold;
253 font-weight: bold;
254 color:#556CB5;
143 }
255 }
144
256
145 h2.no-link {
257 h2.no-link {
146 color: #006699;
258 color: #006699;
147 }
259 }
148
260
149 h2.no-border {
261 h2.no-border {
150 color: #FFF;
262 color: #FFF;
151 background: #556CB5;
263 background: #556CB5;
152 border: 0;
264 border: 0;
153 }
265 }
154
266
155 h2 a {
267 h2 a {
156 font-weight: bold;
268 font-weight: bold;
157 color: #006699;
269 color: #006699;
158 }
270 }
159
271
160 div.page-path {
272 div.page-path {
161 text-align: right;
273 text-align: right;
162 padding: 20px 30px 10px 0;
274 padding: 20px 30px 10px 0;
163 border: solid #d9d8d1;
275 border: solid #d9d8d1;
164 border-width: 0px 0px 1px;
276 border-width: 0px 0px 1px;
165 font-size: 1.2em;
277 font-size: 1.2em;
166 }
278 }
167
279
168 div.page-footer {
280 div.page-footer {
169 margin: 50px 0 0;
281 margin: 50px 0 0;
170 position: relative;
282 position: relative;
171 text-align: center;
283 text-align: center;
172 font-weight: bold;
284 font-weight: bold;
173 font-size: 90%;
285 font-size: 90%;
174 }
286 }
175
287
176 div.page-footer p {
288 div.page-footer p {
177 position: relative;
289 position: relative;
178 left: 20px;
290 left: 20px;
179 bottom: 5px;
291 bottom: 5px;
180 font-size: 1.2em;
292 font-size: 1.2em;
181 }
293 }
182
294
183 ul.rss-logo {
295 ul.rss-logo {
184 position: absolute;
296 position: absolute;
185 top: -10px;
297 top: -10px;
186 right: 20px;
298 right: 20px;
187 height: 20px;
299 height: 20px;
188 list-style-type: none;
300 list-style-type: none;
189 }
301 }
190
302
191 ul.rss-logo li {
303 ul.rss-logo li {
192 display: inline;
304 display: inline;
193 }
305 }
194
306
195 ul.rss-logo li a {
307 ul.rss-logo li a {
196 padding: 3px 6px;
308 padding: 3px 6px;
197 line-height: 10px;
309 line-height: 10px;
198 border: 1px solid;
310 border: 1px solid;
199 border-color: #fcc7a5 #7d3302 #3e1a01 #ff954e;
311 border-color: #fcc7a5 #7d3302 #3e1a01 #ff954e;
200 color: #ffffff;
312 color: #ffffff;
201 background-color: #ff6600;
313 background-color: #ff6600;
202 font-weight: bold;
314 font-weight: bold;
203 font-family: sans-serif;
315 font-family: sans-serif;
204 font-size: 10px;
316 font-size: 10px;
205 text-align: center;
317 text-align: center;
206 text-decoration: none;
318 text-decoration: none;
207 }
319 }
208
320
209 div.rss-logo li a:hover {
321 div.rss-logo li a:hover {
210 background-color: #ee5500;
322 background-color: #ee5500;
211 }
323 }
212
324
213 p.normal {
325 p.normal {
214 margin: 20px 0 20px 30px;
326 margin: 20px 0 20px 30px;
215 font-size: 1.2em;
327 font-size: 1.2em;
216 }
328 }
217
329
218 table tr.parity0:hover,table tr.parity1:hover {
219 background: #D5E1E6;
220 }
221
222 table tr.parity0 {
223 background: #EAEAE9;
224 }
225
226 table tr.parity1 {
227 background: #FFFFFF;
228 }
229
230 span.logtags span {
330 span.logtags span {
231 background-repeat: no-repeat;
331 background-repeat: no-repeat;
232 height: 16px;
332 height: 16px;
233 padding-left: 20px;
333 padding-left: 20px;
234 padding-top: 0px;
334 padding-top: 0px;
235 text-align: left;
335 text-align: left;
236 font-weight: bold;
336 font-weight: bold;
237 }
337 }
238
338
239 span.logtags span.tagtag {
339 span.logtags span.tagtag {
240 background-image: url("/images/icons/tag_green.png");
340 background-image: url("/images/icons/tag_green.png");
241 }
341 }
242
342
243 span.logtags span.branchtag {
343 span.logtags span.branchtag {
244 background-image: url("/images/icons/arrow_branch.png");
344 background-image: url("/images/icons/arrow_branch.png");
245 color: #628F53;
345 color: #628F53;
246 }
346 }
247
347
248 span.logtags span.inbranchtag {
348 span.logtags span.inbranchtag {
249 background-image: url("/images/icons/arrow_branch.png");
349 background-image: url("/images/icons/arrow_branch.png");
250 }
350 }
251
351
252 div.diff pre {
352 div.diff pre {
253 margin: 10px 0 0 0;
353 margin: 10px 0 0 0;
254 }
354 }
255
355
256 div.diff pre span {
356 div.diff pre span {
257 font-family: monospace;
357 font-family: monospace;
258 white-space: pre;
358 white-space: pre;
259 font-size: 1.2em;
359 font-size: 1.2em;
260 padding: 3px 0;
360 padding: 3px 0;
261 }
361 }
262
362
263 td.source {
363 td.source {
264 white-space: pre;
364 white-space: pre;
265 font-family: monospace;
365 font-family: monospace;
266 margin: 10px 30px 0;
366 margin: 10px 30px 0;
267 font-size: 1.2em;
367 font-size: 1.2em;
268 font-family: monospace;
368 font-family: monospace;
269 }
369 }
270
370
271 div.source div.parity0,div.source div.parity1 {
371 div.source div.parity0,div.source div.parity1 {
272 padding: 1px;
372 padding: 1px;
273 font-size: 1.2em;
373 font-size: 1.2em;
274 }
374 }
275
375
276 div.source div.parity0 {
376 div.source div.parity0 {
277 background: #F1F6F7;
377 background: #F1F6F7;
278 }
378 }
279
379
280 div.source div.parity1 {
380 div.source div.parity1 {
281 background: #FFFFFF;
381 background: #FFFFFF;
282 }
382 }
283
383
284 div.parity0:hover,div.parity1:hover {
384 div.parity0:hover,div.parity1:hover {
285 background: #D5E1E6;
385 background: #D5E1E6;
286 }
386 }
287
387
288 .linenr {
388 .linenr {
289 color: #999;
389 color: #999;
290 text-align: right;
390 text-align: right;
291 }
391 }
292
392
293 .lineno {
393 .lineno {
294 text-align: right;
394 text-align: right;
295 }
395 }
296
396
297 .lineno a {
397 .lineno a {
298 color: #999;
398 color: #999;
299 }
399 }
300
400
301 td.linenr {
401 td.linenr {
302 width: 60px;
402 width: 60px;
303 }
403 }
304
404
305 div#powered-by {
405 div#powered-by {
306 position: absolute;
406 position: absolute;
307 width: 75px;
407 width: 75px;
308 top: 15px;
408 top: 15px;
309 right: 20px;
409 right: 20px;
310 font-size: 1.2em;
410 font-size: 1.2em;
311 }
411 }
312
412
313 div#powered-by a {
413 div#powered-by a {
314 color: #EEE;
414 color: #EEE;
315 text-decoration: none;
415 text-decoration: none;
316 }
416 }
317
417
318 div#powered-by a:hover {
418 div#powered-by a:hover {
319 text-decoration: underline;
419 text-decoration: underline;
320 }
420 }
321
421
322 dl.overview {
422 dl.overview {
323 margin: 0 0 0 30px;
423 margin: 0 0 0 30px;
324 font-size: 1.1em;
424 font-size: 1.1em;
325 overflow: hidden;
425 overflow: hidden;
326 }
426 }
327
427
328 dl.overview dt,dl.overview dd {
428 dl.overview dt,dl.overview dd {
329 margin: 5px 0;
429 margin: 5px 0;
330 float: left;
430 float: left;
331 }
431 }
332
432
333 dl.overview dt {
433 dl.overview dt {
334 clear: left;
434 clear: left;
335 font-weight: bold;
435 font-weight: bold;
336 width: 150px;
436 width: 150px;
337 }
437 }
338
438
439 #clone_url{
440 border: 0px;
441 }
339 /** end of summary **/
442 /** end of summary **/
340
443
341 /** chagelog **/
444 /** chagelog **/
342 h3.changelog {
445 h3.changelog {
343 margin: 20px 0 5px 30px;
446 margin: 20px 0 5px 30px;
344 padding: 0 0 2px;
447 padding: 0 0 2px;
345 font-size: 1.4em;
448 font-size: 1.4em;
346 border-bottom: dotted 1px #D5E1E6;
449 border-bottom: dotted 1px #D5E1E6;
347 }
450 }
348
451
349 ul.changelog-entry {
452 ul.changelog-entry {
350 margin: 0 0 10px 30px;
453 margin: 0 0 10px 30px;
351 list-style-type: none;
454 list-style-type: none;
352 position: relative;
455 position: relative;
353 }
456 }
354
457
355 ul.changelog-entry li span.revdate {
458 ul.changelog-entry li span.revdate {
356 font-size: 1.1em;
459 font-size: 1.1em;
357 }
460 }
358
461
359 ul.changelog-entry li.age {
462 ul.changelog-entry li.age {
360 position: absolute;
463 position: absolute;
361 top: -25px;
464 top: -25px;
362 right: 10px;
465 right: 10px;
363 font-size: 1.4em;
466 font-size: 1.4em;
364 color: #CCC;
467 color: #CCC;
365 font-weight: bold;
468 font-weight: bold;
366 font-style: italic;
469 font-style: italic;
367 }
470 }
368
471
369 ul.changelog-entry li span.name {
472 ul.changelog-entry li span.name {
370 font-size: 1.2em;
473 font-size: 1.2em;
371 font-weight: bold;
474 font-weight: bold;
372 }
475 }
373
476
374 ul.changelog-entry li.description {
477 ul.changelog-entry li.description {
375 margin: 10px 0 0;
478 margin: 10px 0 0;
376 font-size: 1.1em;
479 font-size: 1.1em;
377 }
480 }
378
481
379 /** end of changelog **/
482 /** end of changelog **/
380
483
381 /** file **/
484 /** file **/
382 p.files {
485 p.files {
383 margin: 0 0 0 20px;
486 margin: 0 0 0 20px;
384 font-size: 2.0em;
487 font-size: 2.0em;
385 font-weight: bold;
488 font-weight: bold;
386 }
489 }
387
490
388 /** end of file **/
491 /** end of file **/
389
492
390 /** changeset **/
493 /** changeset **/
391 #changeset_content{
494 #changeset_content{
392 width:60%;
495 width:60%;
393 float:left;
496 float:left;
394 }
497 }
395
498
396 #changeset_content .container .wrapper{
499 #changeset_content .container .wrapper{
397 width: 600px;
500 width: 600px;
398 }
501 }
399 #changeset_content .container{
502 #changeset_content .container{
400 border:1px solid #CCCCCC;
503 border:1px solid #CCCCCC;
401 height:120px;
504 height:120px;
402 }
505 }
403
506
404 #changeset_content .container .left{
507 #changeset_content .container .left{
405 float:left;
508 float:left;
406 width: 70%;
509 width: 70%;
407 padding-left: 5px;
510 padding-left: 5px;
408 }
511 }
409
512
410 #changeset_content .container .right{
513 #changeset_content .container .right{
411 float:right;
514 float:right;
412 width: 25%;
515 width: 25%;
413 text-align: right;
516 text-align: right;
414 }
517 }
415
518
416 #changeset_content .container .left .date{
519 #changeset_content .container .left .date{
417 font-weight:bold;
520 font-weight:bold;
418 }
521 }
419 #changeset_content .container .left .author{
522 #changeset_content .container .left .author{
420
523
421 }
524 }
422 #changeset_content .container .left .message{
525 #changeset_content .container .left .message{
423
526
424 }
527 }
425
528
426
529
427
530
428
531
429
532
430
533
431
534
432
535
433
536
434 .cs_files{
537 .cs_files{
435 border: 1px solid #CCCCCC;
538 border: 1px solid #CCCCCC;
436 width: 60%;
539 width: 60%;
437
540
438 }
541 }
439
542
440 .cs_files .cs_added{
543 .cs_files .cs_added{
441 background: url("/images/icons/page_white_add.png") no-repeat scroll 3px;
544 background: url("/images/icons/page_white_add.png") no-repeat scroll 3px;
442 /*background-color:#BBFFBB;*/
545 /*background-color:#BBFFBB;*/
443 height: 16px;
546 height: 16px;
444 padding-left: 20px;
547 padding-left: 20px;
445 margin-top: 7px;
548 margin-top: 7px;
446 text-align: left;
549 text-align: left;
447 }
550 }
448 .cs_files .cs_changed{
551 .cs_files .cs_changed{
449 background: url("/images/icons/page_white_edit.png") no-repeat scroll 3px;
552 background: url("/images/icons/page_white_edit.png") no-repeat scroll 3px;
450 /*background-color: #FFDD88;*/
553 /*background-color: #FFDD88;*/
451 height: 16px;
554 height: 16px;
452 padding-left: 20px;
555 padding-left: 20px;
453 margin-top: 7px;
556 margin-top: 7px;
454 text-align: left;
557 text-align: left;
455 }
558 }
456 .cs_files .cs_removed{
559 .cs_files .cs_removed{
457 background: url("/images/icons/page_white_delete.png") no-repeat scroll 3px;
560 background: url("/images/icons/page_white_delete.png") no-repeat scroll 3px;
458 /*background-color: #FF8888;*/
561 /*background-color: #FF8888;*/
459 height: 16px;
562 height: 16px;
460 padding-left: 20px;
563 padding-left: 20px;
461 margin-top: 7px;
564 margin-top: 7px;
462 text-align: left;
565 text-align: left;
463 }
566 }
464
567
465 /** end of changeset **/
568 /** end of changeset **/
466
569
467 /** canvas **/
570 /** canvas **/
468 canvas {
571 canvas {
469 position: absolute;
572 position: absolute;
470 z-index: 5;
573 z-index: 5;
471 top: -0.7em;
574 top: -0.7em;
472 }
575 }
473 #graph{
576 #graph{
474 overflow: hidden;
577 overflow: hidden;
475
578
476 }
579 }
477 #graph_nodes{
580 #graph_nodes{
478 width:160px;
581 width:160px;
479 float:left;
582 float:left;
480 }
583 }
481
584
482 #graph_content{
585 #graph_content{
483 width:800px;
586 width:800px;
484 float:left;
587 float:left;
485 }
588 }
486 #graph_content .container_header{
589 #graph_content .container_header{
487 border:1px solid #CCCCCC;
590 border:1px solid #CCCCCC;
488 height:30px;
591 height:30px;
489 background: #EEEEEE;
592 background: #EEEEEE;
490 }
593 }
491
594
492
595
493 #graph_content .container .wrapper{
596 #graph_content .container .wrapper{
494 width: 600px;
597 width: 600px;
495 }
598 }
496 #graph_content .container{
599 #graph_content .container{
497 border-bottom: 1px solid #CCCCCC;
600 border-bottom: 1px solid #CCCCCC;
498 border-left: 1px solid #CCCCCC;
601 border-left: 1px solid #CCCCCC;
499 border-right: 1px solid #CCCCCC;
602 border-right: 1px solid #CCCCCC;
500 height:120px;
603 height:120px;
501 }
604 }
502
605
503 #graph_content .container .left{
606 #graph_content .container .left{
504 float:left;
607 float:left;
505 width: 70%;
608 width: 70%;
506 padding-left: 5px;
609 padding-left: 5px;
507 }
610 }
508
611
509 #graph_content .container .right{
612 #graph_content .container .right{
510 float:right;
613 float:right;
511 width: 25%;
614 width: 25%;
512 text-align: right;
615 text-align: right;
513 }
616 }
514 #graph_content .container .left .date{
617 #graph_content .container .left .date{
515 font-weight:bold;
618 font-weight:bold;
516 }
619 }
517 #graph_content .container .left .author{
620 #graph_content .container .left .author{
518
621
519 }
622 }
520 #graph_content .container .left .message{
623 #graph_content .container .left .message{
521 font-size: 80%;
624 font-size: 80%;
522 }
625 }
523
626
524 .right div{
627 .right div{
525 clear: both;
628 clear: both;
526 }
629 }
527 .right .changes .added,.changed,.removed{
630 .right .changes .added,.changed,.removed{
528 border:1px solid #DDDDDD;
631 border:1px solid #DDDDDD;
529 display:block;
632 display:block;
530 float:right;
633 float:right;
531 font-size:0.75em;
634 font-size:0.75em;
532 text-align:center;
635 text-align:center;
533 min-width:15px;
636 min-width:15px;
534 }
637 }
535 .right .changes .added{
638 .right .changes .added{
536 background:#BBFFBB;
639 background:#BBFFBB;
537 }
640 }
538 .right .changes .changed{
641 .right .changes .changed{
539 background: #FFDD88;
642 background: #FFDD88;
540 }
643 }
541 .right .changes .removed{
644 .right .changes .removed{
542 background: #FF8888;
645 background: #FF8888;
543 }
646 }
544
647
545 .right .merge{
648 .right .merge{
546 vertical-align: top;
649 vertical-align: top;
547 font-size: 60%;
650 font-size: 60%;
548 font-weight: bold;
651 font-weight: bold;
549 }
652 }
550 .right .merge img{
653 .right .merge img{
551 vertical-align: bottom;
654 vertical-align: bottom;
552 }
655 }
553
656
554 .right .parent{
657 .right .parent{
555 font-size: 90%;
658 font-size: 90%;
556 font-family: monospace;
659 font-family: monospace;
557 }
660 }
558 /** end of canvas **/
661 /** end of canvas **/
559
662
560 /* FILE BROWSER */
663 /* FILE BROWSER */
561 div.browserblock {
664 div.browserblock {
562 overflow: hidden;
665 overflow: hidden;
563 padding: 0px;
666 padding: 0px;
564 border: 1px solid #ccc;
667 border: 1px solid #ccc;
565 background: #f8f8f8;
668 background: #f8f8f8;
566 font-size: 100%;
669 font-size: 100%;
567 line-height: 100%;
670 line-height: 100%;
568 /* new */
671 /* new */
569 line-height: 125%;
672 line-height: 125%;
570 }
673 }
571 div.browserblock .browser-header{
674 div.browserblock .browser-header{
572 border-bottom: 1px solid #CCCCCC;
675 border-bottom: 1px solid #CCCCCC;
573 background: #EEEEEE;
676 background: #EEEEEE;
574 color:blue;
677 color:blue;
575 padding:10px 0 10px 0;
678 padding:10px 0 10px 0;
576 }
679 }
577 div.browserblock .browser-header span{
680 div.browserblock .browser-header span{
578 margin-left:25px;
681 margin-left:25px;
579 font-weight: bold;
682 font-weight: bold;
580 }
683 }
581 div.browserblock .browser-body{
684 div.browserblock .browser-body{
582 background: #EEEEEE;
685 background: #EEEEEE;
583 }
686 }
584
687
585 table.code-browser {
688 table.code-browser {
586 border-collapse:collapse;
689 border-collapse:collapse;
587 width: 100%;
690 width: 100%;
588 }
691 }
589 table.code-browser tr{
692 table.code-browser tr{
590 margin:3px;
693 margin:3px;
591 }
694 }
592
695
593 table.code-browser thead th {
696 table.code-browser thead th {
594 background-color: #EEEEEE;
697 background-color: #EEEEEE;
595 height: 20px;
698 height: 20px;
596 font-size: 1.1em;
699 font-size: 1.1em;
597 font-weight: bold;
700 font-weight: bold;
598 text-align: center;
701 text-align: center;
599 text-align: left;
702 text-align: left;
600 padding-left: 10px;
703 padding-left: 10px;
601 }
704 }
602 table.code-browser tbody tr {
705 table.code-browser tbody tr {
603
706
604 }
707 }
605
708
606 table.code-browser tbody td {
709 table.code-browser tbody td {
607
710
608 padding-left:10px;
711 padding-left:10px;
609 height: 20px;
712 height: 20px;
610 }
713 }
611
714
612 .info-table {
715 .info-table {
613 background: none repeat scroll 0 0 #FAFAFA;
716 background: none repeat scroll 0 0 #FAFAFA;
614 border-bottom: 1px solid #DDDDDD;
717 border-bottom: 1px solid #DDDDDD;
615 width: 100%;
718 width: 100%;
616 }
719 }
617
720
618 .rss_logo {
721 .rss_logo {
619 background: url("/images/icons/rss_16.png") no-repeat scroll 3px;
722 background: url("/images/icons/rss_16.png") no-repeat scroll 3px;
620 height: 16px;
723 height: 16px;
621 padding-left: 20px;
724 padding-left: 20px;
622 padding-top: 0px;
725 padding-top: 0px;
623 text-align: left;
726 text-align: left;
624 }
727 }
625
728
626 .atom_logo {
729 .atom_logo {
627 background: url("/images/icons/atom.png") no-repeat scroll 3px;
730 background: url("/images/icons/atom.png") no-repeat scroll 3px;
628 height: 16px;
731 height: 16px;
629 padding-left: 20px;
732 padding-left: 20px;
630 padding-top: 0px;
733 padding-top: 0px;
631 text-align: left;
734 text-align: left;
632 }
735 }
633 .archive_logo{
736 .archive_logo{
634 background: url("/images/icons/compress.png") no-repeat scroll 3px;
737 background: url("/images/icons/compress.png") no-repeat scroll 3px;
635 height: 16px;
738 height: 16px;
636 padding-left: 20px;
739 padding-left: 20px;
637 text-align: left;
740 text-align: left;
638 }
741 }
639
742
640 .browser-file {
743 .browser-file {
641 background: url("/images/icons/document_16.png") no-repeat scroll 3px;
744 background: url("/images/icons/document_16.png") no-repeat scroll 3px;
642 height: 16px;
745 height: 16px;
643 padding-left: 20px;
746 padding-left: 20px;
644 text-align: left;
747 text-align: left;
645 }
748 }
646
749
647 .browser-dir {
750 .browser-dir {
648 background: url("/images/icons/folder_16.png") no-repeat scroll 3px;
751 background: url("/images/icons/folder_16.png") no-repeat scroll 3px;
649 height: 16px;
752 height: 16px;
650 padding-left: 20px;
753 padding-left: 20px;
651 text-align: left;
754 text-align: left;
652 }
755 }
653
756
654 .current_submenu {
655 border-bottom: 2px solid;
656 }
657
658 #repos_list {
757 #repos_list {
659 border: 1px solid #556CB5;
758 border: 1px solid #556CB5;
660 background: #FFFFFF;
759 background: #FFFFFF;
661 } No newline at end of file
760 }
@@ -1,28 +1,27 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="/base/base.html"/>
2 <%inherit file="/base/base.html"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${_('Administration')}
5 ${_('Administration')}
6 </%def>
6 </%def>
7 <%def name="breadcrumbs()">
7 <%def name="breadcrumbs()">
8 ${h.link_to(u'Admin',h.url('admin_home'))}
8 ${h.link_to(u'Admin',h.url('admin_home'))}
9 /
9 /
10 </%def>
10 </%def>
11 <%def name="page_nav()">
11 <%def name="page_nav()">
12 ${self.menu('admin')}
12 ${self.menu('admin')}
13 ${self.submenu('')}
13 ${self.submenu('')}
14 </%def>
14 </%def>
15 <%def name="main()">
15 <%def name="main()">
16 %if c.admin_user:
16 %if c.admin_user:
17 <div>
17 <div>
18 <h2>Welcome ${c.admin_username}</h2>
18 <h2>Welcome ${c.admin_username}</h2>
19 ${_('Last actions')}
20 <div id="user_log">
19 <div id="user_log">
21 ${c.log_data}
20 ${c.log_data}
22 </div>
21 </div>
23 </div>
22 </div>
24 %else:
23 %else:
25 <h2>${_('Sorry only admin users can acces this area')}</h2>
24 <h2>${_('Sorry only admin users can acces this area')}</h2>
26 %endif
25 %endif
27
26
28 </%def> No newline at end of file
27 </%def>
@@ -1,38 +1,38 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 %if c.users_log:
2 %if c.users_log:
3 <table>
3 <table class="table_disp">
4 <tr>
4 <tr class="header">
5 <td>${_('Username')}</td>
5 <td>${_('Username')}</td>
6 <td>${_('Repository')}</td>
6 <td>${_('Repository')}</td>
7 <td>${_('Action')}</td>
7 <td>${_('Action')}</td>
8 <td>${_('Date')}</td>
8 <td>${_('Date')}</td>
9 </tr>
9 </tr>
10
10
11 %for cnt,l in enumerate(c.users_log):
11 %for cnt,l in enumerate(c.users_log):
12 <tr class="parity${cnt%2}">
12 <tr class="parity${cnt%2}">
13 <td>${l.user.username}</td>
13 <td>${l.user.username}</td>
14 <td>${l.repository}</td>
14 <td>${l.repository}</td>
15 <td>${l.action}</td>
15 <td>${l.action}</td>
16 <td>${l.action_date}</td>
16 <td>${l.action_date}</td>
17 </tr>
17 </tr>
18 %endfor
18 %endfor
19
19
20 </table>
20 </table>
21 <div>
21 <div>
22 <script type="text/javascript">
22 <script type="text/javascript">
23 var data_div = 'user_log';
23 var data_div = 'user_log';
24 YAHOO.util.Event.onDOMReady(function(){
24 YAHOO.util.Event.onDOMReady(function(){
25 YAHOO.util.Event.addListener(YAHOO.util.Dom.getElementsByClassName('pager_link'),"click",function(){
25 YAHOO.util.Event.addListener(YAHOO.util.Dom.getElementsByClassName('pager_link'),"click",function(){
26 YAHOO.util.Dom.setStyle('shortlog_data','opacity','0.3');});});
26 YAHOO.util.Dom.setStyle('shortlog_data','opacity','0.3');});});
27 </script>
27 </script>
28 <h2>${c.users_log.pager('$link_previous ~2~ $link_next',
28 <h2>${c.users_log.pager('$link_previous ~2~ $link_next',
29 onclick="""YAHOO.util.Connect.asyncRequest('GET','$partial_url',{
29 onclick="""YAHOO.util.Connect.asyncRequest('GET','$partial_url',{
30 success:function(o){YAHOO.util.Dom.get(data_div).innerHTML=o.responseText;
30 success:function(o){YAHOO.util.Dom.get(data_div).innerHTML=o.responseText;
31 YAHOO.util.Event.addListener(YAHOO.util.Dom.getElementsByClassName('pager_link'),"click",function(){
31 YAHOO.util.Event.addListener(YAHOO.util.Dom.getElementsByClassName('pager_link'),"click",function(){
32 YAHOO.util.Dom.setStyle(data_div,'opacity','0.3');});
32 YAHOO.util.Dom.setStyle(data_div,'opacity','0.3');});
33 YAHOO.util.Dom.setStyle(data_div,'opacity','1');}},null); return false;""")}
33 YAHOO.util.Dom.setStyle(data_div,'opacity','1');}},null); return false;""")}
34 </h2>
34 </h2>
35 </div>
35 </div>
36 %else:
36 %else:
37 ${_('No actions yet')}
37 ${_('No actions yet')}
38 %endif
38 %endif
@@ -1,32 +1,38 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="/base/base.html"/>
2 <%inherit file="/base/base.html"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${_('Repositories administration')}
5 ${_('Repositories administration')}
6 </%def>
6 </%def>
7 <%def name="breadcrumbs()">
7 <%def name="breadcrumbs()">
8 ${h.link_to(u'Admin',h.url('admin_home'))}
8 ${h.link_to(u'Admin',h.url('admin_home'))}
9 /
9 /
10 </%def>
10 </%def>
11 <%def name="page_nav()">
11 <%def name="page_nav()">
12 ${self.menu('admin')}
12 ${self.menu('admin')}
13 ${self.submenu('repos')}
13 ${self.submenu('repos')}
14 </%def>
14 </%def>
15 <%def name="main()">
15 <%def name="main()">
16 <div>
16 <div>
17 <h2>${_('Repositories administration')}</h2>
17 <h2>${_('Repositories administration')}</h2>
18 <table>
18 <table class="table_disp">
19 <tr class="header">
20 <td>${_('name')}</td>
21 <td>${_('last revision')}</td>
22 <td>${_('action')}</td>
23 </tr>
19 %for cnt,repo in enumerate(c.repos_list):
24 %for cnt,repo in enumerate(c.repos_list):
20 <tr class="parity${cnt%2}">
25 <tr class="parity${cnt%2}">
21 <td>${h.link_to(repo['name'],h.url('summary_home',repo_name=repo['name']))}</td>
26 <td>${h.link_to(repo['name'],h.url('summary_home',repo_name=repo['name']))}</td>
22 <td>r${repo['rev']}:${repo['tip']}</td>
27 <td>r${repo['rev']}:${repo['tip']}</td>
23 <td>
28 <td>
24 ${h.form(url('repo', id=repo['name']),method='delete')}
29 ${h.form(url('repo', id=repo['name']),method='delete')}
25 ${h.submit('remove','remove',class_="submit",onclick="return confirm('Confirm to delete this repository');")}
30 ${h.submit('remove','delete',class_="delete_icon action_button",onclick="return confirm('Confirm to delete this repository');")}
26 ${h.end_form()}
31 ${h.end_form()}
27 </td>
32 </td>
28 </tr>
33 </tr>
29 %endfor
34 %endfor
30 </table>
35 </table>
36 <span class="add_icon">${h.link_to(u'add repo',h.url('new_repo'))}</span>
31 </div>
37 </div>
32 </%def>
38 </%def>
@@ -1,42 +1,42 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="/base/base.html"/>
2 <%inherit file="/base/base.html"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${_('Users administration')}
5 ${_('Users administration')}
6 </%def>
6 </%def>
7 <%def name="breadcrumbs()">
7 <%def name="breadcrumbs()">
8 ${h.link_to(u'Admin',h.url('admin_home'))}
8 ${h.link_to(u'Admin',h.url('admin_home'))}
9 /
9 /
10 </%def>
10 </%def>
11 <%def name="page_nav()">
11 <%def name="page_nav()">
12 ${self.menu('admin')}
12 ${self.menu('admin')}
13 ${self.submenu('users')}
13 ${self.submenu('users')}
14 </%def>
14 </%def>
15 <%def name="main()">
15 <%def name="main()">
16 <div>
16 <div>
17 <h2>${_('Mercurial users')}</h2>
17 <h2>${_('Mercurial users')}</h2>
18 <table>
18 <table class="table_disp">
19 <tr>
19 <tr class="header">
20 <th>Id</th>
20 <td>ID</td>
21 <th>Username</th>
21 <td>Username</td>
22 <th>Active</th>
22 <td>Active</td>
23 <th>Admin</th>
23 <td>Admin</td>
24 <th>Action</th>
24 <td>Action</td>
25 </tr>
25 </tr>
26 %for user in c.users_list:
26 %for user in c.users_list:
27 <tr>
27 <tr>
28 <td>${user.user_id}</td>
28 <td>${user.user_id}</td>
29 <td>${h.link_to(user.username,h.url('edit_user', id=user.user_id))}</td>
29 <td>${h.link_to(user.username,h.url('edit_user', id=user.user_id))}</td>
30 <td>${user.active}</td>
30 <td>${user.active}</td>
31 <td>${user.admin}</td>
31 <td>${user.admin}</td>
32 <td>
32 <td>
33 ${h.form(url('user', id=user.user_id),method='delete')}
33 ${h.form(url('user', id=user.user_id),method='delete')}
34 ${h.submit('remove','remove',class_="submit")}
34 ${h.submit('remove','delete',class_="delete_icon action_button")}
35 ${h.end_form()}
35 ${h.end_form()}
36 </td>
36 </td>
37 </tr>
37 </tr>
38 %endfor
38 %endfor
39 </table>
39 </table>
40 <h3>${h.link_to(u'Add user',h.url('new_user'))}</h3>
40 <span class="add_icon">${h.link_to(u'add user',h.url('new_user'))}</span>
41 </div>
41 </div>
42 </%def>
42 </%def>
@@ -1,142 +1,142 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" id="mainhtml">
3 <html xmlns="http://www.w3.org/1999/xhtml" id="mainhtml">
4 <head>
4 <head>
5 <link rel="icon" href="/images/hgicon.png" type="image/png" />
5 <link rel="icon" href="/images/hgicon.png" type="image/png" />
6 <meta name="robots" content="index, nofollow"/>
6 <meta name="robots" content="index, nofollow"/>
7 <title>${next.title()}</title>
7 <title>${next.title()}</title>
8 ##For future use yui reset for cross browser compatability.
8 ##For future use yui reset for cross browser compatability.
9 ##<link rel="stylesheet" href="/js/yui/reset-fonts-grids/reset-fonts-grids.css" type="text/css" />
9 ##<link rel="stylesheet" href="/js/yui/reset-fonts-grids/reset-fonts-grids.css" type="text/css" />
10 ${self.css()}
10 ${self.css()}
11 ${self.js()}
11 ${self.js()}
12 </head>
12 </head>
13
13
14 <body class="mainbody">
14 <body class="mainbody">
15 <div id="container">
15 <div id="container">
16 <div class="page-header">
16 <div class="page-header">
17 <h1>${next.breadcrumbs()}</h1>
17 <h1>${next.breadcrumbs()}</h1>
18 ${self.page_nav()}
18 ${self.page_nav()}
19 <div id="main">
19 <div id="main">
20 ${next.main()}
20 ${next.main()}
21 </div>
21 </div>
22 <div class="page-footer">
22 <div class="page-footer">
23 Hg App ${c.hg_app_version} &copy; 2010 by Marcin Kuzminski
23 Hg App ${c.hg_app_version} &copy; 2010 by Marcin Kuzminski
24 </div>
24 </div>
25
25
26 <div id="powered-by">
26 <div id="powered-by">
27 <p>
27 <p>
28 <a href="http://mercurial.selenic.com/" title="Mercurial">
28 <a href="http://mercurial.selenic.com/" title="Mercurial">
29 <img src="/images/hglogo.png" width="75" height="90" alt="mercurial"/></a>
29 <img src="/images/hglogo.png" width="75" height="90" alt="mercurial"/></a>
30 </p>
30 </p>
31 </div>
31 </div>
32
32
33 <div id="corner-top-left"></div>
33 <div id="corner-top-left"></div>
34 <div id="corner-top-right"></div>
34 <div id="corner-top-right"></div>
35 <div id="corner-bottom-left"></div>
35 <div id="corner-bottom-left"></div>
36 <div id="corner-bottom-right"></div>
36 <div id="corner-bottom-right"></div>
37
37
38 </div>
38 </div>
39 </body>
39 </body>
40 </html>
40 </html>
41
41
42 ### MAKO DEFS ###
42 ### MAKO DEFS ###
43
43
44 <%def name="page_nav()">
44 <%def name="page_nav()">
45 ${self.menu()}
45 ${self.menu()}
46 ${self.submenu()}
46 ${self.submenu()}
47 </%def>
47 </%def>
48
48
49 <%def name="menu(current)">
49 <%def name="menu(current)">
50 <%
50 <%
51 def is_current(selected):
51 def is_current(selected):
52 if selected == current:
52 if selected == current:
53 return "class='current'"
53 return "class='current'"
54 %>
54 %>
55 %if current not in ['home','admin']:
55 %if current not in ['home','admin']:
56 ##regular menu
56 ##regular menu
57 <script type="text/javascript">
57 <script type="text/javascript">
58 YAHOO.util.Event.onDOMReady(function(){
58 YAHOO.util.Event.onDOMReady(function(){
59 YAHOO.util.Event.addListener('repo_switcher','click',function(){
59 YAHOO.util.Event.addListener('repo_switcher','click',function(){
60 if(YAHOO.util.Dom.hasClass('repo_switcher','selected')){
60 if(YAHOO.util.Dom.hasClass('repo_switcher','selected')){
61 YAHOO.util.Dom.setStyle('switch_repos','display','none');
61 YAHOO.util.Dom.setStyle('switch_repos','display','none');
62 YAHOO.util.Dom.setStyle('repo_switcher','background','');
62 YAHOO.util.Dom.setStyle('repo_switcher','background','');
63 YAHOO.util.Dom.removeClass('repo_switcher','selected');
63 YAHOO.util.Dom.removeClass('repo_switcher','selected');
64 }
64 }
65 else{
65 else{
66 YAHOO.util.Dom.setStyle('switch_repos','display','');
66 YAHOO.util.Dom.setStyle('switch_repos','display','');
67 YAHOO.util.Dom.setStyle('repo_switcher','background','#FFFFFF');
67 YAHOO.util.Dom.setStyle('repo_switcher','background','#FFFFFF');
68 YAHOO.util.Dom.addClass('repo_switcher','selected');
68 YAHOO.util.Dom.addClass('repo_switcher','selected');
69 }
69 }
70 });
70 });
71 YAHOO.util.Event.addListener('repos_list','change',function(e){
71 YAHOO.util.Event.addListener('repos_list','change',function(e){
72 var wa = YAHOO.util.Dom.get('repos_list').value;
72 var wa = YAHOO.util.Dom.get('repos_list').value;
73
73
74 var url = "${h.url('summary_home',repo_name='__REPLACE__')}".replace('__REPLACE__',wa);
74 var url = "${h.url('summary_home',repo_name='__REPLACE__')}".replace('__REPLACE__',wa);
75 window.location = url;
75 window.location = url;
76 })
76 })
77 });
77 });
78 </script>
78 </script>
79 <ul class="page-nav">
79 <ul class="page-nav">
80 <li>
80 <li>
81 <a id="repo_switcher" title="${_('Switch repository')}" href="#">&darr;</a>
81 <a id="repo_switcher" title="${_('Switch repository')}" href="#">&darr;</a>
82 <div id="switch_repos" style="display:none;position: absolute;width: 150px;height: 25px">
82 <div id="switch_repos" style="display:none;position: absolute;width: 150px;height: 25px">
83 <select id="repos_list" size="=10">
83 <select id="repos_list" size="=10">
84 %for repo in c.cached_repo_list:
84 %for repo in c.cached_repo_list:
85 <option value="${repo['name']}">${repo['name']}</option>
85 <option value="${repo['name']}">${repo['name']}</option>
86 %endfor
86 %endfor
87 </select>
87 </select>
88 </div>
88 </div>
89 </li>
89 </li>
90 <li ${is_current('summary')}>${h.link_to(_('summary'),h.url('summary_home',repo_name=c.repo_name))}</li>
90 <li ${is_current('summary')}>${h.link_to(_('summary'),h.url('summary_home',repo_name=c.repo_name))}</li>
91 <li ${is_current('shortlog')}>${h.link_to(_('shortlog'),h.url('shortlog_home',repo_name=c.repo_name))}</li>
91 <li ${is_current('shortlog')}>${h.link_to(_('shortlog'),h.url('shortlog_home',repo_name=c.repo_name))}</li>
92 <li ${is_current('changelog')}>${h.link_to(_('changelog'),h.url('changelog_home',repo_name=c.repo_name))}</li>
92 <li ${is_current('changelog')}>${h.link_to(_('changelog'),h.url('changelog_home',repo_name=c.repo_name))}</li>
93 <li ${is_current('branches')}>${h.link_to(_('branches'),h.url('branches_home',repo_name=c.repo_name))}</li>
93 <li ${is_current('branches')}>${h.link_to(_('branches'),h.url('branches_home',repo_name=c.repo_name))}</li>
94 <li ${is_current('tags')}>${h.link_to(_('tags'),h.url('tags_home',repo_name=c.repo_name))}</li>
94 <li ${is_current('tags')}>${h.link_to(_('tags'),h.url('tags_home',repo_name=c.repo_name))}</li>
95 <li ${is_current('files')}>${h.link_to(_('files'),h.url('files_home',repo_name=c.repo_name))}</li>
95 <li ${is_current('files')}>${h.link_to(_('files'),h.url('files_home',repo_name=c.repo_name))}</li>
96 </ul>
96 </ul>
97 %else:
97 %else:
98 ##Root menu
98 ##Root menu
99 <ul class="page-nav">
99 <ul class="page-nav">
100 <li ${is_current('home')}>${h.link_to(_('Home'),h.url('/'))}</li>
100 <li ${is_current('home')}>${h.link_to(_('Home'),h.url('/'))}</li>
101 <li ${is_current('admin')}>${h.link_to(_('Admin'),h.url('admin_home'))}</li>
101 <li ${is_current('admin')}>${h.link_to(_('Admin'),h.url('admin_home'))}</li>
102 <li class="logout">${h.link_to(u'Logout',h.url('logout_home'))}</li>
102 <li class="logout">${h.link_to(u'Logout',h.url('logout_home'))}</li>
103 </ul>
103 </ul>
104 %endif
104 %endif
105 </div>
105 </div>
106 </%def>
106 </%def>
107 <%def name="submenu(current=None)">
107 <%def name="submenu(current=None)">
108 <%
108 <%
109 def is_current(selected):
109 def is_current(selected):
110 if selected == current:
110 if selected == current:
111 return "class='current_submenu'"
111 return "class='current_submenu'"
112 %>
112 %>
113 %if current != None:
113 %if current != None:
114 <div>
114 <div>
115 <ul class="submenu">
115 <ul class="submenu">
116 <li ${is_current('repos')}>${h.link_to(u'repos',h.url('repos'))}</li>
116 <li ${is_current('repos')}>${h.link_to(u'repos',h.url('repos'),class_='repos')}</li>
117 <li ${is_current('users')}>${h.link_to(u'users',h.url('users'))}</li>
117 <li ${is_current('users')}>${h.link_to(u'users',h.url('users'),class_='users')}</li>
118 <li ${is_current('permissions')}>${h.link_to(u'permissions',h.url('permissions'),class_='permissions')}</li>
118 </ul>
119 </ul>
119 <br/>
120 </div>
120 </div>
121 %endif
121 %endif
122 </%def>
122 </%def>
123
123
124
124
125 <%def name="css()">
125 <%def name="css()">
126 <link rel="stylesheet" href="/css/monoblue_custom.css" type="text/css" />
126 <link rel="stylesheet" href="/css/monoblue_custom.css" type="text/css" />
127 </%def>
127 </%def>
128
128
129 <%def name="js()">
129 <%def name="js()">
130 <script type="text/javascript" src="/js/yui/utilities/utilities.js"></script>
130 <script type="text/javascript" src="/js/yui/utilities/utilities.js"></script>
131 </%def>
131 </%def>
132
132
133 <!-- DEFINITION OF FORM ERROR FETCHER -->
133 <!-- DEFINITION OF FORM ERROR FETCHER -->
134 <%def name="get_form_error(element)">
134 <%def name="get_form_error(element)">
135 %if hasattr(c,'form_errors') and type(c.form_errors) == dict:
135 %if hasattr(c,'form_errors') and type(c.form_errors) == dict:
136 %if c.form_errors.get(element,False):
136 %if c.form_errors.get(element,False):
137 <span class="error-message">
137 <span class="error-message">
138 ${c.form_errors.get(element,'')}
138 ${c.form_errors.get(element,'')}
139 </span>
139 </span>
140 %endif
140 %endif
141 %endif
141 %endif
142 </%def> No newline at end of file
142 </%def>
@@ -1,120 +1,136 b''
1 <%inherit file="/base/base.html"/>
1 <%inherit file="/base/base.html"/>
2 <%!
2 <%!
3 from pylons_app.lib import filters
3 from pylons_app.lib import filters
4 %>
4 %>
5 <%def name="title()">
5 <%def name="title()">
6 ${_('Repository managment')}
6 ${_('Repository managment')}
7 </%def>
7 </%def>
8 <%def name="breadcrumbs()">
8 <%def name="breadcrumbs()">
9 ${h.link_to(u'Home',h.url('/'))}
9 ${h.link_to(u'Home',h.url('/'))}
10 /
10 /
11 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
11 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
12 /
12 /
13 ${_('summary')}
13 ${_('summary')}
14 </%def>
14 </%def>
15 <%def name="page_nav()">
15 <%def name="page_nav()">
16 ${self.menu('summary')}
16 ${self.menu('summary')}
17 </%def>
17 </%def>
18
19 <%def name="js()">
20 <script type="text/javascript" src="/js/yui/utilities/utilities.js"></script>
21 <script type="text/javascript">
22 var E = YAHOO.util.Event;
23 var D = YAHOO.util.Dom;
24
25 E.onDOMReady(function(e){
26 id = 'clone_url';
27 E.addListener(id,'click',function(e){
28 D.get('clone_url').select();
29 })
30 })
31 </script>
32 </%def>
33
18 <%def name="main()">
34 <%def name="main()">
19 <h2 class="no-link no-border">${_('Mercurial Repository Overview')}</h2>
35 <h2 class="no-link no-border">${_('Mercurial Repository Overview')}</h2>
20 <dl class="overview">
36 <dl class="overview">
21 <dt>${_('name')}</dt>
37 <dt>${_('name')}</dt>
22 <dd>${c.repo_info.name}</dd>
38 <dd>${c.repo_info.name}</dd>
23 <dt>${_('description')}</dt>
39 <dt>${_('description')}</dt>
24 <dd>${c.repo_info.description}</dd>
40 <dd>${c.repo_info.description}</dd>
25 <dt>${_('contact')}</dt>
41 <dt>${_('contact')}</dt>
26 <dd>${c.repo_info.contact}</dd>
42 <dd>${c.repo_info.contact}</dd>
27 <dt>${_('last change')}</dt>
43 <dt>${_('last change')}</dt>
28 <dd>${c.repo_info.last_change|n,filters.rfc822date} - ${c.repo_info.last_change|n,filters.age}</dd>
44 <dd>${c.repo_info.last_change|n,filters.rfc822date} - ${c.repo_info.last_change|n,filters.age}</dd>
29 <dt>${_('url')}</dt>
45 <dt>${_('clone url')}</dt>
30 <dd><pre style="margin:0">hg clone <a href="${c.clone_repo_url}">${c.clone_repo_url}</a></pre></dd>
46 <dd><input type="text" id="clone_url" readonly="readonly" value="hg clone ${c.clone_repo_url}" size="40"/></dd>
31 <dt>${_('download')}</dt>
47 <dt>${_('download')}</dt>
32 <dd>
48 <dd>
33 %for cnt,archive in enumerate(c.repo_info._get_archives()):
49 %for cnt,archive in enumerate(c.repo_info._get_archives()):
34 %if cnt >=1:
50 %if cnt >=1:
35 |
51 |
36 %endif
52 %endif
37 ${h.link_to(c.repo_info.name+'.'+archive['type'],
53 ${h.link_to(c.repo_info.name+'.'+archive['type'],
38 h.url('files_archive_home',repo_name=c.repo_info.name,
54 h.url('files_archive_home',repo_name=c.repo_info.name,
39 revision='tip',fileformat=archive['extension']),class_="archive_logo")}
55 revision='tip',fileformat=archive['extension']),class_="archive_logo")}
40 %endfor
56 %endfor
41 </dd>
57 </dd>
42 </dl>
58 </dl>
43
59
44 <h2>${h.link_to(_('Changes'),h.url('changelog_home',repo_name=c.repo_name))}</h2>
60 <h2>${h.link_to(_('Changes'),h.url('changelog_home',repo_name=c.repo_name))}</h2>
45 <table>
61 <table>
46 <%def name="message_slug(msg)">
62 <%def name="message_slug(msg)">
47 <%
63 <%
48 limit = 60
64 limit = 60
49 if len(msg) > limit:
65 if len(msg) > limit:
50 return msg[:limit]+'...'
66 return msg[:limit]+'...'
51 else:
67 else:
52 return msg
68 return msg
53 %>
69 %>
54 </%def>
70 </%def>
55 %for cnt,cs in enumerate(c.repo_changesets):
71 %for cnt,cs in enumerate(c.repo_changesets):
56 <tr class="parity${cnt%2}">
72 <tr class="parity${cnt%2}">
57 <td>${cs._ctx.date()|n,filters.age}</td>
73 <td>${cs._ctx.date()|n,filters.age}</td>
58 <td>${cs.author|n,filters.person}</td>
74 <td>${cs.author|n,filters.person}</td>
59 <td>r${cs.revision}</td>
75 <td>r${cs.revision}</td>
60 <td>
76 <td>
61 ${h.link_to(message_slug(cs.message),
77 ${h.link_to(message_slug(cs.message),
62 h.url('changeset_home',repo_name=c.repo_name,revision=cs._short),
78 h.url('changeset_home',repo_name=c.repo_name,revision=cs._short),
63 title=cs.message)}
79 title=cs.message)}
64 </td>
80 </td>
65 <td>
81 <td>
66 <span class="logtags">
82 <span class="logtags">
67 <span class="branchtag">${cs.branch}</span>
83 <span class="branchtag">${cs.branch}</span>
68 %for tag in cs.tags:
84 %for tag in cs.tags:
69 <span class="tagtag">${tag}</span>
85 <span class="tagtag">${tag}</span>
70 %endfor
86 %endfor
71 </span>
87 </span>
72 </td>
88 </td>
73 <td class="nowrap">
89 <td class="nowrap">
74 ${h.link_to(_('changeset'),h.url('changeset_home',repo_name=c.repo_name,revision=cs._short))}
90 ${h.link_to(_('changeset'),h.url('changeset_home',repo_name=c.repo_name,revision=cs._short))}
75 |
91 |
76 ${h.link_to(_('files'),h.url('files_home',repo_name=c.repo_name,revision=cs._short))}
92 ${h.link_to(_('files'),h.url('files_home',repo_name=c.repo_name,revision=cs._short))}
77 </td>
93 </td>
78 </tr>
94 </tr>
79 %endfor
95 %endfor
80 </table>
96 </table>
81
97
82 <h2>${h.link_to(_('Tags'),h.url('tags_home',repo_name=c.repo_name))}</h2>
98 <h2>${h.link_to(_('Tags'),h.url('tags_home',repo_name=c.repo_name))}</h2>
83 <table>
99 <table>
84 %for cnt,tag in enumerate(c.repo_tags):
100 %for cnt,tag in enumerate(c.repo_tags):
85 <tr class="parity${cnt%2}">
101 <tr class="parity${cnt%2}">
86 <td>${tag._ctx.date()|n,filters.age}</td>
102 <td>${tag._ctx.date()|n,filters.age}</td>
87 <td>
103 <td>
88 <span class="logtags">
104 <span class="logtags">
89 <span class="tagtag">${h.link_to(tag.tags[-1],h.url('changeset_home',repo_name=c.repo_name,revision=tag._short))}</span>
105 <span class="tagtag">${h.link_to(tag.tags[-1],h.url('changeset_home',repo_name=c.repo_name,revision=tag._short))}</span>
90 </span>
106 </span>
91 </td>
107 </td>
92 <td class="nowrap">
108 <td class="nowrap">
93 ${h.link_to(_('changeset'),h.url('changeset_home',repo_name=c.repo_name,revision=tag._short))}
109 ${h.link_to(_('changeset'),h.url('changeset_home',repo_name=c.repo_name,revision=tag._short))}
94 |
110 |
95 ${h.link_to(_('files'),h.url('files_home',repo_name=c.repo_name,revision=tag._short))}
111 ${h.link_to(_('files'),h.url('files_home',repo_name=c.repo_name,revision=tag._short))}
96 </td>
112 </td>
97 </tr>
113 </tr>
98 %endfor
114 %endfor
99 </table>
115 </table>
100
116
101 <h2>${h.link_to(_('Branches'),h.url('branches_home',repo_name=c.repo_name))}</h2>
117 <h2>${h.link_to(_('Branches'),h.url('branches_home',repo_name=c.repo_name))}</h2>
102 <table>
118 <table>
103 %for cnt,branch in enumerate(c.repo_branches):
119 %for cnt,branch in enumerate(c.repo_branches):
104 <tr class="parity${cnt%2}">
120 <tr class="parity${cnt%2}">
105 <td>${branch._ctx.date()|n,filters.age}</td>
121 <td>${branch._ctx.date()|n,filters.age}</td>
106 <td>
122 <td>
107 <span class="logtags">
123 <span class="logtags">
108 <span class="branchtag">${h.link_to(branch.branch,h.url('changeset_home',repo_name=c.repo_name,revision=branch._short))}</span>
124 <span class="branchtag">${h.link_to(branch.branch,h.url('changeset_home',repo_name=c.repo_name,revision=branch._short))}</span>
109 </span>
125 </span>
110 </td>
126 </td>
111 <td class="nowrap">
127 <td class="nowrap">
112 ${h.link_to(_('changeset'),h.url('changeset_home',repo_name=c.repo_name,revision=branch._short))}
128 ${h.link_to(_('changeset'),h.url('changeset_home',repo_name=c.repo_name,revision=branch._short))}
113 |
129 |
114 ${h.link_to(_('files'),h.url('files_home',repo_name=c.repo_name,revision=branch._short))}
130 ${h.link_to(_('files'),h.url('files_home',repo_name=c.repo_name,revision=branch._short))}
115 </td>
131 </td>
116 </tr>
132 </tr>
117 %endfor
133 %endfor
118 </table>
134 </table>
119
135
120 </%def> No newline at end of file
136 </%def>
General Comments 0
You need to be logged in to leave comments. Login now