##// END OF EJS Templates
added changeset status into changelog view
marcink -
r2239:493e03a4 codereview
parent child Browse files
Show More
@@ -1,945 +1,949 b''
1 1 """Helper functions
2 2
3 3 Consists of functions to typically be used within templates, but also
4 4 available to Controllers. This module is available to both as 'h'.
5 5 """
6 6 import random
7 7 import hashlib
8 8 import StringIO
9 9 import urllib
10 10 import math
11 11 import logging
12 12
13 13 from datetime import datetime
14 14 from pygments.formatters.html import HtmlFormatter
15 15 from pygments import highlight as code_highlight
16 16 from pylons import url, request, config
17 17 from pylons.i18n.translation import _, ungettext
18 18 from hashlib import md5
19 19
20 20 from webhelpers.html import literal, HTML, escape
21 21 from webhelpers.html.tools import *
22 22 from webhelpers.html.builder import make_tag
23 23 from webhelpers.html.tags import auto_discovery_link, checkbox, css_classes, \
24 24 end_form, file, form, hidden, image, javascript_link, link_to, \
25 25 link_to_if, link_to_unless, ol, required_legend, select, stylesheet_link, \
26 26 submit, text, password, textarea, title, ul, xml_declaration, radio
27 27 from webhelpers.html.tools import auto_link, button_to, highlight, \
28 28 js_obfuscate, mail_to, strip_links, strip_tags, tag_re
29 29 from webhelpers.number import format_byte_size, format_bit_size
30 30 from webhelpers.pylonslib import Flash as _Flash
31 31 from webhelpers.pylonslib.secure_form import secure_form
32 32 from webhelpers.text import chop_at, collapse, convert_accented_entities, \
33 33 convert_misc_entities, lchop, plural, rchop, remove_formatting, \
34 34 replace_whitespace, urlify, truncate, wrap_paragraphs
35 35 from webhelpers.date import time_ago_in_words
36 36 from webhelpers.paginate import Page
37 37 from webhelpers.html.tags import _set_input_attrs, _set_id_attr, \
38 38 convert_boolean_attrs, NotGiven, _make_safe_id_component
39 39
40 40 from rhodecode.lib.annotate import annotate_highlight
41 41 from rhodecode.lib.utils import repo_name_slug
42 42 from rhodecode.lib.utils2 import str2bool, safe_unicode, safe_str, \
43 43 get_changeset_safe
44 44 from rhodecode.lib.markup_renderer import MarkupRenderer
45 45 from rhodecode.model.changeset_status import ChangesetStatusModel
46 46
47 47 log = logging.getLogger(__name__)
48 48
49 49
50 50 def shorter(text, size=20):
51 51 postfix = '...'
52 52 if len(text) > size:
53 53 return text[:size - len(postfix)] + postfix
54 54 return text
55 55
56 56
57 57 def _reset(name, value=None, id=NotGiven, type="reset", **attrs):
58 58 """
59 59 Reset button
60 60 """
61 61 _set_input_attrs(attrs, type, name, value)
62 62 _set_id_attr(attrs, id, name)
63 63 convert_boolean_attrs(attrs, ["disabled"])
64 64 return HTML.input(**attrs)
65 65
66 66 reset = _reset
67 67 safeid = _make_safe_id_component
68 68
69 69
70 70 def FID(raw_id, path):
71 71 """
72 72 Creates a uniqe ID for filenode based on it's hash of path and revision
73 73 it's safe to use in urls
74 74
75 75 :param raw_id:
76 76 :param path:
77 77 """
78 78
79 79 return 'C-%s-%s' % (short_id(raw_id), md5(safe_str(path)).hexdigest()[:12])
80 80
81 81
82 82 def get_token():
83 83 """Return the current authentication token, creating one if one doesn't
84 84 already exist.
85 85 """
86 86 token_key = "_authentication_token"
87 87 from pylons import session
88 88 if not token_key in session:
89 89 try:
90 90 token = hashlib.sha1(str(random.getrandbits(128))).hexdigest()
91 91 except AttributeError: # Python < 2.4
92 92 token = hashlib.sha1(str(random.randrange(2 ** 128))).hexdigest()
93 93 session[token_key] = token
94 94 if hasattr(session, 'save'):
95 95 session.save()
96 96 return session[token_key]
97 97
98 98
99 99 class _GetError(object):
100 100 """Get error from form_errors, and represent it as span wrapped error
101 101 message
102 102
103 103 :param field_name: field to fetch errors for
104 104 :param form_errors: form errors dict
105 105 """
106 106
107 107 def __call__(self, field_name, form_errors):
108 108 tmpl = """<span class="error_msg">%s</span>"""
109 109 if form_errors and form_errors.has_key(field_name):
110 110 return literal(tmpl % form_errors.get(field_name))
111 111
112 112 get_error = _GetError()
113 113
114 114
115 115 class _ToolTip(object):
116 116
117 117 def __call__(self, tooltip_title, trim_at=50):
118 118 """Special function just to wrap our text into nice formatted
119 119 autowrapped text
120 120
121 121 :param tooltip_title:
122 122 """
123 123 return escape(tooltip_title)
124 124 tooltip = _ToolTip()
125 125
126 126
127 127 class _FilesBreadCrumbs(object):
128 128
129 129 def __call__(self, repo_name, rev, paths):
130 130 if isinstance(paths, str):
131 131 paths = safe_unicode(paths)
132 132 url_l = [link_to(repo_name, url('files_home',
133 133 repo_name=repo_name,
134 134 revision=rev, f_path=''))]
135 135 paths_l = paths.split('/')
136 136 for cnt, p in enumerate(paths_l):
137 137 if p != '':
138 138 url_l.append(link_to(p,
139 139 url('files_home',
140 140 repo_name=repo_name,
141 141 revision=rev,
142 142 f_path='/'.join(paths_l[:cnt + 1])
143 143 )
144 144 )
145 145 )
146 146
147 147 return literal('/'.join(url_l))
148 148
149 149 files_breadcrumbs = _FilesBreadCrumbs()
150 150
151 151
152 152 class CodeHtmlFormatter(HtmlFormatter):
153 153 """
154 154 My code Html Formatter for source codes
155 155 """
156 156
157 157 def wrap(self, source, outfile):
158 158 return self._wrap_div(self._wrap_pre(self._wrap_code(source)))
159 159
160 160 def _wrap_code(self, source):
161 161 for cnt, it in enumerate(source):
162 162 i, t = it
163 163 t = '<div id="L%s">%s</div>' % (cnt + 1, t)
164 164 yield i, t
165 165
166 166 def _wrap_tablelinenos(self, inner):
167 167 dummyoutfile = StringIO.StringIO()
168 168 lncount = 0
169 169 for t, line in inner:
170 170 if t:
171 171 lncount += 1
172 172 dummyoutfile.write(line)
173 173
174 174 fl = self.linenostart
175 175 mw = len(str(lncount + fl - 1))
176 176 sp = self.linenospecial
177 177 st = self.linenostep
178 178 la = self.lineanchors
179 179 aln = self.anchorlinenos
180 180 nocls = self.noclasses
181 181 if sp:
182 182 lines = []
183 183
184 184 for i in range(fl, fl + lncount):
185 185 if i % st == 0:
186 186 if i % sp == 0:
187 187 if aln:
188 188 lines.append('<a href="#%s%d" class="special">%*d</a>' %
189 189 (la, i, mw, i))
190 190 else:
191 191 lines.append('<span class="special">%*d</span>' % (mw, i))
192 192 else:
193 193 if aln:
194 194 lines.append('<a href="#%s%d">%*d</a>' % (la, i, mw, i))
195 195 else:
196 196 lines.append('%*d' % (mw, i))
197 197 else:
198 198 lines.append('')
199 199 ls = '\n'.join(lines)
200 200 else:
201 201 lines = []
202 202 for i in range(fl, fl + lncount):
203 203 if i % st == 0:
204 204 if aln:
205 205 lines.append('<a href="#%s%d">%*d</a>' % (la, i, mw, i))
206 206 else:
207 207 lines.append('%*d' % (mw, i))
208 208 else:
209 209 lines.append('')
210 210 ls = '\n'.join(lines)
211 211
212 212 # in case you wonder about the seemingly redundant <div> here: since the
213 213 # content in the other cell also is wrapped in a div, some browsers in
214 214 # some configurations seem to mess up the formatting...
215 215 if nocls:
216 216 yield 0, ('<table class="%stable">' % self.cssclass +
217 217 '<tr><td><div class="linenodiv" '
218 218 'style="background-color: #f0f0f0; padding-right: 10px">'
219 219 '<pre style="line-height: 125%">' +
220 220 ls + '</pre></div></td><td id="hlcode" class="code">')
221 221 else:
222 222 yield 0, ('<table class="%stable">' % self.cssclass +
223 223 '<tr><td class="linenos"><div class="linenodiv"><pre>' +
224 224 ls + '</pre></div></td><td id="hlcode" class="code">')
225 225 yield 0, dummyoutfile.getvalue()
226 226 yield 0, '</td></tr></table>'
227 227
228 228
229 229 def pygmentize(filenode, **kwargs):
230 230 """pygmentize function using pygments
231 231
232 232 :param filenode:
233 233 """
234 234
235 235 return literal(code_highlight(filenode.content,
236 236 filenode.lexer, CodeHtmlFormatter(**kwargs)))
237 237
238 238
239 239 def pygmentize_annotation(repo_name, filenode, **kwargs):
240 240 """
241 241 pygmentize function for annotation
242 242
243 243 :param filenode:
244 244 """
245 245
246 246 color_dict = {}
247 247
248 248 def gen_color(n=10000):
249 249 """generator for getting n of evenly distributed colors using
250 250 hsv color and golden ratio. It always return same order of colors
251 251
252 252 :returns: RGB tuple
253 253 """
254 254
255 255 def hsv_to_rgb(h, s, v):
256 256 if s == 0.0:
257 257 return v, v, v
258 258 i = int(h * 6.0) # XXX assume int() truncates!
259 259 f = (h * 6.0) - i
260 260 p = v * (1.0 - s)
261 261 q = v * (1.0 - s * f)
262 262 t = v * (1.0 - s * (1.0 - f))
263 263 i = i % 6
264 264 if i == 0:
265 265 return v, t, p
266 266 if i == 1:
267 267 return q, v, p
268 268 if i == 2:
269 269 return p, v, t
270 270 if i == 3:
271 271 return p, q, v
272 272 if i == 4:
273 273 return t, p, v
274 274 if i == 5:
275 275 return v, p, q
276 276
277 277 golden_ratio = 0.618033988749895
278 278 h = 0.22717784590367374
279 279
280 280 for _ in xrange(n):
281 281 h += golden_ratio
282 282 h %= 1
283 283 HSV_tuple = [h, 0.95, 0.95]
284 284 RGB_tuple = hsv_to_rgb(*HSV_tuple)
285 285 yield map(lambda x: str(int(x * 256)), RGB_tuple)
286 286
287 287 cgenerator = gen_color()
288 288
289 289 def get_color_string(cs):
290 290 if cs in color_dict:
291 291 col = color_dict[cs]
292 292 else:
293 293 col = color_dict[cs] = cgenerator.next()
294 294 return "color: rgb(%s)! important;" % (', '.join(col))
295 295
296 296 def url_func(repo_name):
297 297
298 298 def _url_func(changeset):
299 299 author = changeset.author
300 300 date = changeset.date
301 301 message = tooltip(changeset.message)
302 302
303 303 tooltip_html = ("<div style='font-size:0.8em'><b>Author:</b>"
304 304 " %s<br/><b>Date:</b> %s</b><br/><b>Message:"
305 305 "</b> %s<br/></div>")
306 306
307 307 tooltip_html = tooltip_html % (author, date, message)
308 308 lnk_format = '%5s:%s' % ('r%s' % changeset.revision,
309 309 short_id(changeset.raw_id))
310 310 uri = link_to(
311 311 lnk_format,
312 312 url('changeset_home', repo_name=repo_name,
313 313 revision=changeset.raw_id),
314 314 style=get_color_string(changeset.raw_id),
315 315 class_='tooltip',
316 316 title=tooltip_html
317 317 )
318 318
319 319 uri += '\n'
320 320 return uri
321 321 return _url_func
322 322
323 323 return literal(annotate_highlight(filenode, url_func(repo_name), **kwargs))
324 324
325 325
326 326 def is_following_repo(repo_name, user_id):
327 327 from rhodecode.model.scm import ScmModel
328 328 return ScmModel().is_following_repo(repo_name, user_id)
329 329
330 330 flash = _Flash()
331 331
332 332 #==============================================================================
333 333 # SCM FILTERS available via h.
334 334 #==============================================================================
335 335 from rhodecode.lib.vcs.utils import author_name, author_email
336 336 from rhodecode.lib.utils2 import credentials_filter, age as _age
337 from rhodecode.model.db import User
337 from rhodecode.model.db import User, ChangesetStatus
338 338
339 339 age = lambda x: _age(x)
340 340 capitalize = lambda x: x.capitalize()
341 341 email = author_email
342 342 short_id = lambda x: x[:12]
343 343 hide_credentials = lambda x: ''.join(credentials_filter(x))
344 344
345 345
346 346 def is_git(repository):
347 347 if hasattr(repository, 'alias'):
348 348 _type = repository.alias
349 349 elif hasattr(repository, 'repo_type'):
350 350 _type = repository.repo_type
351 351 else:
352 352 _type = repository
353 353 return _type == 'git'
354 354
355 355
356 356 def is_hg(repository):
357 357 if hasattr(repository, 'alias'):
358 358 _type = repository.alias
359 359 elif hasattr(repository, 'repo_type'):
360 360 _type = repository.repo_type
361 361 else:
362 362 _type = repository
363 363 return _type == 'hg'
364 364
365 365
366 366 def email_or_none(author):
367 367 _email = email(author)
368 368 if _email != '':
369 369 return _email
370 370
371 371 # See if it contains a username we can get an email from
372 372 user = User.get_by_username(author_name(author), case_insensitive=True,
373 373 cache=True)
374 374 if user is not None:
375 375 return user.email
376 376
377 377 # No valid email, not a valid user in the system, none!
378 378 return None
379 379
380 380
381 381 def person(author):
382 382 # attr to return from fetched user
383 383 person_getter = lambda usr: usr.username
384 384
385 385 # Valid email in the attribute passed, see if they're in the system
386 386 _email = email(author)
387 387 if _email != '':
388 388 user = User.get_by_email(_email, case_insensitive=True, cache=True)
389 389 if user is not None:
390 390 return person_getter(user)
391 391 return _email
392 392
393 393 # Maybe it's a username?
394 394 _author = author_name(author)
395 395 user = User.get_by_username(_author, case_insensitive=True,
396 396 cache=True)
397 397 if user is not None:
398 398 return person_getter(user)
399 399
400 400 # Still nothing? Just pass back the author name then
401 401 return _author
402 402
403 403
404 404 def bool2icon(value):
405 405 """Returns True/False values represented as small html image of true/false
406 406 icons
407 407
408 408 :param value: bool value
409 409 """
410 410
411 411 if value is True:
412 412 return HTML.tag('img', src=url("/images/icons/accept.png"),
413 413 alt=_('True'))
414 414
415 415 if value is False:
416 416 return HTML.tag('img', src=url("/images/icons/cancel.png"),
417 417 alt=_('False'))
418 418
419 419 return value
420 420
421 421
422 422 def action_parser(user_log, feed=False):
423 423 """
424 424 This helper will action_map the specified string action into translated
425 425 fancy names with icons and links
426 426
427 427 :param user_log: user log instance
428 428 :param feed: use output for feeds (no html and fancy icons)
429 429 """
430 430
431 431 action = user_log.action
432 432 action_params = ' '
433 433
434 434 x = action.split(':')
435 435
436 436 if len(x) > 1:
437 437 action, action_params = x
438 438
439 439 def get_cs_links():
440 440 revs_limit = 3 # display this amount always
441 441 revs_top_limit = 50 # show upto this amount of changesets hidden
442 442 revs_ids = action_params.split(',')
443 443 deleted = user_log.repository is None
444 444 if deleted:
445 445 return ','.join(revs_ids)
446 446
447 447 repo_name = user_log.repository.repo_name
448 448
449 449 repo = user_log.repository.scm_instance
450 450
451 451 message = lambda rev: rev.message
452 452 lnk = lambda rev, repo_name: (
453 453 link_to('r%s:%s' % (rev.revision, rev.short_id),
454 454 url('changeset_home', repo_name=repo_name,
455 455 revision=rev.raw_id),
456 456 title=tooltip(message(rev)), class_='tooltip')
457 457 )
458 458
459 459 revs = []
460 460 if len(filter(lambda v: v != '', revs_ids)) > 0:
461 461 # get only max revs_top_limit of changeset for performance/ui reasons
462 462 revs = [
463 463 x for x in repo.get_changesets(revs_ids[0],
464 464 revs_ids[:revs_top_limit][-1])
465 465 ]
466 466
467 467 cs_links = []
468 468 cs_links.append(" " + ', '.join(
469 469 [lnk(rev, repo_name) for rev in revs[:revs_limit]]
470 470 )
471 471 )
472 472
473 473 compare_view = (
474 474 ' <div class="compare_view tooltip" title="%s">'
475 475 '<a href="%s">%s</a> </div>' % (
476 476 _('Show all combined changesets %s->%s') % (
477 477 revs_ids[0], revs_ids[-1]
478 478 ),
479 479 url('changeset_home', repo_name=repo_name,
480 480 revision='%s...%s' % (revs_ids[0], revs_ids[-1])
481 481 ),
482 482 _('compare view')
483 483 )
484 484 )
485 485
486 486 # if we have exactly one more than normally displayed
487 487 # just display it, takes less space than displaying
488 488 # "and 1 more revisions"
489 489 if len(revs_ids) == revs_limit + 1:
490 490 rev = revs[revs_limit]
491 491 cs_links.append(", " + lnk(rev, repo_name))
492 492
493 493 # hidden-by-default ones
494 494 if len(revs_ids) > revs_limit + 1:
495 495 uniq_id = revs_ids[0]
496 496 html_tmpl = (
497 497 '<span> %s <a class="show_more" id="_%s" '
498 498 'href="#more">%s</a> %s</span>'
499 499 )
500 500 if not feed:
501 501 cs_links.append(html_tmpl % (
502 502 _('and'),
503 503 uniq_id, _('%s more') % (len(revs_ids) - revs_limit),
504 504 _('revisions')
505 505 )
506 506 )
507 507
508 508 if not feed:
509 509 html_tmpl = '<span id="%s" style="display:none">, %s </span>'
510 510 else:
511 511 html_tmpl = '<span id="%s"> %s </span>'
512 512
513 513 morelinks = ', '.join(
514 514 [lnk(rev, repo_name) for rev in revs[revs_limit:]]
515 515 )
516 516
517 517 if len(revs_ids) > revs_top_limit:
518 518 morelinks += ', ...'
519 519
520 520 cs_links.append(html_tmpl % (uniq_id, morelinks))
521 521 if len(revs) > 1:
522 522 cs_links.append(compare_view)
523 523 return ''.join(cs_links)
524 524
525 525 def get_fork_name():
526 526 repo_name = action_params
527 527 return _('fork name ') + str(link_to(action_params, url('summary_home',
528 528 repo_name=repo_name,)))
529 529
530 530 action_map = {'user_deleted_repo': (_('[deleted] repository'), None),
531 531 'user_created_repo': (_('[created] repository'), None),
532 532 'user_created_fork': (_('[created] repository as fork'), None),
533 533 'user_forked_repo': (_('[forked] repository'), get_fork_name),
534 534 'user_updated_repo': (_('[updated] repository'), None),
535 535 'admin_deleted_repo': (_('[delete] repository'), None),
536 536 'admin_created_repo': (_('[created] repository'), None),
537 537 'admin_forked_repo': (_('[forked] repository'), None),
538 538 'admin_updated_repo': (_('[updated] repository'), None),
539 539 'push': (_('[pushed] into'), get_cs_links),
540 540 'push_local': (_('[committed via RhodeCode] into'), get_cs_links),
541 541 'push_remote': (_('[pulled from remote] into'), get_cs_links),
542 542 'pull': (_('[pulled] from'), None),
543 543 'started_following_repo': (_('[started following] repository'), None),
544 544 'stopped_following_repo': (_('[stopped following] repository'), None),
545 545 }
546 546
547 547 action_str = action_map.get(action, action)
548 548 if feed:
549 549 action = action_str[0].replace('[', '').replace(']', '')
550 550 else:
551 551 action = action_str[0]\
552 552 .replace('[', '<span class="journal_highlight">')\
553 553 .replace(']', '</span>')
554 554
555 555 action_params_func = lambda: ""
556 556
557 557 if callable(action_str[1]):
558 558 action_params_func = action_str[1]
559 559
560 560 return [literal(action), action_params_func]
561 561
562 562
563 563 def action_parser_icon(user_log):
564 564 action = user_log.action
565 565 action_params = None
566 566 x = action.split(':')
567 567
568 568 if len(x) > 1:
569 569 action, action_params = x
570 570
571 571 tmpl = """<img src="%s%s" alt="%s"/>"""
572 572 map = {'user_deleted_repo':'database_delete.png',
573 573 'user_created_repo':'database_add.png',
574 574 'user_created_fork':'arrow_divide.png',
575 575 'user_forked_repo':'arrow_divide.png',
576 576 'user_updated_repo':'database_edit.png',
577 577 'admin_deleted_repo':'database_delete.png',
578 578 'admin_created_repo':'database_add.png',
579 579 'admin_forked_repo':'arrow_divide.png',
580 580 'admin_updated_repo':'database_edit.png',
581 581 'push':'script_add.png',
582 582 'push_local':'script_edit.png',
583 583 'push_remote':'connect.png',
584 584 'pull':'down_16.png',
585 585 'started_following_repo':'heart_add.png',
586 586 'stopped_following_repo':'heart_delete.png',
587 587 }
588 588 return literal(tmpl % ((url('/images/icons/')),
589 589 map.get(action, action), action))
590 590
591 591
592 592 #==============================================================================
593 593 # PERMS
594 594 #==============================================================================
595 595 from rhodecode.lib.auth import HasPermissionAny, HasPermissionAll, \
596 596 HasRepoPermissionAny, HasRepoPermissionAll
597 597
598 598
599 599 #==============================================================================
600 600 # GRAVATAR URL
601 601 #==============================================================================
602 602
603 603 def gravatar_url(email_address, size=30):
604 604 if (not str2bool(config['app_conf'].get('use_gravatar')) or
605 605 not email_address or email_address == 'anonymous@rhodecode.org'):
606 606 f = lambda a, l: min(l, key=lambda x: abs(x - a))
607 607 return url("/images/user%s.png" % f(size, [14, 16, 20, 24, 30]))
608 608
609 609 ssl_enabled = 'https' == request.environ.get('wsgi.url_scheme')
610 610 default = 'identicon'
611 611 baseurl_nossl = "http://www.gravatar.com/avatar/"
612 612 baseurl_ssl = "https://secure.gravatar.com/avatar/"
613 613 baseurl = baseurl_ssl if ssl_enabled else baseurl_nossl
614 614
615 615 if isinstance(email_address, unicode):
616 616 #hashlib crashes on unicode items
617 617 email_address = safe_str(email_address)
618 618 # construct the url
619 619 gravatar_url = baseurl + hashlib.md5(email_address.lower()).hexdigest() + "?"
620 620 gravatar_url += urllib.urlencode({'d': default, 's': str(size)})
621 621
622 622 return gravatar_url
623 623
624 624
625 625 #==============================================================================
626 626 # REPO PAGER, PAGER FOR REPOSITORY
627 627 #==============================================================================
628 628 class RepoPage(Page):
629 629
630 630 def __init__(self, collection, page=1, items_per_page=20,
631 631 item_count=None, url=None, **kwargs):
632 632
633 633 """Create a "RepoPage" instance. special pager for paging
634 634 repository
635 635 """
636 636 self._url_generator = url
637 637
638 638 # Safe the kwargs class-wide so they can be used in the pager() method
639 639 self.kwargs = kwargs
640 640
641 641 # Save a reference to the collection
642 642 self.original_collection = collection
643 643
644 644 self.collection = collection
645 645
646 646 # The self.page is the number of the current page.
647 647 # The first page has the number 1!
648 648 try:
649 649 self.page = int(page) # make it int() if we get it as a string
650 650 except (ValueError, TypeError):
651 651 self.page = 1
652 652
653 653 self.items_per_page = items_per_page
654 654
655 655 # Unless the user tells us how many items the collections has
656 656 # we calculate that ourselves.
657 657 if item_count is not None:
658 658 self.item_count = item_count
659 659 else:
660 660 self.item_count = len(self.collection)
661 661
662 662 # Compute the number of the first and last available page
663 663 if self.item_count > 0:
664 664 self.first_page = 1
665 665 self.page_count = int(math.ceil(float(self.item_count) /
666 666 self.items_per_page))
667 667 self.last_page = self.first_page + self.page_count - 1
668 668
669 669 # Make sure that the requested page number is the range of
670 670 # valid pages
671 671 if self.page > self.last_page:
672 672 self.page = self.last_page
673 673 elif self.page < self.first_page:
674 674 self.page = self.first_page
675 675
676 676 # Note: the number of items on this page can be less than
677 677 # items_per_page if the last page is not full
678 678 self.first_item = max(0, (self.item_count) - (self.page *
679 679 items_per_page))
680 680 self.last_item = ((self.item_count - 1) - items_per_page *
681 681 (self.page - 1))
682 682
683 683 self.items = list(self.collection[self.first_item:self.last_item + 1])
684 684
685 685 # Links to previous and next page
686 686 if self.page > self.first_page:
687 687 self.previous_page = self.page - 1
688 688 else:
689 689 self.previous_page = None
690 690
691 691 if self.page < self.last_page:
692 692 self.next_page = self.page + 1
693 693 else:
694 694 self.next_page = None
695 695
696 696 # No items available
697 697 else:
698 698 self.first_page = None
699 699 self.page_count = 0
700 700 self.last_page = None
701 701 self.first_item = None
702 702 self.last_item = None
703 703 self.previous_page = None
704 704 self.next_page = None
705 705 self.items = []
706 706
707 707 # This is a subclass of the 'list' type. Initialise the list now.
708 708 list.__init__(self, reversed(self.items))
709 709
710 710
711 711 def changed_tooltip(nodes):
712 712 """
713 713 Generates a html string for changed nodes in changeset page.
714 714 It limits the output to 30 entries
715 715
716 716 :param nodes: LazyNodesGenerator
717 717 """
718 718 if nodes:
719 719 pref = ': <br/> '
720 720 suf = ''
721 721 if len(nodes) > 30:
722 722 suf = '<br/>' + _(' and %s more') % (len(nodes) - 30)
723 723 return literal(pref + '<br/> '.join([safe_unicode(x.path)
724 724 for x in nodes[:30]]) + suf)
725 725 else:
726 726 return ': ' + _('No Files')
727 727
728 728
729 729 def repo_link(groups_and_repos):
730 730 """
731 731 Makes a breadcrumbs link to repo within a group
732 732 joins &raquo; on each group to create a fancy link
733 733
734 734 ex::
735 735 group >> subgroup >> repo
736 736
737 737 :param groups_and_repos:
738 738 """
739 739 groups, repo_name = groups_and_repos
740 740
741 741 if not groups:
742 742 return repo_name
743 743 else:
744 744 def make_link(group):
745 745 return link_to(group.name, url('repos_group_home',
746 746 group_name=group.group_name))
747 747 return literal(' &raquo; '.join(map(make_link, groups)) + \
748 748 " &raquo; " + repo_name)
749 749
750 750
751 751 def fancy_file_stats(stats):
752 752 """
753 753 Displays a fancy two colored bar for number of added/deleted
754 754 lines of code on file
755 755
756 756 :param stats: two element list of added/deleted lines of code
757 757 """
758 758
759 759 a, d, t = stats[0], stats[1], stats[0] + stats[1]
760 760 width = 100
761 761 unit = float(width) / (t or 1)
762 762
763 763 # needs > 9% of width to be visible or 0 to be hidden
764 764 a_p = max(9, unit * a) if a > 0 else 0
765 765 d_p = max(9, unit * d) if d > 0 else 0
766 766 p_sum = a_p + d_p
767 767
768 768 if p_sum > width:
769 769 #adjust the percentage to be == 100% since we adjusted to 9
770 770 if a_p > d_p:
771 771 a_p = a_p - (p_sum - width)
772 772 else:
773 773 d_p = d_p - (p_sum - width)
774 774
775 775 a_v = a if a > 0 else ''
776 776 d_v = d if d > 0 else ''
777 777
778 778 def cgen(l_type):
779 779 mapping = {'tr': 'top-right-rounded-corner-mid',
780 780 'tl': 'top-left-rounded-corner-mid',
781 781 'br': 'bottom-right-rounded-corner-mid',
782 782 'bl': 'bottom-left-rounded-corner-mid'}
783 783 map_getter = lambda x: mapping[x]
784 784
785 785 if l_type == 'a' and d_v:
786 786 #case when added and deleted are present
787 787 return ' '.join(map(map_getter, ['tl', 'bl']))
788 788
789 789 if l_type == 'a' and not d_v:
790 790 return ' '.join(map(map_getter, ['tr', 'br', 'tl', 'bl']))
791 791
792 792 if l_type == 'd' and a_v:
793 793 return ' '.join(map(map_getter, ['tr', 'br']))
794 794
795 795 if l_type == 'd' and not a_v:
796 796 return ' '.join(map(map_getter, ['tr', 'br', 'tl', 'bl']))
797 797
798 798 d_a = '<div class="added %s" style="width:%s%%">%s</div>' % (
799 799 cgen('a'), a_p, a_v
800 800 )
801 801 d_d = '<div class="deleted %s" style="width:%s%%">%s</div>' % (
802 802 cgen('d'), d_p, d_v
803 803 )
804 804 return literal('<div style="width:%spx">%s%s</div>' % (width, d_a, d_d))
805 805
806 806
807 807 def urlify_text(text_):
808 808 import re
809 809
810 810 url_pat = re.compile(r'''(http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]'''
811 811 '''|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+)''')
812 812
813 813 def url_func(match_obj):
814 814 url_full = match_obj.groups()[0]
815 815 return '<a href="%(url)s">%(url)s</a>' % ({'url': url_full})
816 816
817 817 return literal(url_pat.sub(url_func, text_))
818 818
819 819
820 820 def urlify_changesets(text_, repository):
821 821 """
822 822 Extract revision ids from changeset and make link from them
823 823
824 824 :param text_:
825 825 :param repository:
826 826 """
827 827 import re
828 828 URL_PAT = re.compile(r'([0-9a-fA-F]{12,})')
829 829
830 830 def url_func(match_obj):
831 831 rev = match_obj.groups()[0]
832 832 pref = ''
833 833 if match_obj.group().startswith(' '):
834 834 pref = ' '
835 835 tmpl = (
836 836 '%(pref)s<a class="%(cls)s" href="%(url)s">'
837 837 '%(rev)s'
838 838 '</a>'
839 839 )
840 840 return tmpl % {
841 841 'pref': pref,
842 842 'cls': 'revision-link',
843 843 'url': url('changeset_home', repo_name=repository, revision=rev),
844 844 'rev': rev,
845 845 }
846 846
847 847 newtext = URL_PAT.sub(url_func, text_)
848 848
849 849 return newtext
850 850
851 851
852 852 def urlify_commit(text_, repository=None, link_=None):
853 853 """
854 854 Parses given text message and makes proper links.
855 855 issues are linked to given issue-server, and rest is a changeset link
856 856 if link_ is given, in other case it's a plain text
857 857
858 858 :param text_:
859 859 :param repository:
860 860 :param link_: changeset link
861 861 """
862 862 import re
863 863 import traceback
864 864
865 865 def escaper(string):
866 866 return string.replace('<', '&lt;').replace('>', '&gt;')
867 867
868 868 def linkify_others(t, l):
869 869 urls = re.compile(r'(\<a.*?\<\/a\>)',)
870 870 links = []
871 871 for e in urls.split(t):
872 872 if not urls.match(e):
873 873 links.append('<a class="message-link" href="%s">%s</a>' % (l, e))
874 874 else:
875 875 links.append(e)
876 876
877 877 return ''.join(links)
878 878
879 879 # urlify changesets - extrac revisions and make link out of them
880 880 text_ = urlify_changesets(escaper(text_), repository)
881 881
882 882 try:
883 883 conf = config['app_conf']
884 884
885 885 URL_PAT = re.compile(r'%s' % conf.get('issue_pat'))
886 886
887 887 if URL_PAT:
888 888 ISSUE_SERVER_LNK = conf.get('issue_server_link')
889 889 ISSUE_PREFIX = conf.get('issue_prefix')
890 890
891 891 def url_func(match_obj):
892 892 pref = ''
893 893 if match_obj.group().startswith(' '):
894 894 pref = ' '
895 895
896 896 issue_id = ''.join(match_obj.groups())
897 897 tmpl = (
898 898 '%(pref)s<a class="%(cls)s" href="%(url)s">'
899 899 '%(issue-prefix)s%(id-repr)s'
900 900 '</a>'
901 901 )
902 902 url = ISSUE_SERVER_LNK.replace('{id}', issue_id)
903 903 if repository:
904 904 url = url.replace('{repo}', repository)
905 905
906 906 return tmpl % {
907 907 'pref': pref,
908 908 'cls': 'issue-tracker-link',
909 909 'url': url,
910 910 'id-repr': issue_id,
911 911 'issue-prefix': ISSUE_PREFIX,
912 912 'serv': ISSUE_SERVER_LNK,
913 913 }
914 914
915 915 newtext = URL_PAT.sub(url_func, text_)
916 916
917 917 if link_:
918 918 # wrap not links into final link => link_
919 919 newtext = linkify_others(newtext, link_)
920 920
921 921 return literal(newtext)
922 922 except:
923 923 log.error(traceback.format_exc())
924 924 pass
925 925
926 926 return text_
927 927
928 928
929 929 def rst(source):
930 930 return literal('<div class="rst-block">%s</div>' %
931 931 MarkupRenderer.rst(source))
932 932
933 933
934 934 def rst_w_mentions(source):
935 935 """
936 936 Wrapped rst renderer with @mention highlighting
937 937
938 938 :param source:
939 939 """
940 940 return literal('<div class="rst-block">%s</div>' %
941 941 MarkupRenderer.rst_with_mentions(source))
942 942
943 943
944 944 def changeset_status(repo, revision):
945 945 return ChangesetStatusModel().get_status(repo, revision)
946
947
948 def changeset_status_lbl(changeset_status):
949 return dict(ChangesetStatus.STATUSES).get(changeset_status)
@@ -1,4408 +1,4422 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 {
3 3 border: 0;
4 4 outline: 0;
5 5 font-size: 100%;
6 6 vertical-align: baseline;
7 7 background: transparent;
8 8 margin: 0;
9 9 padding: 0;
10 10 }
11 11
12 12 body {
13 13 line-height: 1;
14 14 height: 100%;
15 15 background: url("../images/background.png") repeat scroll 0 0 #B0B0B0;
16 16 font-family: Lucida Grande, Verdana, Lucida Sans Regular,
17 17 Lucida Sans Unicode, Arial, sans-serif; font-size : 12px;
18 18 color: #000;
19 19 margin: 0;
20 20 padding: 0;
21 21 font-size: 12px;
22 22 }
23 23
24 24 ol,ul {
25 25 list-style: none;
26 26 }
27 27
28 28 blockquote,q {
29 29 quotes: none;
30 30 }
31 31
32 32 blockquote:before,blockquote:after,q:before,q:after {
33 33 content: none;
34 34 }
35 35
36 36 :focus {
37 37 outline: 0;
38 38 }
39 39
40 40 del {
41 41 text-decoration: line-through;
42 42 }
43 43
44 44 table {
45 45 border-collapse: collapse;
46 46 border-spacing: 0;
47 47 }
48 48
49 49 html {
50 50 height: 100%;
51 51 }
52 52
53 53 a {
54 54 color: #003367;
55 55 text-decoration: none;
56 56 cursor: pointer;
57 57 }
58 58
59 59 a:hover {
60 60 color: #316293;
61 61 text-decoration: underline;
62 62 }
63 63
64 64 h1,h2,h3,h4,h5,h6 {
65 65 color: #292929;
66 66 font-weight: 700;
67 67 }
68 68
69 69 h1 {
70 70 font-size: 22px;
71 71 }
72 72
73 73 h2 {
74 74 font-size: 20px;
75 75 }
76 76
77 77 h3 {
78 78 font-size: 18px;
79 79 }
80 80
81 81 h4 {
82 82 font-size: 16px;
83 83 }
84 84
85 85 h5 {
86 86 font-size: 14px;
87 87 }
88 88
89 89 h6 {
90 90 font-size: 11px;
91 91 }
92 92
93 93 ul.circle {
94 94 list-style-type: circle;
95 95 }
96 96
97 97 ul.disc {
98 98 list-style-type: disc;
99 99 }
100 100
101 101 ul.square {
102 102 list-style-type: square;
103 103 }
104 104
105 105 ol.lower-roman {
106 106 list-style-type: lower-roman;
107 107 }
108 108
109 109 ol.upper-roman {
110 110 list-style-type: upper-roman;
111 111 }
112 112
113 113 ol.lower-alpha {
114 114 list-style-type: lower-alpha;
115 115 }
116 116
117 117 ol.upper-alpha {
118 118 list-style-type: upper-alpha;
119 119 }
120 120
121 121 ol.decimal {
122 122 list-style-type: decimal;
123 123 }
124 124
125 125 div.color {
126 126 clear: both;
127 127 overflow: hidden;
128 128 position: absolute;
129 129 background: #FFF;
130 130 margin: 7px 0 0 60px;
131 131 padding: 1px 1px 1px 0;
132 132 }
133 133
134 134 div.color a {
135 135 width: 15px;
136 136 height: 15px;
137 137 display: block;
138 138 float: left;
139 139 margin: 0 0 0 1px;
140 140 padding: 0;
141 141 }
142 142
143 143 div.options {
144 144 clear: both;
145 145 overflow: hidden;
146 146 position: absolute;
147 147 background: #FFF;
148 148 margin: 7px 0 0 162px;
149 149 padding: 0;
150 150 }
151 151
152 152 div.options a {
153 153 height: 1%;
154 154 display: block;
155 155 text-decoration: none;
156 156 margin: 0;
157 157 padding: 3px 8px;
158 158 }
159 159
160 160 .top-left-rounded-corner {
161 161 -webkit-border-top-left-radius: 8px;
162 162 -khtml-border-radius-topleft: 8px;
163 163 -moz-border-radius-topleft: 8px;
164 164 border-top-left-radius: 8px;
165 165 }
166 166
167 167 .top-right-rounded-corner {
168 168 -webkit-border-top-right-radius: 8px;
169 169 -khtml-border-radius-topright: 8px;
170 170 -moz-border-radius-topright: 8px;
171 171 border-top-right-radius: 8px;
172 172 }
173 173
174 174 .bottom-left-rounded-corner {
175 175 -webkit-border-bottom-left-radius: 8px;
176 176 -khtml-border-radius-bottomleft: 8px;
177 177 -moz-border-radius-bottomleft: 8px;
178 178 border-bottom-left-radius: 8px;
179 179 }
180 180
181 181 .bottom-right-rounded-corner {
182 182 -webkit-border-bottom-right-radius: 8px;
183 183 -khtml-border-radius-bottomright: 8px;
184 184 -moz-border-radius-bottomright: 8px;
185 185 border-bottom-right-radius: 8px;
186 186 }
187 187
188 188 .top-left-rounded-corner-mid {
189 189 -webkit-border-top-left-radius: 4px;
190 190 -khtml-border-radius-topleft: 4px;
191 191 -moz-border-radius-topleft: 4px;
192 192 border-top-left-radius: 4px;
193 193 }
194 194
195 195 .top-right-rounded-corner-mid {
196 196 -webkit-border-top-right-radius: 4px;
197 197 -khtml-border-radius-topright: 4px;
198 198 -moz-border-radius-topright: 4px;
199 199 border-top-right-radius: 4px;
200 200 }
201 201
202 202 .bottom-left-rounded-corner-mid {
203 203 -webkit-border-bottom-left-radius: 4px;
204 204 -khtml-border-radius-bottomleft: 4px;
205 205 -moz-border-radius-bottomleft: 4px;
206 206 border-bottom-left-radius: 4px;
207 207 }
208 208
209 209 .bottom-right-rounded-corner-mid {
210 210 -webkit-border-bottom-right-radius: 4px;
211 211 -khtml-border-radius-bottomright: 4px;
212 212 -moz-border-radius-bottomright: 4px;
213 213 border-bottom-right-radius: 4px;
214 214 }
215 215
216 216 .help-block {
217 217 color: #999999;
218 218 display: block;
219 219 margin-bottom: 0;
220 220 margin-top: 5px;
221 221 }
222 222
223 223 #header {
224 224 margin: 0;
225 225 padding: 0 10px;
226 226 }
227 227
228 228 #header ul#logged-user {
229 229 margin-bottom: 5px !important;
230 230 -webkit-border-radius: 0px 0px 8px 8px;
231 231 -khtml-border-radius: 0px 0px 8px 8px;
232 232 -moz-border-radius: 0px 0px 8px 8px;
233 233 border-radius: 0px 0px 8px 8px;
234 234 height: 37px;
235 235 background-color: #003B76;
236 236 background-repeat: repeat-x;
237 237 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
238 238 background-image: -moz-linear-gradient(top, #003b76, #00376e);
239 239 background-image: -ms-linear-gradient(top, #003b76, #00376e);
240 240 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
241 241 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
242 242 background-image: -o-linear-gradient(top, #003b76, #00376e);
243 243 background-image: linear-gradient(top, #003b76, #00376e);
244 244 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',endColorstr='#00376e', GradientType=0 );
245 245 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
246 246 }
247 247
248 248 #header ul#logged-user li {
249 249 list-style: none;
250 250 float: left;
251 251 margin: 8px 0 0;
252 252 padding: 4px 12px;
253 253 border-left: 1px solid #316293;
254 254 }
255 255
256 256 #header ul#logged-user li.first {
257 257 border-left: none;
258 258 margin: 4px;
259 259 }
260 260
261 261 #header ul#logged-user li.first div.gravatar {
262 262 margin-top: -2px;
263 263 }
264 264
265 265 #header ul#logged-user li.first div.account {
266 266 padding-top: 4px;
267 267 float: left;
268 268 }
269 269
270 270 #header ul#logged-user li.last {
271 271 border-right: none;
272 272 }
273 273
274 274 #header ul#logged-user li a {
275 275 color: #fff;
276 276 font-weight: 700;
277 277 text-decoration: none;
278 278 }
279 279
280 280 #header ul#logged-user li a:hover {
281 281 text-decoration: underline;
282 282 }
283 283
284 284 #header ul#logged-user li.highlight a {
285 285 color: #fff;
286 286 }
287 287
288 288 #header ul#logged-user li.highlight a:hover {
289 289 color: #FFF;
290 290 }
291 291
292 292 #header #header-inner {
293 293 min-height: 44px;
294 294 clear: both;
295 295 position: relative;
296 296 background-color: #003B76;
297 297 background-repeat: repeat-x;
298 298 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
299 299 background-image: -moz-linear-gradient(top, #003b76, #00376e);
300 300 background-image: -ms-linear-gradient(top, #003b76, #00376e);
301 301 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76),color-stop(100%, #00376e) );
302 302 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
303 303 background-image: -o-linear-gradient(top, #003b76, #00376e);
304 304 background-image: linear-gradient(top, #003b76, #00376e);
305 305 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',endColorstr='#00376e', GradientType=0 );
306 306 margin: 0;
307 307 padding: 0;
308 308 display: block;
309 309 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
310 310 -webkit-border-radius: 4px 4px 4px 4px;
311 311 -khtml-border-radius: 4px 4px 4px 4px;
312 312 -moz-border-radius: 4px 4px 4px 4px;
313 313 border-radius: 4px 4px 4px 4px;
314 314 }
315 315 #header #header-inner.hover{
316 316 position: fixed !important;
317 317 width: 100% !important;
318 318 margin-left: -10px !important;
319 319 z-index: 10000;
320 320 -webkit-border-radius: 0px 0px 0px 0px;
321 321 -khtml-border-radius: 0px 0px 0px 0px;
322 322 -moz-border-radius: 0px 0px 0px 0px;
323 323 border-radius: 0px 0px 0px 0px;
324 324 }
325 325
326 326 .ie7 #header #header-inner.hover,
327 327 .ie8 #header #header-inner.hover,
328 328 .ie9 #header #header-inner.hover
329 329 {
330 330 z-index: auto !important;
331 331 }
332 332
333 333 #header #header-inner #home a {
334 334 height: 40px;
335 335 width: 46px;
336 336 display: block;
337 337 background: url("../images/button_home.png");
338 338 background-position: 0 0;
339 339 margin: 0;
340 340 padding: 0;
341 341 }
342 342
343 343 #header #header-inner #home a:hover {
344 344 background-position: 0 -40px;
345 345 }
346 346
347 347 #header #header-inner #logo {
348 348 float: left;
349 349 position: absolute;
350 350 }
351 351
352 352 #header #header-inner #logo h1 {
353 353 color: #FFF;
354 354 font-size: 20px;
355 355 margin: 12px 0 0 13px;
356 356 padding: 0;
357 357 }
358 358
359 359 #header #header-inner #logo a {
360 360 color: #fff;
361 361 text-decoration: none;
362 362 }
363 363
364 364 #header #header-inner #logo a:hover {
365 365 color: #bfe3ff;
366 366 }
367 367
368 368 #header #header-inner #quick,#header #header-inner #quick ul {
369 369 position: relative;
370 370 float: right;
371 371 list-style-type: none;
372 372 list-style-position: outside;
373 373 margin: 8px 8px 0 0;
374 374 padding: 0;
375 375 }
376 376
377 377 #header #header-inner #quick li {
378 378 position: relative;
379 379 float: left;
380 380 margin: 0 5px 0 0;
381 381 padding: 0;
382 382 }
383 383
384 384 #header #header-inner #quick li a.menu_link {
385 385 top: 0;
386 386 left: 0;
387 387 height: 1%;
388 388 display: block;
389 389 clear: both;
390 390 overflow: hidden;
391 391 color: #FFF;
392 392 font-weight: 700;
393 393 text-decoration: none;
394 394 background: #369;
395 395 padding: 0;
396 396 -webkit-border-radius: 4px 4px 4px 4px;
397 397 -khtml-border-radius: 4px 4px 4px 4px;
398 398 -moz-border-radius: 4px 4px 4px 4px;
399 399 border-radius: 4px 4px 4px 4px;
400 400 }
401 401
402 402 #header #header-inner #quick li span.short {
403 403 padding: 9px 6px 8px 6px;
404 404 }
405 405
406 406 #header #header-inner #quick li span {
407 407 top: 0;
408 408 right: 0;
409 409 height: 1%;
410 410 display: block;
411 411 float: left;
412 412 border-left: 1px solid #3f6f9f;
413 413 margin: 0;
414 414 padding: 10px 12px 8px 10px;
415 415 }
416 416
417 417 #header #header-inner #quick li span.normal {
418 418 border: none;
419 419 padding: 10px 12px 8px;
420 420 }
421 421
422 422 #header #header-inner #quick li span.icon {
423 423 top: 0;
424 424 left: 0;
425 425 border-left: none;
426 426 border-right: 1px solid #2e5c89;
427 427 padding: 8px 6px 4px;
428 428 }
429 429
430 430 #header #header-inner #quick li span.icon_short {
431 431 top: 0;
432 432 left: 0;
433 433 border-left: none;
434 434 border-right: 1px solid #2e5c89;
435 435 padding: 8px 6px 4px;
436 436 }
437 437
438 438 #header #header-inner #quick li span.icon img,#header #header-inner #quick li span.icon_short img
439 439 {
440 440 margin: 0px -2px 0px 0px;
441 441 }
442 442
443 443 #header #header-inner #quick li a:hover {
444 444 background: #4e4e4e no-repeat top left;
445 445 }
446 446
447 447 #header #header-inner #quick li a:hover span {
448 448 border-left: 1px solid #545454;
449 449 }
450 450
451 451 #header #header-inner #quick li a:hover span.icon,#header #header-inner #quick li a:hover span.icon_short
452 452 {
453 453 border-left: none;
454 454 border-right: 1px solid #464646;
455 455 }
456 456
457 457 #header #header-inner #quick ul {
458 458 top: 29px;
459 459 right: 0;
460 460 min-width: 200px;
461 461 display: none;
462 462 position: absolute;
463 463 background: #FFF;
464 464 border: 1px solid #666;
465 465 border-top: 1px solid #003367;
466 466 z-index: 100;
467 467 margin: 0px 0px 0px 0px;
468 468 padding: 0;
469 469 }
470 470
471 471 #header #header-inner #quick ul.repo_switcher {
472 472 max-height: 275px;
473 473 overflow-x: hidden;
474 474 overflow-y: auto;
475 475 }
476 476
477 477 #header #header-inner #quick ul.repo_switcher li.qfilter_rs {
478 478 float: none;
479 479 margin: 0;
480 480 border-bottom: 2px solid #003367;
481 481 }
482 482
483 483 #header #header-inner #quick .repo_switcher_type {
484 484 position: absolute;
485 485 left: 0;
486 486 top: 9px;
487 487 }
488 488
489 489 #header #header-inner #quick li ul li {
490 490 border-bottom: 1px solid #ddd;
491 491 }
492 492
493 493 #header #header-inner #quick li ul li a {
494 494 width: 182px;
495 495 height: auto;
496 496 display: block;
497 497 float: left;
498 498 background: #FFF;
499 499 color: #003367;
500 500 font-weight: 400;
501 501 margin: 0;
502 502 padding: 7px 9px;
503 503 }
504 504
505 505 #header #header-inner #quick li ul li a:hover {
506 506 color: #000;
507 507 background: #FFF;
508 508 }
509 509
510 510 #header #header-inner #quick ul ul {
511 511 top: auto;
512 512 }
513 513
514 514 #header #header-inner #quick li ul ul {
515 515 right: 200px;
516 516 max-height: 275px;
517 517 overflow: auto;
518 518 overflow-x: hidden;
519 519 white-space: normal;
520 520 }
521 521
522 522 #header #header-inner #quick li ul li a.journal,#header #header-inner #quick li ul li a.journal:hover
523 523 {
524 524 background: url("../images/icons/book.png") no-repeat scroll 4px 9px
525 525 #FFF;
526 526 width: 167px;
527 527 margin: 0;
528 528 padding: 12px 9px 7px 24px;
529 529 }
530 530
531 531 #header #header-inner #quick li ul li a.private_repo,#header #header-inner #quick li ul li a.private_repo:hover
532 532 {
533 533 background: url("../images/icons/lock.png") no-repeat scroll 4px 9px
534 534 #FFF;
535 535 min-width: 167px;
536 536 margin: 0;
537 537 padding: 12px 9px 7px 24px;
538 538 }
539 539
540 540 #header #header-inner #quick li ul li a.public_repo,#header #header-inner #quick li ul li a.public_repo:hover
541 541 {
542 542 background: url("../images/icons/lock_open.png") no-repeat scroll 4px
543 543 9px #FFF;
544 544 min-width: 167px;
545 545 margin: 0;
546 546 padding: 12px 9px 7px 24px;
547 547 }
548 548
549 549 #header #header-inner #quick li ul li a.hg,#header #header-inner #quick li ul li a.hg:hover
550 550 {
551 551 background: url("../images/icons/hgicon.png") no-repeat scroll 4px 9px
552 552 #FFF;
553 553 min-width: 167px;
554 554 margin: 0 0 0 14px;
555 555 padding: 12px 9px 7px 24px;
556 556 }
557 557
558 558 #header #header-inner #quick li ul li a.git,#header #header-inner #quick li ul li a.git:hover
559 559 {
560 560 background: url("../images/icons/giticon.png") no-repeat scroll 4px 9px
561 561 #FFF;
562 562 min-width: 167px;
563 563 margin: 0 0 0 14px;
564 564 padding: 12px 9px 7px 24px;
565 565 }
566 566
567 567 #header #header-inner #quick li ul li a.repos,#header #header-inner #quick li ul li a.repos:hover
568 568 {
569 569 background: url("../images/icons/database_edit.png") no-repeat scroll
570 570 4px 9px #FFF;
571 571 width: 167px;
572 572 margin: 0;
573 573 padding: 12px 9px 7px 24px;
574 574 }
575 575
576 576 #header #header-inner #quick li ul li a.repos_groups,#header #header-inner #quick li ul li a.repos_groups:hover
577 577 {
578 578 background: url("../images/icons/database_link.png") no-repeat scroll
579 579 4px 9px #FFF;
580 580 width: 167px;
581 581 margin: 0;
582 582 padding: 12px 9px 7px 24px;
583 583 }
584 584
585 585 #header #header-inner #quick li ul li a.users,#header #header-inner #quick li ul li a.users:hover
586 586 {
587 587 background: #FFF url("../images/icons/user_edit.png") no-repeat 4px 9px;
588 588 width: 167px;
589 589 margin: 0;
590 590 padding: 12px 9px 7px 24px;
591 591 }
592 592
593 593 #header #header-inner #quick li ul li a.groups,#header #header-inner #quick li ul li a.groups:hover
594 594 {
595 595 background: #FFF url("../images/icons/group_edit.png") no-repeat 4px 9px;
596 596 width: 167px;
597 597 margin: 0;
598 598 padding: 12px 9px 7px 24px;
599 599 }
600 600
601 601 #header #header-inner #quick li ul li a.settings,#header #header-inner #quick li ul li a.settings:hover
602 602 {
603 603 background: #FFF url("../images/icons/cog.png") no-repeat 4px 9px;
604 604 width: 167px;
605 605 margin: 0;
606 606 padding: 12px 9px 7px 24px;
607 607 }
608 608
609 609 #header #header-inner #quick li ul li a.permissions,#header #header-inner #quick li ul li a.permissions:hover
610 610 {
611 611 background: #FFF url("../images/icons/key.png") no-repeat 4px 9px;
612 612 width: 167px;
613 613 margin: 0;
614 614 padding: 12px 9px 7px 24px;
615 615 }
616 616
617 617 #header #header-inner #quick li ul li a.ldap,#header #header-inner #quick li ul li a.ldap:hover
618 618 {
619 619 background: #FFF url("../images/icons/server_key.png") no-repeat 4px 9px;
620 620 width: 167px;
621 621 margin: 0;
622 622 padding: 12px 9px 7px 24px;
623 623 }
624 624
625 625 #header #header-inner #quick li ul li a.fork,#header #header-inner #quick li ul li a.fork:hover
626 626 {
627 627 background: #FFF url("../images/icons/arrow_divide.png") no-repeat 4px
628 628 9px;
629 629 width: 167px;
630 630 margin: 0;
631 631 padding: 12px 9px 7px 24px;
632 632 }
633 633
634 634 #header #header-inner #quick li ul li a.search,#header #header-inner #quick li ul li a.search:hover
635 635 {
636 636 background: #FFF url("../images/icons/search_16.png") no-repeat 4px 9px;
637 637 width: 167px;
638 638 margin: 0;
639 639 padding: 12px 9px 7px 24px;
640 640 }
641 641
642 642 #header #header-inner #quick li ul li a.delete,#header #header-inner #quick li ul li a.delete:hover
643 643 {
644 644 background: #FFF url("../images/icons/delete.png") no-repeat 4px 9px;
645 645 width: 167px;
646 646 margin: 0;
647 647 padding: 12px 9px 7px 24px;
648 648 }
649 649
650 650 #header #header-inner #quick li ul li a.branches,#header #header-inner #quick li ul li a.branches:hover
651 651 {
652 652 background: #FFF url("../images/icons/arrow_branch.png") no-repeat 4px
653 653 9px;
654 654 width: 167px;
655 655 margin: 0;
656 656 padding: 12px 9px 7px 24px;
657 657 }
658 658
659 659 #header #header-inner #quick li ul li a.tags,
660 660 #header #header-inner #quick li ul li a.tags:hover{
661 661 background: #FFF url("../images/icons/tag_blue.png") no-repeat 4px 9px;
662 662 width: 167px;
663 663 margin: 0;
664 664 padding: 12px 9px 7px 24px;
665 665 }
666 666
667 667 #header #header-inner #quick li ul li a.bookmarks,
668 668 #header #header-inner #quick li ul li a.bookmarks:hover{
669 669 background: #FFF url("../images/icons/tag_green.png") no-repeat 4px 9px;
670 670 width: 167px;
671 671 margin: 0;
672 672 padding: 12px 9px 7px 24px;
673 673 }
674 674
675 675 #header #header-inner #quick li ul li a.admin,
676 676 #header #header-inner #quick li ul li a.admin:hover{
677 677 background: #FFF url("../images/icons/cog_edit.png") no-repeat 4px 9px;
678 678 width: 167px;
679 679 margin: 0;
680 680 padding: 12px 9px 7px 24px;
681 681 }
682 682
683 683 .groups_breadcrumbs a {
684 684 color: #fff;
685 685 }
686 686
687 687 .groups_breadcrumbs a:hover {
688 688 color: #bfe3ff;
689 689 text-decoration: none;
690 690 }
691 691
692 692 td.quick_repo_menu {
693 693 background: #FFF url("../images/vertical-indicator.png") 8px 50% no-repeat !important;
694 694 cursor: pointer;
695 695 width: 8px;
696 696 border: 1px solid transparent;
697 697 }
698 698
699 699 td.quick_repo_menu.active {
700 700 background: url("../images/dt-arrow-dn.png") no-repeat scroll 5px 50% #FFFFFF !important;
701 701 border: 1px solid #003367;
702 702 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
703 703 cursor: pointer;
704 704 }
705 705
706 706 td.quick_repo_menu .menu_items {
707 707 margin-top: 10px;
708 708 margin-left:-6px;
709 709 width: 150px;
710 710 position: absolute;
711 711 background-color: #FFF;
712 712 background: none repeat scroll 0 0 #FFFFFF;
713 713 border-color: #003367 #666666 #666666;
714 714 border-right: 1px solid #666666;
715 715 border-style: solid;
716 716 border-width: 1px;
717 717 box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2);
718 718 border-top-style: none;
719 719 }
720 720
721 721 td.quick_repo_menu .menu_items li {
722 722 padding: 0 !important;
723 723 }
724 724
725 725 td.quick_repo_menu .menu_items a {
726 726 display: block;
727 727 padding: 4px 12px 4px 8px;
728 728 }
729 729
730 730 td.quick_repo_menu .menu_items a:hover {
731 731 background-color: #EEE;
732 732 text-decoration: none;
733 733 }
734 734
735 735 td.quick_repo_menu .menu_items .icon img {
736 736 margin-bottom: -2px;
737 737 }
738 738
739 739 td.quick_repo_menu .menu_items.hidden {
740 740 display: none;
741 741 }
742 742
743 743 .yui-dt-first th {
744 744 text-align: left;
745 745 }
746 746
747 747 /*
748 748 Copyright (c) 2011, Yahoo! Inc. All rights reserved.
749 749 Code licensed under the BSD License:
750 750 http://developer.yahoo.com/yui/license.html
751 751 version: 2.9.0
752 752 */
753 753 .yui-skin-sam .yui-dt-mask {
754 754 position: absolute;
755 755 z-index: 9500;
756 756 }
757 757 .yui-dt-tmp {
758 758 position: absolute;
759 759 left: -9000px;
760 760 }
761 761 .yui-dt-scrollable .yui-dt-bd { overflow: auto }
762 762 .yui-dt-scrollable .yui-dt-hd {
763 763 overflow: hidden;
764 764 position: relative;
765 765 }
766 766 .yui-dt-scrollable .yui-dt-bd thead tr,
767 767 .yui-dt-scrollable .yui-dt-bd thead th {
768 768 position: absolute;
769 769 left: -1500px;
770 770 }
771 771 .yui-dt-scrollable tbody { -moz-outline: 0 }
772 772 .yui-skin-sam thead .yui-dt-sortable { cursor: pointer }
773 773 .yui-skin-sam thead .yui-dt-draggable { cursor: move }
774 774 .yui-dt-coltarget {
775 775 position: absolute;
776 776 z-index: 999;
777 777 }
778 778 .yui-dt-hd { zoom: 1 }
779 779 th.yui-dt-resizeable .yui-dt-resizerliner { position: relative }
780 780 .yui-dt-resizer {
781 781 position: absolute;
782 782 right: 0;
783 783 bottom: 0;
784 784 height: 100%;
785 785 cursor: e-resize;
786 786 cursor: col-resize;
787 787 background-color: #CCC;
788 788 opacity: 0;
789 789 filter: alpha(opacity=0);
790 790 }
791 791 .yui-dt-resizerproxy {
792 792 visibility: hidden;
793 793 position: absolute;
794 794 z-index: 9000;
795 795 background-color: #CCC;
796 796 opacity: 0;
797 797 filter: alpha(opacity=0);
798 798 }
799 799 th.yui-dt-hidden .yui-dt-liner,
800 800 td.yui-dt-hidden .yui-dt-liner,
801 801 th.yui-dt-hidden .yui-dt-resizer { display: none }
802 802 .yui-dt-editor,
803 803 .yui-dt-editor-shim {
804 804 position: absolute;
805 805 z-index: 9000;
806 806 }
807 807 .yui-skin-sam .yui-dt table {
808 808 margin: 0;
809 809 padding: 0;
810 810 font-family: arial;
811 811 font-size: inherit;
812 812 border-collapse: separate;
813 813 *border-collapse: collapse;
814 814 border-spacing: 0;
815 815 border: 1px solid #7f7f7f;
816 816 }
817 817 .yui-skin-sam .yui-dt thead { border-spacing: 0 }
818 818 .yui-skin-sam .yui-dt caption {
819 819 color: #000;
820 820 font-size: 85%;
821 821 font-weight: normal;
822 822 font-style: italic;
823 823 line-height: 1;
824 824 padding: 1em 0;
825 825 text-align: center;
826 826 }
827 827 .yui-skin-sam .yui-dt th { background: #d8d8da url(../images/sprite.png) repeat-x 0 0 }
828 828 .yui-skin-sam .yui-dt th,
829 829 .yui-skin-sam .yui-dt th a {
830 830 font-weight: normal;
831 831 text-decoration: none;
832 832 color: #000;
833 833 vertical-align: bottom;
834 834 }
835 835 .yui-skin-sam .yui-dt th {
836 836 margin: 0;
837 837 padding: 0;
838 838 border: 0;
839 839 border-right: 1px solid #cbcbcb;
840 840 }
841 841 .yui-skin-sam .yui-dt tr.yui-dt-first td { border-top: 1px solid #7f7f7f }
842 842 .yui-skin-sam .yui-dt th .yui-dt-liner { white-space: nowrap }
843 843 .yui-skin-sam .yui-dt-liner {
844 844 margin: 0;
845 845 padding: 0;
846 846 }
847 847 .yui-skin-sam .yui-dt-coltarget {
848 848 width: 5px;
849 849 background-color: red;
850 850 }
851 851 .yui-skin-sam .yui-dt td {
852 852 margin: 0;
853 853 padding: 0;
854 854 border: 0;
855 855 border-right: 1px solid #cbcbcb;
856 856 text-align: left;
857 857 }
858 858 .yui-skin-sam .yui-dt-list td { border-right: 0 }
859 859 .yui-skin-sam .yui-dt-resizer { width: 6px }
860 860 .yui-skin-sam .yui-dt-mask {
861 861 background-color: #000;
862 862 opacity: .25;
863 863 filter: alpha(opacity=25);
864 864 }
865 865 .yui-skin-sam .yui-dt-message { background-color: #FFF }
866 866 .yui-skin-sam .yui-dt-scrollable table { border: 0 }
867 867 .yui-skin-sam .yui-dt-scrollable .yui-dt-hd {
868 868 border-left: 1px solid #7f7f7f;
869 869 border-top: 1px solid #7f7f7f;
870 870 border-right: 1px solid #7f7f7f;
871 871 }
872 872 .yui-skin-sam .yui-dt-scrollable .yui-dt-bd {
873 873 border-left: 1px solid #7f7f7f;
874 874 border-bottom: 1px solid #7f7f7f;
875 875 border-right: 1px solid #7f7f7f;
876 876 background-color: #FFF;
877 877 }
878 878 .yui-skin-sam .yui-dt-scrollable .yui-dt-data tr.yui-dt-last td { border-bottom: 1px solid #7f7f7f }
879 879 .yui-skin-sam th.yui-dt-asc,
880 880 .yui-skin-sam th.yui-dt-desc { background: url(../images/sprite.png) repeat-x 0 -100px }
881 881 .yui-skin-sam th.yui-dt-sortable .yui-dt-label { margin-right: 10px }
882 882 .yui-skin-sam th.yui-dt-asc .yui-dt-liner { background: url(../images/dt-arrow-up.png) no-repeat right }
883 883 .yui-skin-sam th.yui-dt-desc .yui-dt-liner { background: url(../images/dt-arrow-dn.png) no-repeat right }
884 884 tbody .yui-dt-editable { cursor: pointer }
885 885 .yui-dt-editor {
886 886 text-align: left;
887 887 background-color: #f2f2f2;
888 888 border: 1px solid #808080;
889 889 padding: 6px;
890 890 }
891 891 .yui-dt-editor label {
892 892 padding-left: 4px;
893 893 padding-right: 6px;
894 894 }
895 895 .yui-dt-editor .yui-dt-button {
896 896 padding-top: 6px;
897 897 text-align: right;
898 898 }
899 899 .yui-dt-editor .yui-dt-button button {
900 900 background: url(../images/sprite.png) repeat-x 0 0;
901 901 border: 1px solid #999;
902 902 width: 4em;
903 903 height: 1.8em;
904 904 margin-left: 6px;
905 905 }
906 906 .yui-dt-editor .yui-dt-button button.yui-dt-default {
907 907 background: url(../images/sprite.png) repeat-x 0 -1400px;
908 908 background-color: #5584e0;
909 909 border: 1px solid #304369;
910 910 color: #FFF;
911 911 }
912 912 .yui-dt-editor .yui-dt-button button:hover {
913 913 background: url(../images/sprite.png) repeat-x 0 -1300px;
914 914 color: #000;
915 915 }
916 916 .yui-dt-editor .yui-dt-button button:active {
917 917 background: url(../images/sprite.png) repeat-x 0 -1700px;
918 918 color: #000;
919 919 }
920 920 .yui-skin-sam tr.yui-dt-even { background-color: #FFF }
921 921 .yui-skin-sam tr.yui-dt-odd { background-color: #edf5ff }
922 922 .yui-skin-sam tr.yui-dt-even td.yui-dt-asc,
923 923 .yui-skin-sam tr.yui-dt-even td.yui-dt-desc { background-color: #edf5ff }
924 924 .yui-skin-sam tr.yui-dt-odd td.yui-dt-asc,
925 925 .yui-skin-sam tr.yui-dt-odd td.yui-dt-desc { background-color: #dbeaff }
926 926 .yui-skin-sam .yui-dt-list tr.yui-dt-even { background-color: #FFF }
927 927 .yui-skin-sam .yui-dt-list tr.yui-dt-odd { background-color: #FFF }
928 928 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-asc,
929 929 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-desc { background-color: #edf5ff }
930 930 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-asc,
931 931 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-desc { background-color: #edf5ff }
932 932 .yui-skin-sam th.yui-dt-highlighted,
933 933 .yui-skin-sam th.yui-dt-highlighted a { background-color: #b2d2ff }
934 934 .yui-skin-sam tr.yui-dt-highlighted,
935 935 .yui-skin-sam tr.yui-dt-highlighted td.yui-dt-asc,
936 936 .yui-skin-sam tr.yui-dt-highlighted td.yui-dt-desc,
937 937 .yui-skin-sam tr.yui-dt-even td.yui-dt-highlighted,
938 938 .yui-skin-sam tr.yui-dt-odd td.yui-dt-highlighted {
939 939 cursor: pointer;
940 940 background-color: #b2d2ff;
941 941 }
942 942 .yui-skin-sam .yui-dt-list th.yui-dt-highlighted,
943 943 .yui-skin-sam .yui-dt-list th.yui-dt-highlighted a { background-color: #b2d2ff }
944 944 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted,
945 945 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-asc,
946 946 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-desc,
947 947 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-highlighted,
948 948 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-highlighted {
949 949 cursor: pointer;
950 950 background-color: #b2d2ff;
951 951 }
952 952 .yui-skin-sam th.yui-dt-selected,
953 953 .yui-skin-sam th.yui-dt-selected a { background-color: #446cd7 }
954 954 .yui-skin-sam tr.yui-dt-selected td,
955 955 .yui-skin-sam tr.yui-dt-selected td.yui-dt-asc,
956 956 .yui-skin-sam tr.yui-dt-selected td.yui-dt-desc {
957 957 background-color: #426fd9;
958 958 color: #FFF;
959 959 }
960 960 .yui-skin-sam tr.yui-dt-even td.yui-dt-selected,
961 961 .yui-skin-sam tr.yui-dt-odd td.yui-dt-selected {
962 962 background-color: #446cd7;
963 963 color: #FFF;
964 964 }
965 965 .yui-skin-sam .yui-dt-list th.yui-dt-selected,
966 966 .yui-skin-sam .yui-dt-list th.yui-dt-selected a { background-color: #446cd7 }
967 967 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td,
968 968 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-asc,
969 969 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-desc {
970 970 background-color: #426fd9;
971 971 color: #FFF;
972 972 }
973 973 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-selected,
974 974 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-selected {
975 975 background-color: #446cd7;
976 976 color: #FFF;
977 977 }
978 978 .yui-skin-sam .yui-dt-paginator {
979 979 display: block;
980 980 margin: 6px 0;
981 981 white-space: nowrap;
982 982 }
983 983 .yui-skin-sam .yui-dt-paginator .yui-dt-first,
984 984 .yui-skin-sam .yui-dt-paginator .yui-dt-last,
985 985 .yui-skin-sam .yui-dt-paginator .yui-dt-selected { padding: 2px 6px }
986 986 .yui-skin-sam .yui-dt-paginator a.yui-dt-first,
987 987 .yui-skin-sam .yui-dt-paginator a.yui-dt-last { text-decoration: none }
988 988 .yui-skin-sam .yui-dt-paginator .yui-dt-previous,
989 989 .yui-skin-sam .yui-dt-paginator .yui-dt-next { display: none }
990 990 .yui-skin-sam a.yui-dt-page {
991 991 border: 1px solid #cbcbcb;
992 992 padding: 2px 6px;
993 993 text-decoration: none;
994 994 background-color: #fff;
995 995 }
996 996 .yui-skin-sam .yui-dt-selected {
997 997 border: 1px solid #fff;
998 998 background-color: #fff;
999 999 }
1000 1000
1001 1001 #content #left {
1002 1002 left: 0;
1003 1003 width: 280px;
1004 1004 position: absolute;
1005 1005 }
1006 1006
1007 1007 #content #right {
1008 1008 margin: 0 60px 10px 290px;
1009 1009 }
1010 1010
1011 1011 #content div.box {
1012 1012 clear: both;
1013 1013 overflow: hidden;
1014 1014 background: #fff;
1015 1015 margin: 0 0 10px;
1016 1016 padding: 0 0 10px;
1017 1017 -webkit-border-radius: 4px 4px 4px 4px;
1018 1018 -khtml-border-radius: 4px 4px 4px 4px;
1019 1019 -moz-border-radius: 4px 4px 4px 4px;
1020 1020 border-radius: 4px 4px 4px 4px;
1021 1021 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1022 1022 }
1023 1023
1024 1024 #content div.box-left {
1025 1025 width: 49%;
1026 1026 clear: none;
1027 1027 float: left;
1028 1028 margin: 0 0 10px;
1029 1029 }
1030 1030
1031 1031 #content div.box-right {
1032 1032 width: 49%;
1033 1033 clear: none;
1034 1034 float: right;
1035 1035 margin: 0 0 10px;
1036 1036 }
1037 1037
1038 1038 #content div.box div.title {
1039 1039 clear: both;
1040 1040 overflow: hidden;
1041 1041 background-color: #003B76;
1042 1042 background-repeat: repeat-x;
1043 1043 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
1044 1044 background-image: -moz-linear-gradient(top, #003b76, #00376e);
1045 1045 background-image: -ms-linear-gradient(top, #003b76, #00376e);
1046 1046 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
1047 1047 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
1048 1048 background-image: -o-linear-gradient(top, #003b76, #00376e);
1049 1049 background-image: linear-gradient(top, #003b76, #00376e);
1050 1050 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76', endColorstr='#00376e', GradientType=0 );
1051 1051 margin: 0 0 20px;
1052 1052 padding: 0;
1053 1053 }
1054 1054
1055 1055 #content div.box div.title h5 {
1056 1056 float: left;
1057 1057 border: none;
1058 1058 color: #fff;
1059 1059 text-transform: uppercase;
1060 1060 margin: 0;
1061 1061 padding: 11px 0 11px 10px;
1062 1062 }
1063 1063
1064 1064 #content div.box div.title .link-white{
1065 1065 color: #FFFFFF;
1066 1066 }
1067 1067
1068 1068 #content div.box div.title ul.links li {
1069 1069 list-style: none;
1070 1070 float: left;
1071 1071 margin: 0;
1072 1072 padding: 0;
1073 1073 }
1074 1074
1075 1075 #content div.box div.title ul.links li a {
1076 1076 border-left: 1px solid #316293;
1077 1077 color: #FFFFFF;
1078 1078 display: block;
1079 1079 float: left;
1080 1080 font-size: 13px;
1081 1081 font-weight: 700;
1082 1082 height: 1%;
1083 1083 margin: 0;
1084 1084 padding: 11px 22px 12px;
1085 1085 text-decoration: none;
1086 1086 }
1087 1087
1088 1088 #content div.box h1,#content div.box h2,#content div.box h3,#content div.box h4,#content div.box h5,#content div.box h6
1089 1089 {
1090 1090 clear: both;
1091 1091 overflow: hidden;
1092 1092 border-bottom: 1px solid #DDD;
1093 1093 margin: 10px 20px;
1094 1094 padding: 0 0 15px;
1095 1095 }
1096 1096
1097 1097 #content div.box p {
1098 1098 color: #5f5f5f;
1099 1099 font-size: 12px;
1100 1100 line-height: 150%;
1101 1101 margin: 0 24px 10px;
1102 1102 padding: 0;
1103 1103 }
1104 1104
1105 1105 #content div.box blockquote {
1106 1106 border-left: 4px solid #DDD;
1107 1107 color: #5f5f5f;
1108 1108 font-size: 11px;
1109 1109 line-height: 150%;
1110 1110 margin: 0 34px;
1111 1111 padding: 0 0 0 14px;
1112 1112 }
1113 1113
1114 1114 #content div.box blockquote p {
1115 1115 margin: 10px 0;
1116 1116 padding: 0;
1117 1117 }
1118 1118
1119 1119 #content div.box dl {
1120 1120 margin: 10px 0px;
1121 1121 }
1122 1122
1123 1123 #content div.box dt {
1124 1124 font-size: 12px;
1125 1125 margin: 0;
1126 1126 }
1127 1127
1128 1128 #content div.box dd {
1129 1129 font-size: 12px;
1130 1130 margin: 0;
1131 1131 padding: 8px 0 8px 15px;
1132 1132 }
1133 1133
1134 1134 #content div.box li {
1135 1135 font-size: 12px;
1136 1136 padding: 4px 0;
1137 1137 }
1138 1138
1139 1139 #content div.box ul.disc,#content div.box ul.circle {
1140 1140 margin: 10px 24px 10px 38px;
1141 1141 }
1142 1142
1143 1143 #content div.box ul.square {
1144 1144 margin: 10px 24px 10px 40px;
1145 1145 }
1146 1146
1147 1147 #content div.box img.left {
1148 1148 border: none;
1149 1149 float: left;
1150 1150 margin: 10px 10px 10px 0;
1151 1151 }
1152 1152
1153 1153 #content div.box img.right {
1154 1154 border: none;
1155 1155 float: right;
1156 1156 margin: 10px 0 10px 10px;
1157 1157 }
1158 1158
1159 1159 #content div.box div.messages {
1160 1160 clear: both;
1161 1161 overflow: hidden;
1162 1162 margin: 0 20px;
1163 1163 padding: 0;
1164 1164 }
1165 1165
1166 1166 #content div.box div.message {
1167 1167 clear: both;
1168 1168 overflow: hidden;
1169 1169 margin: 0;
1170 1170 padding: 5px 0;
1171 1171 white-space: pre-wrap;
1172 1172 }
1173 1173 #content div.box div.expand {
1174 1174 width: 110%;
1175 1175 height:14px;
1176 1176 font-size:10px;
1177 1177 text-align:center;
1178 1178 cursor: pointer;
1179 1179 color:#666;
1180 1180
1181 1181 background:-webkit-gradient(linear,0% 50%,100% 50%,color-stop(0%,rgba(255,255,255,0)),color-stop(100%,rgba(64,96,128,0.1)));
1182 1182 background:-webkit-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1183 1183 background:-moz-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1184 1184 background:-o-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1185 1185 background:-ms-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1186 1186 background:linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1187 1187
1188 1188 display: none;
1189 1189 }
1190 1190 #content div.box div.expand .expandtext {
1191 1191 background-color: #ffffff;
1192 1192 padding: 2px;
1193 1193 border-radius: 2px;
1194 1194 }
1195 1195
1196 1196 #content div.box div.message a {
1197 1197 font-weight: 400 !important;
1198 1198 }
1199 1199
1200 1200 #content div.box div.message div.image {
1201 1201 float: left;
1202 1202 margin: 9px 0 0 5px;
1203 1203 padding: 6px;
1204 1204 }
1205 1205
1206 1206 #content div.box div.message div.image img {
1207 1207 vertical-align: middle;
1208 1208 margin: 0;
1209 1209 }
1210 1210
1211 1211 #content div.box div.message div.text {
1212 1212 float: left;
1213 1213 margin: 0;
1214 1214 padding: 9px 6px;
1215 1215 }
1216 1216
1217 1217 #content div.box div.message div.dismiss a {
1218 1218 height: 16px;
1219 1219 width: 16px;
1220 1220 display: block;
1221 1221 background: url("../images/icons/cross.png") no-repeat;
1222 1222 margin: 15px 14px 0 0;
1223 1223 padding: 0;
1224 1224 }
1225 1225
1226 1226 #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
1227 1227 {
1228 1228 border: none;
1229 1229 margin: 0;
1230 1230 padding: 0;
1231 1231 }
1232 1232
1233 1233 #content div.box div.message div.text span {
1234 1234 height: 1%;
1235 1235 display: block;
1236 1236 margin: 0;
1237 1237 padding: 5px 0 0;
1238 1238 }
1239 1239
1240 1240 #content div.box div.message-error {
1241 1241 height: 1%;
1242 1242 clear: both;
1243 1243 overflow: hidden;
1244 1244 background: #FBE3E4;
1245 1245 border: 1px solid #FBC2C4;
1246 1246 color: #860006;
1247 1247 }
1248 1248
1249 1249 #content div.box div.message-error h6 {
1250 1250 color: #860006;
1251 1251 }
1252 1252
1253 1253 #content div.box div.message-warning {
1254 1254 height: 1%;
1255 1255 clear: both;
1256 1256 overflow: hidden;
1257 1257 background: #FFF6BF;
1258 1258 border: 1px solid #FFD324;
1259 1259 color: #5f5200;
1260 1260 }
1261 1261
1262 1262 #content div.box div.message-warning h6 {
1263 1263 color: #5f5200;
1264 1264 }
1265 1265
1266 1266 #content div.box div.message-notice {
1267 1267 height: 1%;
1268 1268 clear: both;
1269 1269 overflow: hidden;
1270 1270 background: #8FBDE0;
1271 1271 border: 1px solid #6BACDE;
1272 1272 color: #003863;
1273 1273 }
1274 1274
1275 1275 #content div.box div.message-notice h6 {
1276 1276 color: #003863;
1277 1277 }
1278 1278
1279 1279 #content div.box div.message-success {
1280 1280 height: 1%;
1281 1281 clear: both;
1282 1282 overflow: hidden;
1283 1283 background: #E6EFC2;
1284 1284 border: 1px solid #C6D880;
1285 1285 color: #4e6100;
1286 1286 }
1287 1287
1288 1288 #content div.box div.message-success h6 {
1289 1289 color: #4e6100;
1290 1290 }
1291 1291
1292 1292 #content div.box div.form div.fields div.field {
1293 1293 height: 1%;
1294 1294 border-bottom: 1px solid #DDD;
1295 1295 clear: both;
1296 1296 margin: 0;
1297 1297 padding: 10px 0;
1298 1298 }
1299 1299
1300 1300 #content div.box div.form div.fields div.field-first {
1301 1301 padding: 0 0 10px;
1302 1302 }
1303 1303
1304 1304 #content div.box div.form div.fields div.field-noborder {
1305 1305 border-bottom: 0 !important;
1306 1306 }
1307 1307
1308 1308 #content div.box div.form div.fields div.field span.error-message {
1309 1309 height: 1%;
1310 1310 display: inline-block;
1311 1311 color: red;
1312 1312 margin: 8px 0 0 4px;
1313 1313 padding: 0;
1314 1314 }
1315 1315
1316 1316 #content div.box div.form div.fields div.field span.success {
1317 1317 height: 1%;
1318 1318 display: block;
1319 1319 color: #316309;
1320 1320 margin: 8px 0 0;
1321 1321 padding: 0;
1322 1322 }
1323 1323
1324 1324 #content div.box div.form div.fields div.field div.label {
1325 1325 left: 70px;
1326 1326 width: 155px;
1327 1327 position: absolute;
1328 1328 margin: 0;
1329 1329 padding: 5px 0 0 0px;
1330 1330 }
1331 1331
1332 1332 #content div.box div.form div.fields div.field div.label-summary {
1333 1333 left: 30px;
1334 1334 width: 155px;
1335 1335 position: absolute;
1336 1336 margin: 0;
1337 1337 padding: 0px 0 0 0px;
1338 1338 }
1339 1339
1340 1340 #content div.box-left div.form div.fields div.field div.label,
1341 1341 #content div.box-right div.form div.fields div.field div.label,
1342 1342 #content div.box-left div.form div.fields div.field div.label,
1343 1343 #content div.box-left div.form div.fields div.field div.label-summary,
1344 1344 #content div.box-right div.form div.fields div.field div.label-summary,
1345 1345 #content div.box-left div.form div.fields div.field div.label-summary
1346 1346 {
1347 1347 clear: both;
1348 1348 overflow: hidden;
1349 1349 left: 0;
1350 1350 width: auto;
1351 1351 position: relative;
1352 1352 margin: 0;
1353 1353 padding: 0 0 8px;
1354 1354 }
1355 1355
1356 1356 #content div.box div.form div.fields div.field div.label-select {
1357 1357 padding: 5px 0 0 5px;
1358 1358 }
1359 1359
1360 1360 #content div.box-left div.form div.fields div.field div.label-select,
1361 1361 #content div.box-right div.form div.fields div.field div.label-select
1362 1362 {
1363 1363 padding: 0 0 8px;
1364 1364 }
1365 1365
1366 1366 #content div.box-left div.form div.fields div.field div.label-textarea,
1367 1367 #content div.box-right div.form div.fields div.field div.label-textarea
1368 1368 {
1369 1369 padding: 0 0 8px !important;
1370 1370 }
1371 1371
1372 1372 #content div.box div.form div.fields div.field div.label label,div.label label
1373 1373 {
1374 1374 color: #393939;
1375 1375 font-weight: 700;
1376 1376 }
1377 1377 #content div.box div.form div.fields div.field div.label label,div.label-summary label
1378 1378 {
1379 1379 color: #393939;
1380 1380 font-weight: 700;
1381 1381 }
1382 1382 #content div.box div.form div.fields div.field div.input {
1383 1383 margin: 0 0 0 200px;
1384 1384 }
1385 1385
1386 1386 #content div.box div.form div.fields div.field div.input.summary {
1387 1387 margin: 0 0 0 110px;
1388 1388 }
1389 1389 #content div.box div.form div.fields div.field div.input.summary-short {
1390 1390 margin: 0 0 0 110px;
1391 1391 }
1392 1392 #content div.box div.form div.fields div.field div.file {
1393 1393 margin: 0 0 0 200px;
1394 1394 }
1395 1395
1396 1396 #content div.box-left div.form div.fields div.field div.input,#content div.box-right div.form div.fields div.field div.input
1397 1397 {
1398 1398 margin: 0 0 0 0px;
1399 1399 }
1400 1400
1401 1401 #content div.box div.form div.fields div.field div.input input {
1402 1402 background: #FFF;
1403 1403 border-top: 1px solid #b3b3b3;
1404 1404 border-left: 1px solid #b3b3b3;
1405 1405 border-right: 1px solid #eaeaea;
1406 1406 border-bottom: 1px solid #eaeaea;
1407 1407 color: #000;
1408 1408 font-size: 11px;
1409 1409 margin: 0;
1410 1410 padding: 7px 7px 6px;
1411 1411 }
1412 1412
1413 1413 #content div.box div.form div.fields div.field div.input input#clone_url,
1414 1414 #content div.box div.form div.fields div.field div.input input#clone_url_id
1415 1415 {
1416 1416 font-size: 16px;
1417 1417 padding: 2px;
1418 1418 }
1419 1419
1420 1420 #content div.box div.form div.fields div.field div.file input {
1421 1421 background: none repeat scroll 0 0 #FFFFFF;
1422 1422 border-color: #B3B3B3 #EAEAEA #EAEAEA #B3B3B3;
1423 1423 border-style: solid;
1424 1424 border-width: 1px;
1425 1425 color: #000000;
1426 1426 font-size: 11px;
1427 1427 margin: 0;
1428 1428 padding: 7px 7px 6px;
1429 1429 }
1430 1430
1431 1431 input.disabled {
1432 1432 background-color: #F5F5F5 !important;
1433 1433 }
1434 1434 #content div.box div.form div.fields div.field div.input input.small {
1435 1435 width: 30%;
1436 1436 }
1437 1437
1438 1438 #content div.box div.form div.fields div.field div.input input.medium {
1439 1439 width: 55%;
1440 1440 }
1441 1441
1442 1442 #content div.box div.form div.fields div.field div.input input.large {
1443 1443 width: 85%;
1444 1444 }
1445 1445
1446 1446 #content div.box div.form div.fields div.field div.input input.date {
1447 1447 width: 177px;
1448 1448 }
1449 1449
1450 1450 #content div.box div.form div.fields div.field div.input input.button {
1451 1451 background: #D4D0C8;
1452 1452 border-top: 1px solid #FFF;
1453 1453 border-left: 1px solid #FFF;
1454 1454 border-right: 1px solid #404040;
1455 1455 border-bottom: 1px solid #404040;
1456 1456 color: #000;
1457 1457 margin: 0;
1458 1458 padding: 4px 8px;
1459 1459 }
1460 1460
1461 1461 #content div.box div.form div.fields div.field div.textarea {
1462 1462 border-top: 1px solid #b3b3b3;
1463 1463 border-left: 1px solid #b3b3b3;
1464 1464 border-right: 1px solid #eaeaea;
1465 1465 border-bottom: 1px solid #eaeaea;
1466 1466 margin: 0 0 0 200px;
1467 1467 padding: 10px;
1468 1468 }
1469 1469
1470 1470 #content div.box div.form div.fields div.field div.textarea-editor {
1471 1471 border: 1px solid #ddd;
1472 1472 padding: 0;
1473 1473 }
1474 1474
1475 1475 #content div.box div.form div.fields div.field div.textarea textarea {
1476 1476 width: 100%;
1477 1477 height: 220px;
1478 1478 overflow: hidden;
1479 1479 background: #FFF;
1480 1480 color: #000;
1481 1481 font-size: 11px;
1482 1482 outline: none;
1483 1483 border-width: 0;
1484 1484 margin: 0;
1485 1485 padding: 0;
1486 1486 }
1487 1487
1488 1488 #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
1489 1489 {
1490 1490 width: 100%;
1491 1491 height: 100px;
1492 1492 }
1493 1493
1494 1494 #content div.box div.form div.fields div.field div.textarea table {
1495 1495 width: 100%;
1496 1496 border: none;
1497 1497 margin: 0;
1498 1498 padding: 0;
1499 1499 }
1500 1500
1501 1501 #content div.box div.form div.fields div.field div.textarea table td {
1502 1502 background: #DDD;
1503 1503 border: none;
1504 1504 padding: 0;
1505 1505 }
1506 1506
1507 1507 #content div.box div.form div.fields div.field div.textarea table td table
1508 1508 {
1509 1509 width: auto;
1510 1510 border: none;
1511 1511 margin: 0;
1512 1512 padding: 0;
1513 1513 }
1514 1514
1515 1515 #content div.box div.form div.fields div.field div.textarea table td table td
1516 1516 {
1517 1517 font-size: 11px;
1518 1518 padding: 5px 5px 5px 0;
1519 1519 }
1520 1520
1521 1521 #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
1522 1522 {
1523 1523 background: #f6f6f6;
1524 1524 border-color: #666;
1525 1525 }
1526 1526
1527 1527 div.form div.fields div.field div.button {
1528 1528 margin: 0;
1529 1529 padding: 0 0 0 8px;
1530 1530 }
1531 1531 #content div.box table.noborder {
1532 1532 border: 1px solid transparent;
1533 1533 }
1534 1534
1535 1535 #content div.box table {
1536 1536 width: 100%;
1537 1537 border-collapse: separate;
1538 1538 margin: 0;
1539 1539 padding: 0;
1540 1540 border: 1px solid #eee;
1541 1541 -webkit-border-radius: 4px;
1542 1542 -moz-border-radius: 4px;
1543 1543 border-radius: 4px;
1544 1544 }
1545 1545
1546 1546 #content div.box table th {
1547 1547 background: #eee;
1548 1548 border-bottom: 1px solid #ddd;
1549 1549 padding: 5px 0px 5px 5px;
1550 1550 }
1551 1551
1552 1552 #content div.box table th.left {
1553 1553 text-align: left;
1554 1554 }
1555 1555
1556 1556 #content div.box table th.right {
1557 1557 text-align: right;
1558 1558 }
1559 1559
1560 1560 #content div.box table th.center {
1561 1561 text-align: center;
1562 1562 }
1563 1563
1564 1564 #content div.box table th.selected {
1565 1565 vertical-align: middle;
1566 1566 padding: 0;
1567 1567 }
1568 1568
1569 1569 #content div.box table td {
1570 1570 background: #fff;
1571 1571 border-bottom: 1px solid #cdcdcd;
1572 1572 vertical-align: middle;
1573 1573 padding: 5px;
1574 1574 }
1575 1575
1576 1576 #content div.box table tr.selected td {
1577 1577 background: #FFC;
1578 1578 }
1579 1579
1580 1580 #content div.box table td.selected {
1581 1581 width: 3%;
1582 1582 text-align: center;
1583 1583 vertical-align: middle;
1584 1584 padding: 0;
1585 1585 }
1586 1586
1587 1587 #content div.box table td.action {
1588 1588 width: 45%;
1589 1589 text-align: left;
1590 1590 }
1591 1591
1592 1592 #content div.box table td.date {
1593 1593 width: 33%;
1594 1594 text-align: center;
1595 1595 }
1596 1596
1597 1597 #content div.box div.action {
1598 1598 float: right;
1599 1599 background: #FFF;
1600 1600 text-align: right;
1601 1601 margin: 10px 0 0;
1602 1602 padding: 0;
1603 1603 }
1604 1604
1605 1605 #content div.box div.action select {
1606 1606 font-size: 11px;
1607 1607 margin: 0;
1608 1608 }
1609 1609
1610 1610 #content div.box div.action .ui-selectmenu {
1611 1611 margin: 0;
1612 1612 padding: 0;
1613 1613 }
1614 1614
1615 1615 #content div.box div.pagination {
1616 1616 height: 1%;
1617 1617 clear: both;
1618 1618 overflow: hidden;
1619 1619 margin: 10px 0 0;
1620 1620 padding: 0;
1621 1621 }
1622 1622
1623 1623 #content div.box div.pagination ul.pager {
1624 1624 float: right;
1625 1625 text-align: right;
1626 1626 margin: 0;
1627 1627 padding: 0;
1628 1628 }
1629 1629
1630 1630 #content div.box div.pagination ul.pager li {
1631 1631 height: 1%;
1632 1632 float: left;
1633 1633 list-style: none;
1634 1634 background: #ebebeb url("../images/pager.png") repeat-x;
1635 1635 border-top: 1px solid #dedede;
1636 1636 border-left: 1px solid #cfcfcf;
1637 1637 border-right: 1px solid #c4c4c4;
1638 1638 border-bottom: 1px solid #c4c4c4;
1639 1639 color: #4A4A4A;
1640 1640 font-weight: 700;
1641 1641 margin: 0 0 0 4px;
1642 1642 padding: 0;
1643 1643 }
1644 1644
1645 1645 #content div.box div.pagination ul.pager li.separator {
1646 1646 padding: 6px;
1647 1647 }
1648 1648
1649 1649 #content div.box div.pagination ul.pager li.current {
1650 1650 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1651 1651 border-top: 1px solid #ccc;
1652 1652 border-left: 1px solid #bebebe;
1653 1653 border-right: 1px solid #b1b1b1;
1654 1654 border-bottom: 1px solid #afafaf;
1655 1655 color: #515151;
1656 1656 padding: 6px;
1657 1657 }
1658 1658
1659 1659 #content div.box div.pagination ul.pager li a {
1660 1660 height: 1%;
1661 1661 display: block;
1662 1662 float: left;
1663 1663 color: #515151;
1664 1664 text-decoration: none;
1665 1665 margin: 0;
1666 1666 padding: 6px;
1667 1667 }
1668 1668
1669 1669 #content div.box div.pagination ul.pager li a:hover,#content div.box div.pagination ul.pager li a:active
1670 1670 {
1671 1671 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1672 1672 border-top: 1px solid #ccc;
1673 1673 border-left: 1px solid #bebebe;
1674 1674 border-right: 1px solid #b1b1b1;
1675 1675 border-bottom: 1px solid #afafaf;
1676 1676 margin: -1px;
1677 1677 }
1678 1678
1679 1679 #content div.box div.pagination-wh {
1680 1680 height: 1%;
1681 1681 clear: both;
1682 1682 overflow: hidden;
1683 1683 text-align: right;
1684 1684 margin: 10px 0 0;
1685 1685 padding: 0;
1686 1686 }
1687 1687
1688 1688 #content div.box div.pagination-right {
1689 1689 float: right;
1690 1690 }
1691 1691
1692 1692 #content div.box div.pagination-wh a,#content div.box div.pagination-wh span.pager_dotdot
1693 1693 {
1694 1694 height: 1%;
1695 1695 float: left;
1696 1696 background: #ebebeb url("../images/pager.png") repeat-x;
1697 1697 border-top: 1px solid #dedede;
1698 1698 border-left: 1px solid #cfcfcf;
1699 1699 border-right: 1px solid #c4c4c4;
1700 1700 border-bottom: 1px solid #c4c4c4;
1701 1701 color: #4A4A4A;
1702 1702 font-weight: 700;
1703 1703 margin: 0 0 0 4px;
1704 1704 padding: 6px;
1705 1705 }
1706 1706
1707 1707 #content div.box div.pagination-wh span.pager_curpage {
1708 1708 height: 1%;
1709 1709 float: left;
1710 1710 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1711 1711 border-top: 1px solid #ccc;
1712 1712 border-left: 1px solid #bebebe;
1713 1713 border-right: 1px solid #b1b1b1;
1714 1714 border-bottom: 1px solid #afafaf;
1715 1715 color: #515151;
1716 1716 font-weight: 700;
1717 1717 margin: 0 0 0 4px;
1718 1718 padding: 6px;
1719 1719 }
1720 1720
1721 1721 #content div.box div.pagination-wh a:hover,#content div.box div.pagination-wh a:active
1722 1722 {
1723 1723 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1724 1724 border-top: 1px solid #ccc;
1725 1725 border-left: 1px solid #bebebe;
1726 1726 border-right: 1px solid #b1b1b1;
1727 1727 border-bottom: 1px solid #afafaf;
1728 1728 text-decoration: none;
1729 1729 }
1730 1730
1731 1731 #content div.box div.traffic div.legend {
1732 1732 clear: both;
1733 1733 overflow: hidden;
1734 1734 border-bottom: 1px solid #ddd;
1735 1735 margin: 0 0 10px;
1736 1736 padding: 0 0 10px;
1737 1737 }
1738 1738
1739 1739 #content div.box div.traffic div.legend h6 {
1740 1740 float: left;
1741 1741 border: none;
1742 1742 margin: 0;
1743 1743 padding: 0;
1744 1744 }
1745 1745
1746 1746 #content div.box div.traffic div.legend li {
1747 1747 list-style: none;
1748 1748 float: left;
1749 1749 font-size: 11px;
1750 1750 margin: 0;
1751 1751 padding: 0 8px 0 4px;
1752 1752 }
1753 1753
1754 1754 #content div.box div.traffic div.legend li.visits {
1755 1755 border-left: 12px solid #edc240;
1756 1756 }
1757 1757
1758 1758 #content div.box div.traffic div.legend li.pageviews {
1759 1759 border-left: 12px solid #afd8f8;
1760 1760 }
1761 1761
1762 1762 #content div.box div.traffic table {
1763 1763 width: auto;
1764 1764 }
1765 1765
1766 1766 #content div.box div.traffic table td {
1767 1767 background: transparent;
1768 1768 border: none;
1769 1769 padding: 2px 3px 3px;
1770 1770 }
1771 1771
1772 1772 #content div.box div.traffic table td.legendLabel {
1773 1773 padding: 0 3px 2px;
1774 1774 }
1775 1775
1776 1776 #summary {
1777 1777
1778 1778 }
1779 1779
1780 1780 #summary .desc {
1781 1781 white-space: pre;
1782 1782 width: 100%;
1783 1783 }
1784 1784
1785 1785 #summary .repo_name {
1786 1786 font-size: 1.6em;
1787 1787 font-weight: bold;
1788 1788 vertical-align: baseline;
1789 1789 clear: right
1790 1790 }
1791 1791
1792 1792 #footer {
1793 1793 clear: both;
1794 1794 overflow: hidden;
1795 1795 text-align: right;
1796 1796 margin: 0;
1797 1797 padding: 0 10px 4px;
1798 1798 margin: -10px 0 0;
1799 1799 }
1800 1800
1801 1801 #footer div#footer-inner {
1802 1802 background-color: #003B76;
1803 1803 background-repeat : repeat-x;
1804 1804 background-image : -khtml-gradient( linear, left top, left bottom, from(#003B76), to(#00376E));
1805 1805 background-image : -moz-linear-gradient(top, #003b76, #00376e);
1806 1806 background-image : -ms-linear-gradient( top, #003b76, #00376e);
1807 1807 background-image : -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #003b76), color-stop( 100%, #00376e));
1808 1808 background-image : -webkit-linear-gradient( top, #003b76, #00376e));
1809 1809 background-image : -o-linear-gradient( top, #003b76, #00376e));
1810 1810 background-image : linear-gradient( top, #003b76, #00376e);
1811 1811 filter :progid : DXImageTransform.Microsoft.gradient ( startColorstr = '#003b76', endColorstr = '#00376e', GradientType = 0);
1812 1812 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1813 1813 -webkit-border-radius: 4px 4px 4px 4px;
1814 1814 -khtml-border-radius: 4px 4px 4px 4px;
1815 1815 -moz-border-radius: 4px 4px 4px 4px;
1816 1816 border-radius: 4px 4px 4px 4px;
1817 1817 }
1818 1818
1819 1819 #footer div#footer-inner p {
1820 1820 padding: 15px 25px 15px 0;
1821 1821 color: #FFF;
1822 1822 font-weight: 700;
1823 1823 }
1824 1824
1825 1825 #footer div#footer-inner .footer-link {
1826 1826 float: left;
1827 1827 padding-left: 10px;
1828 1828 }
1829 1829
1830 1830 #footer div#footer-inner .footer-link a,#footer div#footer-inner .footer-link-right a
1831 1831 {
1832 1832 color: #FFF;
1833 1833 }
1834 1834
1835 1835 #login div.title {
1836 1836 width: 420px;
1837 1837 clear: both;
1838 1838 overflow: hidden;
1839 1839 position: relative;
1840 1840 background-color: #003B76;
1841 1841 background-repeat : repeat-x;
1842 1842 background-image : -khtml-gradient( linear, left top, left bottom, from(#003B76), to(#00376E));
1843 1843 background-image : -moz-linear-gradient( top, #003b76, #00376e);
1844 1844 background-image : -ms-linear-gradient( top, #003b76, #00376e);
1845 1845 background-image : -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #003b76), color-stop( 100%, #00376e));
1846 1846 background-image : -webkit-linear-gradient( top, #003b76, #00376e));
1847 1847 background-image : -o-linear-gradient( top, #003b76, #00376e));
1848 1848 background-image : linear-gradient( top, #003b76, #00376e);
1849 1849 filter : progid : DXImageTransform.Microsoft.gradient ( startColorstr = '#003b76', endColorstr = '#00376e', GradientType = 0);
1850 1850 margin: 0 auto;
1851 1851 padding: 0;
1852 1852 }
1853 1853
1854 1854 #login div.inner {
1855 1855 width: 380px;
1856 1856 background: #FFF url("../images/login.png") no-repeat top left;
1857 1857 border-top: none;
1858 1858 border-bottom: none;
1859 1859 margin: 0 auto;
1860 1860 padding: 20px;
1861 1861 }
1862 1862
1863 1863 #login div.form div.fields div.field div.label {
1864 1864 width: 173px;
1865 1865 float: left;
1866 1866 text-align: right;
1867 1867 margin: 2px 10px 0 0;
1868 1868 padding: 5px 0 0 5px;
1869 1869 }
1870 1870
1871 1871 #login div.form div.fields div.field div.input input {
1872 1872 width: 176px;
1873 1873 background: #FFF;
1874 1874 border-top: 1px solid #b3b3b3;
1875 1875 border-left: 1px solid #b3b3b3;
1876 1876 border-right: 1px solid #eaeaea;
1877 1877 border-bottom: 1px solid #eaeaea;
1878 1878 color: #000;
1879 1879 font-size: 11px;
1880 1880 margin: 0;
1881 1881 padding: 7px 7px 6px;
1882 1882 }
1883 1883
1884 1884 #login div.form div.fields div.buttons {
1885 1885 clear: both;
1886 1886 overflow: hidden;
1887 1887 border-top: 1px solid #DDD;
1888 1888 text-align: right;
1889 1889 margin: 0;
1890 1890 padding: 10px 0 0;
1891 1891 }
1892 1892
1893 1893 #login div.form div.links {
1894 1894 clear: both;
1895 1895 overflow: hidden;
1896 1896 margin: 10px 0 0;
1897 1897 padding: 0 0 2px;
1898 1898 }
1899 1899
1900 1900 .user-menu{
1901 1901 margin: 0px !important;
1902 1902 float: left;
1903 1903 }
1904 1904
1905 1905 .user-menu .container{
1906 1906 padding:0px 4px 0px 4px;
1907 1907 margin: 0px 0px 0px 0px;
1908 1908 }
1909 1909
1910 1910 .user-menu .gravatar{
1911 1911 margin: 0px 0px 0px 0px;
1912 1912 cursor: pointer;
1913 1913 }
1914 1914 .user-menu .gravatar.enabled{
1915 1915 background-color: #FDF784 !important;
1916 1916 }
1917 1917 .user-menu .gravatar:hover{
1918 1918 background-color: #FDF784 !important;
1919 1919 }
1920 1920 #quick_login{
1921 1921 min-height: 80px;
1922 1922 margin: 37px 0 0 -251px;
1923 1923 padding: 4px;
1924 1924 position: absolute;
1925 1925 width: 278px;
1926 1926
1927 1927 background-repeat: repeat-x;
1928 1928 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
1929 1929 background-image: -moz-linear-gradient(top, #003b76, #00376e);
1930 1930 background-image: -ms-linear-gradient(top, #003b76, #00376e);
1931 1931 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
1932 1932 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
1933 1933 background-image: -o-linear-gradient(top, #003b76, #00376e);
1934 1934 background-image: linear-gradient(top, #003b76, #00376e);
1935 1935 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76', endColorstr='#00376e', GradientType=0 );
1936 1936
1937 1937 z-index: 999;
1938 1938 -webkit-border-radius: 0px 0px 4px 4px;
1939 1939 -khtml-border-radius: 0px 0px 4px 4px;
1940 1940 -moz-border-radius: 0px 0px 4px 4px;
1941 1941 border-radius: 0px 0px 4px 4px;
1942 1942 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1943 1943 }
1944 1944 #quick_login h4{
1945 1945 color: #fff;
1946 1946 padding: 5px 0px 5px 14px;
1947 1947 }
1948 1948
1949 1949 #quick_login .password_forgoten {
1950 1950 padding-right: 10px;
1951 1951 padding-top: 0px;
1952 1952 text-align: left;
1953 1953 }
1954 1954
1955 1955 #quick_login .password_forgoten a {
1956 1956 font-size: 10px;
1957 1957 color: #fff;
1958 1958 }
1959 1959
1960 1960 #quick_login .register {
1961 1961 padding-right: 10px;
1962 1962 padding-top: 5px;
1963 1963 text-align: left;
1964 1964 }
1965 1965
1966 1966 #quick_login .register a {
1967 1967 font-size: 10px;
1968 1968 color: #fff;
1969 1969 }
1970 1970
1971 1971 #quick_login .submit {
1972 1972 margin: -20px 0 0 0px;
1973 1973 position: absolute;
1974 1974 right: 15px;
1975 1975 }
1976 1976
1977 1977 #quick_login .links_left{
1978 1978 float: left;
1979 1979 }
1980 1980 #quick_login .links_right{
1981 1981 float: right;
1982 1982 }
1983 1983 #quick_login .full_name{
1984 1984 color: #FFFFFF;
1985 1985 font-weight: bold;
1986 1986 padding: 3px;
1987 1987 }
1988 1988 #quick_login .big_gravatar{
1989 1989 padding:4px 0px 0px 6px;
1990 1990 }
1991 1991 #quick_login .inbox{
1992 1992 padding:4px 0px 0px 6px;
1993 1993 color: #FFFFFF;
1994 1994 font-weight: bold;
1995 1995 }
1996 1996 #quick_login .inbox a{
1997 1997 color: #FFFFFF;
1998 1998 }
1999 1999 #quick_login .email,#quick_login .email a{
2000 2000 color: #FFFFFF;
2001 2001 padding: 3px;
2002 2002
2003 2003 }
2004 2004 #quick_login .links .logout{
2005 2005
2006 2006 }
2007 2007
2008 2008 #quick_login div.form div.fields {
2009 2009 padding-top: 2px;
2010 2010 padding-left: 10px;
2011 2011 }
2012 2012
2013 2013 #quick_login div.form div.fields div.field {
2014 2014 padding: 5px;
2015 2015 }
2016 2016
2017 2017 #quick_login div.form div.fields div.field div.label label {
2018 2018 color: #fff;
2019 2019 padding-bottom: 3px;
2020 2020 }
2021 2021
2022 2022 #quick_login div.form div.fields div.field div.input input {
2023 2023 width: 236px;
2024 2024 background: #FFF;
2025 2025 border-top: 1px solid #b3b3b3;
2026 2026 border-left: 1px solid #b3b3b3;
2027 2027 border-right: 1px solid #eaeaea;
2028 2028 border-bottom: 1px solid #eaeaea;
2029 2029 color: #000;
2030 2030 font-size: 11px;
2031 2031 margin: 0;
2032 2032 padding: 5px 7px 4px;
2033 2033 }
2034 2034
2035 2035 #quick_login div.form div.fields div.buttons {
2036 2036 clear: both;
2037 2037 overflow: hidden;
2038 2038 text-align: right;
2039 2039 margin: 0;
2040 2040 padding: 5px 14px 0px 5px;
2041 2041 }
2042 2042
2043 2043 #quick_login div.form div.links {
2044 2044 clear: both;
2045 2045 overflow: hidden;
2046 2046 margin: 10px 0 0;
2047 2047 padding: 0 0 2px;
2048 2048 }
2049 2049
2050 2050 #quick_login ol.links{
2051 2051 display: block;
2052 2052 font-weight: bold;
2053 2053 list-style: none outside none;
2054 2054 text-align: right;
2055 2055 }
2056 2056 #quick_login ol.links li{
2057 2057 line-height: 27px;
2058 2058 margin: 0;
2059 2059 padding: 0;
2060 2060 color: #fff;
2061 2061 display: block;
2062 2062 float:none !important;
2063 2063 }
2064 2064
2065 2065 #quick_login ol.links li a{
2066 2066 color: #fff;
2067 2067 display: block;
2068 2068 padding: 2px;
2069 2069 }
2070 2070 #quick_login ol.links li a:HOVER{
2071 2071 background-color: inherit !important;
2072 2072 }
2073 2073
2074 2074 #register div.title {
2075 2075 clear: both;
2076 2076 overflow: hidden;
2077 2077 position: relative;
2078 2078 background-color: #003B76;
2079 2079 background-repeat: repeat-x;
2080 2080 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
2081 2081 background-image: -moz-linear-gradient(top, #003b76, #00376e);
2082 2082 background-image: -ms-linear-gradient(top, #003b76, #00376e);
2083 2083 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
2084 2084 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
2085 2085 background-image: -o-linear-gradient(top, #003b76, #00376e);
2086 2086 background-image: linear-gradient(top, #003b76, #00376e);
2087 2087 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',
2088 2088 endColorstr='#00376e', GradientType=0 );
2089 2089 margin: 0 auto;
2090 2090 padding: 0;
2091 2091 }
2092 2092
2093 2093 #register div.inner {
2094 2094 background: #FFF;
2095 2095 border-top: none;
2096 2096 border-bottom: none;
2097 2097 margin: 0 auto;
2098 2098 padding: 20px;
2099 2099 }
2100 2100
2101 2101 #register div.form div.fields div.field div.label {
2102 2102 width: 135px;
2103 2103 float: left;
2104 2104 text-align: right;
2105 2105 margin: 2px 10px 0 0;
2106 2106 padding: 5px 0 0 5px;
2107 2107 }
2108 2108
2109 2109 #register div.form div.fields div.field div.input input {
2110 2110 width: 300px;
2111 2111 background: #FFF;
2112 2112 border-top: 1px solid #b3b3b3;
2113 2113 border-left: 1px solid #b3b3b3;
2114 2114 border-right: 1px solid #eaeaea;
2115 2115 border-bottom: 1px solid #eaeaea;
2116 2116 color: #000;
2117 2117 font-size: 11px;
2118 2118 margin: 0;
2119 2119 padding: 7px 7px 6px;
2120 2120 }
2121 2121
2122 2122 #register div.form div.fields div.buttons {
2123 2123 clear: both;
2124 2124 overflow: hidden;
2125 2125 border-top: 1px solid #DDD;
2126 2126 text-align: left;
2127 2127 margin: 0;
2128 2128 padding: 10px 0 0 150px;
2129 2129 }
2130 2130
2131 2131 #register div.form div.activation_msg {
2132 2132 padding-top: 4px;
2133 2133 padding-bottom: 4px;
2134 2134 }
2135 2135
2136 2136 #journal .journal_day {
2137 2137 font-size: 20px;
2138 2138 padding: 10px 0px;
2139 2139 border-bottom: 2px solid #DDD;
2140 2140 margin-left: 10px;
2141 2141 margin-right: 10px;
2142 2142 }
2143 2143
2144 2144 #journal .journal_container {
2145 2145 padding: 5px;
2146 2146 clear: both;
2147 2147 margin: 0px 5px 0px 10px;
2148 2148 }
2149 2149
2150 2150 #journal .journal_action_container {
2151 2151 padding-left: 38px;
2152 2152 }
2153 2153
2154 2154 #journal .journal_user {
2155 2155 color: #747474;
2156 2156 font-size: 14px;
2157 2157 font-weight: bold;
2158 2158 height: 30px;
2159 2159 }
2160 2160
2161 2161 #journal .journal_icon {
2162 2162 clear: both;
2163 2163 float: left;
2164 2164 padding-right: 4px;
2165 2165 padding-top: 3px;
2166 2166 }
2167 2167
2168 2168 #journal .journal_action {
2169 2169 padding-top: 4px;
2170 2170 min-height: 2px;
2171 2171 float: left
2172 2172 }
2173 2173
2174 2174 #journal .journal_action_params {
2175 2175 clear: left;
2176 2176 padding-left: 22px;
2177 2177 }
2178 2178
2179 2179 #journal .journal_repo {
2180 2180 float: left;
2181 2181 margin-left: 6px;
2182 2182 padding-top: 3px;
2183 2183 }
2184 2184
2185 2185 #journal .date {
2186 2186 clear: both;
2187 2187 color: #777777;
2188 2188 font-size: 11px;
2189 2189 padding-left: 22px;
2190 2190 }
2191 2191
2192 2192 #journal .journal_repo .journal_repo_name {
2193 2193 font-weight: bold;
2194 2194 font-size: 1.1em;
2195 2195 }
2196 2196
2197 2197 #journal .compare_view {
2198 2198 padding: 5px 0px 5px 0px;
2199 2199 width: 95px;
2200 2200 }
2201 2201
2202 2202 .journal_highlight {
2203 2203 font-weight: bold;
2204 2204 padding: 0 2px;
2205 2205 vertical-align: bottom;
2206 2206 }
2207 2207
2208 2208 .trending_language_tbl,.trending_language_tbl td {
2209 2209 border: 0 !important;
2210 2210 margin: 0 !important;
2211 2211 padding: 0 !important;
2212 2212 }
2213 2213
2214 2214 .trending_language_tbl,.trending_language_tbl tr {
2215 2215 border-spacing: 1px;
2216 2216 }
2217 2217
2218 2218 .trending_language {
2219 2219 background-color: #003367;
2220 2220 color: #FFF;
2221 2221 display: block;
2222 2222 min-width: 20px;
2223 2223 text-decoration: none;
2224 2224 height: 12px;
2225 2225 margin-bottom: 0px;
2226 2226 margin-left: 5px;
2227 2227 white-space: pre;
2228 2228 padding: 3px;
2229 2229 }
2230 2230
2231 2231 h3.files_location {
2232 2232 font-size: 1.8em;
2233 2233 font-weight: 700;
2234 2234 border-bottom: none !important;
2235 2235 margin: 10px 0 !important;
2236 2236 }
2237 2237
2238 2238 #files_data dl dt {
2239 2239 float: left;
2240 2240 width: 60px;
2241 2241 margin: 0 !important;
2242 2242 padding: 5px;
2243 2243 }
2244 2244
2245 2245 #files_data dl dd {
2246 2246 margin: 0 !important;
2247 2247 padding: 5px !important;
2248 2248 }
2249 2249
2250 2250 .tablerow0 {
2251 2251 background-color: #F8F8F8;
2252 2252 }
2253 2253
2254 2254 .tablerow1 {
2255 2255 background-color: #FFFFFF;
2256 2256 }
2257 2257
2258 2258 .changeset_id {
2259 2259 font-family: monospace;
2260 2260 color: #666666;
2261 2261 }
2262 2262
2263 2263 .changeset_hash {
2264 2264 color: #000000;
2265 2265 }
2266 2266
2267 2267 #changeset_content {
2268 2268 border-left: 1px solid #CCC;
2269 2269 border-right: 1px solid #CCC;
2270 2270 border-bottom: 1px solid #CCC;
2271 2271 padding: 5px;
2272 2272 }
2273 2273
2274 2274 #changeset_compare_view_content {
2275 2275 border: 1px solid #CCC;
2276 2276 padding: 5px;
2277 2277 }
2278 2278
2279 2279 #changeset_content .container {
2280 2280 min-height: 100px;
2281 2281 font-size: 1.2em;
2282 2282 overflow: hidden;
2283 2283 }
2284 2284
2285 2285 #changeset_compare_view_content .compare_view_commits {
2286 2286 width: auto !important;
2287 2287 }
2288 2288
2289 2289 #changeset_compare_view_content .compare_view_commits td {
2290 2290 padding: 0px 0px 0px 12px !important;
2291 2291 }
2292 2292
2293 2293 #changeset_content .container .right {
2294 2294 float: right;
2295 2295 width: 20%;
2296 2296 text-align: right;
2297 2297 }
2298 2298
2299 2299 #changeset_content .container .left .message {
2300 2300 white-space: pre-wrap;
2301 2301 }
2302 2302 #changeset_content .container .left .message a:hover {
2303 2303 text-decoration: none;
2304 2304 }
2305 2305 .cs_files .cur_cs {
2306 2306 margin: 10px 2px;
2307 2307 font-weight: bold;
2308 2308 }
2309 2309
2310 2310 .cs_files .node {
2311 2311 float: left;
2312 2312 }
2313 2313
2314 2314 .cs_files .changes {
2315 2315 float: right;
2316 2316 color:#003367;
2317 2317
2318 2318 }
2319 2319
2320 2320 .cs_files .changes .added {
2321 2321 background-color: #BBFFBB;
2322 2322 float: left;
2323 2323 text-align: center;
2324 2324 font-size: 9px;
2325 2325 padding: 2px 0px 2px 0px;
2326 2326 }
2327 2327
2328 2328 .cs_files .changes .deleted {
2329 2329 background-color: #FF8888;
2330 2330 float: left;
2331 2331 text-align: center;
2332 2332 font-size: 9px;
2333 2333 padding: 2px 0px 2px 0px;
2334 2334 }
2335 2335
2336 2336 .cs_files .cs_added {
2337 2337 background: url("../images/icons/page_white_add.png") no-repeat scroll
2338 2338 3px;
2339 2339 height: 16px;
2340 2340 padding-left: 20px;
2341 2341 margin-top: 7px;
2342 2342 text-align: left;
2343 2343 }
2344 2344
2345 2345 .cs_files .cs_changed {
2346 2346 background: url("../images/icons/page_white_edit.png") no-repeat scroll
2347 2347 3px;
2348 2348 height: 16px;
2349 2349 padding-left: 20px;
2350 2350 margin-top: 7px;
2351 2351 text-align: left;
2352 2352 }
2353 2353
2354 2354 .cs_files .cs_removed {
2355 2355 background: url("../images/icons/page_white_delete.png") no-repeat
2356 2356 scroll 3px;
2357 2357 height: 16px;
2358 2358 padding-left: 20px;
2359 2359 margin-top: 7px;
2360 2360 text-align: left;
2361 2361 }
2362 2362
2363 2363 #graph {
2364 2364 overflow: hidden;
2365 2365 }
2366 2366
2367 2367 #graph_nodes {
2368 2368 float: left;
2369 2369 margin-right: -6px;
2370 2370 margin-top: 0px;
2371 2371 }
2372 2372
2373 2373 #graph_content {
2374 2374 width: 80%;
2375 2375 float: left;
2376 2376 }
2377 2377
2378 2378 #graph_content .container_header {
2379 2379 border-bottom: 1px solid #DDD;
2380 2380 padding: 10px;
2381 2381 height: 25px;
2382 2382 }
2383 2383
2384 2384 #graph_content #rev_range_container {
2385 2385 padding: 7px 20px;
2386 2386 float: left;
2387 2387 }
2388 2388
2389 2389 #graph_content .container {
2390 2390 border-bottom: 1px solid #DDD;
2391 2391 height: 56px;
2392 2392 overflow: hidden;
2393 2393 }
2394 2394
2395 2395 #graph_content .container .right {
2396 2396 float: right;
2397 2397 width: 23%;
2398 2398 text-align: right;
2399 2399 }
2400 2400
2401 2401 #graph_content .container .left {
2402 2402 float: left;
2403 2403 width: 25%;
2404 2404 padding-left: 5px;
2405 2405 }
2406 2406
2407 2407 #graph_content .container .mid {
2408 2408 float: left;
2409 2409 width: 49%;
2410 2410 }
2411 2411
2412 2412
2413 2413 #graph_content .container .left .date {
2414 2414 color: #666;
2415 2415 padding-left: 22px;
2416 2416 font-size: 10px;
2417 2417 }
2418 2418
2419 2419 #graph_content .container .left .author {
2420 2420 height: 22px;
2421 2421 }
2422 2422
2423 2423 #graph_content .container .left .author .user {
2424 2424 color: #444444;
2425 2425 float: left;
2426 2426 margin-left: -4px;
2427 2427 margin-top: 4px;
2428 2428 }
2429 2429
2430 2430 #graph_content .container .mid .message {
2431 2431 white-space: pre-wrap;
2432 2432 }
2433 2433
2434 2434 #graph_content .container .mid .message a:hover{
2435 2435 text-decoration: none;
2436 2436 }
2437 2437 #content #graph_content .message .revision-link,
2438 2438 #changeset_content .container .message .revision-link
2439 2439 {
2440 2440 color:#3F6F9F;
2441 2441 font-weight: bold !important;
2442 2442 }
2443 2443
2444 2444 #content #graph_content .message .issue-tracker-link,
2445 2445 #changeset_content .container .message .issue-tracker-link{
2446 2446 color:#3F6F9F;
2447 2447 font-weight: bold !important;
2448 2448 }
2449 2449
2450 2450 .right .changeset-status-container{
2451 2451 padding-right: 5px;
2452 2452 margin-top:1px;
2453 2453 float:right;
2454 2454 height:14px;
2455 2455 }
2456 .code-header .changeset-status-container{
2457 float:left;
2458 padding:2px 0px 0px 2px;
2459 }
2456 2460 .right .changeset-status-container .changeset-status-lbl{
2457 2461 color: rgb(136, 136, 136);
2458 2462 float: left;
2459 2463 padding: 0px 4px 0px 0px;
2460 2464 }
2465 .code-header .changeset-status-container .changeset-status-lbl{
2466 float: left;
2467 padding: 0px 4px 0px 0px;
2468 }
2469 .right .changeset-status-container .changeset-status-ico{
2470 float: left;
2471 }
2472 .code-header .changeset-status-container .changeset-status-ico{
2473 float: left;
2474 }
2461 2475 .right .comments-container{
2462 2476 padding-right: 5px;
2463 2477 margin-top:1px;
2464 2478 float:right;
2465 2479 height:14px;
2466 2480 }
2467 2481
2468 2482 .right .comments-cnt{
2469 2483 float: left;
2470 2484 color: rgb(136, 136, 136);
2471 2485 padding-right: 2px;
2472 2486 }
2473 2487
2474 2488 .right .changes{
2475 2489 clear: both;
2476 2490 }
2477 2491
2478 2492 .right .changes .changed_total {
2479 2493 display: block;
2480 2494 float: right;
2481 2495 text-align: center;
2482 2496 min-width: 45px;
2483 2497 cursor: pointer;
2484 2498 color: #444444;
2485 2499 background: #FEA;
2486 2500 -webkit-border-radius: 0px 0px 0px 6px;
2487 2501 -moz-border-radius: 0px 0px 0px 6px;
2488 2502 border-radius: 0px 0px 0px 6px;
2489 2503 padding: 1px;
2490 2504 }
2491 2505
2492 2506 .right .changes .added,.changed,.removed {
2493 2507 display: block;
2494 2508 padding: 1px;
2495 2509 color: #444444;
2496 2510 float: right;
2497 2511 text-align: center;
2498 2512 min-width: 15px;
2499 2513 }
2500 2514
2501 2515 .right .changes .added {
2502 2516 background: #CFC;
2503 2517 }
2504 2518
2505 2519 .right .changes .changed {
2506 2520 background: #FEA;
2507 2521 }
2508 2522
2509 2523 .right .changes .removed {
2510 2524 background: #FAA;
2511 2525 }
2512 2526
2513 2527 .right .merge {
2514 2528 padding: 1px 3px 1px 3px;
2515 2529 background-color: #fca062;
2516 2530 font-size: 10px;
2517 2531 font-weight: bold;
2518 2532 color: #ffffff;
2519 2533 text-transform: uppercase;
2520 2534 white-space: nowrap;
2521 2535 -webkit-border-radius: 3px;
2522 2536 -moz-border-radius: 3px;
2523 2537 border-radius: 3px;
2524 2538 margin-right: 2px;
2525 2539 }
2526 2540
2527 2541 .right .parent {
2528 2542 color: #666666;
2529 2543 clear:both;
2530 2544 }
2531 2545 .right .logtags{
2532 2546 padding: 2px 2px 2px 2px;
2533 2547 }
2534 2548 .right .logtags .branchtag,.logtags .branchtag {
2535 2549 padding: 1px 3px 1px 3px;
2536 2550 background-color: #bfbfbf;
2537 2551 font-size: 10px;
2538 2552 font-weight: bold;
2539 2553 color: #ffffff;
2540 2554 text-transform: uppercase;
2541 2555 white-space: nowrap;
2542 2556 -webkit-border-radius: 3px;
2543 2557 -moz-border-radius: 3px;
2544 2558 border-radius: 3px;
2545 2559 }
2546 2560 .right .logtags .branchtag a:hover,.logtags .branchtag a{
2547 2561 color: #ffffff;
2548 2562 }
2549 2563 .right .logtags .branchtag a:hover,.logtags .branchtag a:hover{
2550 2564 text-decoration: none;
2551 2565 color: #ffffff;
2552 2566 }
2553 2567 .right .logtags .tagtag,.logtags .tagtag {
2554 2568 padding: 1px 3px 1px 3px;
2555 2569 background-color: #62cffc;
2556 2570 font-size: 10px;
2557 2571 font-weight: bold;
2558 2572 color: #ffffff;
2559 2573 text-transform: uppercase;
2560 2574 white-space: nowrap;
2561 2575 -webkit-border-radius: 3px;
2562 2576 -moz-border-radius: 3px;
2563 2577 border-radius: 3px;
2564 2578 }
2565 2579 .right .logtags .tagtag a:hover,.logtags .tagtag a{
2566 2580 color: #ffffff;
2567 2581 }
2568 2582 .right .logtags .tagtag a:hover,.logtags .tagtag a:hover{
2569 2583 text-decoration: none;
2570 2584 color: #ffffff;
2571 2585 }
2572 2586 .right .logbooks .bookbook,.logbooks .bookbook {
2573 2587 padding: 1px 3px 2px;
2574 2588 background-color: #46A546;
2575 2589 font-size: 9.75px;
2576 2590 font-weight: bold;
2577 2591 color: #ffffff;
2578 2592 text-transform: uppercase;
2579 2593 white-space: nowrap;
2580 2594 -webkit-border-radius: 3px;
2581 2595 -moz-border-radius: 3px;
2582 2596 border-radius: 3px;
2583 2597 }
2584 2598 .right .logbooks .bookbook,.logbooks .bookbook a{
2585 2599 color: #ffffff;
2586 2600 }
2587 2601 .right .logbooks .bookbook,.logbooks .bookbook a:hover{
2588 2602 text-decoration: none;
2589 2603 color: #ffffff;
2590 2604 }
2591 2605 div.browserblock {
2592 2606 overflow: hidden;
2593 2607 border: 1px solid #ccc;
2594 2608 background: #f8f8f8;
2595 2609 font-size: 100%;
2596 2610 line-height: 125%;
2597 2611 padding: 0;
2598 2612 -webkit-border-radius: 6px 6px 0px 0px;
2599 2613 -moz-border-radius: 6px 6px 0px 0px;
2600 2614 border-radius: 6px 6px 0px 0px;
2601 2615 }
2602 2616
2603 2617 div.browserblock .browser-header {
2604 2618 background: #FFF;
2605 2619 padding: 10px 0px 15px 0px;
2606 2620 width: 100%;
2607 2621 }
2608 2622
2609 2623 div.browserblock .browser-nav {
2610 2624 float: left
2611 2625 }
2612 2626
2613 2627 div.browserblock .browser-branch {
2614 2628 float: left;
2615 2629 }
2616 2630
2617 2631 div.browserblock .browser-branch label {
2618 2632 color: #4A4A4A;
2619 2633 vertical-align: text-top;
2620 2634 }
2621 2635
2622 2636 div.browserblock .browser-header span {
2623 2637 margin-left: 5px;
2624 2638 font-weight: 700;
2625 2639 }
2626 2640
2627 2641 div.browserblock .browser-search {
2628 2642 clear: both;
2629 2643 padding: 8px 8px 0px 5px;
2630 2644 height: 20px;
2631 2645 }
2632 2646
2633 2647 div.browserblock #node_filter_box {
2634 2648
2635 2649 }
2636 2650
2637 2651 div.browserblock .search_activate {
2638 2652 float: left
2639 2653 }
2640 2654
2641 2655 div.browserblock .add_node {
2642 2656 float: left;
2643 2657 padding-left: 5px;
2644 2658 }
2645 2659
2646 2660 div.browserblock .search_activate a:hover,div.browserblock .add_node a:hover
2647 2661 {
2648 2662 text-decoration: none !important;
2649 2663 }
2650 2664
2651 2665 div.browserblock .browser-body {
2652 2666 background: #EEE;
2653 2667 border-top: 1px solid #CCC;
2654 2668 }
2655 2669
2656 2670 table.code-browser {
2657 2671 border-collapse: collapse;
2658 2672 width: 100%;
2659 2673 }
2660 2674
2661 2675 table.code-browser tr {
2662 2676 margin: 3px;
2663 2677 }
2664 2678
2665 2679 table.code-browser thead th {
2666 2680 background-color: #EEE;
2667 2681 height: 20px;
2668 2682 font-size: 1.1em;
2669 2683 font-weight: 700;
2670 2684 text-align: left;
2671 2685 padding-left: 10px;
2672 2686 }
2673 2687
2674 2688 table.code-browser tbody td {
2675 2689 padding-left: 10px;
2676 2690 height: 20px;
2677 2691 }
2678 2692
2679 2693 table.code-browser .browser-file {
2680 2694 background: url("../images/icons/document_16.png") no-repeat scroll 3px;
2681 2695 height: 16px;
2682 2696 padding-left: 20px;
2683 2697 text-align: left;
2684 2698 }
2685 2699 .diffblock .changeset_header {
2686 2700 height: 16px;
2687 2701 }
2688 2702 .diffblock .changeset_file {
2689 2703 background: url("../images/icons/file.png") no-repeat scroll 3px;
2690 2704 text-align: left;
2691 2705 float: left;
2692 2706 padding: 2px 0px 2px 22px;
2693 2707 }
2694 2708 .diffblock .diff-menu-wrapper{
2695 2709 float: left;
2696 2710 }
2697 2711
2698 2712 .diffblock .diff-menu{
2699 2713 position: absolute;
2700 2714 background: none repeat scroll 0 0 #FFFFFF;
2701 2715 border-color: #003367 #666666 #666666;
2702 2716 border-right: 1px solid #666666;
2703 2717 border-style: solid solid solid;
2704 2718 border-width: 1px;
2705 2719 box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2);
2706 2720 margin-top:5px;
2707 2721 margin-left:1px;
2708 2722
2709 2723 }
2710 2724 .diffblock .diff-actions {
2711 2725 padding: 2px 0px 0px 2px;
2712 2726 float: left;
2713 2727 }
2714 2728 .diffblock .diff-menu ul li {
2715 2729 padding: 0px 0px 0px 0px !important;
2716 2730 }
2717 2731 .diffblock .diff-menu ul li a{
2718 2732 display: block;
2719 2733 padding: 3px 8px 3px 8px !important;
2720 2734 }
2721 2735 .diffblock .diff-menu ul li a:hover{
2722 2736 text-decoration: none;
2723 2737 background-color: #EEEEEE;
2724 2738 }
2725 2739 table.code-browser .browser-dir {
2726 2740 background: url("../images/icons/folder_16.png") no-repeat scroll 3px;
2727 2741 height: 16px;
2728 2742 padding-left: 20px;
2729 2743 text-align: left;
2730 2744 }
2731 2745
2732 2746 table.code-browser .submodule-dir {
2733 2747 background: url("../images/icons/disconnect.png") no-repeat scroll 3px;
2734 2748 height: 16px;
2735 2749 padding-left: 20px;
2736 2750 text-align: left;
2737 2751 }
2738 2752
2739 2753
2740 2754 .box .search {
2741 2755 clear: both;
2742 2756 overflow: hidden;
2743 2757 margin: 0;
2744 2758 padding: 0 20px 10px;
2745 2759 }
2746 2760
2747 2761 .box .search div.search_path {
2748 2762 background: none repeat scroll 0 0 #EEE;
2749 2763 border: 1px solid #CCC;
2750 2764 color: blue;
2751 2765 margin-bottom: 10px;
2752 2766 padding: 10px 0;
2753 2767 }
2754 2768
2755 2769 .box .search div.search_path div.link {
2756 2770 font-weight: 700;
2757 2771 margin-left: 25px;
2758 2772 }
2759 2773
2760 2774 .box .search div.search_path div.link a {
2761 2775 color: #003367;
2762 2776 cursor: pointer;
2763 2777 text-decoration: none;
2764 2778 }
2765 2779
2766 2780 #path_unlock {
2767 2781 color: red;
2768 2782 font-size: 1.2em;
2769 2783 padding-left: 4px;
2770 2784 }
2771 2785
2772 2786 .info_box span {
2773 2787 margin-left: 3px;
2774 2788 margin-right: 3px;
2775 2789 }
2776 2790
2777 2791 .info_box .rev {
2778 2792 color: #003367;
2779 2793 font-size: 1.6em;
2780 2794 font-weight: bold;
2781 2795 vertical-align: sub;
2782 2796 }
2783 2797
2784 2798 .info_box input#at_rev,.info_box input#size {
2785 2799 background: #FFF;
2786 2800 border-top: 1px solid #b3b3b3;
2787 2801 border-left: 1px solid #b3b3b3;
2788 2802 border-right: 1px solid #eaeaea;
2789 2803 border-bottom: 1px solid #eaeaea;
2790 2804 color: #000;
2791 2805 font-size: 12px;
2792 2806 margin: 0;
2793 2807 padding: 1px 5px 1px;
2794 2808 }
2795 2809
2796 2810 .info_box input#view {
2797 2811 text-align: center;
2798 2812 padding: 4px 3px 2px 2px;
2799 2813 }
2800 2814
2801 2815 .yui-overlay,.yui-panel-container {
2802 2816 visibility: hidden;
2803 2817 position: absolute;
2804 2818 z-index: 2;
2805 2819 }
2806 2820
2807 2821 .yui-tt {
2808 2822 visibility: hidden;
2809 2823 position: absolute;
2810 2824 color: #666;
2811 2825 background-color: #FFF;
2812 2826 border: 2px solid #003367;
2813 2827 font: 100% sans-serif;
2814 2828 width: auto;
2815 2829 opacity: 1px;
2816 2830 padding: 8px;
2817 2831 white-space: pre-wrap;
2818 2832 -webkit-border-radius: 8px 8px 8px 8px;
2819 2833 -khtml-border-radius: 8px 8px 8px 8px;
2820 2834 -moz-border-radius: 8px 8px 8px 8px;
2821 2835 border-radius: 8px 8px 8px 8px;
2822 2836 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
2823 2837 }
2824 2838
2825 2839 .ac {
2826 2840 vertical-align: top;
2827 2841 }
2828 2842
2829 2843 .ac .yui-ac {
2830 2844 position: inherit;
2831 2845 font-size: 100%;
2832 2846 }
2833 2847
2834 2848 .ac .perm_ac {
2835 2849 width: 20em;
2836 2850 }
2837 2851
2838 2852 .ac .yui-ac-input {
2839 2853 width: 100%;
2840 2854 }
2841 2855
2842 2856 .ac .yui-ac-container {
2843 2857 position: absolute;
2844 2858 top: 1.6em;
2845 2859 width: auto;
2846 2860 }
2847 2861
2848 2862 .ac .yui-ac-content {
2849 2863 position: absolute;
2850 2864 border: 1px solid gray;
2851 2865 background: #fff;
2852 2866 z-index: 9050;
2853 2867
2854 2868 }
2855 2869
2856 2870 .ac .yui-ac-shadow {
2857 2871 position: absolute;
2858 2872 width: 100%;
2859 2873 background: #000;
2860 2874 -moz-opacity: 0.1px;
2861 2875 opacity: .10;
2862 2876 filter: alpha(opacity = 10);
2863 2877 z-index: 9049;
2864 2878 margin: .3em;
2865 2879 }
2866 2880
2867 2881 .ac .yui-ac-content ul {
2868 2882 width: 100%;
2869 2883 margin: 0;
2870 2884 padding: 0;
2871 2885 z-index: 9050;
2872 2886 }
2873 2887
2874 2888 .ac .yui-ac-content li {
2875 2889 cursor: default;
2876 2890 white-space: nowrap;
2877 2891 margin: 0;
2878 2892 padding: 2px 5px;
2879 2893 height: 18px;
2880 2894 z-index: 9050;
2881 2895 display: block;
2882 2896 width: auto !important;
2883 2897 }
2884 2898
2885 2899 .ac .yui-ac-content li .ac-container-wrap{
2886 2900 width: auto;
2887 2901 }
2888 2902
2889 2903 .ac .yui-ac-content li.yui-ac-prehighlight {
2890 2904 background: #B3D4FF;
2891 2905 z-index: 9050;
2892 2906 }
2893 2907
2894 2908 .ac .yui-ac-content li.yui-ac-highlight {
2895 2909 background: #556CB5;
2896 2910 color: #FFF;
2897 2911 z-index: 9050;
2898 2912 }
2899 2913 .ac .yui-ac-bd{
2900 2914 z-index: 9050;
2901 2915 }
2902 2916
2903 2917 .follow {
2904 2918 background: url("../images/icons/heart_add.png") no-repeat scroll 3px;
2905 2919 height: 16px;
2906 2920 width: 20px;
2907 2921 cursor: pointer;
2908 2922 display: block;
2909 2923 float: right;
2910 2924 margin-top: 2px;
2911 2925 }
2912 2926
2913 2927 .following {
2914 2928 background: url("../images/icons/heart_delete.png") no-repeat scroll 3px;
2915 2929 height: 16px;
2916 2930 width: 20px;
2917 2931 cursor: pointer;
2918 2932 display: block;
2919 2933 float: right;
2920 2934 margin-top: 2px;
2921 2935 }
2922 2936
2923 2937 .currently_following {
2924 2938 padding-left: 10px;
2925 2939 padding-bottom: 5px;
2926 2940 }
2927 2941
2928 2942 .add_icon {
2929 2943 background: url("../images/icons/add.png") no-repeat scroll 3px;
2930 2944 padding-left: 20px;
2931 2945 padding-top: 0px;
2932 2946 text-align: left;
2933 2947 }
2934 2948
2935 2949 .edit_icon {
2936 2950 background: url("../images/icons/folder_edit.png") no-repeat scroll 3px;
2937 2951 padding-left: 20px;
2938 2952 padding-top: 0px;
2939 2953 text-align: left;
2940 2954 }
2941 2955
2942 2956 .delete_icon {
2943 2957 background: url("../images/icons/delete.png") no-repeat scroll 3px;
2944 2958 padding-left: 20px;
2945 2959 padding-top: 0px;
2946 2960 text-align: left;
2947 2961 }
2948 2962
2949 2963 .refresh_icon {
2950 2964 background: url("../images/icons/arrow_refresh.png") no-repeat scroll
2951 2965 3px;
2952 2966 padding-left: 20px;
2953 2967 padding-top: 0px;
2954 2968 text-align: left;
2955 2969 }
2956 2970
2957 2971 .pull_icon {
2958 2972 background: url("../images/icons/connect.png") no-repeat scroll 3px;
2959 2973 padding-left: 20px;
2960 2974 padding-top: 0px;
2961 2975 text-align: left;
2962 2976 }
2963 2977
2964 2978 .rss_icon {
2965 2979 background: url("../images/icons/rss_16.png") no-repeat scroll 3px;
2966 2980 padding-left: 20px;
2967 2981 padding-top: 4px;
2968 2982 text-align: left;
2969 2983 font-size: 8px
2970 2984 }
2971 2985
2972 2986 .atom_icon {
2973 2987 background: url("../images/icons/atom.png") no-repeat scroll 3px;
2974 2988 padding-left: 20px;
2975 2989 padding-top: 4px;
2976 2990 text-align: left;
2977 2991 font-size: 8px
2978 2992 }
2979 2993
2980 2994 .archive_icon {
2981 2995 background: url("../images/icons/compress.png") no-repeat scroll 3px;
2982 2996 padding-left: 20px;
2983 2997 text-align: left;
2984 2998 padding-top: 1px;
2985 2999 }
2986 3000
2987 3001 .start_following_icon {
2988 3002 background: url("../images/icons/heart_add.png") no-repeat scroll 3px;
2989 3003 padding-left: 20px;
2990 3004 text-align: left;
2991 3005 padding-top: 0px;
2992 3006 }
2993 3007
2994 3008 .stop_following_icon {
2995 3009 background: url("../images/icons/heart_delete.png") no-repeat scroll 3px;
2996 3010 padding-left: 20px;
2997 3011 text-align: left;
2998 3012 padding-top: 0px;
2999 3013 }
3000 3014
3001 3015 .action_button {
3002 3016 border: 0;
3003 3017 display: inline;
3004 3018 }
3005 3019
3006 3020 .action_button:hover {
3007 3021 border: 0;
3008 3022 text-decoration: underline;
3009 3023 cursor: pointer;
3010 3024 }
3011 3025
3012 3026 #switch_repos {
3013 3027 position: absolute;
3014 3028 height: 25px;
3015 3029 z-index: 1;
3016 3030 }
3017 3031
3018 3032 #switch_repos select {
3019 3033 min-width: 150px;
3020 3034 max-height: 250px;
3021 3035 z-index: 1;
3022 3036 }
3023 3037
3024 3038 .breadcrumbs {
3025 3039 border: medium none;
3026 3040 color: #FFF;
3027 3041 float: left;
3028 3042 text-transform: uppercase;
3029 3043 font-weight: 700;
3030 3044 font-size: 14px;
3031 3045 margin: 0;
3032 3046 padding: 11px 0 11px 10px;
3033 3047 }
3034 3048
3035 3049 .breadcrumbs .hash {
3036 3050 text-transform: none;
3037 3051 color: #fff;
3038 3052 }
3039 3053
3040 3054 .breadcrumbs a {
3041 3055 color: #FFF;
3042 3056 }
3043 3057
3044 3058 .flash_msg {
3045 3059
3046 3060 }
3047 3061
3048 3062 .flash_msg ul {
3049 3063
3050 3064 }
3051 3065
3052 3066 .error_msg {
3053 3067 background-color: #c43c35;
3054 3068 background-repeat: repeat-x;
3055 3069 background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35) );
3056 3070 background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
3057 3071 background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
3058 3072 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35) );
3059 3073 background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
3060 3074 background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
3061 3075 background-image: linear-gradient(top, #ee5f5b, #c43c35);
3062 3076 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b',endColorstr='#c43c35', GradientType=0 );
3063 3077 border-color: #c43c35 #c43c35 #882a25;
3064 3078 }
3065 3079
3066 3080 .warning_msg {
3067 3081 color: #404040 !important;
3068 3082 background-color: #eedc94;
3069 3083 background-repeat: repeat-x;
3070 3084 background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94) );
3071 3085 background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
3072 3086 background-image: -ms-linear-gradient(top, #fceec1, #eedc94);
3073 3087 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94) );
3074 3088 background-image: -webkit-linear-gradient(top, #fceec1, #eedc94);
3075 3089 background-image: -o-linear-gradient(top, #fceec1, #eedc94);
3076 3090 background-image: linear-gradient(top, #fceec1, #eedc94);
3077 3091 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0 );
3078 3092 border-color: #eedc94 #eedc94 #e4c652;
3079 3093 }
3080 3094
3081 3095 .success_msg {
3082 3096 background-color: #57a957;
3083 3097 background-repeat: repeat-x !important;
3084 3098 background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957) );
3085 3099 background-image: -moz-linear-gradient(top, #62c462, #57a957);
3086 3100 background-image: -ms-linear-gradient(top, #62c462, #57a957);
3087 3101 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957) );
3088 3102 background-image: -webkit-linear-gradient(top, #62c462, #57a957);
3089 3103 background-image: -o-linear-gradient(top, #62c462, #57a957);
3090 3104 background-image: linear-gradient(top, #62c462, #57a957);
3091 3105 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0 );
3092 3106 border-color: #57a957 #57a957 #3d773d;
3093 3107 }
3094 3108
3095 3109 .notice_msg {
3096 3110 background-color: #339bb9;
3097 3111 background-repeat: repeat-x;
3098 3112 background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9) );
3099 3113 background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
3100 3114 background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
3101 3115 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9) );
3102 3116 background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
3103 3117 background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
3104 3118 background-image: linear-gradient(top, #5bc0de, #339bb9);
3105 3119 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0 );
3106 3120 border-color: #339bb9 #339bb9 #22697d;
3107 3121 }
3108 3122
3109 3123 .success_msg,.error_msg,.notice_msg,.warning_msg {
3110 3124 font-size: 12px;
3111 3125 font-weight: 700;
3112 3126 min-height: 14px;
3113 3127 line-height: 14px;
3114 3128 margin-bottom: 10px;
3115 3129 margin-top: 0;
3116 3130 display: block;
3117 3131 overflow: auto;
3118 3132 padding: 6px 10px 6px 10px;
3119 3133 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3120 3134 position: relative;
3121 3135 color: #FFF;
3122 3136 border-width: 1px;
3123 3137 border-style: solid;
3124 3138 -webkit-border-radius: 4px;
3125 3139 -moz-border-radius: 4px;
3126 3140 border-radius: 4px;
3127 3141 -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3128 3142 -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3129 3143 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3130 3144 }
3131 3145
3132 3146 #msg_close {
3133 3147 background: transparent url("../icons/cross_grey_small.png") no-repeat scroll 0 0;
3134 3148 cursor: pointer;
3135 3149 height: 16px;
3136 3150 position: absolute;
3137 3151 right: 5px;
3138 3152 top: 5px;
3139 3153 width: 16px;
3140 3154 }
3141 3155 div#legend_data{
3142 3156 padding-left:10px;
3143 3157 }
3144 3158 div#legend_container table{
3145 3159 border: none !important;
3146 3160 }
3147 3161 div#legend_container table,div#legend_choices table {
3148 3162 width: auto !important;
3149 3163 }
3150 3164
3151 3165 table#permissions_manage {
3152 3166 width: 0 !important;
3153 3167 }
3154 3168
3155 3169 table#permissions_manage span.private_repo_msg {
3156 3170 font-size: 0.8em;
3157 3171 opacity: 0.6px;
3158 3172 }
3159 3173
3160 3174 table#permissions_manage td.private_repo_msg {
3161 3175 font-size: 0.8em;
3162 3176 }
3163 3177
3164 3178 table#permissions_manage tr#add_perm_input td {
3165 3179 vertical-align: middle;
3166 3180 }
3167 3181
3168 3182 div.gravatar {
3169 3183 background-color: #FFF;
3170 3184 float: left;
3171 3185 margin-right: 0.7em;
3172 3186 padding: 1px 1px 1px 1px;
3173 3187 line-height:0;
3174 3188 -webkit-border-radius: 3px;
3175 3189 -khtml-border-radius: 3px;
3176 3190 -moz-border-radius: 3px;
3177 3191 border-radius: 3px;
3178 3192 }
3179 3193
3180 3194 div.gravatar img {
3181 3195 -webkit-border-radius: 2px;
3182 3196 -khtml-border-radius: 2px;
3183 3197 -moz-border-radius: 2px;
3184 3198 border-radius: 2px;
3185 3199 }
3186 3200
3187 3201 #header,#content,#footer {
3188 3202 min-width: 978px;
3189 3203 }
3190 3204
3191 3205 #content {
3192 3206 clear: both;
3193 3207 overflow: hidden;
3194 3208 padding: 54px 10px 14px 10px;
3195 3209 }
3196 3210
3197 3211 #content div.box div.title div.search {
3198 3212
3199 3213 border-left: 1px solid #316293;
3200 3214 }
3201 3215
3202 3216 #content div.box div.title div.search div.input input {
3203 3217 border: 1px solid #316293;
3204 3218 }
3205 3219
3206 3220 .ui-btn{
3207 3221 color: #515151;
3208 3222 background-color: #DADADA;
3209 3223 background-repeat: repeat-x;
3210 3224 background-image: -khtml-gradient(linear, left top, left bottom, from(#F4F4F4),to(#DADADA) );
3211 3225 background-image: -moz-linear-gradient(top, #F4F4F4, #DADADA);
3212 3226 background-image: -ms-linear-gradient(top, #F4F4F4, #DADADA);
3213 3227 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #F4F4F4),color-stop(100%, #DADADA) );
3214 3228 background-image: -webkit-linear-gradient(top, #F4F4F4, #DADADA) );
3215 3229 background-image: -o-linear-gradient(top, #F4F4F4, #DADADA) );
3216 3230 background-image: linear-gradient(top, #F4F4F4, #DADADA);
3217 3231 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F4F4F4', endColorstr='#DADADA', GradientType=0);
3218 3232
3219 3233 border-top: 1px solid #DDD;
3220 3234 border-left: 1px solid #c6c6c6;
3221 3235 border-right: 1px solid #DDD;
3222 3236 border-bottom: 1px solid #c6c6c6;
3223 3237 color: #515151;
3224 3238 outline: none;
3225 3239 margin: 0px 3px 3px 0px;
3226 3240 -webkit-border-radius: 4px 4px 4px 4px !important;
3227 3241 -khtml-border-radius: 4px 4px 4px 4px !important;
3228 3242 -moz-border-radius: 4px 4px 4px 4px !important;
3229 3243 border-radius: 4px 4px 4px 4px !important;
3230 3244 cursor: pointer !important;
3231 3245 padding: 3px 3px 3px 3px;
3232 3246 background-position: 0 -15px;
3233 3247
3234 3248 }
3235 3249 .ui-btn.xsmall{
3236 3250 padding: 1px 2px 1px 1px;
3237 3251 }
3238 3252 .ui-btn.clone{
3239 3253 padding: 5px 2px 6px 1px;
3240 3254 margin: 0px -4px 3px 0px;
3241 3255 -webkit-border-radius: 4px 0px 0px 4px !important;
3242 3256 -khtml-border-radius: 4px 0px 0px 4px !important;
3243 3257 -moz-border-radius: 4px 0px 0px 4px !important;
3244 3258 border-radius: 4px 0px 0px 4px !important;
3245 3259 width: 100px;
3246 3260 text-align: center;
3247 3261 float: left;
3248 3262 position: absolute;
3249 3263 }
3250 3264 .ui-btn:focus {
3251 3265 outline: none;
3252 3266 }
3253 3267 .ui-btn:hover{
3254 3268 background-position: 0 0px;
3255 3269 text-decoration: none;
3256 3270 color: #515151;
3257 3271 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25), 0 0 3px #FFFFFF !important;
3258 3272 }
3259 3273
3260 3274 .ui-btn.red{
3261 3275 color:#fff;
3262 3276 background-color: #c43c35;
3263 3277 background-repeat: repeat-x;
3264 3278 background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
3265 3279 background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
3266 3280 background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
3267 3281 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
3268 3282 background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
3269 3283 background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
3270 3284 background-image: linear-gradient(top, #ee5f5b, #c43c35);
3271 3285 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
3272 3286 border-color: #c43c35 #c43c35 #882a25;
3273 3287 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3274 3288 }
3275 3289
3276 3290
3277 3291 .ui-btn.blue{
3278 3292 background-color: #339bb9;
3279 3293 background-repeat: repeat-x;
3280 3294 background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
3281 3295 background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
3282 3296 background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
3283 3297 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
3284 3298 background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
3285 3299 background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
3286 3300 background-image: linear-gradient(top, #5bc0de, #339bb9);
3287 3301 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
3288 3302 border-color: #339bb9 #339bb9 #22697d;
3289 3303 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3290 3304 }
3291 3305
3292 3306 .ui-btn.green{
3293 3307 background-color: #57a957;
3294 3308 background-repeat: repeat-x;
3295 3309 background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
3296 3310 background-image: -moz-linear-gradient(top, #62c462, #57a957);
3297 3311 background-image: -ms-linear-gradient(top, #62c462, #57a957);
3298 3312 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
3299 3313 background-image: -webkit-linear-gradient(top, #62c462, #57a957);
3300 3314 background-image: -o-linear-gradient(top, #62c462, #57a957);
3301 3315 background-image: linear-gradient(top, #62c462, #57a957);
3302 3316 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
3303 3317 border-color: #57a957 #57a957 #3d773d;
3304 3318 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3305 3319 }
3306 3320
3307 3321 ins,div.options a:hover {
3308 3322 text-decoration: none;
3309 3323 }
3310 3324
3311 3325 img,
3312 3326 #header #header-inner #quick li a:hover span.normal,
3313 3327 #header #header-inner #quick li ul li.last,
3314 3328 #content div.box div.form div.fields div.field div.textarea table td table td a,
3315 3329 #clone_url,
3316 3330 #clone_url_id
3317 3331 {
3318 3332 border: none;
3319 3333 }
3320 3334
3321 3335 img.icon,.right .merge img {
3322 3336 vertical-align: bottom;
3323 3337 }
3324 3338
3325 3339 #header ul#logged-user,#content div.box div.title ul.links,
3326 3340 #content div.box div.message div.dismiss,
3327 3341 #content div.box div.traffic div.legend ul
3328 3342 {
3329 3343 float: right;
3330 3344 margin: 0;
3331 3345 padding: 0;
3332 3346 }
3333 3347
3334 3348 #header #header-inner #home,#header #header-inner #logo,
3335 3349 #content div.box ul.left,#content div.box ol.left,
3336 3350 #content div.box div.pagination-left,div#commit_history,
3337 3351 div#legend_data,div#legend_container,div#legend_choices
3338 3352 {
3339 3353 float: left;
3340 3354 }
3341 3355
3342 3356 #header #header-inner #quick li:hover ul ul,
3343 3357 #header #header-inner #quick li:hover ul ul ul,
3344 3358 #header #header-inner #quick li:hover ul ul ul ul,
3345 3359 #content #left #menu ul.closed,#content #left #menu li ul.collapsed,.yui-tt-shadow
3346 3360 {
3347 3361 display: none;
3348 3362 }
3349 3363
3350 3364 #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
3351 3365 {
3352 3366 display: block;
3353 3367 }
3354 3368
3355 3369 #content div.graph {
3356 3370 padding: 0 10px 10px;
3357 3371 }
3358 3372
3359 3373 #content div.box div.title ul.links li a:hover,#content div.box div.title ul.links li.ui-tabs-selected a
3360 3374 {
3361 3375 color: #bfe3ff;
3362 3376 }
3363 3377
3364 3378 #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
3365 3379 {
3366 3380 margin: 10px 24px 10px 44px;
3367 3381 }
3368 3382
3369 3383 #content div.box div.form,#content div.box div.table,#content div.box div.traffic
3370 3384 {
3371 3385 clear: both;
3372 3386 overflow: hidden;
3373 3387 margin: 0;
3374 3388 padding: 0 20px 10px;
3375 3389 }
3376 3390
3377 3391 #content div.box div.form div.fields,#login div.form,#login div.form div.fields,#register div.form,#register div.form div.fields
3378 3392 {
3379 3393 clear: both;
3380 3394 overflow: hidden;
3381 3395 margin: 0;
3382 3396 padding: 0;
3383 3397 }
3384 3398
3385 3399 #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
3386 3400 {
3387 3401 height: 1%;
3388 3402 display: block;
3389 3403 color: #363636;
3390 3404 margin: 0;
3391 3405 padding: 2px 0 0;
3392 3406 }
3393 3407
3394 3408 #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
3395 3409 {
3396 3410 background: #FBE3E4;
3397 3411 border-top: 1px solid #e1b2b3;
3398 3412 border-left: 1px solid #e1b2b3;
3399 3413 border-right: 1px solid #FBC2C4;
3400 3414 border-bottom: 1px solid #FBC2C4;
3401 3415 }
3402 3416
3403 3417 #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
3404 3418 {
3405 3419 background: #E6EFC2;
3406 3420 border-top: 1px solid #cebb98;
3407 3421 border-left: 1px solid #cebb98;
3408 3422 border-right: 1px solid #c6d880;
3409 3423 border-bottom: 1px solid #c6d880;
3410 3424 }
3411 3425
3412 3426 #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
3413 3427 {
3414 3428 margin: 0;
3415 3429 }
3416 3430
3417 3431 #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
3418 3432 {
3419 3433 margin: 0 0 0 0px !important;
3420 3434 padding: 0;
3421 3435 }
3422 3436
3423 3437 #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
3424 3438 {
3425 3439 margin: 0 0 0 200px;
3426 3440 padding: 0;
3427 3441 }
3428 3442
3429 3443 #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
3430 3444 {
3431 3445 color: #000;
3432 3446 text-decoration: none;
3433 3447 }
3434 3448
3435 3449 #content div.box div.form div.fields div.field div.select a.ui-selectmenu-focus,#content div.box div.action a.ui-selectmenu-focus
3436 3450 {
3437 3451 border: 1px solid #666;
3438 3452 }
3439 3453
3440 3454 #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
3441 3455 {
3442 3456 clear: both;
3443 3457 overflow: hidden;
3444 3458 margin: 0;
3445 3459 padding: 8px 0 2px;
3446 3460 }
3447 3461
3448 3462 #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
3449 3463 {
3450 3464 float: left;
3451 3465 margin: 0;
3452 3466 }
3453 3467
3454 3468 #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
3455 3469 {
3456 3470 height: 1%;
3457 3471 display: block;
3458 3472 float: left;
3459 3473 margin: 2px 0 0 4px;
3460 3474 }
3461 3475
3462 3476 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
3463 3477 {
3464 3478 color: #000;
3465 3479 font-size: 11px;
3466 3480 font-weight: 700;
3467 3481 margin: 0;
3468 3482 }
3469 3483
3470 3484 input.ui-button {
3471 3485 background: #e5e3e3 url("../images/button.png") repeat-x;
3472 3486 border-top: 1px solid #DDD;
3473 3487 border-left: 1px solid #c6c6c6;
3474 3488 border-right: 1px solid #DDD;
3475 3489 border-bottom: 1px solid #c6c6c6;
3476 3490 color: #515151 !important;
3477 3491 outline: none;
3478 3492 margin: 0;
3479 3493 padding: 6px 12px;
3480 3494 -webkit-border-radius: 4px 4px 4px 4px;
3481 3495 -khtml-border-radius: 4px 4px 4px 4px;
3482 3496 -moz-border-radius: 4px 4px 4px 4px;
3483 3497 border-radius: 4px 4px 4px 4px;
3484 3498 box-shadow: 0 1px 0 #ececec;
3485 3499 cursor: pointer;
3486 3500 }
3487 3501
3488 3502 input.ui-button:hover {
3489 3503 background: #b4b4b4 url("../images/button_selected.png") repeat-x;
3490 3504 border-top: 1px solid #ccc;
3491 3505 border-left: 1px solid #bebebe;
3492 3506 border-right: 1px solid #b1b1b1;
3493 3507 border-bottom: 1px solid #afafaf;
3494 3508 }
3495 3509
3496 3510 div.form div.fields div.field div.highlight,#content div.box div.form div.fields div.buttons div.highlight
3497 3511 {
3498 3512 display: inline;
3499 3513 }
3500 3514
3501 3515 #content div.box div.form div.fields div.buttons,div.form div.fields div.buttons
3502 3516 {
3503 3517 margin: 10px 0 0 200px;
3504 3518 padding: 0;
3505 3519 }
3506 3520
3507 3521 #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
3508 3522 {
3509 3523 margin: 10px 0 0;
3510 3524 }
3511 3525
3512 3526 #content div.box table td.user,#content div.box table td.address {
3513 3527 width: 10%;
3514 3528 text-align: center;
3515 3529 }
3516 3530
3517 3531 #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
3518 3532 {
3519 3533 text-align: right;
3520 3534 margin: 6px 0 0;
3521 3535 padding: 0;
3522 3536 }
3523 3537
3524 3538 #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
3525 3539 {
3526 3540 background: #b4b4b4 url("../images/button_selected.png") repeat-x;
3527 3541 border-top: 1px solid #ccc;
3528 3542 border-left: 1px solid #bebebe;
3529 3543 border-right: 1px solid #b1b1b1;
3530 3544 border-bottom: 1px solid #afafaf;
3531 3545 color: #515151;
3532 3546 margin: 0;
3533 3547 padding: 6px 12px;
3534 3548 }
3535 3549
3536 3550 #content div.box div.pagination div.results,#content div.box div.pagination-wh div.results
3537 3551 {
3538 3552 text-align: left;
3539 3553 float: left;
3540 3554 margin: 0;
3541 3555 padding: 0;
3542 3556 }
3543 3557
3544 3558 #content div.box div.pagination div.results span,#content div.box div.pagination-wh div.results span
3545 3559 {
3546 3560 height: 1%;
3547 3561 display: block;
3548 3562 float: left;
3549 3563 background: #ebebeb url("../images/pager.png") repeat-x;
3550 3564 border-top: 1px solid #dedede;
3551 3565 border-left: 1px solid #cfcfcf;
3552 3566 border-right: 1px solid #c4c4c4;
3553 3567 border-bottom: 1px solid #c4c4c4;
3554 3568 color: #4A4A4A;
3555 3569 font-weight: 700;
3556 3570 margin: 0;
3557 3571 padding: 6px 8px;
3558 3572 }
3559 3573
3560 3574 #content div.box div.pagination ul.pager li.disabled,#content div.box div.pagination-wh a.disabled
3561 3575 {
3562 3576 color: #B4B4B4;
3563 3577 padding: 6px;
3564 3578 }
3565 3579
3566 3580 #login,#register {
3567 3581 width: 520px;
3568 3582 margin: 10% auto 0;
3569 3583 padding: 0;
3570 3584 }
3571 3585
3572 3586 #login div.color,#register div.color {
3573 3587 clear: both;
3574 3588 overflow: hidden;
3575 3589 background: #FFF;
3576 3590 margin: 10px auto 0;
3577 3591 padding: 3px 3px 3px 0;
3578 3592 }
3579 3593
3580 3594 #login div.color a,#register div.color a {
3581 3595 width: 20px;
3582 3596 height: 20px;
3583 3597 display: block;
3584 3598 float: left;
3585 3599 margin: 0 0 0 3px;
3586 3600 padding: 0;
3587 3601 }
3588 3602
3589 3603 #login div.title h5,#register div.title h5 {
3590 3604 color: #fff;
3591 3605 margin: 10px;
3592 3606 padding: 0;
3593 3607 }
3594 3608
3595 3609 #login div.form div.fields div.field,#register div.form div.fields div.field
3596 3610 {
3597 3611 clear: both;
3598 3612 overflow: hidden;
3599 3613 margin: 0;
3600 3614 padding: 0 0 10px;
3601 3615 }
3602 3616
3603 3617 #login div.form div.fields div.field span.error-message,#register div.form div.fields div.field span.error-message
3604 3618 {
3605 3619 height: 1%;
3606 3620 display: block;
3607 3621 color: red;
3608 3622 margin: 8px 0 0;
3609 3623 padding: 0;
3610 3624 max-width: 320px;
3611 3625 }
3612 3626
3613 3627 #login div.form div.fields div.field div.label label,#register div.form div.fields div.field div.label label
3614 3628 {
3615 3629 color: #000;
3616 3630 font-weight: 700;
3617 3631 }
3618 3632
3619 3633 #login div.form div.fields div.field div.input,#register div.form div.fields div.field div.input
3620 3634 {
3621 3635 float: left;
3622 3636 margin: 0;
3623 3637 padding: 0;
3624 3638 }
3625 3639
3626 3640 #login div.form div.fields div.field div.checkbox,#register div.form div.fields div.field div.checkbox
3627 3641 {
3628 3642 margin: 0 0 0 184px;
3629 3643 padding: 0;
3630 3644 }
3631 3645
3632 3646 #login div.form div.fields div.field div.checkbox label,#register div.form div.fields div.field div.checkbox label
3633 3647 {
3634 3648 color: #565656;
3635 3649 font-weight: 700;
3636 3650 }
3637 3651
3638 3652 #login div.form div.fields div.buttons input,#register div.form div.fields div.buttons input
3639 3653 {
3640 3654 color: #000;
3641 3655 font-size: 1em;
3642 3656 font-weight: 700;
3643 3657 margin: 0;
3644 3658 }
3645 3659
3646 3660 #changeset_content .container .wrapper,#graph_content .container .wrapper
3647 3661 {
3648 3662 width: 600px;
3649 3663 }
3650 3664
3651 3665 #changeset_content .container .left {
3652 3666 float: left;
3653 3667 width: 75%;
3654 3668 padding-left: 5px;
3655 3669 }
3656 3670
3657 3671 #changeset_content .container .left .date,.ac .match {
3658 3672 font-weight: 700;
3659 3673 padding-top: 5px;
3660 3674 padding-bottom: 5px;
3661 3675 }
3662 3676
3663 3677 div#legend_container table td,div#legend_choices table td {
3664 3678 border: none !important;
3665 3679 height: 20px !important;
3666 3680 padding: 0 !important;
3667 3681 }
3668 3682
3669 3683 .q_filter_box {
3670 3684 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
3671 3685 -webkit-border-radius: 4px;
3672 3686 -moz-border-radius: 4px;
3673 3687 border-radius: 4px;
3674 3688 border: 0 none;
3675 3689 color: #AAAAAA;
3676 3690 margin-bottom: -4px;
3677 3691 margin-top: -4px;
3678 3692 padding-left: 3px;
3679 3693 }
3680 3694
3681 3695 #node_filter {
3682 3696 border: 0px solid #545454;
3683 3697 color: #AAAAAA;
3684 3698 padding-left: 3px;
3685 3699 }
3686 3700
3687 3701
3688 3702 .group_members_wrap{
3689 3703
3690 3704 }
3691 3705
3692 3706 .group_members .group_member{
3693 3707 height: 30px;
3694 3708 padding:0px 0px 0px 10px;
3695 3709 }
3696 3710
3697 3711 /*README STYLE*/
3698 3712
3699 3713 div.readme {
3700 3714 padding:0px;
3701 3715 }
3702 3716
3703 3717 div.readme h2 {
3704 3718 font-weight: normal;
3705 3719 }
3706 3720
3707 3721 div.readme .readme_box {
3708 3722 background-color: #fafafa;
3709 3723 }
3710 3724
3711 3725 div.readme .readme_box {
3712 3726 clear:both;
3713 3727 overflow:hidden;
3714 3728 margin:0;
3715 3729 padding:0 20px 10px;
3716 3730 }
3717 3731
3718 3732 div.readme .readme_box h1, div.readme .readme_box h2, div.readme .readme_box h3, div.readme .readme_box h4, div.readme .readme_box h5, div.readme .readme_box h6 {
3719 3733 border-bottom: 0 !important;
3720 3734 margin: 0 !important;
3721 3735 padding: 0 !important;
3722 3736 line-height: 1.5em !important;
3723 3737 }
3724 3738
3725 3739
3726 3740 div.readme .readme_box h1:first-child {
3727 3741 padding-top: .25em !important;
3728 3742 }
3729 3743
3730 3744 div.readme .readme_box h2, div.readme .readme_box h3 {
3731 3745 margin: 1em 0 !important;
3732 3746 }
3733 3747
3734 3748 div.readme .readme_box h2 {
3735 3749 margin-top: 1.5em !important;
3736 3750 border-top: 4px solid #e0e0e0 !important;
3737 3751 padding-top: .5em !important;
3738 3752 }
3739 3753
3740 3754 div.readme .readme_box p {
3741 3755 color: black !important;
3742 3756 margin: 1em 0 !important;
3743 3757 line-height: 1.5em !important;
3744 3758 }
3745 3759
3746 3760 div.readme .readme_box ul {
3747 3761 list-style: disc !important;
3748 3762 margin: 1em 0 1em 2em !important;
3749 3763 }
3750 3764
3751 3765 div.readme .readme_box ol {
3752 3766 list-style: decimal;
3753 3767 margin: 1em 0 1em 2em !important;
3754 3768 }
3755 3769
3756 3770 div.readme .readme_box pre, code {
3757 3771 font: 12px "Bitstream Vera Sans Mono","Courier",monospace;
3758 3772 }
3759 3773
3760 3774 div.readme .readme_box code {
3761 3775 font-size: 12px !important;
3762 3776 background-color: ghostWhite !important;
3763 3777 color: #444 !important;
3764 3778 padding: 0 .2em !important;
3765 3779 border: 1px solid #dedede !important;
3766 3780 }
3767 3781
3768 3782 div.readme .readme_box pre code {
3769 3783 padding: 0 !important;
3770 3784 font-size: 12px !important;
3771 3785 background-color: #eee !important;
3772 3786 border: none !important;
3773 3787 }
3774 3788
3775 3789 div.readme .readme_box pre {
3776 3790 margin: 1em 0;
3777 3791 font-size: 12px;
3778 3792 background-color: #eee;
3779 3793 border: 1px solid #ddd;
3780 3794 padding: 5px;
3781 3795 color: #444;
3782 3796 overflow: auto;
3783 3797 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
3784 3798 -webkit-border-radius: 3px;
3785 3799 -moz-border-radius: 3px;
3786 3800 border-radius: 3px;
3787 3801 }
3788 3802
3789 3803
3790 3804 /** RST STYLE **/
3791 3805
3792 3806
3793 3807 div.rst-block {
3794 3808 padding:0px;
3795 3809 }
3796 3810
3797 3811 div.rst-block h2 {
3798 3812 font-weight: normal;
3799 3813 }
3800 3814
3801 3815 div.rst-block {
3802 3816 background-color: #fafafa;
3803 3817 }
3804 3818
3805 3819 div.rst-block {
3806 3820 clear:both;
3807 3821 overflow:hidden;
3808 3822 margin:0;
3809 3823 padding:0 20px 10px;
3810 3824 }
3811 3825
3812 3826 div.rst-block h1, div.rst-block h2, div.rst-block h3, div.rst-block h4, div.rst-block h5, div.rst-block h6 {
3813 3827 border-bottom: 0 !important;
3814 3828 margin: 0 !important;
3815 3829 padding: 0 !important;
3816 3830 line-height: 1.5em !important;
3817 3831 }
3818 3832
3819 3833
3820 3834 div.rst-block h1:first-child {
3821 3835 padding-top: .25em !important;
3822 3836 }
3823 3837
3824 3838 div.rst-block h2, div.rst-block h3 {
3825 3839 margin: 1em 0 !important;
3826 3840 }
3827 3841
3828 3842 div.rst-block h2 {
3829 3843 margin-top: 1.5em !important;
3830 3844 border-top: 4px solid #e0e0e0 !important;
3831 3845 padding-top: .5em !important;
3832 3846 }
3833 3847
3834 3848 div.rst-block p {
3835 3849 color: black !important;
3836 3850 margin: 1em 0 !important;
3837 3851 line-height: 1.5em !important;
3838 3852 }
3839 3853
3840 3854 div.rst-block ul {
3841 3855 list-style: disc !important;
3842 3856 margin: 1em 0 1em 2em !important;
3843 3857 }
3844 3858
3845 3859 div.rst-block ol {
3846 3860 list-style: decimal;
3847 3861 margin: 1em 0 1em 2em !important;
3848 3862 }
3849 3863
3850 3864 div.rst-block pre, code {
3851 3865 font: 12px "Bitstream Vera Sans Mono","Courier",monospace;
3852 3866 }
3853 3867
3854 3868 div.rst-block code {
3855 3869 font-size: 12px !important;
3856 3870 background-color: ghostWhite !important;
3857 3871 color: #444 !important;
3858 3872 padding: 0 .2em !important;
3859 3873 border: 1px solid #dedede !important;
3860 3874 }
3861 3875
3862 3876 div.rst-block pre code {
3863 3877 padding: 0 !important;
3864 3878 font-size: 12px !important;
3865 3879 background-color: #eee !important;
3866 3880 border: none !important;
3867 3881 }
3868 3882
3869 3883 div.rst-block pre {
3870 3884 margin: 1em 0;
3871 3885 font-size: 12px;
3872 3886 background-color: #eee;
3873 3887 border: 1px solid #ddd;
3874 3888 padding: 5px;
3875 3889 color: #444;
3876 3890 overflow: auto;
3877 3891 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
3878 3892 -webkit-border-radius: 3px;
3879 3893 -moz-border-radius: 3px;
3880 3894 border-radius: 3px;
3881 3895 }
3882 3896
3883 3897
3884 3898 /** comment main **/
3885 3899 .comments {
3886 3900 padding:10px 20px;
3887 3901 }
3888 3902
3889 3903 .comments .comment {
3890 3904 border: 1px solid #ddd;
3891 3905 margin-top: 10px;
3892 3906 -webkit-border-radius: 4px;
3893 3907 -moz-border-radius: 4px;
3894 3908 border-radius: 4px;
3895 3909 }
3896 3910
3897 3911 .comments .comment .meta {
3898 3912 background: #f8f8f8;
3899 3913 padding: 4px;
3900 3914 border-bottom: 1px solid #ddd;
3901 3915 }
3902 3916
3903 3917 .comments .comment .meta img {
3904 3918 vertical-align: middle;
3905 3919 }
3906 3920
3907 3921 .comments .comment .meta .user {
3908 3922 font-weight: bold;
3909 3923 }
3910 3924
3911 3925 .comments .comment .meta .date {
3912 3926 }
3913 3927
3914 3928 .comments .comment .text {
3915 3929 background-color: #FAFAFA;
3916 3930 }
3917 3931 .comment .text div.rst-block p {
3918 3932 margin: 0.5em 0px !important;
3919 3933 }
3920 3934
3921 3935 .comments .comments-number{
3922 3936 padding:0px 0px 10px 0px;
3923 3937 font-weight: bold;
3924 3938 color: #666;
3925 3939 font-size: 16px;
3926 3940 }
3927 3941
3928 3942 /** comment form **/
3929 3943
3930 3944 .status-block{
3931 3945 height:80px;
3932 3946 clear:both
3933 3947 }
3934 3948
3935 3949 .comment-form .clearfix{
3936 3950 background: #EEE;
3937 3951 -webkit-border-radius: 4px;
3938 3952 -moz-border-radius: 4px;
3939 3953 border-radius: 4px;
3940 3954 padding: 10px;
3941 3955 }
3942 3956
3943 3957 div.comment-form {
3944 3958 margin-top: 20px;
3945 3959 }
3946 3960
3947 3961 .comment-form strong {
3948 3962 display: block;
3949 3963 margin-bottom: 15px;
3950 3964 }
3951 3965
3952 3966 .comment-form textarea {
3953 3967 width: 100%;
3954 3968 height: 100px;
3955 3969 font-family: 'Monaco', 'Courier', 'Courier New', monospace;
3956 3970 }
3957 3971
3958 3972 form.comment-form {
3959 3973 margin-top: 10px;
3960 3974 margin-left: 10px;
3961 3975 }
3962 3976
3963 3977 .comment-form-submit {
3964 3978 margin-top: 5px;
3965 3979 margin-left: 525px;
3966 3980 }
3967 3981
3968 3982 .file-comments {
3969 3983 display: none;
3970 3984 }
3971 3985
3972 3986 .comment-form .comment {
3973 3987 margin-left: 10px;
3974 3988 }
3975 3989
3976 3990 .comment-form .comment-help{
3977 3991 padding: 0px 0px 5px 0px;
3978 3992 color: #666;
3979 3993 }
3980 3994
3981 3995 .comment-form .comment-button{
3982 3996 padding-top:5px;
3983 3997 }
3984 3998
3985 3999 .add-another-button {
3986 4000 margin-left: 10px;
3987 4001 margin-top: 10px;
3988 4002 margin-bottom: 10px;
3989 4003 }
3990 4004
3991 4005 .comment .buttons {
3992 4006 float: right;
3993 4007 padding:2px 2px 0px 0px;
3994 4008 }
3995 4009
3996 4010
3997 4011 .show-inline-comments{
3998 4012 position: relative;
3999 4013 top:1px
4000 4014 }
4001 4015
4002 4016 /** comment inline form **/
4003 4017 .comment-inline-form .overlay{
4004 4018 display: none;
4005 4019 }
4006 4020 .comment-inline-form .overlay.submitting{
4007 4021 display:block;
4008 4022 background: none repeat scroll 0 0 white;
4009 4023 font-size: 16px;
4010 4024 opacity: 0.5;
4011 4025 position: absolute;
4012 4026 text-align: center;
4013 4027 vertical-align: top;
4014 4028
4015 4029 }
4016 4030 .comment-inline-form .overlay.submitting .overlay-text{
4017 4031 width:100%;
4018 4032 margin-top:5%;
4019 4033 }
4020 4034
4021 4035 .comment-inline-form .clearfix{
4022 4036 background: #EEE;
4023 4037 -webkit-border-radius: 4px;
4024 4038 -moz-border-radius: 4px;
4025 4039 border-radius: 4px;
4026 4040 padding: 5px;
4027 4041 }
4028 4042
4029 4043 div.comment-inline-form {
4030 4044 margin-top: 5px;
4031 4045 padding:2px 6px 8px 6px;
4032 4046
4033 4047 }
4034 4048
4035 4049 .comment-inline-form strong {
4036 4050 display: block;
4037 4051 margin-bottom: 15px;
4038 4052 }
4039 4053
4040 4054 .comment-inline-form textarea {
4041 4055 width: 100%;
4042 4056 height: 100px;
4043 4057 font-family: 'Monaco', 'Courier', 'Courier New', monospace;
4044 4058 }
4045 4059
4046 4060 form.comment-inline-form {
4047 4061 margin-top: 10px;
4048 4062 margin-left: 10px;
4049 4063 }
4050 4064
4051 4065 .comment-inline-form-submit {
4052 4066 margin-top: 5px;
4053 4067 margin-left: 525px;
4054 4068 }
4055 4069
4056 4070 .file-comments {
4057 4071 display: none;
4058 4072 }
4059 4073
4060 4074 .comment-inline-form .comment {
4061 4075 margin-left: 10px;
4062 4076 }
4063 4077
4064 4078 .comment-inline-form .comment-help{
4065 4079 padding: 0px 0px 2px 0px;
4066 4080 color: #666666;
4067 4081 font-size: 10px;
4068 4082 }
4069 4083
4070 4084 .comment-inline-form .comment-button{
4071 4085 padding-top:5px;
4072 4086 }
4073 4087
4074 4088 /** comment inline **/
4075 4089 .inline-comments {
4076 4090 padding:10px 20px;
4077 4091 }
4078 4092
4079 4093 .inline-comments div.rst-block {
4080 4094 clear:both;
4081 4095 overflow:hidden;
4082 4096 margin:0;
4083 4097 padding:0 20px 0px;
4084 4098 }
4085 4099 .inline-comments .comment {
4086 4100 border: 1px solid #ddd;
4087 4101 -webkit-border-radius: 4px;
4088 4102 -moz-border-radius: 4px;
4089 4103 border-radius: 4px;
4090 4104 margin: 3px 3px 5px 5px;
4091 4105 background-color: #FAFAFA;
4092 4106 }
4093 4107 .inline-comments .add-comment {
4094 4108 padding: 2px 4px 8px 5px;
4095 4109 }
4096 4110
4097 4111 .inline-comments .comment-wrapp{
4098 4112 padding:1px;
4099 4113 }
4100 4114 .inline-comments .comment .meta {
4101 4115 background: #f8f8f8;
4102 4116 padding: 4px;
4103 4117 border-bottom: 1px solid #ddd;
4104 4118 }
4105 4119
4106 4120 .inline-comments .comment .meta img {
4107 4121 vertical-align: middle;
4108 4122 }
4109 4123
4110 4124 .inline-comments .comment .meta .user {
4111 4125 font-weight: bold;
4112 4126 }
4113 4127
4114 4128 .inline-comments .comment .meta .date {
4115 4129 }
4116 4130
4117 4131 .inline-comments .comment .text {
4118 4132 background-color: #FAFAFA;
4119 4133 }
4120 4134
4121 4135 .inline-comments .comments-number{
4122 4136 padding:0px 0px 10px 0px;
4123 4137 font-weight: bold;
4124 4138 color: #666;
4125 4139 font-size: 16px;
4126 4140 }
4127 4141 .inline-comments-button .add-comment{
4128 4142 margin:2px 0px 8px 5px !important
4129 4143 }
4130 4144
4131 4145
4132 4146 .notification-paginator{
4133 4147 padding: 0px 0px 4px 16px;
4134 4148 float: left;
4135 4149 }
4136 4150
4137 4151 .notifications{
4138 4152 border-radius: 4px 4px 4px 4px;
4139 4153 -webkit-border-radius: 4px;
4140 4154 -moz-border-radius: 4px;
4141 4155 float: right;
4142 4156 margin: 20px 0px 0px 0px;
4143 4157 position: absolute;
4144 4158 text-align: center;
4145 4159 width: 26px;
4146 4160 z-index: 1000;
4147 4161 }
4148 4162 .notifications a{
4149 4163 color:#888 !important;
4150 4164 display: block;
4151 4165 font-size: 10px;
4152 4166 background-color: #DEDEDE !important;
4153 4167 border-radius: 2px !important;
4154 4168 -webkit-border-radius: 2px !important;
4155 4169 -moz-border-radius: 2px !important;
4156 4170 }
4157 4171 .notifications a:hover{
4158 4172 text-decoration: none !important;
4159 4173 background-color: #EEEFFF !important;
4160 4174 }
4161 4175 .notification-header{
4162 4176 padding-top:6px;
4163 4177 }
4164 4178 .notification-header .desc{
4165 4179 font-size: 16px;
4166 4180 height: 24px;
4167 4181 float: left
4168 4182 }
4169 4183 .notification-list .container.unread{
4170 4184 background: none repeat scroll 0 0 rgba(255, 255, 180, 0.6);
4171 4185 }
4172 4186 .notification-header .gravatar{
4173 4187 background: none repeat scroll 0 0 transparent;
4174 4188 padding: 0px 0px 0px 8px;
4175 4189 }
4176 4190 .notification-header .desc.unread{
4177 4191 font-weight: bold;
4178 4192 font-size: 17px;
4179 4193 }
4180 4194 .notification-table{
4181 4195 border: 1px solid #ccc;
4182 4196 -webkit-border-radius: 6px 6px 6px 6px;
4183 4197 -moz-border-radius: 6px 6px 6px 6px;
4184 4198 border-radius: 6px 6px 6px 6px;
4185 4199 clear: both;
4186 4200 margin: 0px 20px 0px 20px;
4187 4201 }
4188 4202 .notification-header .delete-notifications{
4189 4203 float: right;
4190 4204 padding-top: 8px;
4191 4205 cursor: pointer;
4192 4206 }
4193 4207 .notification-subject{
4194 4208 clear:both;
4195 4209 border-bottom: 1px solid #eee;
4196 4210 padding:5px 0px 5px 38px;
4197 4211 }
4198 4212
4199 4213 .notification-body{
4200 4214 clear:both;
4201 4215 margin: 34px 2px 2px 8px
4202 4216 }
4203 4217
4204 4218 /****
4205 4219 PERMS
4206 4220 *****/
4207 4221 #perms .perms_section_head {
4208 4222 padding:10px 10px 10px 0px;
4209 4223 font-size:16px;
4210 4224 font-weight: bold;
4211 4225 }
4212 4226
4213 4227 #perms .perm_tag{
4214 4228 padding: 1px 3px 1px 3px;
4215 4229 font-size: 10px;
4216 4230 font-weight: bold;
4217 4231 text-transform: uppercase;
4218 4232 white-space: nowrap;
4219 4233 -webkit-border-radius: 3px;
4220 4234 -moz-border-radius: 3px;
4221 4235 border-radius: 3px;
4222 4236 }
4223 4237
4224 4238 #perms .perm_tag.admin{
4225 4239 background-color: #B94A48;
4226 4240 color: #ffffff;
4227 4241 }
4228 4242
4229 4243 #perms .perm_tag.write{
4230 4244 background-color: #B94A48;
4231 4245 color: #ffffff;
4232 4246 }
4233 4247
4234 4248 #perms .perm_tag.read{
4235 4249 background-color: #468847;
4236 4250 color: #ffffff;
4237 4251 }
4238 4252
4239 4253 #perms .perm_tag.none{
4240 4254 background-color: #bfbfbf;
4241 4255 color: #ffffff;
4242 4256 }
4243 4257
4244 4258 .perm-gravatar{
4245 4259 vertical-align:middle;
4246 4260 padding:2px;
4247 4261 }
4248 4262 .perm-gravatar-ac{
4249 4263 vertical-align:middle;
4250 4264 padding:2px;
4251 4265 width: 14px;
4252 4266 height: 14px;
4253 4267 }
4254 4268
4255 4269 /*****************************************************************************
4256 4270 DIFFS CSS
4257 4271 ******************************************************************************/
4258 4272
4259 4273 div.diffblock {
4260 4274 overflow: auto;
4261 4275 padding: 0px;
4262 4276 border: 1px solid #ccc;
4263 4277 background: #f8f8f8;
4264 4278 font-size: 100%;
4265 4279 line-height: 100%;
4266 4280 /* new */
4267 4281 line-height: 125%;
4268 4282 -webkit-border-radius: 6px 6px 0px 0px;
4269 4283 -moz-border-radius: 6px 6px 0px 0px;
4270 4284 border-radius: 6px 6px 0px 0px;
4271 4285 }
4272 4286 div.diffblock.margined{
4273 4287 margin: 0px 20px 0px 20px;
4274 4288 }
4275 4289 div.diffblock .code-header{
4276 4290 border-bottom: 1px solid #CCCCCC;
4277 4291 background: #EEEEEE;
4278 4292 padding:10px 0 10px 0;
4279 4293 height: 14px;
4280 4294 }
4281 4295 div.diffblock .code-header.cv{
4282 4296 height: 34px;
4283 4297 }
4284 4298 div.diffblock .code-header-title{
4285 4299 padding: 0px 0px 10px 5px !important;
4286 4300 margin: 0 !important;
4287 4301 }
4288 4302 div.diffblock .code-header .hash{
4289 4303 float: left;
4290 4304 padding: 2px 0 0 2px;
4291 4305 }
4292 4306 div.diffblock .code-header .date{
4293 4307 float:left;
4294 4308 text-transform: uppercase;
4295 4309 padding: 2px 0px 0px 2px;
4296 4310 }
4297 4311 div.diffblock .code-header div{
4298 4312 margin-left:4px;
4299 4313 font-weight: bold;
4300 4314 font-size: 14px;
4301 4315 }
4302 4316 div.diffblock .code-body{
4303 4317 background: #FFFFFF;
4304 4318 }
4305 4319 div.diffblock pre.raw{
4306 4320 background: #FFFFFF;
4307 4321 color:#000000;
4308 4322 }
4309 4323 table.code-difftable{
4310 4324 border-collapse: collapse;
4311 4325 width: 99%;
4312 4326 }
4313 4327 table.code-difftable td {
4314 4328 padding: 0 !important;
4315 4329 background: none !important;
4316 4330 border:0 !important;
4317 4331 vertical-align: none !important;
4318 4332 }
4319 4333 table.code-difftable .context{
4320 4334 background:none repeat scroll 0 0 #DDE7EF;
4321 4335 }
4322 4336 table.code-difftable .add{
4323 4337 background:none repeat scroll 0 0 #DDFFDD;
4324 4338 }
4325 4339 table.code-difftable .add ins{
4326 4340 background:none repeat scroll 0 0 #AAFFAA;
4327 4341 text-decoration:none;
4328 4342 }
4329 4343 table.code-difftable .del{
4330 4344 background:none repeat scroll 0 0 #FFDDDD;
4331 4345 }
4332 4346 table.code-difftable .del del{
4333 4347 background:none repeat scroll 0 0 #FFAAAA;
4334 4348 text-decoration:none;
4335 4349 }
4336 4350
4337 4351 /** LINE NUMBERS **/
4338 4352 table.code-difftable .lineno{
4339 4353
4340 4354 padding-left:2px;
4341 4355 padding-right:2px;
4342 4356 text-align:right;
4343 4357 width:32px;
4344 4358 -moz-user-select:none;
4345 4359 -webkit-user-select: none;
4346 4360 border-right: 1px solid #CCC !important;
4347 4361 border-left: 0px solid #CCC !important;
4348 4362 border-top: 0px solid #CCC !important;
4349 4363 border-bottom: none !important;
4350 4364 vertical-align: middle !important;
4351 4365
4352 4366 }
4353 4367 table.code-difftable .lineno.new {
4354 4368 }
4355 4369 table.code-difftable .lineno.old {
4356 4370 }
4357 4371 table.code-difftable .lineno a{
4358 4372 color:#747474 !important;
4359 4373 font:11px "Bitstream Vera Sans Mono",Monaco,"Courier New",Courier,monospace !important;
4360 4374 letter-spacing:-1px;
4361 4375 text-align:right;
4362 4376 padding-right: 2px;
4363 4377 cursor: pointer;
4364 4378 display: block;
4365 4379 width: 32px;
4366 4380 }
4367 4381
4368 4382 table.code-difftable .lineno-inline{
4369 4383 background:none repeat scroll 0 0 #FFF !important;
4370 4384 padding-left:2px;
4371 4385 padding-right:2px;
4372 4386 text-align:right;
4373 4387 width:30px;
4374 4388 -moz-user-select:none;
4375 4389 -webkit-user-select: none;
4376 4390 }
4377 4391
4378 4392 /** CODE **/
4379 4393 table.code-difftable .code {
4380 4394 display: block;
4381 4395 width: 100%;
4382 4396 }
4383 4397 table.code-difftable .code td{
4384 4398 margin:0;
4385 4399 padding:0;
4386 4400 }
4387 4401 table.code-difftable .code pre{
4388 4402 margin:0;
4389 4403 padding:0;
4390 4404 height: 17px;
4391 4405 line-height: 17px;
4392 4406 }
4393 4407
4394 4408
4395 4409 .diffblock.margined.comm .line .code:hover{
4396 4410 background-color:#FFFFCC !important;
4397 4411 cursor: pointer !important;
4398 4412 background-image:url("../images/icons/comment_add.png") !important;
4399 4413 background-repeat:no-repeat !important;
4400 4414 background-position: right !important;
4401 4415 background-position: 0% 50% !important;
4402 4416 }
4403 4417 .diffblock.margined.comm .line .code.no-comment:hover{
4404 4418 background-image: none !important;
4405 4419 cursor: auto !important;
4406 4420 background-color: inherit !important;
4407 4421
4408 4422 }
@@ -1,236 +1,236 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" style="float:left">
37 37 ${h.submit('set',_('Show'),class_="ui-btn")}
38 38 ${h.text('size',size=1,value=c.size)}
39 39 ${_('revisions')}
40 40 </div>
41 41 ${h.end_form()}
42 42 <div id="rev_range_container" style="display:none"></div>
43 43 <div style="float:right">${h.select('branch_filter',c.branch_name,c.branch_filters)}</div>
44 44 </div>
45 45
46 46 %for cnt,cs in enumerate(c.pagination):
47 47 <div id="chg_${cnt+1}" class="container ${'tablerow%s' % (cnt%2)}">
48 48 <div class="left">
49 49 <div>
50 50 ${h.checkbox(cs.short_id,class_="changeset_range")}
51 51 <span class="tooltip" title="${h.age(cs.date)}"><a href="${h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id)}"><span class="changeset_id">${cs.revision}:<span class="changeset_hash">${h.short_id(cs.raw_id)}</span></span></a></span>
52 52 </div>
53 53 <div class="author">
54 54 <div class="gravatar">
55 55 <img alt="gravatar" src="${h.gravatar_url(h.email(cs.author),16)}"/>
56 56 </div>
57 57 <div title="${cs.author}" class="user">${h.person(cs.author)}</div>
58 58 </div>
59 59 <div class="date">${cs.date}</div>
60 60 </div>
61 61 <div class="mid">
62 62 <div class="message">${h.urlify_commit(h.wrap_paragraphs(cs.message),c.repo_name,h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</div>
63 63 <div class="expand"><span class="expandtext">&darr; ${_('show more')} &darr;</span></div>
64 64 </div>
65 65 <div class="right">
66 66 <div class="changes">
67 67 <div id="${cs.raw_id}" style="float:right;" class="changed_total tooltip" title="${_('Affected number of files, click to show more details')}">${len(cs.affected_files)}</div>
68 68 <div class="comments-container">
69 69 %if len(c.comments.get(cs.raw_id,[])) > 0:
70 70 <div class="comments-cnt" title="${('comments')}">
71 71 <a href="${h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id,anchor='comment-%s' % c.comments[cs.raw_id][0].comment_id)}">
72 72 <div class="comments-cnt">${len(c.comments[cs.raw_id])}</div>
73 73 <img src="${h.url('/images/icons/comments.png')}">
74 74 </a>
75 75 </div>
76 76 %endif
77 77 </div>
78 78 <div class="changeset-status-container">
79 79 %if c.statuses.get(cs.raw_id):
80 <img src="${h.url('/images/icons/flag_status_%s.png' % c.statuses.get(cs.raw_id)[0])}" />
81 <div class="changeset-status-lbl">${c.statuses.get(cs.raw_id)[1]}</div>
80 <div title="${_('Changeset status')}" class="changeset-status-lbl">${c.statuses.get(cs.raw_id)[1]}</div>
81 <div class="changeset-status-ico"><img src="${h.url('/images/icons/flag_status_%s.png' % c.statuses.get(cs.raw_id)[0])}" /></div>
82 82 %endif
83 83 </div>
84 84 </div>
85 85 %if cs.parents:
86 86 %for p_cs in reversed(cs.parents):
87 87 <div class="parent">${_('Parent')}
88 88 <span class="changeset_id">${p_cs.revision}:<span class="changeset_hash">${h.link_to(h.short_id(p_cs.raw_id),
89 89 h.url('changeset_home',repo_name=c.repo_name,revision=p_cs.raw_id),title=p_cs.message)}</span></span>
90 90 </div>
91 91 %endfor
92 92 %else:
93 93 <div class="parent">${_('No parents')}</div>
94 94 %endif
95 95
96 96 <span class="logtags">
97 97 %if len(cs.parents)>1:
98 98 <span class="merge">${_('merge')}</span>
99 99 %endif
100 100 %if cs.branch:
101 101 <span class="branchtag" title="${'%s %s' % (_('branch'),cs.branch)}">
102 102 ${h.link_to(h.shorter(cs.branch),h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id))}</span>
103 103 %endif
104 104 %for tag in cs.tags:
105 105 <span class="tagtag" title="${'%s %s' % (_('tag'),tag)}">
106 106 ${h.link_to(h.shorter(tag),h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id))}</span>
107 107 %endfor
108 108 </span>
109 109 </div>
110 110 </div>
111 111
112 112 %endfor
113 113 <div class="pagination-wh pagination-left">
114 114 ${c.pagination.pager('$link_previous ~2~ $link_next')}
115 115 </div>
116 116 </div>
117 117 </div>
118 118
119 119 <script type="text/javascript" src="${h.url('/js/graph.js')}"></script>
120 120 <script type="text/javascript">
121 121 YAHOO.util.Event.onDOMReady(function(){
122 122
123 123 //Monitor range checkboxes and build a link to changesets
124 124 //ranges
125 125 var checkboxes = YUD.getElementsByClassName('changeset_range');
126 126 var url_tmpl = "${h.url('changeset_home',repo_name=c.repo_name,revision='__REVRANGE__')}";
127 127 YUE.on(checkboxes,'click',function(e){
128 128 var checked_checkboxes = [];
129 129 for (pos in checkboxes){
130 130 if(checkboxes[pos].checked){
131 131 checked_checkboxes.push(checkboxes[pos]);
132 132 }
133 133 }
134 134 if(checked_checkboxes.length>1){
135 135 var rev_end = checked_checkboxes[0].name;
136 136 var rev_start = checked_checkboxes[checked_checkboxes.length-1].name;
137 137
138 138 var url = url_tmpl.replace('__REVRANGE__',
139 139 rev_start+'...'+rev_end);
140 140
141 141 var link = "<a href="+url+">${_('Show selected changes __S -> __E')}</a>"
142 142 link = link.replace('__S',rev_start);
143 143 link = link.replace('__E',rev_end);
144 144 YUD.get('rev_range_container').innerHTML = link;
145 145 YUD.setStyle('rev_range_container','display','');
146 146 }
147 147 else{
148 148 YUD.setStyle('rev_range_container','display','none');
149 149
150 150 }
151 151 });
152 152
153 153 var msgs = YUQ('.message');
154 154 // get first element height
155 155 var el = YUQ('#graph_content .container')[0];
156 156 var row_h = el.clientHeight;
157 157 for(var i=0;i<msgs.length;i++){
158 158 var m = msgs[i];
159 159
160 160 var h = m.clientHeight;
161 161 var pad = YUD.getStyle(m,'padding');
162 162 if(h > row_h){
163 163 var offset = row_h - (h+12);
164 164 YUD.setStyle(m.nextElementSibling,'display','block');
165 165 YUD.setStyle(m.nextElementSibling,'margin-top',offset+'px');
166 166 };
167 167 }
168 168 YUE.on(YUQ('.expand'),'click',function(e){
169 169 var elem = e.currentTarget.parentNode.parentNode;
170 170 YUD.setStyle(e.currentTarget,'display','none');
171 171 YUD.setStyle(elem,'height','auto');
172 172
173 173 //redraw the graph, max_w and jsdata are global vars
174 174 set_canvas(max_w);
175 175
176 176 var r = new BranchRenderer();
177 177 r.render(jsdata,max_w);
178 178
179 179 })
180 180
181 181 // Fetch changeset details
182 182 YUE.on(YUD.getElementsByClassName('changed_total'),'click',function(e){
183 183 var id = e.currentTarget.id
184 184 var url = "${h.url('changelog_details',repo_name=c.repo_name,cs='__CS__')}"
185 185 var url = url.replace('__CS__',id);
186 186 ypjax(url,id,function(){tooltip_activate()});
187 187 });
188 188
189 189 // change branch filter
190 190 YUE.on(YUD.get('branch_filter'),'change',function(e){
191 191 var selected_branch = e.currentTarget.options[e.currentTarget.selectedIndex].value;
192 192 var url_main = "${h.url('changelog_home',repo_name=c.repo_name)}";
193 193 var url = "${h.url('changelog_home',repo_name=c.repo_name,branch='__BRANCH__')}";
194 194 var url = url.replace('__BRANCH__',selected_branch);
195 195 if(selected_branch != ''){
196 196 window.location = url;
197 197 }else{
198 198 window.location = url_main;
199 199 }
200 200
201 201 });
202 202
203 203 function set_canvas(heads) {
204 204 var c = document.getElementById('graph_nodes');
205 205 var t = document.getElementById('graph_content');
206 206 canvas = document.getElementById('graph_canvas');
207 207 var div_h = t.clientHeight;
208 208 c.style.height=div_h+'px';
209 209 canvas.setAttribute('height',div_h);
210 210 c.style.height=max_w+'px';
211 211 canvas.setAttribute('width',max_w);
212 212 };
213 213 var heads = 1;
214 214 var max_heads = 0;
215 215 var jsdata = ${c.jsdata|n};
216 216
217 217 for( var i=0;i<jsdata.length;i++){
218 218 var m = Math.max.apply(Math, jsdata[i][1]);
219 219 if (m>max_heads){
220 220 max_heads = m;
221 221 }
222 222 }
223 223 var max_w = Math.max(100,max_heads*25);
224 224 set_canvas(max_w);
225 225
226 226 var r = new BranchRenderer();
227 227 r.render(jsdata,max_w);
228 228
229 229 });
230 230 </script>
231 231 %else:
232 232 ${_('There are no changes yet')}
233 233 %endif
234 234 </div>
235 235 </div>
236 236 </%def>
@@ -1,173 +1,179 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} ${_('Changeset')} - r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)} - ${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 ${_('Changeset')} - <span class='hash'>r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)}</span>
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 <div class="diffblock">
29 29 <div class="code-header">
30 30 <div class="hash">
31 31 r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)}
32 32 </div>
33 33 <div class="date">
34 34 ${c.changeset.date}
35 35 </div>
36 <div class="changeset-status-container">
37 %if c.statuses:
38 <div title="${_('Changeset status')}" class="changeset-status-lbl">[${h.changeset_status_lbl(c.statuses[0])}]</div>
39 <div class="changeset-status-ico"><img src="${h.url('/images/icons/flag_status_%s.png' % c.statuses[0])}" /></div>
40 %endif
41 </div>
36 42 <div class="diff-actions">
37 43 <a href="${h.url('raw_changeset_home',repo_name=c.repo_name,revision=c.changeset.raw_id,diff='show')}" title="${_('raw diff')}" class="tooltip"><img class="icon" src="${h.url('/images/icons/page_white.png')}"/></a>
38 44 <a href="${h.url('raw_changeset_home',repo_name=c.repo_name,revision=c.changeset.raw_id,diff='download')}" title="${_('download diff')}" class="tooltip"><img class="icon" src="${h.url('/images/icons/page_white_get.png')}"/></a>
39 45 ${c.ignorews_url(request.GET)}
40 46 ${c.context_url(request.GET)}
41 47 </div>
42 48 <div class="comments-number" style="float:right;padding-right:5px">${len(c.comments)} comment(s) (${c.inline_cnt} ${_('inline')})</div>
43 49 </div>
44 50 </div>
45 51 <div id="changeset_content">
46 52 <div class="container">
47 53 <div class="left">
48 54 <div class="author">
49 55 <div class="gravatar">
50 56 <img alt="gravatar" src="${h.gravatar_url(h.email(c.changeset.author),20)}"/>
51 57 </div>
52 58 <span>${h.person(c.changeset.author)}</span><br/>
53 59 <span><a href="mailto:${h.email_or_none(c.changeset.author)}">${h.email_or_none(c.changeset.author)}</a></span><br/>
54 60 </div>
55 61 <div class="message">${h.urlify_commit(h.wrap_paragraphs(c.changeset.message),c.repo_name)}</div>
56 62 </div>
57 63 <div class="right">
58 64 <div class="changes">
59 65 % if len(c.changeset.affected_files) <= c.affected_files_cut_off:
60 66 <span class="removed" title="${_('removed')}">${len(c.changeset.removed)}</span>
61 67 <span class="changed" title="${_('changed')}">${len(c.changeset.changed)}</span>
62 68 <span class="added" title="${_('added')}">${len(c.changeset.added)}</span>
63 69 % else:
64 70 <span class="removed" title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span>
65 71 <span class="changed" title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span>
66 72 <span class="added" title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span>
67 73 % endif
68 74 </div>
69 75
70 76 %if c.changeset.parents:
71 77 %for p_cs in reversed(c.changeset.parents):
72 78 <div class="parent">${_('Parent')}
73 79 <span class="changeset_id">${p_cs.revision}:<span class="changeset_hash">${h.link_to(h.short_id(p_cs.raw_id),
74 80 h.url('changeset_home',repo_name=c.repo_name,revision=p_cs.raw_id),title=p_cs.message)}</span></span>
75 81 </div>
76 82 %endfor
77 83 %else:
78 84 <div class="parent">${_('No parents')}</div>
79 85 %endif
80 86 <span class="logtags">
81 87 %if len(c.changeset.parents)>1:
82 88 <span class="merge">${_('merge')}</span>
83 89 %endif
84 90 %if c.changeset.branch:
85 91 <span class="branchtag" title="${'%s %s' % (_('branch'),c.changeset.branch)}">
86 92 ${h.link_to(c.changeset.branch,h.url('files_home',repo_name=c.repo_name,revision=c.changeset.raw_id))}
87 93 </span>
88 94 %endif
89 95 %for tag in c.changeset.tags:
90 96 <span class="tagtag" title="${'%s %s' % (_('tag'),tag)}">
91 97 ${h.link_to(tag,h.url('files_home',repo_name=c.repo_name,revision=c.changeset.raw_id))}</span>
92 98 %endfor
93 99 </span>
94 100 </div>
95 101 </div>
96 102 <span>
97 103 ${_('%s files affected with %s insertions and %s deletions:') % (len(c.changeset.affected_files),c.lines_added,c.lines_deleted)}
98 104 </span>
99 105 <div class="cs_files">
100 106 %for change,filenode,diff,cs1,cs2,stat in c.changes:
101 107 <div class="cs_${change}">
102 108 <div class="node">
103 109 %if change != 'removed':
104 110 ${h.link_to(h.safe_unicode(filenode.path),c.anchor_url(filenode.changeset.raw_id,filenode.path,request.GET)+"_target")}
105 111 %else:
106 112 ${h.link_to(h.safe_unicode(filenode.path),h.url.current(anchor=h.FID('',filenode.path)))}
107 113 %endif
108 114 </div>
109 115 <div class="changes">${h.fancy_file_stats(stat)}</div>
110 116 </div>
111 117 %endfor
112 118 % if c.cut_off:
113 119 ${_('Changeset was too big and was cut off...')}
114 120 % endif
115 121 </div>
116 122 </div>
117 123
118 124 </div>
119 125
120 126 ## diff block
121 127 <%namespace name="diff_block" file="/changeset/diff_block.html"/>
122 128 ${diff_block.diff_block(c.changes)}
123 129
124 130 ## template for inline comment form
125 131 <%namespace name="comment" file="/changeset/changeset_file_comment.html"/>
126 132 ${comment.comment_inline_form(c.changeset)}
127 133
128 134 ## render comments
129 135 ${comment.comments(c.changeset)}
130 136 <script type="text/javascript">
131 137 YUE.onDOMReady(function(){
132 138 AJAX_COMMENT_URL = "${url('changeset_comment',repo_name=c.repo_name,revision=c.changeset.raw_id)}";
133 139 AJAX_COMMENT_DELETE_URL = "${url('changeset_comment_delete',repo_name=c.repo_name,comment_id='__COMMENT_ID__')}"
134 140 YUE.on(YUQ('.show-inline-comments'),'change',function(e){
135 141 var show = 'none';
136 142 var target = e.currentTarget;
137 143 if(target.checked){
138 144 var show = ''
139 145 }
140 146 var boxid = YUD.getAttribute(target,'id_for');
141 147 var comments = YUQ('#{0} .inline-comments'.format(boxid));
142 148 for(c in comments){
143 149 YUD.setStyle(comments[c],'display',show);
144 150 }
145 151 var btns = YUQ('#{0} .inline-comments-button'.format(boxid));
146 152 for(c in btns){
147 153 YUD.setStyle(btns[c],'display',show);
148 154 }
149 155 })
150 156
151 157 YUE.on(YUQ('.line'),'click',function(e){
152 158 var tr = e.currentTarget;
153 159 injectInlineForm(tr);
154 160 });
155 161
156 162 // inject comments into they proper positions
157 163 var file_comments = YUQ('.inline-comment-placeholder');
158 164 renderInlineComments(file_comments);
159 165
160 166 YUE.on(YUD.get('show_changeset_status_box'),'change',function(e){
161 167 if(e.currentTarget.checked){
162 168 YUD.setStyle('status_block_container','display','');
163 169 }
164 170 else{
165 171 YUD.setStyle('status_block_container','display','none');
166 172 }
167 173 })
168 174 })
169 175
170 176 </script>
171 177
172 178 </div>
173 179 </%def>
General Comments 0
You need to be logged in to leave comments. Login now