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