##// END OF EJS Templates
gui-improvments
marcink -
r1304:5a96551e beta
parent child Browse files
Show More
@@ -1,71 +1,79 b''
1 1 """The base Controller API
2 2
3 3 Provides the BaseController class for subclassing.
4 4 """
5 import copy
6
5 7 from pylons import config, tmpl_context as c, request, session
6 8 from pylons.controllers import WSGIController
7 9 from pylons.templating import render_mako as render
10
8 11 from rhodecode import __version__
9 12 from rhodecode.lib.auth import AuthUser
10 13 from rhodecode.lib.utils import get_repo_slug
11 14 from rhodecode.model import meta
12 15 from rhodecode.model.scm import ScmModel
13 16 from rhodecode import BACKENDS
14 17
15 18 class BaseController(WSGIController):
16 19
17 20 def __before__(self):
18 21 c.rhodecode_version = __version__
19 22 c.rhodecode_name = config.get('rhodecode_title')
20 23 c.ga_code = config.get('rhodecode_ga_code')
21 24 c.repo_name = get_repo_slug(request)
22 25 c.backends = BACKENDS.keys()
23 26 self.cut_off_limit = int(config.get('cut_off_limit'))
24 27
25 28 self.sa = meta.Session()
26 29 self.scm_model = ScmModel(self.sa)
27 30 c.cached_repo_list = self.scm_model.get_repos()
28 31 #c.unread_journal = scm_model.get_unread_journal()
29 32
30 33 def __call__(self, environ, start_response):
31 34 """Invoke the Controller"""
32 35 # WSGIController.__call__ dispatches to the Controller method
33 36 # the request is routed to. This routing information is
34 37 # available in environ['pylons.routes_dict']
35 38 try:
36 39 #putting this here makes sure that we update permissions every time
37 40 api_key = request.GET.get('api_key')
38 41 user_id = getattr(session.get('rhodecode_user'), 'user_id', None)
39 42 self.rhodecode_user = c.rhodecode_user = AuthUser(user_id, api_key)
40 43 self.rhodecode_user.set_authenticated(
41 44 getattr(session.get('rhodecode_user'),
42 45 'is_authenticated', False))
43 46 session['rhodecode_user'] = self.rhodecode_user
44 47 session.save()
45 48 return WSGIController.__call__(self, environ, start_response)
46 49 finally:
47 50 meta.Session.remove()
48 51
49 52
50 53 class BaseRepoController(BaseController):
51 54 """
52 55 Base class for controllers responsible for loading all needed data
53 56 for those controllers, loaded items are
54 57
55 58 c.rhodecode_repo: instance of scm repository (taken from cache)
56 59
57 60 """
58 61
59 62 def __before__(self):
60 63 super(BaseRepoController, self).__before__()
61 64 if c.repo_name:
62 65
63 c.rhodecode_repo, dbrepo = self.scm_model.get(c.repo_name,
64 retval='repo')
66 r, dbrepo = self.scm_model.get(c.repo_name, retval='repo')
65 67
66 if c.rhodecode_repo is not None:
68 if r is not None:
67 69 c.repository_followers = self.scm_model.get_followers(c.repo_name)
68 70 c.repository_forks = self.scm_model.get_forks(c.repo_name)
69 71 else:
70 72 c.repository_followers = 0
71 73 c.repository_forks = 0
74
75 # Since RhodeCode uses heavy memory caching we make a deepcopy
76 # of object taken from cache. This way we lose reference to cached
77 # instance in memory and keep it relatively small even for
78 # very large number of changesets
79 c.rhodecode_repo = copy.copy(r)
@@ -1,2546 +1,2567 b''
1 1 html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td {
2 2 border:0;
3 3 outline:0;
4 4 font-size:100%;
5 5 vertical-align:baseline;
6 6 background:transparent;
7 7 margin:0;
8 8 padding:0;
9 9 }
10 10
11 11 body {
12 12 line-height:1;
13 13 height:100%;
14 14 background:url("../images/background.png") repeat scroll 0 0 #B0B0B0;
15 15 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
16 16 font-size:12px;
17 17 color:#000;
18 18 margin:0;
19 19 padding:0;
20 20 }
21 21
22 22 ol,ul {
23 23 list-style:none;
24 24 }
25 25
26 26 blockquote,q {
27 27 quotes:none;
28 28 }
29 29
30 30 blockquote:before,blockquote:after,q:before,q:after {
31 31 content:none;
32 32 }
33 33
34 34 :focus {
35 35 outline:0;
36 36 }
37 37
38 38 del {
39 39 text-decoration:line-through;
40 40 }
41 41
42 42 table {
43 43 border-collapse:collapse;
44 44 border-spacing:0;
45 45 }
46 46
47 47 html {
48 48 height:100%;
49 49 }
50 50
51 51 a {
52 52 color:#003367;
53 53 text-decoration:none;
54 54 cursor:pointer;
55 55 font-weight:700;
56 56 }
57 57
58 58 a:hover {
59 59 color:#316293;
60 60 text-decoration:underline;
61 61 }
62 62
63 63 h1,h2,h3,h4,h5,h6 {
64 64 color:#292929;
65 65 font-weight:700;
66 66 }
67 67
68 68 h1 {
69 69 font-size:22px;
70 70 }
71 71
72 72 h2 {
73 73 font-size:20px;
74 74 }
75 75
76 76 h3 {
77 77 font-size:18px;
78 78 }
79 79
80 80 h4 {
81 81 font-size:16px;
82 82 }
83 83
84 84 h5 {
85 85 font-size:14px;
86 86 }
87 87
88 88 h6 {
89 89 font-size:11px;
90 90 }
91 91
92 92 ul.circle {
93 93 list-style-type:circle;
94 94 }
95 95
96 96 ul.disc {
97 97 list-style-type:disc;
98 98 }
99 99
100 100 ul.square {
101 101 list-style-type:square;
102 102 }
103 103
104 104 ol.lower-roman {
105 105 list-style-type:lower-roman;
106 106 }
107 107
108 108 ol.upper-roman {
109 109 list-style-type:upper-roman;
110 110 }
111 111
112 112 ol.lower-alpha {
113 113 list-style-type:lower-alpha;
114 114 }
115 115
116 116 ol.upper-alpha {
117 117 list-style-type:upper-alpha;
118 118 }
119 119
120 120 ol.decimal {
121 121 list-style-type:decimal;
122 122 }
123 123
124 124 div.color {
125 125 clear:both;
126 126 overflow:hidden;
127 127 position:absolute;
128 128 background:#FFF;
129 129 margin:7px 0 0 60px;
130 130 padding:1px 1px 1px 0;
131 131 }
132 132
133 133 div.color a {
134 134 width:15px;
135 135 height:15px;
136 136 display:block;
137 137 float:left;
138 138 margin:0 0 0 1px;
139 139 padding:0;
140 140 }
141 141
142 142 div.options {
143 143 clear:both;
144 144 overflow:hidden;
145 145 position:absolute;
146 146 background:#FFF;
147 147 margin:7px 0 0 162px;
148 148 padding:0;
149 149 }
150 150
151 151 div.options a {
152 152 height:1%;
153 153 display:block;
154 154 text-decoration:none;
155 155 margin:0;
156 156 padding:3px 8px;
157 157 }
158 158
159 159 .top-left-rounded-corner {
160 160 -webkit-border-top-left-radius: 8px;
161 161 -khtml-border-radius-topleft: 8px;
162 162 -moz-border-radius-topleft: 8px;
163 163 border-top-left-radius: 8px;
164 164 }
165 165
166 166 .top-right-rounded-corner {
167 167 -webkit-border-top-right-radius: 8px;
168 168 -khtml-border-radius-topright: 8px;
169 169 -moz-border-radius-topright: 8px;
170 170 border-top-right-radius: 8px;
171 171 }
172 172
173 173 .bottom-left-rounded-corner {
174 174 -webkit-border-bottom-left-radius: 8px;
175 175 -khtml-border-radius-bottomleft: 8px;
176 176 -moz-border-radius-bottomleft: 8px;
177 177 border-bottom-left-radius: 8px;
178 178 }
179 179
180 180 .bottom-right-rounded-corner {
181 181 -webkit-border-bottom-right-radius: 8px;
182 182 -khtml-border-radius-bottomright: 8px;
183 183 -moz-border-radius-bottomright: 8px;
184 184 border-bottom-right-radius: 8px;
185 185 }
186 186
187 187
188 188 #header {
189 189 margin:0;
190 190 padding:0 10px;
191 191 }
192 192
193 193
194 194 #header ul#logged-user{
195 195 margin-bottom:5px !important;
196 196 -webkit-border-radius: 0px 0px 8px 8px;
197 197 -khtml-border-radius: 0px 0px 8px 8px;
198 198 -moz-border-radius: 0px 0px 8px 8px;
199 199 border-radius: 0px 0px 8px 8px;
200 200 height:37px;
201 201 background:url("../images/header_inner.png") repeat-x scroll 0 0 #003367
202 202 }
203 203
204 204 #header ul#logged-user li {
205 205 list-style:none;
206 206 float:left;
207 207 margin:8px 0 0;
208 208 padding:4px 12px;
209 209 border-left: 1px solid #316293;
210 210 }
211 211
212 212 #header ul#logged-user li.first {
213 213 border-left:none;
214 214 margin:4px;
215 215 }
216 216
217 217 #header ul#logged-user li.first div.gravatar {
218 218 margin-top:-2px;
219 219 }
220 220
221 221 #header ul#logged-user li.first div.account {
222 222 padding-top:4px;
223 223 float:left;
224 224 }
225 225
226 226 #header ul#logged-user li.last {
227 227 border-right:none;
228 228 }
229 229
230 230 #header ul#logged-user li a {
231 231 color:#fff;
232 232 font-weight:700;
233 233 text-decoration:none;
234 234 }
235 235
236 236 #header ul#logged-user li a:hover {
237 237 text-decoration:underline;
238 238 }
239 239
240 240 #header ul#logged-user li.highlight a {
241 241 color:#fff;
242 242 }
243 243
244 244 #header ul#logged-user li.highlight a:hover {
245 245 color:#FFF;
246 246 }
247 247
248 248 #header #header-inner {
249 249 height:40px;
250 250 clear:both;
251 251 position:relative;
252 252 background:#003367 url("../images/header_inner.png") repeat-x;
253 253 border-bottom:2px solid #fff;
254 254 margin:0;
255 255 padding:0;
256 256 }
257 257
258 258 #header #header-inner #home a {
259 259 height:40px;
260 260 width:46px;
261 261 display:block;
262 262 background:url("../images/button_home.png");
263 263 background-position:0 0;
264 264 margin:0;
265 265 padding:0;
266 266 }
267 267
268 268 #header #header-inner #home a:hover {
269 269 background-position:0 -40px;
270 270 }
271 271
272 272 #header #header-inner #logo h1 {
273 273 color:#FFF;
274 274 font-size:18px;
275 275 margin:10px 0 0 13px;
276 276 padding:0;
277 277 }
278 278
279 279 #header #header-inner #logo a {
280 280 color:#fff;
281 281 text-decoration:none;
282 282 }
283 283
284 284 #header #header-inner #logo a:hover {
285 285 color:#bfe3ff;
286 286 }
287 287
288 288 #header #header-inner #quick,#header #header-inner #quick ul {
289 289 position:relative;
290 290 float:right;
291 291 list-style-type:none;
292 292 list-style-position:outside;
293 293 margin:10px 5px 0 0;
294 294 padding:0;
295 295 }
296 296
297 297 #header #header-inner #quick li {
298 298 position:relative;
299 299 float:left;
300 300 margin:0 5px 0 0;
301 301 padding:0;
302 302 }
303 303
304 304 #header #header-inner #quick li a {
305 305 top:0;
306 306 left:0;
307 307 height:1%;
308 308 display:block;
309 309 clear:both;
310 310 overflow:hidden;
311 311 color:#FFF;
312 312 font-weight:700;
313 313 text-decoration:none;
314 314 background:#369 url("../images/quick_l.png") no-repeat top left;
315 315 padding:0;
316 316 }
317 317
318 318 #header #header-inner #quick li span.short {
319 319 padding:9px 6px 8px 6px;
320 320 }
321 321
322 322 #header #header-inner #quick li span {
323 323 top:0;
324 324 right:0;
325 325 height:1%;
326 326 display:block;
327 327 float:left;
328 328 background:url("../images/quick_r.png") no-repeat top right;
329 329 border-left:1px solid #3f6f9f;
330 330 margin:0;
331 331 padding:10px 12px 8px 10px;
332 332 }
333 333
334 334 #header #header-inner #quick li span.normal {
335 335 border:none;
336 336 padding:10px 12px 8px;
337 337 }
338 338
339 339 #header #header-inner #quick li span.icon {
340 340 top:0;
341 341 left:0;
342 342 border-left:none;
343 343 background:url("../images/quick_l.png") no-repeat top left;
344 344 border-right:1px solid #2e5c89;
345 345 padding:8px 8px 4px;
346 346 }
347 347
348 348 #header #header-inner #quick li span.icon_short {
349 349 top:0;
350 350 left:0;
351 351 border-left:none;
352 352 background:url("../images/quick_l.png") no-repeat top left;
353 353 border-right:1px solid #2e5c89;
354 354 padding:9px 4px 4px;
355 355 }
356 356
357 357 #header #header-inner #quick li a:hover {
358 358 background:#4e4e4e url("../images/quick_l_selected.png") no-repeat top left;
359 359 }
360 360
361 361 #header #header-inner #quick li a:hover span {
362 362 border-left:1px solid #545454;
363 363 background:url("../images/quick_r_selected.png") no-repeat top right;
364 364 }
365 365
366 366 #header #header-inner #quick li a:hover span.icon,#header #header-inner #quick li a:hover span.icon_short {
367 367 border-left:none;
368 368 border-right:1px solid #464646;
369 369 background:url("../images/quick_l_selected.png") no-repeat top left;
370 370 }
371 371
372 372
373 373 #header #header-inner #quick ul {
374 374 top:29px;
375 375 right:0;
376 376 min-width:200px;
377 377 display:none;
378 378 position:absolute;
379 379 background:#FFF;
380 380 border:1px solid #666;
381 381 border-top:1px solid #003367;
382 382 z-index:100;
383 383 margin:0;
384 384 padding:0;
385 385 }
386 386
387 387 #header #header-inner #quick ul.repo_switcher {
388 388 max-height:275px;
389 389 overflow-x:hidden;
390 390 overflow-y:auto;
391 391 }
392 392 #header #header-inner #quick ul.repo_switcher li.qfilter_rs {
393 393 float:none;
394 394 margin:0;
395 395 border-bottom:2px solid #003367;
396 396 }
397 397
398 398
399 399 #header #header-inner #quick .repo_switcher_type{
400 400 position:absolute;
401 401 left:0;
402 402 top:9px;
403 403
404 404 }
405 405 #header #header-inner #quick li ul li {
406 406 border-bottom:1px solid #ddd;
407 407 }
408 408
409 409 #header #header-inner #quick li ul li a {
410 410 width:182px;
411 411 height:auto;
412 412 display:block;
413 413 float:left;
414 414 background:#FFF;
415 415 color:#003367;
416 416 font-weight:400;
417 417 margin:0;
418 418 padding:7px 9px;
419 419 }
420 420
421 421 #header #header-inner #quick li ul li a:hover {
422 422 color:#000;
423 423 background:#FFF;
424 424 }
425 425
426 426 #header #header-inner #quick ul ul {
427 427 top:auto;
428 428 }
429 429
430 430 #header #header-inner #quick li ul ul {
431 431 right:200px;
432 432 max-height:275px;
433 433 overflow:auto;
434 434 overflow-x:hidden;
435 435 white-space:normal;
436 436 }
437 437
438 438 #header #header-inner #quick li ul li a.journal,#header #header-inner #quick li ul li a.journal:hover {
439 439 background:url("../images/icons/book.png") no-repeat scroll 4px 9px #FFF;
440 440 width:167px;
441 441 margin:0;
442 442 padding:12px 9px 7px 24px;
443 443 }
444 444
445 445 #header #header-inner #quick li ul li a.private_repo,#header #header-inner #quick li ul li a.private_repo:hover {
446 446 background:url("../images/icons/lock.png") no-repeat scroll 4px 9px #FFF;
447 447 min-width:167px;
448 448 margin:0;
449 449 padding:12px 9px 7px 24px;
450 450 }
451 451
452 452 #header #header-inner #quick li ul li a.public_repo,#header #header-inner #quick li ul li a.public_repo:hover {
453 453 background:url("../images/icons/lock_open.png") no-repeat scroll 4px 9px #FFF;
454 454 min-width:167px;
455 455 margin:0;
456 456 padding:12px 9px 7px 24px;
457 457 }
458 458
459 459 #header #header-inner #quick li ul li a.hg,#header #header-inner #quick li ul li a.hg:hover {
460 460 background:url("../images/icons/hgicon.png") no-repeat scroll 4px 9px #FFF;
461 461 min-width:167px;
462 462 margin:0 0 0 14px;
463 463 padding:12px 9px 7px 24px;
464 464 }
465 465
466 466 #header #header-inner #quick li ul li a.git,#header #header-inner #quick li ul li a.git:hover {
467 467 background:url("../images/icons/giticon.png") no-repeat scroll 4px 9px #FFF;
468 468 min-width:167px;
469 469 margin:0 0 0 14px;
470 470 padding:12px 9px 7px 24px;
471 471 }
472 472
473 473 #header #header-inner #quick li ul li a.repos,#header #header-inner #quick li ul li a.repos:hover {
474 474 background:url("../images/icons/database_edit.png") no-repeat scroll 4px 9px #FFF;
475 475 width:167px;
476 476 margin:0;
477 477 padding:12px 9px 7px 24px;
478 478 }
479 479
480 480 #header #header-inner #quick li ul li a.users,#header #header-inner #quick li ul li a.users:hover {
481 481 background:#FFF url("../images/icons/user_edit.png") no-repeat 4px 9px;
482 482 width:167px;
483 483 margin:0;
484 484 padding:12px 9px 7px 24px;
485 485 }
486 486
487 487 #header #header-inner #quick li ul li a.groups,#header #header-inner #quick li ul li a.groups:hover {
488 488 background:#FFF url("../images/icons/group_edit.png") no-repeat 4px 9px;
489 489 width:167px;
490 490 margin:0;
491 491 padding:12px 9px 7px 24px;
492 492 }
493 493
494 494 #header #header-inner #quick li ul li a.settings,#header #header-inner #quick li ul li a.settings:hover {
495 495 background:#FFF url("../images/icons/cog.png") no-repeat 4px 9px;
496 496 width:167px;
497 497 margin:0;
498 498 padding:12px 9px 7px 24px;
499 499 }
500 500
501 501 #header #header-inner #quick li ul li a.permissions,#header #header-inner #quick li ul li a.permissions:hover {
502 502 background:#FFF url("../images/icons/key.png") no-repeat 4px 9px;
503 503 width:167px;
504 504 margin:0;
505 505 padding:12px 9px 7px 24px;
506 506 }
507 507
508 508 #header #header-inner #quick li ul li a.ldap,#header #header-inner #quick li ul li a.ldap:hover {
509 509 background:#FFF url("../images/icons/server_key.png") no-repeat 4px 9px;
510 510 width:167px;
511 511 margin:0;
512 512 padding:12px 9px 7px 24px;
513 513 }
514 514
515 515 #header #header-inner #quick li ul li a.fork,#header #header-inner #quick li ul li a.fork:hover {
516 516 background:#FFF url("../images/icons/arrow_divide.png") no-repeat 4px 9px;
517 517 width:167px;
518 518 margin:0;
519 519 padding:12px 9px 7px 24px;
520 520 }
521 521
522 522 #header #header-inner #quick li ul li a.search,#header #header-inner #quick li ul li a.search:hover {
523 523 background:#FFF url("../images/icons/search_16.png") no-repeat 4px 9px;
524 524 width:167px;
525 525 margin:0;
526 526 padding:12px 9px 7px 24px;
527 527 }
528 528
529 529 #header #header-inner #quick li ul li a.delete,#header #header-inner #quick li ul li a.delete:hover {
530 530 background:#FFF url("../images/icons/delete.png") no-repeat 4px 9px;
531 531 width:167px;
532 532 margin:0;
533 533 padding:12px 9px 7px 24px;
534 534 }
535 535
536 536 #header #header-inner #quick li ul li a.branches,#header #header-inner #quick li ul li a.branches:hover {
537 537 background:#FFF url("../images/icons/arrow_branch.png") no-repeat 4px 9px;
538 538 width:167px;
539 539 margin:0;
540 540 padding:12px 9px 7px 24px;
541 541 }
542 542
543 543 #header #header-inner #quick li ul li a.tags,#header #header-inner #quick li ul li a.tags:hover {
544 544 background:#FFF url("../images/icons/tag_blue.png") no-repeat 4px 9px;
545 545 width:167px;
546 546 margin:0;
547 547 padding:12px 9px 7px 24px;
548 548 }
549 549
550 550 #header #header-inner #quick li ul li a.admin,#header #header-inner #quick li ul li a.admin:hover {
551 551 background:#FFF url("../images/icons/cog_edit.png") no-repeat 4px 9px;
552 552 width:167px;
553 553 margin:0;
554 554 padding:12px 9px 7px 24px;
555 555 }
556 556
557 557 #content #left {
558 558 left:0;
559 559 width:280px;
560 560 position:absolute;
561 561 }
562 562
563 563 #content #right {
564 564 margin:0 60px 10px 290px;
565 565 }
566 566
567 567 #content div.box {
568 568 clear:both;
569 569 overflow:hidden;
570 570 background:#fff;
571 571 margin:0 0 10px;
572 572 padding:0 0 10px;
573 573 }
574 574
575 575 #content div.box-left {
576 576 width:49%;
577 577 clear:none;
578 578 float:left;
579 579 margin:0 0 10px;
580 580 }
581 581
582 582 #content div.box-right {
583 583 width:49%;
584 584 clear:none;
585 585 float:right;
586 586 margin:0 0 10px;
587 587 }
588 588
589 589 #content div.box div.title {
590 590 clear:both;
591 591 overflow:hidden;
592 592 background:#369 url("../images/header_inner.png") repeat-x;
593 593 margin:0 0 20px;
594 594 padding:0;
595 595 }
596 596
597 597 #content div.box div.title h5 {
598 598 float:left;
599 599 border:none;
600 600 color:#fff;
601 601 text-transform:uppercase;
602 602 margin:0;
603 603 padding:11px 0 11px 10px;
604 604 }
605 605
606 606 #content div.box div.title ul.links li {
607 607 list-style:none;
608 608 float:left;
609 609 margin:0;
610 610 padding:0;
611 611 }
612 612
613 613 #content div.box div.title ul.links li a {
614 614 border-left: 1px solid #316293;
615 615 color: #FFFFFF;
616 616 display: block;
617 617 float: left;
618 618 font-size: 13px;
619 619 font-weight: 700;
620 620 height: 1%;
621 621 margin: 0;
622 622 padding: 11px 22px 12px;
623 623 text-decoration: none;
624 624 }
625 625
626 626 #content div.box h1,#content div.box h2,#content div.box h3,#content div.box h4,#content div.box h5,#content div.box h6 {
627 627 clear:both;
628 628 overflow:hidden;
629 629 border-bottom:1px solid #DDD;
630 630 margin:10px 20px;
631 631 padding:0 0 15px;
632 632 }
633 633
634 634 #content div.box p {
635 635 color:#5f5f5f;
636 636 font-size:12px;
637 637 line-height:150%;
638 638 margin:0 24px 10px;
639 639 padding:0;
640 640 }
641 641
642 642 #content div.box blockquote {
643 643 border-left:4px solid #DDD;
644 644 color:#5f5f5f;
645 645 font-size:11px;
646 646 line-height:150%;
647 647 margin:0 34px;
648 648 padding:0 0 0 14px;
649 649 }
650 650
651 651 #content div.box blockquote p {
652 652 margin:10px 0;
653 653 padding:0;
654 654 }
655 655
656 656 #content div.box dl {
657 657 margin:10px 24px;
658 658 }
659 659
660 660 #content div.box dt {
661 661 font-size:12px;
662 662 margin:0;
663 663 }
664 664
665 665 #content div.box dd {
666 666 font-size:12px;
667 667 margin:0;
668 668 padding:8px 0 8px 15px;
669 669 }
670 670
671 671 #content div.box li {
672 672 font-size:12px;
673 673 padding:4px 0;
674 674 }
675 675
676 676 #content div.box ul.disc,#content div.box ul.circle {
677 677 margin:10px 24px 10px 38px;
678 678 }
679 679
680 680 #content div.box ul.square {
681 681 margin:10px 24px 10px 40px;
682 682 }
683 683
684 684 #content div.box img.left {
685 685 border:none;
686 686 float:left;
687 687 margin:10px 10px 10px 0;
688 688 }
689 689
690 690 #content div.box img.right {
691 691 border:none;
692 692 float:right;
693 693 margin:10px 0 10px 10px;
694 694 }
695 695
696 696 #content div.box div.messages {
697 697 clear:both;
698 698 overflow:hidden;
699 699 margin:0 20px;
700 700 padding:0;
701 701 }
702 702
703 703 #content div.box div.message {
704 704 clear:both;
705 705 overflow:hidden;
706 706 margin:0;
707 707 padding:10px 0;
708 708 }
709 709
710 710 #content div.box div.message a {
711 711 font-weight:400 !important;
712 712 }
713 713
714 714 #content div.box div.message div.image {
715 715 float:left;
716 716 margin:9px 0 0 5px;
717 717 padding:6px;
718 718 }
719 719
720 720 #content div.box div.message div.image img {
721 721 vertical-align:middle;
722 722 margin:0;
723 723 }
724 724
725 725 #content div.box div.message div.text {
726 726 float:left;
727 727 margin:0;
728 728 padding:9px 6px;
729 729 }
730 730
731 731 #content div.box div.message div.dismiss a {
732 732 height:16px;
733 733 width:16px;
734 734 display:block;
735 735 background:url("../images/icons/cross.png") no-repeat;
736 736 margin:15px 14px 0 0;
737 737 padding:0;
738 738 }
739 739
740 740 #content div.box div.message div.text h1,#content div.box div.message div.text h2,#content div.box div.message div.text h3,#content div.box div.message div.text h4,#content div.box div.message div.text h5,#content div.box div.message div.text h6 {
741 741 border:none;
742 742 margin:0;
743 743 padding:0;
744 744 }
745 745
746 746 #content div.box div.message div.text span {
747 747 height:1%;
748 748 display:block;
749 749 margin:0;
750 750 padding:5px 0 0;
751 751 }
752 752
753 753 #content div.box div.message-error {
754 754 height:1%;
755 755 clear:both;
756 756 overflow:hidden;
757 757 background:#FBE3E4;
758 758 border:1px solid #FBC2C4;
759 759 color:#860006;
760 760 }
761 761
762 762 #content div.box div.message-error h6 {
763 763 color:#860006;
764 764 }
765 765
766 766 #content div.box div.message-warning {
767 767 height:1%;
768 768 clear:both;
769 769 overflow:hidden;
770 770 background:#FFF6BF;
771 771 border:1px solid #FFD324;
772 772 color:#5f5200;
773 773 }
774 774
775 775 #content div.box div.message-warning h6 {
776 776 color:#5f5200;
777 777 }
778 778
779 779 #content div.box div.message-notice {
780 780 height:1%;
781 781 clear:both;
782 782 overflow:hidden;
783 783 background:#8FBDE0;
784 784 border:1px solid #6BACDE;
785 785 color:#003863;
786 786 }
787 787
788 788 #content div.box div.message-notice h6 {
789 789 color:#003863;
790 790 }
791 791
792 792 #content div.box div.message-success {
793 793 height:1%;
794 794 clear:both;
795 795 overflow:hidden;
796 796 background:#E6EFC2;
797 797 border:1px solid #C6D880;
798 798 color:#4e6100;
799 799 }
800 800
801 801 #content div.box div.message-success h6 {
802 802 color:#4e6100;
803 803 }
804 804
805 805 #content div.box div.form div.fields div.field {
806 806 height:1%;
807 807 border-bottom:1px solid #DDD;
808 808 clear:both;
809 809 margin:0;
810 810 padding:10px 0;
811 811 }
812 812
813 813 #content div.box div.form div.fields div.field-first {
814 814 padding:0 0 10px;
815 815 }
816 816
817 817 #content div.box div.form div.fields div.field-noborder {
818 818 border-bottom:0 !important;
819 819 }
820 820
821 821 #content div.box div.form div.fields div.field span.error-message {
822 822 height:1%;
823 823 display:inline-block;
824 824 color:red;
825 825 margin:8px 0 0 4px;
826 826 padding:0;
827 827 }
828 828
829 829 #content div.box div.form div.fields div.field span.success {
830 830 height:1%;
831 831 display:block;
832 832 color:#316309;
833 833 margin:8px 0 0;
834 834 padding:0;
835 835 }
836 836
837 837 #content div.box div.form div.fields div.field div.label {
838 838 left:70px;
839 839 width:auto;
840 840 position:absolute;
841 841 margin:0;
842 842 padding:8px 0 0 5px;
843 843 }
844 844
845 845 #content div.box-left div.form div.fields div.field div.label,#content div.box-right div.form div.fields div.field div.label {
846 846 clear:both;
847 847 overflow:hidden;
848 848 left:0;
849 849 width:auto;
850 850 position:relative;
851 851 margin:0;
852 852 padding:0 0 8px;
853 853 }
854 854
855 855 #content div.box div.form div.fields div.field div.label-select {
856 856 padding:5px 0 0 5px;
857 857 }
858 858
859 859 #content div.box-left div.form div.fields div.field div.label-select,#content div.box-right div.form div.fields div.field div.label-select {
860 860 padding:0 0 8px;
861 861 }
862 862
863 863 #content div.box-left div.form div.fields div.field div.label-textarea,#content div.box-right div.form div.fields div.field div.label-textarea {
864 864 padding:0 0 8px !important;
865 865 }
866 866
867 867 #content div.box div.form div.fields div.field div.label label, div.label label{
868 868 color:#393939;
869 869 font-weight:700;
870 870 }
871 871
872 872 #content div.box div.form div.fields div.field div.input {
873 873 margin:0 0 0 200px;
874 874 }
875 875 #content div.box-left div.form div.fields div.field div.input,#content div.box-right div.form div.fields div.field div.input {
876 876 margin:0 0 0 0px;
877 877 }
878 878
879 879 #content div.box div.form div.fields div.field div.input input {
880 880 background:#FFF;
881 881 border-top:1px solid #b3b3b3;
882 882 border-left:1px solid #b3b3b3;
883 883 border-right:1px solid #eaeaea;
884 884 border-bottom:1px solid #eaeaea;
885 885 color:#000;
886 886 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
887 887 font-size:11px;
888 888 margin:0;
889 889 padding:7px 7px 6px;
890 890 }
891 891
892 892
893 893
894 894 #content div.box div.form div.fields div.field div.input input.small {
895 895 width:30%;
896 896 }
897 897
898 898 #content div.box div.form div.fields div.field div.input input.medium {
899 899 width:55%;
900 900 }
901 901
902 902 #content div.box div.form div.fields div.field div.input input.large {
903 903 width:85%;
904 904 }
905 905
906 906 #content div.box div.form div.fields div.field div.input input.date {
907 907 width:177px;
908 908 }
909 909
910 910 #content div.box div.form div.fields div.field div.input input.button {
911 911 background:#D4D0C8;
912 912 border-top:1px solid #FFF;
913 913 border-left:1px solid #FFF;
914 914 border-right:1px solid #404040;
915 915 border-bottom:1px solid #404040;
916 916 color:#000;
917 917 margin:0;
918 918 padding:4px 8px;
919 919 }
920 920
921 921 #content div.box div.form div.fields div.field div.textarea {
922 922 border-top:1px solid #b3b3b3;
923 923 border-left:1px solid #b3b3b3;
924 924 border-right:1px solid #eaeaea;
925 925 border-bottom:1px solid #eaeaea;
926 926 margin:0 0 0 200px;
927 927 padding:10px;
928 928 }
929 929
930 930 #content div.box div.form div.fields div.field div.textarea-editor {
931 931 border:1px solid #ddd;
932 932 padding:0;
933 933 }
934 934
935 935 #content div.box div.form div.fields div.field div.textarea textarea {
936 936 width:100%;
937 937 height:220px;
938 938 overflow:hidden;
939 939 background:#FFF;
940 940 color:#000;
941 941 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
942 942 font-size:11px;
943 943 outline:none;
944 944 border-width:0;
945 945 margin:0;
946 946 padding:0;
947 947 }
948 948
949 949 #content div.box-left div.form div.fields div.field div.textarea textarea,#content div.box-right div.form div.fields div.field div.textarea textarea {
950 950 width:100%;
951 951 height:100px;
952 952 }
953 953
954 954 #content div.box div.form div.fields div.field div.textarea table {
955 955 width:100%;
956 956 border:none;
957 957 margin:0;
958 958 padding:0;
959 959 }
960 960
961 961 #content div.box div.form div.fields div.field div.textarea table td {
962 962 background:#DDD;
963 963 border:none;
964 964 padding:0;
965 965 }
966 966
967 967 #content div.box div.form div.fields div.field div.textarea table td table {
968 968 width:auto;
969 969 border:none;
970 970 margin:0;
971 971 padding:0;
972 972 }
973 973
974 974 #content div.box div.form div.fields div.field div.textarea table td table td {
975 975 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
976 976 font-size:11px;
977 977 padding:5px 5px 5px 0;
978 978 }
979 979
980 980 #content div.box div.form div.fields div.field input[type=text]:focus,#content div.box div.form div.fields div.field input[type=password]:focus,#content div.box div.form div.fields div.field input[type=file]:focus,#content div.box div.form div.fields div.field textarea:focus,#content div.box div.form div.fields div.field select:focus {
981 981 background:#f6f6f6;
982 982 border-color:#666;
983 983 }
984 984
985 985 div.form div.fields div.field div.button {
986 986 margin:0;
987 987 padding:0 0 0 8px;
988 988 }
989 989
990 990 div.form div.fields div.field div.highlight .ui-button {
991 991 background:#4e85bb url("../images/button_highlight.png") repeat-x;
992 992 border-top:1px solid #5c91a4;
993 993 border-left:1px solid #2a6f89;
994 994 border-right:1px solid #2b7089;
995 995 border-bottom:1px solid #1a6480;
996 996 color:#FFF;
997 997 margin:0;
998 998 padding:6px 12px;
999 999 }
1000 1000
1001 1001 div.form div.fields div.field div.highlight .ui-state-hover {
1002 1002 background:#46a0c1 url("../images/button_highlight_selected.png") repeat-x;
1003 1003 border-top:1px solid #78acbf;
1004 1004 border-left:1px solid #34819e;
1005 1005 border-right:1px solid #35829f;
1006 1006 border-bottom:1px solid #257897;
1007 1007 color:#FFF;
1008 1008 margin:0;
1009 1009 padding:6px 12px;
1010 1010 }
1011 1011
1012 1012 #content div.box div.form div.fields div.buttons div.highlight input.ui-button {
1013 1013 background:#4e85bb url("../images/button_highlight.png") repeat-x;
1014 1014 border-top:1px solid #5c91a4;
1015 1015 border-left:1px solid #2a6f89;
1016 1016 border-right:1px solid #2b7089;
1017 1017 border-bottom:1px solid #1a6480;
1018 1018 color:#fff;
1019 1019 margin:0;
1020 1020 padding:6px 12px;
1021 1021 }
1022 1022
1023 1023 #content div.box div.form div.fields div.buttons div.highlight input.ui-state-hover {
1024 1024 background:#46a0c1 url("../images/button_highlight_selected.png") repeat-x;
1025 1025 border-top:1px solid #78acbf;
1026 1026 border-left:1px solid #34819e;
1027 1027 border-right:1px solid #35829f;
1028 1028 border-bottom:1px solid #257897;
1029 1029 color:#fff;
1030 1030 margin:0;
1031 1031 padding:6px 12px;
1032 1032 }
1033 1033
1034 1034 #content div.box table {
1035 1035 width:100%;
1036 1036 border-collapse:collapse;
1037 1037 margin:0;
1038 1038 padding:0;
1039 1039 }
1040 1040
1041 1041 #content div.box table th {
1042 1042 background:#eee;
1043 1043 border-bottom:1px solid #ddd;
1044 1044 padding:5px 0px 5px 5px;
1045 1045 }
1046 1046
1047 1047 #content div.box table th.left {
1048 1048 text-align:left;
1049 1049 }
1050 1050
1051 1051 #content div.box table th.right {
1052 1052 text-align:right;
1053 1053 }
1054 1054
1055 1055 #content div.box table th.center {
1056 1056 text-align:center;
1057 1057 }
1058 1058
1059 1059 #content div.box table th.selected {
1060 1060 vertical-align:middle;
1061 1061 padding:0;
1062 1062 }
1063 1063
1064 1064 #content div.box table td {
1065 1065 background:#fff;
1066 1066 border-bottom:1px solid #cdcdcd;
1067 1067 vertical-align:middle;
1068 1068 padding:5px;
1069 1069 }
1070 1070
1071 1071 #content div.box table tr.selected td {
1072 1072 background:#FFC;
1073 1073 }
1074 1074
1075 1075 #content div.box table td.selected {
1076 1076 width:3%;
1077 1077 text-align:center;
1078 1078 vertical-align:middle;
1079 1079 padding:0;
1080 1080 }
1081 1081
1082 1082 #content div.box table td.action {
1083 1083 width:45%;
1084 1084 text-align:left;
1085 1085 }
1086 1086
1087 1087 #content div.box table td.date {
1088 1088 width:33%;
1089 1089 text-align:center;
1090 1090 }
1091 1091
1092 1092 #content div.box div.action {
1093 1093 float:right;
1094 1094 background:#FFF;
1095 1095 text-align:right;
1096 1096 margin:10px 0 0;
1097 1097 padding:0;
1098 1098 }
1099 1099
1100 1100 #content div.box div.action select {
1101 1101 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
1102 1102 font-size:11px;
1103 1103 margin:0;
1104 1104 }
1105 1105
1106 1106 #content div.box div.action .ui-selectmenu {
1107 1107 margin:0;
1108 1108 padding:0;
1109 1109 }
1110 1110
1111 1111 #content div.box div.pagination {
1112 1112 height:1%;
1113 1113 clear:both;
1114 1114 overflow:hidden;
1115 1115 margin:10px 0 0;
1116 1116 padding:0;
1117 1117 }
1118 1118
1119 1119 #content div.box div.pagination ul.pager {
1120 1120 float:right;
1121 1121 text-align:right;
1122 1122 margin:0;
1123 1123 padding:0;
1124 1124 }
1125 1125
1126 1126 #content div.box div.pagination ul.pager li {
1127 1127 height:1%;
1128 1128 float:left;
1129 1129 list-style:none;
1130 1130 background:#ebebeb url("../images/pager.png") repeat-x;
1131 1131 border-top:1px solid #dedede;
1132 1132 border-left:1px solid #cfcfcf;
1133 1133 border-right:1px solid #c4c4c4;
1134 1134 border-bottom:1px solid #c4c4c4;
1135 1135 color:#4A4A4A;
1136 1136 font-weight:700;
1137 1137 margin:0 0 0 4px;
1138 1138 padding:0;
1139 1139 }
1140 1140
1141 1141 #content div.box div.pagination ul.pager li.separator {
1142 1142 padding:6px;
1143 1143 }
1144 1144
1145 1145 #content div.box div.pagination ul.pager li.current {
1146 1146 background:#b4b4b4 url("../images/pager_selected.png") repeat-x;
1147 1147 border-top:1px solid #ccc;
1148 1148 border-left:1px solid #bebebe;
1149 1149 border-right:1px solid #b1b1b1;
1150 1150 border-bottom:1px solid #afafaf;
1151 1151 color:#515151;
1152 1152 padding:6px;
1153 1153 }
1154 1154
1155 1155 #content div.box div.pagination ul.pager li a {
1156 1156 height:1%;
1157 1157 display:block;
1158 1158 float:left;
1159 1159 color:#515151;
1160 1160 text-decoration:none;
1161 1161 margin:0;
1162 1162 padding:6px;
1163 1163 }
1164 1164
1165 1165 #content div.box div.pagination ul.pager li a:hover,#content div.box div.pagination ul.pager li a:active {
1166 1166 background:#b4b4b4 url("../images/pager_selected.png") repeat-x;
1167 1167 border-top:1px solid #ccc;
1168 1168 border-left:1px solid #bebebe;
1169 1169 border-right:1px solid #b1b1b1;
1170 1170 border-bottom:1px solid #afafaf;
1171 1171 margin:-1px;
1172 1172 }
1173 1173
1174 1174 #content div.box div.pagination-wh {
1175 1175 height:1%;
1176 1176 clear:both;
1177 1177 overflow:hidden;
1178 1178 text-align:right;
1179 1179 margin:10px 0 0;
1180 1180 padding:0;
1181 1181 }
1182 1182
1183 1183 #content div.box div.pagination-right {
1184 1184 float:right;
1185 1185 }
1186 1186
1187 1187 #content div.box div.pagination-wh a,#content div.box div.pagination-wh span.pager_dotdot {
1188 1188 height:1%;
1189 1189 float:left;
1190 1190 background:#ebebeb url("../images/pager.png") repeat-x;
1191 1191 border-top:1px solid #dedede;
1192 1192 border-left:1px solid #cfcfcf;
1193 1193 border-right:1px solid #c4c4c4;
1194 1194 border-bottom:1px solid #c4c4c4;
1195 1195 color:#4A4A4A;
1196 1196 font-weight:700;
1197 1197 margin:0 0 0 4px;
1198 1198 padding:6px;
1199 1199 }
1200 1200
1201 1201 #content div.box div.pagination-wh span.pager_curpage {
1202 1202 height:1%;
1203 1203 float:left;
1204 1204 background:#b4b4b4 url("../images/pager_selected.png") repeat-x;
1205 1205 border-top:1px solid #ccc;
1206 1206 border-left:1px solid #bebebe;
1207 1207 border-right:1px solid #b1b1b1;
1208 1208 border-bottom:1px solid #afafaf;
1209 1209 color:#515151;
1210 1210 font-weight:700;
1211 1211 margin:0 0 0 4px;
1212 1212 padding:6px;
1213 1213 }
1214 1214
1215 1215 #content div.box div.pagination-wh a:hover,#content div.box div.pagination-wh a:active {
1216 1216 background:#b4b4b4 url("../images/pager_selected.png") repeat-x;
1217 1217 border-top:1px solid #ccc;
1218 1218 border-left:1px solid #bebebe;
1219 1219 border-right:1px solid #b1b1b1;
1220 1220 border-bottom:1px solid #afafaf;
1221 1221 text-decoration:none;
1222 1222 }
1223 1223
1224 1224 #content div.box div.traffic div.legend {
1225 1225 clear:both;
1226 1226 overflow:hidden;
1227 1227 border-bottom:1px solid #ddd;
1228 1228 margin:0 0 10px;
1229 1229 padding:0 0 10px;
1230 1230 }
1231 1231
1232 1232 #content div.box div.traffic div.legend h6 {
1233 1233 float:left;
1234 1234 border:none;
1235 1235 margin:0;
1236 1236 padding:0;
1237 1237 }
1238 1238
1239 1239 #content div.box div.traffic div.legend li {
1240 1240 list-style:none;
1241 1241 float:left;
1242 1242 font-size:11px;
1243 1243 margin:0;
1244 1244 padding:0 8px 0 4px;
1245 1245 }
1246 1246
1247 1247 #content div.box div.traffic div.legend li.visits {
1248 1248 border-left:12px solid #edc240;
1249 1249 }
1250 1250
1251 1251 #content div.box div.traffic div.legend li.pageviews {
1252 1252 border-left:12px solid #afd8f8;
1253 1253 }
1254 1254
1255 1255 #content div.box div.traffic table {
1256 1256 width:auto;
1257 1257 }
1258 1258
1259 1259 #content div.box div.traffic table td {
1260 1260 background:transparent;
1261 1261 border:none;
1262 1262 padding:2px 3px 3px;
1263 1263 }
1264 1264
1265 1265 #content div.box div.traffic table td.legendLabel {
1266 1266 padding:0 3px 2px;
1267 1267 }
1268 1268
1269 1269 #footer {
1270 1270 clear:both;
1271 1271 overflow:hidden;
1272 1272 text-align:right;
1273 1273 margin:0;
1274 1274 padding:0 10px 4px;
1275 1275 margin:-10px 0 0;
1276 1276 }
1277 1277
1278 1278 #footer div#footer-inner {
1279 1279 background:url("../images/header_inner.png") repeat-x scroll 0 0 #003367;
1280 1280 border-top:2px solid #FFFFFF;
1281 1281 }
1282 1282
1283 1283 #footer div#footer-inner p {
1284 1284 padding:15px 25px 15px 0;
1285 1285 color:#FFF;
1286 1286 font-weight:700;
1287 1287 }
1288 1288 #footer div#footer-inner .footer-link {
1289 1289 float:left;
1290 1290 padding-left:10px;
1291 1291 }
1292 1292 #footer div#footer-inner .footer-link a,#footer div#footer-inner .footer-link-right a {
1293 1293 color:#FFF;
1294 1294 }
1295 1295
1296 1296 #login div.title {
1297 1297 width:420px;
1298 1298 clear:both;
1299 1299 overflow:hidden;
1300 1300 position:relative;
1301 1301 background:#003367 url("../images/header_inner.png") repeat-x;
1302 1302 margin:0 auto;
1303 1303 padding:0;
1304 1304 }
1305 1305
1306 1306 #login div.inner {
1307 1307 width:380px;
1308 1308 background:#FFF url("../images/login.png") no-repeat top left;
1309 1309 border-top:none;
1310 1310 border-bottom:none;
1311 1311 margin:0 auto;
1312 1312 padding:20px;
1313 1313 }
1314 1314
1315 1315 #login div.form div.fields div.field div.label {
1316 1316 width:173px;
1317 1317 float:left;
1318 1318 text-align:right;
1319 1319 margin:2px 10px 0 0;
1320 1320 padding:5px 0 0 5px;
1321 1321 }
1322 1322
1323 1323 #login div.form div.fields div.field div.input input {
1324 1324 width:176px;
1325 1325 background:#FFF;
1326 1326 border-top:1px solid #b3b3b3;
1327 1327 border-left:1px solid #b3b3b3;
1328 1328 border-right:1px solid #eaeaea;
1329 1329 border-bottom:1px solid #eaeaea;
1330 1330 color:#000;
1331 1331 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
1332 1332 font-size:11px;
1333 1333 margin:0;
1334 1334 padding:7px 7px 6px;
1335 1335 }
1336 1336
1337 1337 #login div.form div.fields div.buttons {
1338 1338 clear:both;
1339 1339 overflow:hidden;
1340 1340 border-top:1px solid #DDD;
1341 1341 text-align:right;
1342 1342 margin:0;
1343 1343 padding:10px 0 0;
1344 1344 }
1345 1345
1346 1346 #login div.form div.links {
1347 1347 clear:both;
1348 1348 overflow:hidden;
1349 1349 margin:10px 0 0;
1350 1350 padding:0 0 2px;
1351 1351 }
1352 1352
1353 1353 #register div.title {
1354 1354 clear:both;
1355 1355 overflow:hidden;
1356 1356 position:relative;
1357 1357 background:#003367 url("../images/header_inner.png") repeat-x;
1358 1358 margin:0 auto;
1359 1359 padding:0;
1360 1360 }
1361 1361
1362 1362 #register div.inner {
1363 1363 background:#FFF;
1364 1364 border-top:none;
1365 1365 border-bottom:none;
1366 1366 margin:0 auto;
1367 1367 padding:20px;
1368 1368 }
1369 1369
1370 1370 #register div.form div.fields div.field div.label {
1371 1371 width:135px;
1372 1372 float:left;
1373 1373 text-align:right;
1374 1374 margin:2px 10px 0 0;
1375 1375 padding:5px 0 0 5px;
1376 1376 }
1377 1377
1378 1378 #register div.form div.fields div.field div.input input {
1379 1379 width:300px;
1380 1380 background:#FFF;
1381 1381 border-top:1px solid #b3b3b3;
1382 1382 border-left:1px solid #b3b3b3;
1383 1383 border-right:1px solid #eaeaea;
1384 1384 border-bottom:1px solid #eaeaea;
1385 1385 color:#000;
1386 1386 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
1387 1387 font-size:11px;
1388 1388 margin:0;
1389 1389 padding:7px 7px 6px;
1390 1390 }
1391 1391
1392 1392 #register div.form div.fields div.buttons {
1393 1393 clear:both;
1394 1394 overflow:hidden;
1395 1395 border-top:1px solid #DDD;
1396 1396 text-align:left;
1397 1397 margin:0;
1398 1398 padding:10px 0 0 150px;
1399 1399 }
1400 1400
1401 1401 #register div.form div.fields div.buttons div.highlight input.ui-button {
1402 1402 background:url("../images/button_highlight.png") repeat-x scroll 0 0 #4E85BB;
1403 1403 color:#FFF;
1404 1404 border-color:#5C91A4 #2B7089 #1A6480 #2A6F89;
1405 1405 border-style:solid;
1406 1406 border-width:1px;
1407 1407 }
1408 1408
1409 1409 #register div.form div.activation_msg {
1410 1410 padding-top:4px;
1411 1411 padding-bottom:4px;
1412 1412 }
1413 1413
1414 1414 #journal .journal_day{
1415 1415 font-size:20px;
1416 1416 padding:10px 0px;
1417 1417 border-bottom:2px solid #DDD;
1418 1418 margin-left:10px;
1419 1419 margin-right:10px;
1420 1420 }
1421 1421
1422 1422 #journal .journal_container{
1423 1423 padding:5px;
1424 1424 clear:both;
1425 1425 margin:0px 5px 0px 10px;
1426 1426 }
1427 1427
1428 1428 #journal .journal_action_container{
1429 1429 padding-left:38px;
1430 1430 }
1431 1431
1432 1432 #journal .journal_user{
1433 1433 color: #747474;
1434 1434 font-size: 14px;
1435 1435 font-weight: bold;
1436 1436 height: 30px;
1437 1437 }
1438 1438 #journal .journal_icon{
1439 1439 clear: both;
1440 1440 float: left;
1441 1441 padding-right: 4px;
1442 1442 padding-top: 3px;
1443 1443 }
1444 1444 #journal .journal_action{
1445 1445 padding-top:4px;
1446 1446 min-height:2px;
1447 1447 float:left
1448 1448 }
1449 1449 #journal .journal_action_params{
1450 1450 clear: left;
1451 1451 padding-left: 22px;
1452 1452 }
1453 1453 #journal .journal_repo{
1454 1454 float: left;
1455 1455 margin-left: 6px;
1456 1456 padding-top: 3px;
1457 1457 }
1458 1458 #journal .date{
1459 1459 clear: both;
1460 1460 color: #777777;
1461 1461 font-size: 11px;
1462 1462 padding-left: 22px;
1463 1463 }
1464 1464 #journal .journal_repo .journal_repo_name{
1465 1465 font-weight: bold;
1466 1466 font-size: 1.1em;
1467 1467 }
1468 1468 #journal .compare_view{
1469 1469 padding: 5px 0px 5px 0px;
1470 1470 width: 95px;
1471 1471 }
1472 1472 .journal_highlight{
1473 1473 font-weight: bold;
1474 1474 padding: 0 2px;
1475 1475 vertical-align: bottom;
1476 1476 }
1477 1477 .trending_language_tbl,.trending_language_tbl td {
1478 1478 border:0 !important;
1479 1479 margin:0 !important;
1480 1480 padding:0 !important;
1481 1481 }
1482 1482
1483 1483 .trending_language {
1484 1484 background-color:#003367;
1485 1485 color:#FFF;
1486 1486 display:block;
1487 1487 min-width:20px;
1488 1488 text-decoration:none;
1489 1489 height:12px;
1490 1490 margin-bottom:4px;
1491 1491 margin-left:5px;
1492 1492 white-space:pre;
1493 1493 padding:3px;
1494 1494 }
1495 1495
1496 1496 h3.files_location {
1497 1497 font-size:1.8em;
1498 1498 font-weight:700;
1499 1499 border-bottom:none !important;
1500 1500 margin:10px 0 !important;
1501 1501 }
1502 1502
1503 1503 #files_data dl dt {
1504 1504 float:left;
1505 1505 width:115px;
1506 1506 margin:0 !important;
1507 1507 padding:5px;
1508 1508 }
1509 1509
1510 1510 #files_data dl dd {
1511 1511 margin:0 !important;
1512 1512 padding:5px !important;
1513 1513 }
1514 1514
1515 1515 #changeset_content {
1516 1516 border:1px solid #CCC;
1517 1517 padding:5px;
1518 1518 }
1519 1519 #changeset_compare_view_content{
1520 1520 border:1px solid #CCC;
1521 1521 padding:5px;
1522 1522 }
1523 1523
1524 1524 #changeset_content .container {
1525 1525 min-height:120px;
1526 1526 font-size:1.2em;
1527 1527 overflow:hidden;
1528 1528 }
1529 1529
1530 1530 #changeset_compare_view_content .compare_view_commits{
1531 1531 width: auto !important;
1532 1532 }
1533 1533
1534 1534 #changeset_compare_view_content .compare_view_commits td{
1535 1535 padding:0px 0px 0px 12px !important;
1536 1536 }
1537 1537
1538 1538 #changeset_content .container .right {
1539 1539 float:right;
1540 1540 width:25%;
1541 1541 text-align:right;
1542 1542 }
1543 1543
1544 1544 #changeset_content .container .left .message {
1545 1545 font-style:italic;
1546 1546 color:#556CB5;
1547 1547 white-space:pre-wrap;
1548 1548 }
1549 1549
1550 1550 .cs_files .cur_cs{
1551 1551 margin:10px 2px;
1552 1552 font-weight: bold;
1553 1553 }
1554 1554
1555 1555 .cs_files .node{
1556 1556 float: left;
1557 1557 }
1558 1558 .cs_files .changes{
1559 1559 float: right;
1560 1560 }
1561 1561 .cs_files .changes .added{
1562 1562 background-color: #BBFFBB;
1563 1563 float: left;
1564 1564 text-align: center;
1565 1565 font-size: 90%;
1566 1566 }
1567 1567 .cs_files .changes .deleted{
1568 1568 background-color: #FF8888;
1569 1569 float: left;
1570 1570 text-align: center;
1571 1571 font-size: 90%;
1572 1572 }
1573 1573 .cs_files .cs_added {
1574 1574 background:url("../images/icons/page_white_add.png") no-repeat scroll 3px;
1575 1575 height:16px;
1576 1576 padding-left:20px;
1577 1577 margin-top:7px;
1578 1578 text-align:left;
1579 1579 }
1580 1580
1581 1581 .cs_files .cs_changed {
1582 1582 background:url("../images/icons/page_white_edit.png") no-repeat scroll 3px;
1583 1583 height:16px;
1584 1584 padding-left:20px;
1585 1585 margin-top:7px;
1586 1586 text-align:left;
1587 1587 }
1588 1588
1589 1589 .cs_files .cs_removed {
1590 1590 background:url("../images/icons/page_white_delete.png") no-repeat scroll 3px;
1591 1591 height:16px;
1592 1592 padding-left:20px;
1593 1593 margin-top:7px;
1594 1594 text-align:left;
1595 1595 }
1596 1596
1597 1597 #graph {
1598 1598 overflow:hidden;
1599 1599 }
1600 1600
1601 1601 #graph_nodes {
1602 1602 width:160px;
1603 1603 float:left;
1604 1604 margin-left:-50px;
1605 1605 margin-top:5px;
1606 1606 }
1607 1607
1608 1608 #graph_content {
1609 1609 width:800px;
1610 1610 float:left;
1611 1611 }
1612 1612
1613 1613 #graph_content .container_header {
1614 1614 border:1px solid #CCC;
1615 1615 padding:10px;
1616 1616 }
1617 1617 #graph_content #rev_range_container{
1618 1618 padding:10px 0px;
1619 1619 }
1620 1620 #graph_content .container {
1621 1621 border-bottom:1px solid #CCC;
1622 1622 border-left:1px solid #CCC;
1623 1623 border-right:1px solid #CCC;
1624 1624 min-height:80px;
1625 1625 overflow:hidden;
1626 1626 font-size:1.2em;
1627 1627 }
1628 1628
1629 1629 #graph_content .container .right {
1630 1630 float:right;
1631 1631 width:28%;
1632 1632 text-align:right;
1633 1633 padding-bottom:5px;
1634 1634 }
1635 1635
1636 1636 #graph_content .container .left .date {
1637 1637 font-weight:700;
1638 1638 padding-bottom:5px;
1639 1639 }
1640 1640 #graph_content .container .left .date span{
1641 1641 vertical-align: text-top;
1642 1642 }
1643 1643
1644 1644 #graph_content .container .left .message {
1645 1645 font-size:100%;
1646 1646 padding-top:3px;
1647 1647 white-space:pre-wrap;
1648 1648 }
1649 1649
1650 1650 .right div {
1651 1651 clear:both;
1652 1652 }
1653 1653
1654 1654 .right .changes .added,.changed,.removed {
1655 1655 border:1px solid #DDD;
1656 1656 display:block;
1657 1657 float:right;
1658 1658 text-align:center;
1659 1659 min-width:15px;
1660 1660 cursor: help;
1661 1661 }
1662 1662 .right .changes .large {
1663 1663 border:1px solid #DDD;
1664 1664 display:block;
1665 1665 float:right;
1666 1666 text-align:center;
1667 1667 min-width:45px;
1668 1668 cursor: help;
1669 1669 background: #54A9F7;
1670 1670 }
1671 1671
1672 1672 .right .changes .added {
1673 1673 background:#BFB;
1674 1674 }
1675 1675
1676 1676 .right .changes .changed {
1677 1677 background:#FD8;
1678 1678 }
1679 1679
1680 1680 .right .changes .removed {
1681 1681 background:#F88;
1682 1682 }
1683 1683
1684 1684 .right .merge {
1685 1685 vertical-align:top;
1686 1686 font-size:0.75em;
1687 1687 font-weight:700;
1688 1688 }
1689 1689
1690 1690 .right .parent {
1691 1691 font-size:90%;
1692 1692 font-family:monospace;
1693 1693 }
1694 1694
1695 1695 .right .logtags .branchtag {
1696 1696 background:#FFF url("../images/icons/arrow_branch.png") no-repeat right 6px;
1697 1697 display:block;
1698 1698 font-size:0.8em;
1699 1699 padding:11px 16px 0 0;
1700 1700 }
1701 1701
1702 1702 .right .logtags .tagtag {
1703 1703 background:#FFF url("../images/icons/tag_blue.png") no-repeat right 6px;
1704 1704 display:block;
1705 1705 font-size:0.8em;
1706 1706 padding:11px 16px 0 0;
1707 1707 }
1708 1708
1709 1709 div.browserblock {
1710 1710 overflow:hidden;
1711 1711 border:1px solid #ccc;
1712 1712 background:#f8f8f8;
1713 1713 font-size:100%;
1714 1714 line-height:125%;
1715 1715 padding:0;
1716 1716 }
1717 1717
1718 1718 div.browserblock .browser-header {
1719 1719 background:#FFF;
1720 padding:10px 0px 35px 0px;
1720 padding:10px 0px 25px 0px;
1721 1721 width: 100%;
1722 1722 }
1723 1723 div.browserblock .browser-nav {
1724 1724 float:left
1725 1725 }
1726 1726
1727 1727 div.browserblock .browser-branch {
1728 padding:10px 0 0 0;
1729 1728 float:left;
1730 1729 }
1730
1731 1731 div.browserblock .browser-branch label {
1732 1732 color:#4A4A4A;
1733 1733 vertical-align:text-top;
1734 1734 }
1735 1735
1736 1736 div.browserblock .browser-header span {
1737 margin-left:25px;
1737 margin-left:5px;
1738 1738 font-weight:700;
1739 1739 }
1740 1740
1741 1741 div.browserblock .browser-body {
1742 1742 background:#EEE;
1743 1743 border-top:1px solid #CCC;
1744 1744 }
1745 1745
1746 1746 table.code-browser {
1747 1747 border-collapse:collapse;
1748 1748 width:100%;
1749 1749 }
1750 1750
1751 1751 table.code-browser tr {
1752 1752 margin:3px;
1753 1753 }
1754 1754
1755 1755 table.code-browser thead th {
1756 1756 background-color:#EEE;
1757 1757 height:20px;
1758 1758 font-size:1.1em;
1759 1759 font-weight:700;
1760 1760 text-align:left;
1761 1761 padding-left:10px;
1762 1762 }
1763 1763
1764 1764 table.code-browser tbody td {
1765 1765 padding-left:10px;
1766 1766 height:20px;
1767 1767 }
1768 1768
1769 1769 table.code-browser .browser-file {
1770 1770 background:url("../images/icons/document_16.png") no-repeat scroll 3px;
1771 1771 height:16px;
1772 1772 padding-left:20px;
1773 1773 text-align:left;
1774 1774 }
1775 1775 .diffblock .changeset_file{
1776 1776 background:url("../images/icons/file.png") no-repeat scroll 3px;
1777 1777 height:16px;
1778 1778 padding-left:22px;
1779 1779 text-align:left;
1780 1780 font-size: 14px;
1781 1781 }
1782 1782
1783 1783 .diffblock .changeset_header{
1784 1784 margin-left: 6px !important;
1785 1785 }
1786 1786
1787 1787 table.code-browser .browser-dir {
1788 1788 background:url("../images/icons/folder_16.png") no-repeat scroll 3px;
1789 1789 height:16px;
1790 1790 padding-left:20px;
1791 1791 text-align:left;
1792 1792 }
1793 1793
1794 1794 .box .search {
1795 1795 clear:both;
1796 1796 overflow:hidden;
1797 1797 margin:0;
1798 1798 padding:0 20px 10px;
1799 1799 }
1800 1800
1801 1801 .box .search div.search_path {
1802 1802 background:none repeat scroll 0 0 #EEE;
1803 1803 border:1px solid #CCC;
1804 1804 color:blue;
1805 1805 margin-bottom:10px;
1806 1806 padding:10px 0;
1807 1807 }
1808 1808
1809 1809 .box .search div.search_path div.link {
1810 1810 font-weight:700;
1811 1811 margin-left:25px;
1812 1812 }
1813 1813
1814 1814 .box .search div.search_path div.link a {
1815 1815 color:#003367;
1816 1816 cursor:pointer;
1817 1817 text-decoration:none;
1818 1818 }
1819 1819
1820 1820 #path_unlock {
1821 1821 color:red;
1822 1822 font-size:1.2em;
1823 1823 padding-left:4px;
1824 1824 }
1825 1825
1826 .info_box * {
1827 background:url("../images/pager.png") repeat-x scroll 0 0 #EBEBEB;
1828 color:#4A4A4A;
1829 font-weight:700;
1830 height:1%;
1831 display:inline;
1832 border-color:#DEDEDE #C4C4C4 #C4C4C4 #CFCFCF;
1833 border-style:solid;
1834 border-width:1px;
1835 padding:4px 6px;
1836 }
1837
1838 1826 .info_box span {
1839 1827 margin-left:3px;
1840 1828 margin-right:3px;
1841 1829 }
1842 1830
1843 .info_box input#at_rev {
1844 text-align:center;
1845 padding:5px 3px 3px 2px;
1846 }
1831 .info_box .rev {
1832 color: #003367;
1833 font-size: 1.6em;
1834 font-weight: bold;
1835 vertical-align: sub;
1836 }
1837
1838
1839 .info_box input#at_rev,.info_box input#size {
1840 background:#FFF;
1841 border-top:1px solid #b3b3b3;
1842 border-left:1px solid #b3b3b3;
1843 border-right:1px solid #eaeaea;
1844 border-bottom:1px solid #eaeaea;
1845 color:#000;
1846 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
1847 font-size:12px;
1848 margin:0;
1849 padding:1px 5px 1px;
1850 }
1851
1852
1847 1853
1848 1854 .info_box input#view {
1849 1855 text-align:center;
1850 1856 padding:4px 3px 2px 2px;
1851 1857 }
1852 1858
1853 1859 .yui-overlay,.yui-panel-container {
1854 1860 visibility:hidden;
1855 1861 position:absolute;
1856 1862 z-index:2;
1857 1863 }
1858 1864
1859 1865 .yui-tt {
1860 1866 visibility:hidden;
1861 1867 position:absolute;
1862 1868 color:#666;
1863 1869 background-color:#FFF;
1864 1870 font-family:arial, helvetica, verdana, sans-serif;
1865 1871 border:2px solid #003367;
1866 1872 font:100% sans-serif;
1867 1873 width:auto;
1868 1874 opacity:1px;
1869 1875 padding:8px;
1870 1876 white-space: pre;
1871 1877 -webkit-border-radius: 8px 8px 8px 8px;
1872 1878 -khtml-border-radius: 8px 8px 8px 8px;
1873 1879 -moz-border-radius: 8px 8px 8px 8px;
1874 1880 border-radius: 8px 8px 8px 8px;
1875 1881 }
1876 1882
1877 1883 .ac {
1878 1884 vertical-align:top;
1879 1885 }
1880 1886
1881 1887 .ac .yui-ac {
1882 1888 position:relative;
1883 1889 font-family:arial;
1884 1890 font-size:100%;
1885 1891 }
1886 1892
1887 1893 .ac .perm_ac {
1888 1894 width:15em;
1889 1895 }
1890 1896
1891 1897 .ac .yui-ac-input {
1892 1898 width:100%;
1893 1899 }
1894 1900
1895 1901 .ac .yui-ac-container {
1896 1902 position:absolute;
1897 1903 top:1.6em;
1898 1904 width:100%;
1899 1905 }
1900 1906
1901 1907 .ac .yui-ac-content {
1902 1908 position:absolute;
1903 1909 width:100%;
1904 1910 border:1px solid gray;
1905 1911 background:#fff;
1906 1912 overflow:hidden;
1907 1913 z-index:9050;
1908 1914 }
1909 1915
1910 1916 .ac .yui-ac-shadow {
1911 1917 position:absolute;
1912 1918 width:100%;
1913 1919 background:#000;
1914 1920 -moz-opacity:0.1px;
1915 1921 opacity:.10;
1916 1922 filter:alpha(opacity = 10);
1917 1923 z-index:9049;
1918 1924 margin:.3em;
1919 1925 }
1920 1926
1921 1927 .ac .yui-ac-content ul {
1922 1928 width:100%;
1923 1929 margin:0;
1924 1930 padding:0;
1925 1931 }
1926 1932
1927 1933 .ac .yui-ac-content li {
1928 1934 cursor:default;
1929 1935 white-space:nowrap;
1930 1936 margin:0;
1931 1937 padding:2px 5px;
1932 1938 }
1933 1939
1934 1940 .ac .yui-ac-content li.yui-ac-prehighlight {
1935 1941 background:#B3D4FF;
1936 1942 }
1937 1943
1938 1944 .ac .yui-ac-content li.yui-ac-highlight {
1939 1945 background:#556CB5;
1940 1946 color:#FFF;
1941 1947 }
1942 1948
1943 1949
1944 1950 .follow{
1945 1951 background:url("../images/icons/heart_add.png") no-repeat scroll 3px;
1946 1952 height: 16px;
1947 1953 width: 20px;
1948 1954 cursor: pointer;
1949 1955 display: block;
1950 1956 float: right;
1951 1957 margin-top: 2px;
1952 1958 }
1953 1959
1954 1960 .following{
1955 1961 background:url("../images/icons/heart_delete.png") no-repeat scroll 3px;
1956 1962 height: 16px;
1957 1963 width: 20px;
1958 1964 cursor: pointer;
1959 1965 display: block;
1960 1966 float: right;
1961 1967 margin-top: 2px;
1962 1968 }
1963 1969
1964 1970 .currently_following{
1965 1971 padding-left: 10px;
1966 1972 padding-bottom:5px;
1967 1973 }
1968 1974
1969 1975 .add_icon {
1970 1976 background:url("../images/icons/add.png") no-repeat scroll 3px;
1971 1977 padding-left:20px;
1972 1978 padding-top:0px;
1973 1979 text-align:left;
1974 1980 }
1975 1981
1976 1982 .edit_icon {
1977 1983 background:url("../images/icons/folder_edit.png") no-repeat scroll 3px;
1978 1984 padding-left:20px;
1979 1985 padding-top:0px;
1980 1986 text-align:left;
1981 1987 }
1982 1988
1983 1989 .delete_icon {
1984 1990 background:url("../images/icons/delete.png") no-repeat scroll 3px;
1985 1991 padding-left:20px;
1986 1992 padding-top:0px;
1987 1993 text-align:left;
1988 1994 }
1989 1995
1990 1996 .refresh_icon {
1991 1997 background:url("../images/icons/arrow_refresh.png") no-repeat scroll 3px;
1992 1998 padding-left:20px;
1993 1999 padding-top:0px;
1994 2000 text-align:left;
1995 2001 }
1996 2002
1997 2003 .pull_icon {
1998 2004 background:url("../images/icons/connect.png") no-repeat scroll 3px;
1999 2005 padding-left:20px;
2000 2006 padding-top:0px;
2001 2007 text-align:left;
2002 2008 }
2003 2009
2004 2010 .rss_icon {
2005 2011 background:url("../images/icons/rss_16.png") no-repeat scroll 3px;
2006 2012 padding-left:20px;
2007 2013 padding-top:0px;
2008 2014 text-align:left;
2009 2015 }
2010 2016
2011 2017 .atom_icon {
2012 2018 background:url("../images/icons/atom.png") no-repeat scroll 3px;
2013 2019 padding-left:20px;
2014 2020 padding-top:0px;
2015 2021 text-align:left;
2016 2022 }
2017 2023
2018 2024 .archive_icon {
2019 2025 background:url("../images/icons/compress.png") no-repeat scroll 3px;
2020 2026 padding-left:20px;
2021 2027 text-align:left;
2022 2028 padding-top:1px;
2023 2029 }
2024 2030
2025 2031 .start_following_icon {
2026 2032 background:url("../images/icons/heart_add.png") no-repeat scroll 3px;
2027 2033 padding-left:20px;
2028 2034 text-align:left;
2029 2035 padding-top:0px;
2030 2036 }
2031 2037
2032 2038 .stop_following_icon {
2033 2039 background:url("../images/icons/heart_delete.png") no-repeat scroll 3px;
2034 2040 padding-left:20px;
2035 2041 text-align:left;
2036 2042 padding-top:0px;
2037 2043 }
2038 2044
2039 2045 .action_button {
2040 2046 border:0;
2041 2047 display:block;
2042 2048 }
2043 2049
2044 2050 .action_button:hover {
2045 2051 border:0;
2046 2052 text-decoration:underline;
2047 2053 cursor:pointer;
2048 2054 }
2049 2055
2050 2056 #switch_repos {
2051 2057 position:absolute;
2052 2058 height:25px;
2053 2059 z-index:1;
2054 2060 }
2055 2061
2056 2062 #switch_repos select {
2057 2063 min-width:150px;
2058 2064 max-height:250px;
2059 2065 z-index:1;
2060 2066 }
2061 2067
2062 2068 .breadcrumbs {
2063 2069 border:medium none;
2064 2070 color:#FFF;
2065 2071 float:left;
2066 2072 text-transform:uppercase;
2067 2073 font-weight:700;
2068 2074 font-size:14px;
2069 2075 margin:0;
2070 2076 padding:11px 0 11px 10px;
2071 2077 }
2072 2078
2073 2079 .breadcrumbs a {
2074 2080 color:#FFF;
2075 2081 }
2076 2082
2077 2083 .flash_msg ul {
2078 2084 margin:0;
2079 2085 padding:0 0 10px;
2080 2086 }
2081 2087
2082 2088 .error_msg {
2083 2089 background-color:#FFCFCF;
2084 2090 background-image:url("../images/icons/error_msg.png");
2085 2091 border:1px solid #FF9595;
2086 2092 color:#C30;
2087 2093 }
2088 2094
2089 2095 .warning_msg {
2090 2096 background-color:#FFFBCC;
2091 2097 background-image:url("../images/icons/warning_msg.png");
2092 2098 border:1px solid #FFF35E;
2093 2099 color:#C69E00;
2094 2100 }
2095 2101
2096 2102 .success_msg {
2097 2103 background-color:#D5FFCF;
2098 2104 background-image:url("../images/icons/success_msg.png");
2099 2105 border:1px solid #97FF88;
2100 2106 color:#090;
2101 2107 }
2102 2108
2103 2109 .notice_msg {
2104 2110 background-color:#DCE3FF;
2105 2111 background-image:url("../images/icons/notice_msg.png");
2106 2112 border:1px solid #93A8FF;
2107 2113 color:#556CB5;
2108 2114 }
2109 2115
2110 2116 .success_msg,.error_msg,.notice_msg,.warning_msg {
2111 2117 background-position:10px center;
2112 2118 background-repeat:no-repeat;
2113 2119 font-size:12px;
2114 2120 font-weight:700;
2115 2121 min-height:14px;
2116 2122 line-height:14px;
2117 2123 margin-bottom:0;
2118 2124 margin-top:0;
2119 2125 display:block;
2120 2126 overflow:auto;
2121 2127 padding:6px 10px 6px 40px;
2122 2128 }
2123 2129
2124 2130 #msg_close {
2125 2131 background:transparent url("../icons/cross_grey_small.png") no-repeat scroll 0 0;
2126 2132 cursor:pointer;
2127 2133 height:16px;
2128 2134 position:absolute;
2129 2135 right:5px;
2130 2136 top:5px;
2131 2137 width:16px;
2132 2138 }
2133 2139
2134 2140 div#legend_container table,div#legend_choices table {
2135 2141 width:auto !important;
2136 2142 }
2137 2143
2138 2144 table#permissions_manage {
2139 2145 width:0 !important;
2140 2146 }
2141 2147
2142 2148 table#permissions_manage span.private_repo_msg {
2143 2149 font-size:0.8em;
2144 2150 opacity:0.6px;
2145 2151 }
2146 2152
2147 2153 table#permissions_manage td.private_repo_msg {
2148 2154 font-size:0.8em;
2149 2155 }
2150 2156
2151 2157 table#permissions_manage tr#add_perm_input td {
2152 2158 vertical-align:middle;
2153 2159 }
2154 2160
2155 2161 div.gravatar {
2156 2162 background-color:#FFF;
2157 2163 border:1px solid #D0D0D0;
2158 2164 float:left;
2159 2165 margin-right:0.7em;
2160 2166 padding:2px 2px 0;
2161 2167 }
2162 2168
2163 2169 #header,#content,#footer {
2164 2170 min-width:978px;
2165 2171 }
2166 2172
2167 2173 #content {
2168 2174 min-height:100%;
2169 2175 clear:both;
2170 2176 overflow:hidden;
2171 2177 padding:14px 10px;
2172 2178 }
2173 2179
2174 2180 #content div.box div.title div.search {
2175 2181 background:url("../images/title_link.png") no-repeat top left;
2176 2182 border-left:1px solid #316293;
2177 2183 }
2178 2184
2179 2185 #content div.box div.title div.search div.input input {
2180 2186 border:1px solid #316293;
2181 2187 }
2182 2188
2183 2189 #content div.box div.title div.search div.button input.ui-button {
2184 2190 background:#4e85bb url("../images/button_highlight.png") repeat-x;
2185 2191 border:1px solid #316293;
2186 2192 border-left:none;
2187 2193 color:#FFF;
2188 2194 }
2189 2195
2196 #content div.box input.ui-button-small {
2197 background:#e5e3e3 url("../images/button.png") repeat-x;
2198 border-top:1px solid #DDD;
2199 border-left:1px solid #c6c6c6;
2200 border-right:1px solid #DDD;
2201 border-bottom:1px solid #c6c6c6;
2202 color:#515151;
2203 outline:none;
2204 margin:0;
2205 }
2206
2207 #content div.box input.ui-button-small submit,button{
2208 cursor: pointer;
2209 }
2210
2190 2211 #content div.box div.title div.search div.button input.ui-state-hover {
2191 2212 background:#46a0c1 url("../images/button_highlight_selected.png") repeat-x;
2192 2213 border:1px solid #316293;
2193 2214 border-left:none;
2194 2215 color:#FFF;
2195 2216 }
2196 2217
2197 2218 #content div.box div.form div.fields div.field div.highlight .ui-button {
2198 2219 background:#4e85bb url("../images/button_highlight.png") repeat-x;
2199 2220 border-top:1px solid #5c91a4;
2200 2221 border-left:1px solid #2a6f89;
2201 2222 border-right:1px solid #2b7089;
2202 2223 border-bottom:1px solid #1a6480;
2203 2224 color:#fff;
2204 2225 }
2205 2226
2206 2227 #content div.box div.form div.fields div.field div.highlight .ui-state-hover {
2207 2228 background:#46a0c1 url("../images/button_highlight_selected.png") repeat-x;
2208 2229 border-top:1px solid #78acbf;
2209 2230 border-left:1px solid #34819e;
2210 2231 border-right:1px solid #35829f;
2211 2232 border-bottom:1px solid #257897;
2212 2233 color:#fff;
2213 2234 }
2214 2235
2215 2236 ins,div.options a:hover {
2216 2237 text-decoration:none;
2217 2238 }
2218 2239
2219 2240 img,#header #header-inner #quick li a:hover span.normal,#header #header-inner #quick li ul li.last,#content div.box div.form div.fields div.field div.textarea table td table td a,#clone_url {
2220 2241 border:none;
2221 2242 }
2222 2243
2223 2244 img.icon,.right .merge img {
2224 2245 vertical-align:bottom;
2225 2246 }
2226 2247
2227 2248 #header ul#logged-user,#content div.box div.title ul.links,#content div.box div.message div.dismiss,#content div.box div.traffic div.legend ul {
2228 2249 float:right;
2229 2250 margin:0;
2230 2251 padding:0;
2231 2252 }
2232 2253
2233 2254 #header #header-inner #home,#header #header-inner #logo,#content div.box ul.left,#content div.box ol.left,#content div.box div.pagination-left,div#commit_history,div#legend_data,div#legend_container,div#legend_choices {
2234 2255 float:left;
2235 2256 }
2236 2257
2237 2258 #header #header-inner #quick li:hover ul ul,#header #header-inner #quick li:hover ul ul ul,#header #header-inner #quick li:hover ul ul ul ul,#content #left #menu ul.closed,#content #left #menu li ul.collapsed,.yui-tt-shadow {
2238 2259 display:none;
2239 2260 }
2240 2261
2241 2262 #header #header-inner #quick li:hover ul,#header #header-inner #quick li li:hover ul,#header #header-inner #quick li li li:hover ul,#header #header-inner #quick li li li li:hover ul,#content #left #menu ul.opened,#content #left #menu li ul.expanded {
2242 2263 display:block;
2243 2264 }
2244 2265
2245 2266 #content div.graph{
2246 2267 padding:0 10px 10px;
2247 2268 }
2248 2269
2249 2270 #content div.box div.title ul.links li a:hover,#content div.box div.title ul.links li.ui-tabs-selected a {
2250 2271 color:#bfe3ff;
2251 2272 }
2252 2273
2253 2274 #content div.box ol.lower-roman,#content div.box ol.upper-roman,#content div.box ol.lower-alpha,#content div.box ol.upper-alpha,#content div.box ol.decimal {
2254 2275 margin:10px 24px 10px 44px;
2255 2276 }
2256 2277
2257 2278 #content div.box div.form,#content div.box div.table,#content div.box div.traffic {
2258 2279 clear:both;
2259 2280 overflow:hidden;
2260 2281 margin:0;
2261 2282 padding:0 20px 10px;
2262 2283 }
2263 2284
2264 2285 #content div.box div.form div.fields,#login div.form,#login div.form div.fields,#register div.form,#register div.form div.fields {
2265 2286 clear:both;
2266 2287 overflow:hidden;
2267 2288 margin:0;
2268 2289 padding:0;
2269 2290 }
2270 2291
2271 2292 #content div.box div.form div.fields div.field div.label span,#login div.form div.fields div.field div.label span,#register div.form div.fields div.field div.label span {
2272 2293 height:1%;
2273 2294 display:block;
2274 2295 color:#363636;
2275 2296 margin:0;
2276 2297 padding:2px 0 0;
2277 2298 }
2278 2299
2279 2300 #content div.box div.form div.fields div.field div.input input.error,#login div.form div.fields div.field div.input input.error,#register div.form div.fields div.field div.input input.error {
2280 2301 background:#FBE3E4;
2281 2302 border-top:1px solid #e1b2b3;
2282 2303 border-left:1px solid #e1b2b3;
2283 2304 border-right:1px solid #FBC2C4;
2284 2305 border-bottom:1px solid #FBC2C4;
2285 2306 }
2286 2307
2287 2308 #content div.box div.form div.fields div.field div.input input.success,#login div.form div.fields div.field div.input input.success,#register div.form div.fields div.field div.input input.success {
2288 2309 background:#E6EFC2;
2289 2310 border-top:1px solid #cebb98;
2290 2311 border-left:1px solid #cebb98;
2291 2312 border-right:1px solid #c6d880;
2292 2313 border-bottom:1px solid #c6d880;
2293 2314 }
2294 2315
2295 2316 #content div.box-left div.form div.fields div.field div.textarea,#content div.box-right div.form div.fields div.field div.textarea,#content div.box div.form div.fields div.field div.select select,#content div.box table th.selected input,#content div.box table td.selected input {
2296 2317 margin:0;
2297 2318 }
2298 2319
2299 2320 #content div.box-left div.form div.fields div.field div.select,#content div.box-left div.form div.fields div.field div.checkboxes,#content div.box-left div.form div.fields div.field div.radios,#content div.box-right div.form div.fields div.field div.select,#content div.box-right div.form div.fields div.field div.checkboxes,#content div.box-right div.form div.fields div.field div.radios{
2300 2321 margin:0 0 0 0px !important;
2301 2322 padding:0;
2302 2323 }
2303 2324
2304 2325 #content div.box div.form div.fields div.field div.select,#content div.box div.form div.fields div.field div.checkboxes,#content div.box div.form div.fields div.field div.radios {
2305 2326 margin:0 0 0 200px;
2306 2327 padding:0;
2307 2328 }
2308 2329
2309 2330
2310 2331 #content div.box div.form div.fields div.field div.select a:hover,#content div.box div.form div.fields div.field div.select a.ui-selectmenu:hover,#content div.box div.action a:hover {
2311 2332 color:#000;
2312 2333 text-decoration:none;
2313 2334 }
2314 2335
2315 2336 #content div.box div.form div.fields div.field div.select a.ui-selectmenu-focus,#content div.box div.action a.ui-selectmenu-focus {
2316 2337 border:1px solid #666;
2317 2338 }
2318 2339
2319 2340 #content div.box div.form div.fields div.field div.checkboxes div.checkbox,#content div.box div.form div.fields div.field div.radios div.radio {
2320 2341 clear:both;
2321 2342 overflow:hidden;
2322 2343 margin:0;
2323 2344 padding:8px 0 2px;
2324 2345 }
2325 2346
2326 2347 #content div.box div.form div.fields div.field div.checkboxes div.checkbox input,#content div.box div.form div.fields div.field div.radios div.radio input {
2327 2348 float:left;
2328 2349 margin:0;
2329 2350 }
2330 2351
2331 2352 #content div.box div.form div.fields div.field div.checkboxes div.checkbox label,#content div.box div.form div.fields div.field div.radios div.radio label {
2332 2353 height:1%;
2333 2354 display:block;
2334 2355 float:left;
2335 2356 margin:2px 0 0 4px;
2336 2357 }
2337 2358
2338 2359 div.form div.fields div.field div.button input,#content div.box div.form div.fields div.buttons input,div.form div.fields div.buttons input,#content div.box div.action div.button input {
2339 2360 color:#000;
2340 2361 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
2341 2362 font-size:11px;
2342 2363 font-weight:700;
2343 2364 margin:0;
2344 2365 }
2345 2366
2346 2367 div.form div.fields div.field div.button .ui-button,#content div.box div.form div.fields div.buttons input.ui-button {
2347 2368 background:#e5e3e3 url("../images/button.png") repeat-x;
2348 2369 border-top:1px solid #DDD;
2349 2370 border-left:1px solid #c6c6c6;
2350 2371 border-right:1px solid #DDD;
2351 2372 border-bottom:1px solid #c6c6c6;
2352 2373 color:#515151;
2353 2374 outline:none;
2354 2375 margin:0;
2355 2376 padding:6px 12px;
2356 2377 }
2357 2378
2358 2379 div.form div.fields div.field div.button .ui-state-hover,#content div.box div.form div.fields div.buttons input.ui-state-hover {
2359 2380 background:#b4b4b4 url("../images/button_selected.png") repeat-x;
2360 2381 border-top:1px solid #ccc;
2361 2382 border-left:1px solid #bebebe;
2362 2383 border-right:1px solid #b1b1b1;
2363 2384 border-bottom:1px solid #afafaf;
2364 2385 color:#515151;
2365 2386 outline:none;
2366 2387 margin:0;
2367 2388 padding:6px 12px;
2368 2389 }
2369 2390
2370 2391 div.form div.fields div.field div.highlight,#content div.box div.form div.fields div.buttons div.highlight {
2371 2392 display:inline;
2372 2393 }
2373 2394
2374 2395 #content div.box div.form div.fields div.buttons,div.form div.fields div.buttons {
2375 2396 margin:10px 0 0 200px;
2376 2397 padding:0;
2377 2398 }
2378 2399
2379 2400 #content div.box-left div.form div.fields div.buttons,#content div.box-right div.form div.fields div.buttons,div.box-left div.form div.fields div.buttons,div.box-right div.form div.fields div.buttons {
2380 2401 margin:10px 0 0;
2381 2402 }
2382 2403
2383 2404 #content div.box table td.user,#content div.box table td.address {
2384 2405 width:10%;
2385 2406 text-align:center;
2386 2407 }
2387 2408
2388 2409 #content div.box div.action div.button,#login div.form div.fields div.field div.input div.link,#register div.form div.fields div.field div.input div.link {
2389 2410 text-align:right;
2390 2411 margin:6px 0 0;
2391 2412 padding:0;
2392 2413 }
2393 2414
2394 2415 #content div.box div.action div.button input.ui-button,#login div.form div.fields div.buttons input.ui-button,#register div.form div.fields div.buttons input.ui-button {
2395 2416 background:#e5e3e3 url("../images/button.png") repeat-x;
2396 2417 border-top:1px solid #DDD;
2397 2418 border-left:1px solid #c6c6c6;
2398 2419 border-right:1px solid #DDD;
2399 2420 border-bottom:1px solid #c6c6c6;
2400 2421 color:#515151;
2401 2422 margin:0;
2402 2423 padding:6px 12px;
2403 2424 }
2404 2425
2405 2426 #content div.box div.action div.button input.ui-state-hover,#login div.form div.fields div.buttons input.ui-state-hover,#register div.form div.fields div.buttons input.ui-state-hover {
2406 2427 background:#b4b4b4 url("../images/button_selected.png") repeat-x;
2407 2428 border-top:1px solid #ccc;
2408 2429 border-left:1px solid #bebebe;
2409 2430 border-right:1px solid #b1b1b1;
2410 2431 border-bottom:1px solid #afafaf;
2411 2432 color:#515151;
2412 2433 margin:0;
2413 2434 padding:6px 12px;
2414 2435 }
2415 2436
2416 2437 #content div.box div.pagination div.results,#content div.box div.pagination-wh div.results {
2417 2438 text-align:left;
2418 2439 float:left;
2419 2440 margin:0;
2420 2441 padding:0;
2421 2442 }
2422 2443
2423 2444 #content div.box div.pagination div.results span,#content div.box div.pagination-wh div.results span {
2424 2445 height:1%;
2425 2446 display:block;
2426 2447 float:left;
2427 2448 background:#ebebeb url("../images/pager.png") repeat-x;
2428 2449 border-top:1px solid #dedede;
2429 2450 border-left:1px solid #cfcfcf;
2430 2451 border-right:1px solid #c4c4c4;
2431 2452 border-bottom:1px solid #c4c4c4;
2432 2453 color:#4A4A4A;
2433 2454 font-weight:700;
2434 2455 margin:0;
2435 2456 padding:6px 8px;
2436 2457 }
2437 2458
2438 2459 #content div.box div.pagination ul.pager li.disabled,#content div.box div.pagination-wh a.disabled {
2439 2460 color:#B4B4B4;
2440 2461 padding:6px;
2441 2462 }
2442 2463
2443 2464 #login,#register {
2444 2465 width:520px;
2445 2466 margin:10% auto 0;
2446 2467 padding:0;
2447 2468 }
2448 2469
2449 2470 #login div.color,#register div.color {
2450 2471 clear:both;
2451 2472 overflow:hidden;
2452 2473 background:#FFF;
2453 2474 margin:10px auto 0;
2454 2475 padding:3px 3px 3px 0;
2455 2476 }
2456 2477
2457 2478 #login div.color a,#register div.color a {
2458 2479 width:20px;
2459 2480 height:20px;
2460 2481 display:block;
2461 2482 float:left;
2462 2483 margin:0 0 0 3px;
2463 2484 padding:0;
2464 2485 }
2465 2486
2466 2487 #login div.title h5,#register div.title h5 {
2467 2488 color:#fff;
2468 2489 margin:10px;
2469 2490 padding:0;
2470 2491 }
2471 2492
2472 2493 #login div.form div.fields div.field,#register div.form div.fields div.field {
2473 2494 clear:both;
2474 2495 overflow:hidden;
2475 2496 margin:0;
2476 2497 padding:0 0 10px;
2477 2498 }
2478 2499
2479 2500 #login div.form div.fields div.field span.error-message,#register div.form div.fields div.field span.error-message {
2480 2501 height:1%;
2481 2502 display:block;
2482 2503 color:red;
2483 2504 margin:8px 0 0;
2484 2505 padding:0;
2485 2506 max-width: 320px;
2486 2507 }
2487 2508
2488 2509 #login div.form div.fields div.field div.label label,#register div.form div.fields div.field div.label label {
2489 2510 color:#000;
2490 2511 font-weight:700;
2491 2512 }
2492 2513
2493 2514 #login div.form div.fields div.field div.input,#register div.form div.fields div.field div.input {
2494 2515 float:left;
2495 2516 margin:0;
2496 2517 padding:0;
2497 2518 }
2498 2519
2499 2520 #login div.form div.fields div.field div.checkbox,#register div.form div.fields div.field div.checkbox {
2500 2521 margin:0 0 0 184px;
2501 2522 padding:0;
2502 2523 }
2503 2524
2504 2525 #login div.form div.fields div.field div.checkbox label,#register div.form div.fields div.field div.checkbox label {
2505 2526 color:#565656;
2506 2527 font-weight:700;
2507 2528 }
2508 2529
2509 2530 #login div.form div.fields div.buttons input,#register div.form div.fields div.buttons input {
2510 2531 color:#000;
2511 2532 font-size:1em;
2512 2533 font-weight:700;
2513 2534 font-family:Verdana, Helvetica, Sans-Serif;
2514 2535 margin:0;
2515 2536 }
2516 2537
2517 2538 #changeset_content .container .wrapper,#graph_content .container .wrapper {
2518 2539 width:600px;
2519 2540 }
2520 2541
2521 2542 #changeset_content .container .left,#graph_content .container .left {
2522 2543 float:left;
2523 2544 width:70%;
2524 2545 padding-left:5px;
2525 2546 }
2526 2547
2527 2548 #changeset_content .container .left .date,.ac .match {
2528 2549 font-weight:700;
2529 2550 padding-top: 5px;
2530 2551 padding-bottom:5px;
2531 2552 }
2532 2553
2533 2554 div#legend_container table td,div#legend_choices table td {
2534 2555 border:none !important;
2535 2556 height:20px !important;
2536 2557 padding:0 !important;
2537 2558 }
2538 2559
2539 2560 #q_filter{
2540 2561 border:0 none;
2541 2562 color:#AAAAAA;
2542 2563 margin-bottom:-4px;
2543 2564 margin-top:-4px;
2544 2565 padding-left:3px;
2545 2566 }
2546 2567
@@ -1,167 +1,165 b''
1 1 ## -*- coding: utf-8 -*-
2 2
3 3 <%inherit file="/base/base.html"/>
4 4
5 5 <%def name="title()">
6 6 ${c.repo_name} ${_('Changelog')} - ${c.rhodecode_name}
7 7 </%def>
8 8
9 9 <%def name="breadcrumbs_links()">
10 10 ${h.link_to(u'Home',h.url('/'))}
11 11 &raquo;
12 12 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
13 13 &raquo;
14 14 ${_('Changelog')} - ${_('showing ')} ${c.size if c.size <= c.total_cs else c.total_cs} ${_('out of')} ${c.total_cs} ${_('revisions')}
15 15 </%def>
16 16
17 17 <%def name="page_nav()">
18 18 ${self.menu('changelog')}
19 19 </%def>
20 20
21 21 <%def name="main()">
22 22 <div class="box">
23 23 <!-- box / title -->
24 24 <div class="title">
25 25 ${self.breadcrumbs()}
26 26 </div>
27 27 <div class="table">
28 28 % if c.pagination:
29 29 <div id="graph">
30 30 <div id="graph_nodes">
31 31 <canvas id="graph_canvas"></canvas>
32 32 </div>
33 33 <div id="graph_content">
34 34 <div class="container_header">
35 35 ${h.form(h.url.current(),method='get')}
36 36 <div class="info_box">
37 <span>${_('Show')}:</span>
37 ${h.submit('set',_('Show'),class_="ui-button-small")}
38 38 ${h.text('size',size=1,value=c.size)}
39 <span>${_('revisions')}</span>
40 ${h.submit('set',_('set'))}
41
39 <span class="rev">${_('revisions')}</span>
42 40 </div>
43 41 ${h.end_form()}
44 42 <div id="rev_range_container" style="display:none"></div>
45 43 </div>
46 44
47 45 %for cnt,cs in enumerate(c.pagination):
48 46 <div id="chg_${cnt+1}" class="container">
49 47 <div class="left">
50 48 <div class="date">
51 49 ${h.checkbox(cs.short_id,class_="changeset_range")}
52 50 <span>${_('commit')} ${cs.revision}: ${h.short_id(cs.raw_id)}@${cs.date}</span>
53 51 </div>
54 52 <div class="author">
55 53 <div class="gravatar">
56 54 <img alt="gravatar" src="${h.gravatar_url(h.email(cs.author),20)}"/>
57 55 </div>
58 56 <span>${h.person(cs.author)}</span><br/>
59 57 <span><a href="mailto:${h.email_or_none(cs.author)}">${h.email_or_none(cs.author)}</a></span><br/>
60 58 </div>
61 59 <div class="message">${h.link_to(h.wrap_paragraphs(cs.message),h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</div>
62 60 </div>
63 61 <div class="right">
64 62 <div class="changes">
65 63 % if len(cs.affected_files) <= c.affected_files_cut_off:
66 64 <span class="removed tooltip" title="<b>${_('removed')}</b>${h.changed_tooltip(cs.removed)}">${len(cs.removed)}</span>
67 65 <span class="changed tooltip" title="<b>${_('changed')}</b>${h.changed_tooltip(cs.changed)}">${len(cs.changed)}</span>
68 66 <span class="added tooltip" title="<b>${_('added')}</b>${h.changed_tooltip(cs.added)}">${len(cs.added)}</span>
69 67 % else:
70 68 <span class="removed tooltip" title="${_('affected %s files') % len(cs.affected_files)}">!</span>
71 69 <span class="changed tooltip" title="${_('affected %s files') % len(cs.affected_files)}">!</span>
72 70 <span class="added tooltip" title="${_('affected %s files') % len(cs.affected_files)}">!</span>
73 71 % endif
74 72 </div>
75 73 %if len(cs.parents)>1:
76 74 <div class="merge">
77 75 ${_('merge')}<img alt="merge" src="${h.url("/images/icons/arrow_join.png")}"/>
78 76 </div>
79 77 %endif
80 78 %if cs.parents:
81 79 %for p_cs in reversed(cs.parents):
82 80 <div class="parent">${_('Parent')} ${p_cs.revision}: ${h.link_to(h.short_id(p_cs.raw_id),
83 81 h.url('changeset_home',repo_name=c.repo_name,revision=p_cs.raw_id),title=p_cs.message)}
84 82 </div>
85 83 %endfor
86 84 %else:
87 85 <div class="parent">${_('No parents')}</div>
88 86 %endif
89 87
90 88 <span class="logtags">
91 89 %if cs.branch:
92 90 <span class="branchtag" title="${'%s %s' % (_('branch'),cs.branch)}">
93 91 ${h.link_to(cs.branch,h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id))}</span>
94 92 %endif
95 93 %for tag in cs.tags:
96 94 <span class="tagtag" title="${'%s %s' % (_('tag'),tag)}">
97 95 ${h.link_to(tag,h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id))}</span>
98 96 %endfor
99 97 </span>
100 98 </div>
101 99 </div>
102 100
103 101 %endfor
104 102 <div class="pagination-wh pagination-left">
105 103 ${c.pagination.pager('$link_previous ~2~ $link_next')}
106 104 </div>
107 105 </div>
108 106 </div>
109 107
110 108 <script type="text/javascript" src="${h.url('/js/graph.js')}"></script>
111 109 <script type="text/javascript">
112 110 YAHOO.util.Event.onDOMReady(function(){
113 111
114 112 //Monitor range checkboxes and build a link to changesets
115 113 //ranges
116 114 var checkboxes = YUD.getElementsByClassName('changeset_range');
117 115 var url_tmpl = "${h.url('changeset_home',repo_name=c.repo_name,revision='__REVRANGE__')}";
118 116 YUE.on(checkboxes,'click',function(e){
119 117 var checked_checkboxes = [];
120 118 for (pos in checkboxes){
121 119 if(checkboxes[pos].checked){
122 120 checked_checkboxes.push(checkboxes[pos]);
123 121 }
124 122 }
125 123 if(checked_checkboxes.length>1){
126 124 var rev_end = checked_checkboxes[0].name;
127 125 var rev_start = checked_checkboxes[checked_checkboxes.length-1].name;
128 126
129 127 var url = url_tmpl.replace('__REVRANGE__',
130 128 rev_start+'...'+rev_end);
131 129
132 130 var link = "<a href="+url+">${_('Show selected changes __S -> __E')}</a>"
133 131 link = link.replace('__S',rev_start);
134 132 link = link.replace('__E',rev_end);
135 133 YUD.get('rev_range_container').innerHTML = link;
136 134 YUD.setStyle('rev_range_container','display','');
137 135 }
138 136 else{
139 137 YUD.setStyle('rev_range_container','display','none');
140 138
141 139 }
142 140 });
143 141
144 142 function set_canvas() {
145 143 var c = document.getElementById('graph_nodes');
146 144 var t = document.getElementById('graph_content');
147 145 canvas = document.getElementById('graph_canvas');
148 146 var div_h = t.clientHeight;
149 147 c.style.height=div_h+'px';
150 148 canvas.setAttribute('height',div_h);
151 149 canvas.setAttribute('width',160);
152 150 };
153 151 set_canvas();
154 152 var jsdata = ${c.jsdata|n};
155 153 var r = new BranchRenderer();
156 154 r.render(jsdata);
157 155
158 156
159 157
160 158 });
161 159 </script>
162 160 %else:
163 161 ${_('There are no changes yet')}
164 162 %endif
165 163 </div>
166 164 </div>
167 165 </%def> No newline at end of file
@@ -1,91 +1,91 b''
1 1 <%inherit file="/base/base.html"/>
2 2
3 3 <%def name="title()">
4 4 ${c.repo_name} ${_('File annotate')} - ${c.rhodecode_name}
5 5 </%def>
6 6
7 7 <%def name="breadcrumbs_links()">
8 8 ${h.link_to(u'Home',h.url('/'))}
9 9 &raquo;
10 10 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
11 11 &raquo;
12 12 ${_('annotate')} @ R${c.cs.revision}:${h.short_id(c.cs.raw_id)}
13 13 </%def>
14 14
15 15 <%def name="page_nav()">
16 16 ${self.menu('files')}
17 17 </%def>
18 18 <%def name="main()">
19 19 <div class="box">
20 20 <!-- box / title -->
21 21 <div class="title">
22 22 ${self.breadcrumbs()}
23 23 <ul class="links">
24 24 <li>
25 25 <span style="text-transform: uppercase;"><a href="#">${_('branch')}: ${c.cs.branch}</a></span>
26 26 </li>
27 27 </ul>
28 28 </div>
29 29 <div class="table">
30 30 <div id="files_data">
31 31 <h3 class="files_location">${_('Location')}: ${h.files_breadcrumbs(c.repo_name,c.cs.revision,c.file.path)}</h3>
32 32 <dl class="overview">
33 33 <dt>${_('Revision')}</dt>
34 34 <dd>${h.link_to("r%s:%s" % (c.file.last_changeset.revision,h.short_id(c.file.last_changeset.raw_id)),
35 35 h.url('changeset_home',repo_name=c.repo_name,revision=c.file.last_changeset.raw_id))} </dd>
36 36 <dt>${_('Size')}</dt>
37 37 <dd>${h.format_byte_size(c.file.size,binary=True)}</dd>
38 38 <dt>${_('Mimetype')}</dt>
39 39 <dd>${c.file.mimetype}</dd>
40 40 <dt>${_('Options')}</dt>
41 41 <dd>${h.link_to(_('show source'),
42 42 h.url('files_home',repo_name=c.repo_name,revision=c.cs.raw_id,f_path=c.f_path))}
43 43 / ${h.link_to(_('show as raw'),
44 44 h.url('files_raw_home',repo_name=c.repo_name,revision=c.cs.raw_id,f_path=c.f_path))}
45 45 / ${h.link_to(_('download as raw'),
46 46 h.url('files_rawfile_home',repo_name=c.repo_name,revision=c.cs.raw_id,f_path=c.f_path))}
47 47 </dd>
48 48 <dt>${_('History')}</dt>
49 49 <dd>
50 50 <div>
51 51 ${h.form(h.url('files_diff_home',repo_name=c.repo_name,f_path=c.f_path),method='get')}
52 52 ${h.hidden('diff2',c.file.last_changeset.raw_id)}
53 53 ${h.select('diff1',c.file.last_changeset.raw_id,c.file_history)}
54 ${h.submit('diff','diff to revision',class_="ui-button")}
55 ${h.submit('show_rev','show at revision',class_="ui-button")}
54 ${h.submit('diff','diff to revision',class_="ui-button-small")}
55 ${h.submit('show_rev','show at revision',class_="ui-button-small")}
56 56 ${h.end_form()}
57 57 </div>
58 58 </dd>
59 59 </dl>
60 60 <div id="body" class="codeblock">
61 61 <div class="code-header">
62 62 <div class="revision">${c.file.name}@r${c.file.last_changeset.revision}:${h.short_id(c.file.last_changeset.raw_id)}</div>
63 63 <div class="commit">"${c.file.message}"</div>
64 64 </div>
65 65 <div class="code-body">
66 66 %if c.file.is_binary:
67 67 ${_('Binary file (%s)') % c.file.mimetype}
68 68 %else:
69 69 % if c.file.size < c.cut_off_limit:
70 70 ${h.pygmentize_annotation(c.repo_name,c.file,linenos=True,anchorlinenos=True,lineanchors='S',cssclass="code-highlight")}
71 71 %else:
72 72 ${_('File is to big to display')} ${h.link_to(_('show as raw'),
73 73 h.url('files_raw_home',repo_name=c.repo_name,revision=c.cs.revision,f_path=c.f_path))}
74 74 %endif
75 75 <script type="text/javascript">
76 76 YAHOO.util.Event.onDOMReady(function(){
77 77 YAHOO.util.Event.addListener('show_rev','click',function(e){
78 78 YAHOO.util.Event.preventDefault(e);
79 79 var cs = YAHOO.util.Dom.get('diff1').value;
80 80 var url = "${h.url('files_annotate_home',repo_name=c.repo_name,revision='__CS__',f_path=c.f_path)}".replace('__CS__',cs);
81 81 window.location = url;
82 82 });
83 83 });
84 84 </script>
85 85 %endif
86 86 </div>
87 87 </div>
88 88 </div>
89 89 </div>
90 90 </div>
91 91 </%def> No newline at end of file
@@ -1,102 +1,102 b''
1 1 <%def name="file_class(node)">
2 2 %if node.is_file():
3 3 <%return "browser-file" %>
4 4 %else:
5 5 <%return "browser-dir"%>
6 6 %endif
7 7 </%def>
8 8 <div id="body" class="browserblock">
9 9 <div class="browser-header">
10 10 <div class="browser-nav">
11 11 ${h.form(h.url.current())}
12 12 <div class="info_box">
13 <span >${_('view')}@rev</span>
14 <a href="${c.url_prev}" title="${_('previous revision')}">&laquo;</a>
13 <span class="rev">${_('view')}@rev</span>
14 <a class="rev" href="${c.url_prev}" title="${_('previous revision')}">&laquo;</a>
15 15 ${h.text('at_rev',value=c.changeset.revision,size=3)}
16 <a href="${c.url_next}" title="${_('next revision')}">&raquo;</a>
17 ${h.submit('view','view')}
16 <a class="rev" href="${c.url_next}" title="${_('next revision')}">&raquo;</a>
17 ## ${h.submit('view',_('view'),class_="ui-button-small")}
18 18 </div>
19 19 ${h.end_form()}
20 20 </div>
21 21 <div class="browser-branch">
22 22 ${h.checkbox('stay_at_branch',c.changeset.branch,c.changeset.branch==c.branch)}
23 23 <label>${_('follow current branch')}</label>
24 24 <script type="text/javascript">
25 25 YUE.on('stay_at_branch','click',function(e){
26 26 if(e.target.checked){
27 27 var uri = "${h.url.current(branch='__BRANCH__')}"
28 28 uri = uri.replace('__BRANCH__',e.target.value);
29 29 window.location = uri;
30 30 }
31 31 else{
32 32 window.location = "${h.url.current()}";
33 33 }
34 34
35 35 })
36 36 </script>
37 37 </div>
38 38 </div>
39 39
40 40 <div class="browser-body">
41 41 <table class="code-browser">
42 42 <thead>
43 43 <tr>
44 44 <th>${_('Name')}</th>
45 45 <th>${_('Size')}</th>
46 46 <th>${_('Mimetype')}</th>
47 47 <th>${_('Revision')}</th>
48 48 <th>${_('Last modified')}</th>
49 49 <th>${_('Last commiter')}</th>
50 50 </tr>
51 51 </thead>
52 52
53 53 %if c.files_list.parent:
54 54 <tr class="parity0">
55 55 <td>
56 56 ${h.link_to('..',h.url('files_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.files_list.parent.path),class_="browser-dir")}
57 57 </td>
58 58 <td></td>
59 59 <td></td>
60 60 <td></td>
61 61 <td></td>
62 62 <td></td>
63 63 </tr>
64 64 %endif
65 65
66 66 %for cnt,node in enumerate(c.files_list):
67 67 <tr class="parity${cnt%2}">
68 68 <td>
69 69 ${h.link_to(node.name,h.url('files_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=h.safe_unicode(node.path)),class_=file_class(node))}
70 70 </td>
71 71 <td>
72 72 %if node.is_file():
73 73 ${h.format_byte_size(node.size,binary=True)}
74 74 %endif
75 75 </td>
76 76 <td>
77 77 %if node.is_file():
78 78 ${node.mimetype}
79 79 %endif
80 80 </td>
81 81 <td>
82 82 %if node.is_file():
83 83 <span class="tooltip" title="${node.last_changeset.raw_id}">
84 84 ${'r%s:%s' % (node.last_changeset.revision,node.last_changeset.short_id)}</span>
85 85 %endif
86 86 </td>
87 87 <td>
88 88 %if node.is_file():
89 89 <span class="tooltip" title="${node.last_changeset.date}">
90 90 ${h.age(node.last_changeset.date)}</span>
91 91 %endif
92 92 </td>
93 93 <td>
94 94 %if node.is_file():
95 95 ${node.last_changeset.author}
96 96 %endif
97 97 </td>
98 98 </tr>
99 99 %endfor
100 100 </table>
101 101 </div>
102 102 </div> No newline at end of file
@@ -1,91 +1,91 b''
1 1 <dl>
2 2 <dt>${_('Revision')}</dt>
3 3 <dd>
4 4 ${h.link_to("r%s:%s" % (c.files_list.last_changeset.revision,h.short_id(c.files_list.last_changeset.raw_id)),
5 5 h.url('changeset_home',repo_name=c.repo_name,revision=c.files_list.last_changeset.raw_id))}
6 6 </dd>
7 7 <dt>${_('Size')}</dt>
8 8 <dd>${h.format_byte_size(c.files_list.size,binary=True)}</dd>
9 9 <dt>${_('Mimetype')}</dt>
10 10 <dd>${c.files_list.mimetype}</dd>
11 11 <dt>${_('Options')}</dt>
12 12 <dd>${h.link_to(_('show annotation'),
13 13 h.url('files_annotate_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.f_path))}
14 14 / ${h.link_to(_('show as raw'),
15 15 h.url('files_raw_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.f_path))}
16 16 / ${h.link_to(_('download as raw'),
17 17 h.url('files_rawfile_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.f_path))}
18 18 </dd>
19 19 <dt>${_('History')}</dt>
20 20 <dd>
21 21 <div>
22 22 ${h.form(h.url('files_diff_home',repo_name=c.repo_name,f_path=c.f_path),method='get')}
23 23 ${h.hidden('diff2',c.files_list.last_changeset.raw_id)}
24 24 ${h.select('diff1',c.files_list.last_changeset.raw_id,c.file_history)}
25 ${h.submit('diff','diff to revision',class_="ui-button")}
26 ${h.submit('show_rev','show at revision',class_="ui-button")}
25 ${h.submit('diff','diff to revision',class_="ui-button-small")}
26 ${h.submit('show_rev','show at revision',class_="ui-button-small")}
27 27 ${h.end_form()}
28 28 </div>
29 29 </dd>
30 30 </dl>
31 31
32 32
33 33 <div id="body" class="codeblock">
34 34 <div class="code-header">
35 35 <div class="revision">${c.files_list.name}@r${c.files_list.last_changeset.revision}:${h.short_id(c.files_list.last_changeset.raw_id)}</div>
36 36 <div class="commit">"${c.files_list.last_changeset.message}"</div>
37 37 </div>
38 38 <div class="code-body">
39 39 %if c.files_list.is_binary:
40 40 ${_('Binary file (%s)') % c.files_list.mimetype}
41 41 %else:
42 42 % if c.files_list.size < c.cut_off_limit:
43 43 ${h.pygmentize(c.files_list,linenos=True,anchorlinenos=True,lineanchors='L',cssclass="code-highlight")}
44 44 %else:
45 45 ${_('File is to big to display')} ${h.link_to(_('show as raw'),
46 46 h.url('files_raw_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.f_path))}
47 47 %endif
48 48
49 49 <script type="text/javascript">
50 50 function highlight_lines(lines){
51 51 for(pos in lines){
52 52 YUD.setStyle('L'+lines[pos],'background-color','#FFFFBE');
53 53 }
54 54 }
55 55 page_highlights = location.href.substring(location.href.indexOf('#')+1).split('L');
56 56 if (page_highlights.length == 2){
57 57 highlight_ranges = page_highlights[1].split(",");
58 58
59 59 var h_lines = [];
60 60 for (pos in highlight_ranges){
61 61 var _range = highlight_ranges[pos].split('-');
62 62 if(_range.length == 2){
63 63 var start = parseInt(_range[0]);
64 64 var end = parseInt(_range[1]);
65 65 if (start < end){
66 66 for(var i=start;i<=end;i++){
67 67 h_lines.push(i);
68 68 }
69 69 }
70 70 }
71 71 else{
72 72 h_lines.push(parseInt(highlight_ranges[pos]));
73 73 }
74 74 }
75 75 highlight_lines(h_lines);
76 76 }
77 77 </script>
78 78 %endif
79 79 </div>
80 80 </div>
81 81
82 82 <script type="text/javascript">
83 83 YAHOO.util.Event.onDOMReady(function(){
84 84 YAHOO.util.Event.addListener('show_rev','click',function(e){
85 85 YAHOO.util.Event.preventDefault(e);
86 86 var cs = YAHOO.util.Dom.get('diff1').value;
87 87 var url = "${h.url('files_home',repo_name=c.repo_name,revision='__CS__',f_path=c.f_path)}".replace('__CS__',cs);
88 88 window.location = url;
89 89 });
90 90 });
91 91 </script> No newline at end of file
@@ -1,40 +1,43 b''
1 1 ## -*- coding: utf-8 -*-
2 2
3 % for f in c.forks_pager:
4 <div>
5 <div class="fork_user">
6 <div class="gravatar">
7 <img alt="gravatar" src="${h.gravatar_url(f.user.email,24)}"/>
8 </div>
9 <span style="font-size: 20px">
10 <b>${f.user.username}</b> (${f.user.name} ${f.user.lastname}) /
11 ${h.link_to(f.repo_name,h.url('summary_home',repo_name=f.repo_name))}
12 </span>
13 <div style="padding:5px 3px 3px 42px;">${f.description}</div>
14 </div>
15 <div style="clear:both;padding-top: 10px"></div>
16 <div class="follower_date">${_('forked')} -
17 <span class="tooltip" title="${f.created_on}"> ${h.age(f.created_on)}</span></div>
18 <div style="border-bottom: 1px solid #DDD;margin:10px 0px 10px 0px"></div>
19 </div>
20 % endfor
21
3 % if c.forks_pager:
4 % for f in c.forks_pager:
5 <div>
6 <div class="fork_user">
7 <div class="gravatar">
8 <img alt="gravatar" src="${h.gravatar_url(f.user.email,24)}"/>
9 </div>
10 <span style="font-size: 20px">
11 <b>${f.user.username}</b> (${f.user.name} ${f.user.lastname}) /
12 ${h.link_to(f.repo_name,h.url('summary_home',repo_name=f.repo_name))}
13 </span>
14 <div style="padding:5px 3px 3px 42px;">${f.description}</div>
15 </div>
16 <div style="clear:both;padding-top: 10px"></div>
17 <div class="follower_date">${_('forked')} -
18 <span class="tooltip" title="${f.created_on}"> ${h.age(f.created_on)}</span></div>
19 <div style="border-bottom: 1px solid #DDD;margin:10px 0px 10px 0px"></div>
20 </div>
21 % endfor
22 % else:
23 ${_('There are no forks yet')}
24 % endif
22 25 <div class="pagination-wh pagination-left">
23 26 <script type="text/javascript">
24 27 var data_div = 'forks';
25 28 YAHOO.util.Event.onDOMReady(function(){
26 29 YAHOO.util.Event.addListener(
27 30 YUD.getElementsByClassName('pager_link'),"click",
28 31 function(){
29 32 YAHOO.util.Dom.setStyle(data_div,'opacity','0.3');
30 33 });
31 34 });
32 35 </script>
33 36
34 37 ${c.forks_pager.pager('$link_previous ~2~ $link_next',
35 38 onclick="""YAHOO.util.Connect.asyncRequest('GET','$partial_url',{
36 39 success:function(o){YAHOO.util.Dom.get(data_div).innerHTML=o.responseText;
37 40 YUE.on(YAHOO.util.Dom.getElementsByClassName('pager_link'),"click",function(){
38 41 YAHOO.util.Dom.setStyle(data_div,'opacity','0.3');});
39 42 YAHOO.util.Dom.setStyle(data_div,'opacity','1');}},null); return false;""")}
40 43 </div> No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now