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