##// END OF EJS Templates
Addding context bar to more repo related pages....
leonardo -
r3529:1c32b729 beta
parent child Browse files
Show More
@@ -1,261 +1,259 b''
1 1 # -*- coding: utf-8 -*-
2 2 """
3 3 rhodecode.controllers.summary
4 4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 5
6 6 Summary controller for Rhodecode
7 7
8 8 :created_on: Apr 18, 2010
9 9 :author: marcink
10 10 :copyright: (C) 2010-2012 Marcin Kuzminski <marcin@python-works.com>
11 11 :license: GPLv3, see COPYING for more details.
12 12 """
13 13 # This program is free software: you can redistribute it and/or modify
14 14 # it under the terms of the GNU General Public License as published by
15 15 # the Free Software Foundation, either version 3 of the License, or
16 16 # (at your option) any later version.
17 17 #
18 18 # This program is distributed in the hope that it will be useful,
19 19 # but WITHOUT ANY WARRANTY; without even the implied warranty of
20 20 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 21 # GNU General Public License for more details.
22 22 #
23 23 # You should have received a copy of the GNU General Public License
24 24 # along with this program. If not, see <http://www.gnu.org/licenses/>.
25 25
26 26 import traceback
27 27 import calendar
28 28 import logging
29 29 import urllib
30 30 from time import mktime
31 31 from datetime import timedelta, date
32 32 from urlparse import urlparse
33 33
34 34 from pylons import tmpl_context as c, request, url, config
35 35 from pylons.i18n.translation import _
36 36 from webob.exc import HTTPBadRequest
37 37
38 38 from beaker.cache import cache_region, region_invalidate
39 39
40 40 from rhodecode.lib.compat import product
41 41 from rhodecode.lib.vcs.exceptions import ChangesetError, EmptyRepositoryError, \
42 42 NodeDoesNotExistError
43 43 from rhodecode.config.conf import ALL_READMES, ALL_EXTS, LANGUAGES_EXTENSIONS_MAP
44 44 from rhodecode.model.db import Statistics, CacheInvalidation
45 45 from rhodecode.lib.utils import jsonify
46 46 from rhodecode.lib.utils2 import safe_unicode
47 47 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator,\
48 48 NotAnonymous
49 49 from rhodecode.lib.base import BaseRepoController, render
50 50 from rhodecode.lib.vcs.backends.base import EmptyChangeset
51 51 from rhodecode.lib.markup_renderer import MarkupRenderer
52 52 from rhodecode.lib.celerylib import run_task
53 53 from rhodecode.lib.celerylib.tasks import get_commits_stats
54 54 from rhodecode.lib.helpers import RepoPage
55 55 from rhodecode.lib.compat import json, OrderedDict
56 56 from rhodecode.lib.vcs.nodes import FileNode
57 57
58 58 log = logging.getLogger(__name__)
59 59
60 60 README_FILES = [''.join([x[0][0], x[1][0]]) for x in
61 61 sorted(list(product(ALL_READMES, ALL_EXTS)),
62 62 key=lambda y:y[0][1] + y[1][1])]
63 63
64 64
65 65 class SummaryController(BaseRepoController):
66 66
67 67 @LoginRequired()
68 68 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
69 69 'repository.admin')
70 70 def __before__(self):
71 71 super(SummaryController, self).__before__()
72 72
73 73 def index(self, repo_name):
74 74 c.dbrepo = dbrepo = c.rhodecode_db_repo
75 c.following = self.scm_model.is_following_repo(repo_name,
76 self.rhodecode_user.user_id)
77 75
78 76 def url_generator(**kw):
79 77 return url('shortlog_home', repo_name=repo_name, size=10, **kw)
80 78
81 79 c.repo_changesets = RepoPage(c.rhodecode_repo, page=1,
82 80 items_per_page=10, url=url_generator)
83 81 page_revisions = [x.raw_id for x in list(c.repo_changesets)]
84 82 c.statuses = c.rhodecode_db_repo.statuses(page_revisions)
85 83
86 84 if self.rhodecode_user.username == 'default':
87 85 # for default(anonymous) user we don't need to pass credentials
88 86 username = ''
89 87 password = ''
90 88 else:
91 89 username = str(self.rhodecode_user.username)
92 90 password = '@'
93 91
94 92 parsed_url = urlparse(url.current(qualified=True))
95 93
96 94 default_clone_uri = '{scheme}://{user}{pass}{netloc}{path}'
97 95
98 96 uri_tmpl = config.get('clone_uri', default_clone_uri)
99 97 uri_tmpl = uri_tmpl.replace('{', '%(').replace('}', ')s')
100 98 decoded_path = safe_unicode(urllib.unquote(parsed_url.path))
101 99 uri_dict = {
102 100 'user': urllib.quote(username),
103 101 'pass': password,
104 102 'scheme': parsed_url.scheme,
105 103 'netloc': parsed_url.netloc,
106 104 'path': decoded_path
107 105 }
108 106
109 107 uri = uri_tmpl % uri_dict
110 108 # generate another clone url by id
111 109 uri_dict.update(
112 110 {'path': decoded_path.replace(repo_name, '_%s' % c.dbrepo.repo_id)}
113 111 )
114 112 uri_id = uri_tmpl % uri_dict
115 113
116 114 c.clone_repo_url = uri
117 115 c.clone_repo_url_id = uri_id
118 116 c.repo_tags = OrderedDict()
119 117 for name, hash_ in c.rhodecode_repo.tags.items()[:10]:
120 118 try:
121 119 c.repo_tags[name] = c.rhodecode_repo.get_changeset(hash_)
122 120 except ChangesetError:
123 121 c.repo_tags[name] = EmptyChangeset(hash_)
124 122
125 123 c.repo_branches = OrderedDict()
126 124 for name, hash_ in c.rhodecode_repo.branches.items()[:10]:
127 125 try:
128 126 c.repo_branches[name] = c.rhodecode_repo.get_changeset(hash_)
129 127 except ChangesetError:
130 128 c.repo_branches[name] = EmptyChangeset(hash_)
131 129
132 130 td = date.today() + timedelta(days=1)
133 131 td_1m = td - timedelta(days=calendar.mdays[td.month])
134 132 td_1y = td - timedelta(days=365)
135 133
136 134 ts_min_m = mktime(td_1m.timetuple())
137 135 ts_min_y = mktime(td_1y.timetuple())
138 136 ts_max_y = mktime(td.timetuple())
139 137
140 138 if dbrepo.enable_statistics:
141 139 c.show_stats = True
142 140 c.no_data_msg = _('No data loaded yet')
143 141 recurse_limit = 500 # don't recurse more than 500 times when parsing
144 142 run_task(get_commits_stats, c.dbrepo.repo_name, ts_min_y,
145 143 ts_max_y, recurse_limit)
146 144 else:
147 145 c.show_stats = False
148 146 c.no_data_msg = _('Statistics are disabled for this repository')
149 147 c.ts_min = ts_min_m
150 148 c.ts_max = ts_max_y
151 149
152 150 stats = self.sa.query(Statistics)\
153 151 .filter(Statistics.repository == dbrepo)\
154 152 .scalar()
155 153
156 154 c.stats_percentage = 0
157 155
158 156 if stats and stats.languages:
159 157 c.no_data = False is dbrepo.enable_statistics
160 158 lang_stats_d = json.loads(stats.languages)
161 159 c.commit_data = stats.commit_activity
162 160 c.overview_data = stats.commit_activity_combined
163 161
164 162 lang_stats = ((x, {"count": y,
165 163 "desc": LANGUAGES_EXTENSIONS_MAP.get(x)})
166 164 for x, y in lang_stats_d.items())
167 165
168 166 c.trending_languages = json.dumps(
169 167 sorted(lang_stats, reverse=True, key=lambda k: k[1])[:10]
170 168 )
171 169 last_rev = stats.stat_on_revision + 1
172 170 c.repo_last_rev = c.rhodecode_repo.count()\
173 171 if c.rhodecode_repo.revisions else 0
174 172 if last_rev == 0 or c.repo_last_rev == 0:
175 173 pass
176 174 else:
177 175 c.stats_percentage = '%.2f' % ((float((last_rev)) /
178 176 c.repo_last_rev) * 100)
179 177 else:
180 178 c.commit_data = json.dumps({})
181 179 c.overview_data = json.dumps([[ts_min_y, 0], [ts_max_y, 10]])
182 180 c.trending_languages = json.dumps({})
183 181 c.no_data = True
184 182
185 183 c.enable_downloads = dbrepo.enable_downloads
186 184 if c.enable_downloads:
187 185 c.download_options = self._get_download_links(c.rhodecode_repo)
188 186
189 187 c.readme_data, c.readme_file = \
190 188 self.__get_readme_data(c.rhodecode_db_repo)
191 189 return render('summary/summary.html')
192 190
193 191 @NotAnonymous()
194 192 @jsonify
195 193 def repo_size(self, repo_name):
196 194 if request.is_xhr:
197 195 return _('repository size: %s') % c.rhodecode_db_repo._repo_size()
198 196 else:
199 197 raise HTTPBadRequest()
200 198
201 199 def __get_readme_data(self, db_repo):
202 200 repo_name = db_repo.repo_name
203 201
204 202 @cache_region('long_term')
205 203 def _get_readme_from_cache(key):
206 204 readme_data = None
207 205 readme_file = None
208 206 log.debug('Looking for README file')
209 207 try:
210 208 # get's the landing revision! or tip if fails
211 209 cs = db_repo.get_landing_changeset()
212 210 if isinstance(cs, EmptyChangeset):
213 211 raise EmptyRepositoryError()
214 212 renderer = MarkupRenderer()
215 213 for f in README_FILES:
216 214 try:
217 215 readme = cs.get_node(f)
218 216 if not isinstance(readme, FileNode):
219 217 continue
220 218 readme_file = f
221 219 log.debug('Found README file `%s` rendering...' %
222 220 readme_file)
223 221 readme_data = renderer.render(readme.content, f)
224 222 break
225 223 except NodeDoesNotExistError:
226 224 continue
227 225 except ChangesetError:
228 226 log.error(traceback.format_exc())
229 227 pass
230 228 except EmptyRepositoryError:
231 229 pass
232 230 except Exception:
233 231 log.error(traceback.format_exc())
234 232
235 233 return readme_data, readme_file
236 234
237 235 key = repo_name + '_README'
238 236 inv = CacheInvalidation.invalidate(key)
239 237 if inv is not None:
240 238 region_invalidate(_get_readme_from_cache, None, key)
241 239 CacheInvalidation.set_valid(inv.cache_key)
242 240 return _get_readme_from_cache(key)
243 241
244 242 def _get_download_links(self, repo):
245 243
246 244 download_l = []
247 245
248 246 branches_group = ([], _("Branches"))
249 247 tags_group = ([], _("Tags"))
250 248
251 249 for name, chs in c.rhodecode_repo.branches.items():
252 250 #chs = chs.split(':')[-1]
253 251 branches_group[0].append((chs, name),)
254 252 download_l.append(branches_group)
255 253
256 254 for name, chs in c.rhodecode_repo.tags.items():
257 255 #chs = chs.split(':')[-1]
258 256 tags_group[0].append((chs, name),)
259 257 download_l.append(tags_group)
260 258
261 259 return download_l
@@ -1,331 +1,332 b''
1 1 /**
2 2 * Stylesheets for the context bar
3 3 */
4 4
5 5 #context-bar button.follow { background-image: url("../images/icons/heart.png"); }
6 6 #context-bar button.following { background-image: url("../images/icons/heart_delete.png"); }
7 7 #context-bar a.fork { background-image: url("../images/icons/arrow_divide.png"); }
8 8 #context-bar a.summary { background-image: url("../images/icons/clipboard_16.png"); }
9 9 #context-bar a.changelogs { background-image: url("../images/icons/time.png"); }
10 10 #context-bar a.files { background-image: url("../images/icons/file.png"); }
11 11 #context-bar a.switch-to { background-image: url("../images/icons/arrow_switch.png"); }
12 12 #context-bar a.options { background-image: url("../images/icons/table_gear.png"); }
13 13 #context-bar a.pull-request { background-image: url("../images/icons/arrow_join.png"); }
14 14 #context-bar a.branches { background-image: url("../images/icons/arrow_branch.png"); }
15 15 #context-bar a.tags { background-image: url("../images/icons/tag_blue.png"); }
16 16 #context-bar a.bookmarks { background-image: url("../images/icons/tag_green.png"); }
17 17 #context-bar a.settings { background-image: url("../images/icons/cog.png"); }
18 18 #context-bar a.shortlog { background-image: url("../images/icons/time.png"); }
19 19 #context-bar a.search { background-image: url("../images/icons/search_16.png"); }
20 20 #context-bar a.admin { background-image: url("../images/icons/cog_edit.png"); }
21 21
22 22 #context-bar a.journal { background-image: url("../images/icons/book.png"); }
23 23 #context-bar a.repos { background-image: url("../images/icons/database_edit.png"); }
24 24 #context-bar a.repos_groups { background-image: url("../images/icons/database_link.png"); }
25 25 #context-bar a.users { background-image: url("../images/icons/user_edit.png"); }
26 26 #context-bar a.groups { background-image: url("../images/icons/group_edit.png"); }
27 27 #context-bar a.permissions { background-image: url("../images/icons/key.png"); }
28 28 #context-bar a.ldap { background-image: url("../images/icons/server_key.png"); }
29 29 #context-bar a.defaults { background-image: url("../images/icons/wrench.png"); }
30 30 #context-bar a.settings { background-image: url("../images/icons/cog_edit.png"); }
31 31
32 32 #content #context-bar {
33 33 position: relative;
34 34 background-color: #003B76 !important;
35 35 padding: 0px;
36 36 overflow: visible;
37 37 }
38 38
39 39 #content #context-bar,
40 40 #content #context-bar a,
41 41 #content #context-bar button {
42 42 color: #FFFFFF;
43 43 }
44 44
45 45 #content #context-bar a:hover,
46 46 #content #context-bar button:hover {
47 47 text-decoration: none;
48 48 color: #bfe3ff;
49 49 }
50 50
51 51 #content #context-bar .icon {
52 52 display: inline-block;
53 53 width: 16px;
54 54 height: 16px;
55 55 vertical-align: text-bottom;
56 56 }
57 57
58 58 ul.horizontal-list {
59 59 display: block;
60 60 /* overflow: hidden;*/
61 61 }
62
62 63 ul.horizontal-list > li {
63 64 float: left;
64 padding-right: 5px;
65 65 position: relative;
66 66 }
67 67
68 68 ul.horizontal-list > li ul {
69 69 position: absolute;
70 70 display: none;
71 71 right: 0;
72 z-index: 999;
72 73 }
73 74
74 75 ul.horizontal-list li:hover > ul {
75 76 display: block;
76 77 }
77 78
78 79 ul.horizontal-list ul li {
79 80 position: relative;
80 81 border-bottom: 1px solid rgba(0,0,0,0.1);
81 82 border-top: 1px solid rgba(255,255,255,0.1);
82 83 }
83 84
84 85 ul.horizontal-list > li ul ul {
85 86 position: absolute;
86 87 right: 100%;
87 88 top: -1px;
88 89 min-width: 200px;
89 90 max-height: 400px;
90 91 overflow-x:hidden;
91 92 overflow-y:auto;
92 93 }
93 94
94 95 ul.horizontal-list > li a {
95 96 white-space: nowrap;
96 97 }
97 98
98 99 #breadcrumbs {
99 100 float:left;
100 101 padding: 12px 0;
101 102 font-weight: bold;
102 103 }
103 104
104 105 #breadcrumbs span{
105 106 font-weight: bold;
106 107 font-size: 2em;
107 108 }
108 109
109 110 #context-top {
110 111 position: relative;
111 112 overflow: hidden;
112 113 border-bottom: 1px solid #003162;
113 114 padding: 10px;
114 115 }
115 116
116 117 #revision-changer,
117 118 #context-pages,
118 119 #context-pages ul,
119 120 ul#context-actions {
120 121 background: #3b6998; /* Old browsers */
121 122 background: -moz-linear-gradient(top, #4574a2 0%, #2f5d8b 100%); /* FF3.6+ */
122 123 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#4574a2), color-stop(100%,#2f5d8b)); /* Chrome,Safari4+ */
123 124 background: -webkit-linear-gradient(top, #4574a2 0%, #2f5d8b 100%); /* Chrome10+,Safari5.1+ */
124 125 background: -o-linear-gradient(top, #4574a2 0%, #2f5d8b 100%); /* Opera 11.10+ */
125 126 background: -ms-linear-gradient(top, #4574a2 0%, #2f5d8b 100%); /* IE10+ */
126 127 background: linear-gradient(to bottom, #4574a2 0%, #2f5d8b 100%); /* W3C */
127 128 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4574a2', endColorstr='#2f5d8b',GradientType=0 ); /* IE6-9 */
128 129 }
129 130
130 131 #context-actions a,
131 132 #context-pages a {
132 133 background-repeat: no-repeat;
133 134 background-position: 10px 50%;
134 135 padding-left: 30px;
135 136 }
136 137
137 138 #context-pages ul ul a{
138 139 padding-left: 10px;
139 140 }
140 141
141 142 ul#context-actions {
142 143 display: inline-block;
143 144 float: right;
144 145 border-radius: 4px;
145 146 background-color:#3b6998;
146 147 background-image: linear-gradient(top, #4574a2 0%, #2f5d8b 100%);
147 148 padding: 5px;
148 149 }
149 150
150 151 #content ul#context-actions li {
151 152 padding: 0px;
152 153 border-right: 1px solid rgba(0,0,0,0.1);
153 154 border-left: 1px solid rgba(255,255,255,0.1);
154 155 }
155 156
156 157 #context-actions button,
157 158 #context-actions a {
158 159 display: block;
159 160 cursor: pointer;
160 161 background: none;
161 162 border: none;
162 163 margin: 0px;
163 164 height: 13px;
164 165 padding: 3px 7px;
165 166 background-repeat: no-repeat;
166 167 background-position: 50% 3px;
167 168 padding-top: 24px;
168 169 }
169 170
170 171 #context-actions button{
171 172 padding-top: 22px;
172 173 height: 40px;
173 174 }
174 175
175 176 #revision-changer:hover,
176 177 #context-pages li:hover,
177 178 #context-actions li:hover,
178 179 #content #context-actions li:hover {
179 180 /*background: rgba(255,255,255,0.2);*/
180 181 background: #6388ad; /* Old browsers */
181 182 background: -moz-linear-gradient(top, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%); /* FF3.6+ */
182 183 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0)), color-stop(100%,rgba(255,255,255,0))); /* Chrome,Safari4+ */
183 184 background: -webkit-linear-gradient(top, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%); /* Chrome10+,Safari5.1+ */
184 185 background: -o-linear-gradient(top, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%); /* Opera 11.10+ */
185 186 background: -ms-linear-gradient(top, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%); /* IE10+ */
186 187 background: linear-gradient(to bottom, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%); /* W3C */
187 188 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#88bfe8', endColorstr='#70b0e0',GradientType=0 ); /* IE6-9 */
188 189
189 190 background-image: -webkit-gradient(linear, left top, left bottom, rgb(255,255,255) 0%, rgb(255,255,255) 100%);
190 191
191 192 /*border-radius: 4px;*/
192 193 }
193 194
194 195
195 196 #content #context-actions li:first-child {
196 197 border-left: none;
197 198 border-radius:4px 0 0px 4px;
198 199 }
199 200
200 201 #content #context-actions li:last-child {
201 202 border-right: none;
202 203 border-radius:0 4px 4px 0;
203 204 }
204 205
205 206 #content #context-actions .icon{
206 207 margin: auto;
207 208 margin-bottom: 5px;
208 209 display: block;
209 210 clear: both;
210 211 float: none;
211 212 }
212 213
213 214 #content #context-actions button.follow,
214 215 #content #context-actions button.following{
215 216 width: auto;
216 217 float: none;
217 218 }
218 219
219 220 #content #context-actions button .show-following,
220 221 #content #context-actions button .show-follow {
221 222 display: none;
222 223 }
223 224
224 225 #content #context-bar #context-actions button.follow .show-follow {
225 226 display: block;
226 227 }
227 228
228 229 #content #context-bar #context-actions button.following .show-following {
229 230 display: block;
230 231 }
231 232
232 233 #context-state {
233 234 background-color: #336699;
234 235 border-top: 1px solid #517da8;
235 236 min-height: 36px;
236 237 /* overflow: hidden;*/
237 238 }
238 239
239 240 #context-pages {
240 241 float: right;
241 242 border-left: 1px solid rgba(0,0,0,0.1);
242 243 /* overflow: hidden;*/
243 244 }
244 245
245 246 #context-pages li.current{
246 247 background: #535353; /* Old browsers */
247 248 background: -moz-linear-gradient(top, #5d5d5d 0%, #484848 100%); /* FF3.6+ */
248 249 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#5d5d5d), color-stop(100%,#484848)); /* Chrome,Safari4+ */
249 250 background: -webkit-linear-gradient(top, #5d5d5d 0%, #484848 100%); /* Chrome10+,Safari5.1+ */
250 251 background: -o-linear-gradient(top, #5d5d5d 0%, #484848 100%); /* Opera 11.10+ */
251 252 background: -ms-linear-gradient(top, #5d5d5d 0%, #484848 100%); /* IE10+ */
252 253 background: linear-gradient(to bottom, #5d5d5d 0%, #484848 100%); /* W3C */
253 254 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5d5d5d', endColorstr='#484848',GradientType=0 ); /* IE6-9 */
254 255 }
255 256
256 257 #content #context-pages .icon {
257 258 margin-right:5px;
258 259 }
259 260
260 261 #content #context-pages li {
261 262 border-right: 1px solid rgba(0,0,0,0.1);
262 263 border-left: 1px solid rgba(255,255,255,0.1);
263 264 padding: 0;
264 265 }
265 266
266 267 #content #context-pages li:last-child {
267 268 border-right:none;
268 269 }
269 270
270 271 #context-pages a,
271 272 #context-pages .admin_menu a{
272 273 display: block;
273 padding: 0px 10px;
274 padding: 0px 10px 1px 30px;
274 275 padding-left: 30px;
275 276 line-height: 35px;
276 277 }
277 278
278 279 #revision-changer:before,
279 280 #context-pages a.childs:after,
280 281 #context-pages a.dropdown:after {
281 282 content: ' \25BE';
282 283 }
283 284 #context-pages a.childs:after{
284 285 float: right;
285 286 padding-left: 5px;
286 287 }
287 288
288 289 #revision-changer:before {
289 290 position: absolute;
290 291 top: 0px;
291 292 right: 0px;
292 293 border-right: 1px solid rgba(0,0,0,0.1);
293 294 height: 25px;
294 295 padding-top: 10px;
295 296 padding-right: 10px;
296 297 }
297 298
298 299 #context-pages li:last-child a {
299 300 padding-right: 10px;
300 301 }
301 302
302 303 #context-bar #revision-changer {
303 304 position: relative;
304 305 cursor: pointer;
305 306 border: none;
306 307 padding: 0;
307 308 margin: 0;
308 309 color: #FFFFFF;
309 310 font-size: 0.85em;
310 311 padding: 2px 15px;
311 312 padding-bottom: 3px;
312 313 padding-right: 30px;
313 314 border-right: 1px solid rgba(255,255,255,0.1);
314 315 }
315 316
316 317 #revision-changer .branch-name,
317 318 #revision-changer .revision {
318 319 display: block;
319 320 text-align: center;
320 321 line-height: 1.5em;
321 322 }
322 323
323 324 #revision-changer .branch-name {
324 325 font-weight: bold;
325 326 }
326 327
327 328 #revision-changer .revision{
328 329 text-transform: uppercase;
329 330 }
330 331
331 332
@@ -1,4830 +1,4889 b''
1 1 html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td {
2 2 border: 0;
3 3 outline: 0;
4 4 font-size: 100%;
5 5 vertical-align: baseline;
6 6 background: transparent;
7 7 margin: 0;
8 8 padding: 0;
9 9 }
10 10
11 11 body {
12 12 line-height: 1;
13 13 height: 100%;
14 14 background: url("../images/background.png") repeat scroll 0 0 #B0B0B0;
15 15 font-family: Lucida Grande, Verdana, Lucida Sans Regular,
16 16 Lucida Sans Unicode, Arial, sans-serif; font-size : 12px;
17 17 color: #000;
18 18 margin: 0;
19 19 padding: 0;
20 20 font-size: 12px;
21 21 }
22 22
23 23 ol, ul {
24 24 list-style: none;
25 25 }
26 26
27 27 blockquote, q {
28 28 quotes: none;
29 29 }
30 30
31 31 blockquote:before, blockquote:after, q:before, q:after {
32 32 content: none;
33 33 }
34 34
35 35 :focus {
36 36 outline: 0;
37 37 }
38 38
39 39 del {
40 40 text-decoration: line-through;
41 41 }
42 42
43 43 table {
44 44 border-collapse: collapse;
45 45 border-spacing: 0;
46 46 }
47 47
48 48 html {
49 49 height: 100%;
50 50 }
51 51
52 52 a {
53 53 color: #003367;
54 54 text-decoration: none;
55 55 cursor: pointer;
56 56 }
57 57
58 58 a:hover {
59 59 color: #316293;
60 60 text-decoration: underline;
61 61 }
62 62
63 63 h1, h2, h3, h4, h5, h6,
64 64 div.h1, div.h2, div.h3, div.h4, div.h5, div.h6 {
65 65 color: #292929;
66 66 font-weight: 700;
67 67 }
68 68
69 69 h1, div.h1 {
70 70 font-size: 22px;
71 71 }
72 72
73 73 h2, div.h2 {
74 74 font-size: 20px;
75 75 }
76 76
77 77 h3, div.h3 {
78 78 font-size: 18px;
79 79 }
80 80
81 81 h4, div.h4 {
82 82 font-size: 16px;
83 83 }
84 84
85 85 h5, div.h5 {
86 86 font-size: 14px;
87 87 }
88 88
89 89 h6, div.h6 {
90 90 font-size: 11px;
91 91 }
92 92
93 93 ul.circle {
94 94 list-style-type: circle;
95 95 }
96 96
97 97 ul.disc {
98 98 list-style-type: disc;
99 99 }
100 100
101 101 ul.square {
102 102 list-style-type: square;
103 103 }
104 104
105 105 ol.lower-roman {
106 106 list-style-type: lower-roman;
107 107 }
108 108
109 109 ol.upper-roman {
110 110 list-style-type: upper-roman;
111 111 }
112 112
113 113 ol.lower-alpha {
114 114 list-style-type: lower-alpha;
115 115 }
116 116
117 117 ol.upper-alpha {
118 118 list-style-type: upper-alpha;
119 119 }
120 120
121 121 ol.decimal {
122 122 list-style-type: decimal;
123 123 }
124 124
125 125 div.color {
126 126 clear: both;
127 127 overflow: hidden;
128 128 position: absolute;
129 129 background: #FFF;
130 130 margin: 7px 0 0 60px;
131 131 padding: 1px 1px 1px 0;
132 132 }
133 133
134 134 div.color a {
135 135 width: 15px;
136 136 height: 15px;
137 137 display: block;
138 138 float: left;
139 139 margin: 0 0 0 1px;
140 140 padding: 0;
141 141 }
142 142
143 143 div.options {
144 144 clear: both;
145 145 overflow: hidden;
146 146 position: absolute;
147 147 background: #FFF;
148 148 margin: 7px 0 0 162px;
149 149 padding: 0;
150 150 }
151 151
152 152 div.options a {
153 153 height: 1%;
154 154 display: block;
155 155 text-decoration: none;
156 156 margin: 0;
157 157 padding: 3px 8px;
158 158 }
159 159
160 160 .top-left-rounded-corner {
161 161 -webkit-border-top-left-radius: 8px;
162 162 -khtml-border-radius-topleft: 8px;
163 163 -moz-border-radius-topleft: 8px;
164 164 border-top-left-radius: 8px;
165 165 }
166 166
167 167 .top-right-rounded-corner {
168 168 -webkit-border-top-right-radius: 8px;
169 169 -khtml-border-radius-topright: 8px;
170 170 -moz-border-radius-topright: 8px;
171 171 border-top-right-radius: 8px;
172 172 }
173 173
174 174 .bottom-left-rounded-corner {
175 175 -webkit-border-bottom-left-radius: 8px;
176 176 -khtml-border-radius-bottomleft: 8px;
177 177 -moz-border-radius-bottomleft: 8px;
178 178 border-bottom-left-radius: 8px;
179 179 }
180 180
181 181 .bottom-right-rounded-corner {
182 182 -webkit-border-bottom-right-radius: 8px;
183 183 -khtml-border-radius-bottomright: 8px;
184 184 -moz-border-radius-bottomright: 8px;
185 185 border-bottom-right-radius: 8px;
186 186 }
187 187
188 188 .top-left-rounded-corner-mid {
189 189 -webkit-border-top-left-radius: 4px;
190 190 -khtml-border-radius-topleft: 4px;
191 191 -moz-border-radius-topleft: 4px;
192 192 border-top-left-radius: 4px;
193 193 }
194 194
195 195 .top-right-rounded-corner-mid {
196 196 -webkit-border-top-right-radius: 4px;
197 197 -khtml-border-radius-topright: 4px;
198 198 -moz-border-radius-topright: 4px;
199 199 border-top-right-radius: 4px;
200 200 }
201 201
202 202 .bottom-left-rounded-corner-mid {
203 203 -webkit-border-bottom-left-radius: 4px;
204 204 -khtml-border-radius-bottomleft: 4px;
205 205 -moz-border-radius-bottomleft: 4px;
206 206 border-bottom-left-radius: 4px;
207 207 }
208 208
209 209 .bottom-right-rounded-corner-mid {
210 210 -webkit-border-bottom-right-radius: 4px;
211 211 -khtml-border-radius-bottomright: 4px;
212 212 -moz-border-radius-bottomright: 4px;
213 213 border-bottom-right-radius: 4px;
214 214 }
215 215
216 216 .help-block {
217 217 color: #999999;
218 218 display: block;
219 219 margin-bottom: 0;
220 220 margin-top: 5px;
221 221 }
222 222
223 223 .empty_data {
224 224 color:#B9B9B9;
225 225 }
226 226
227 227 a.permalink {
228 228 visibility: hidden;
229 229 }
230 230
231 231 a.permalink:hover {
232 232 text-decoration: none;
233 233 }
234 234
235 235 h1:hover > a.permalink,
236 236 h2:hover > a.permalink,
237 237 h3:hover > a.permalink,
238 238 h4:hover > a.permalink,
239 239 h5:hover > a.permalink,
240 240 h6:hover > a.permalink,
241 241 div:hover > a.permalink {
242 242 visibility: visible;
243 243 }
244 244
245 245 #header {
246 246 }
247 247
248 248 #header ul#logged-user {
249 249 margin-bottom: 5px !important;
250 250 -webkit-border-radius: 0px 0px 8px 8px;
251 251 -khtml-border-radius: 0px 0px 8px 8px;
252 252 -moz-border-radius: 0px 0px 8px 8px;
253 253 border-radius: 0px 0px 8px 8px;
254 254 height: 37px;
255 255 background-color: #003B76;
256 256 background-repeat: repeat-x;
257 257 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
258 258 background-image: -moz-linear-gradient(top, #003b76, #00376e);
259 259 background-image: -ms-linear-gradient(top, #003b76, #00376e);
260 260 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
261 261 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
262 262 background-image: -o-linear-gradient(top, #003b76, #00376e);
263 263 background-image: linear-gradient(top, #003b76, #00376e);
264 264 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',endColorstr='#00376e', GradientType=0 );
265 265 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
266 266 }
267 267
268 268 #header ul#logged-user li {
269 269 list-style: none;
270 270 float: left;
271 271 margin: 8px 0 0;
272 272 padding: 4px 12px;
273 273 border-left: 1px solid #316293;
274 274 }
275 275
276 276 #header ul#logged-user li.first {
277 277 border-left: none;
278 278 margin: 4px;
279 279 }
280 280
281 281 #header ul#logged-user li.first div.gravatar {
282 282 margin-top: -2px;
283 283 }
284 284
285 285 #header ul#logged-user li.first div.account {
286 286 padding-top: 4px;
287 287 float: left;
288 288 }
289 289
290 290 #header ul#logged-user li.last {
291 291 border-right: none;
292 292 }
293 293
294 294 #header ul#logged-user li a {
295 295 color: #fff;
296 296 font-weight: 700;
297 297 text-decoration: none;
298 298 }
299 299
300 300 #header ul#logged-user li a:hover {
301 301 text-decoration: underline;
302 302 }
303 303
304 304 #header ul#logged-user li.highlight a {
305 305 color: #fff;
306 306 }
307 307
308 308 #header ul#logged-user li.highlight a:hover {
309 309 color: #FFF;
310 310 }
311 311 #header-dd {
312 312 clear: both;
313 313 position: fixed !important;
314 314 background-color: #003B76;
315 315 opacity: 0.01;
316 316 cursor: pointer;
317 317 min-height: 10px;
318 318 width: 100% !important;
319 319 -webkit-border-radius: 0px 0px 4px 4px;
320 320 -khtml-border-radius: 0px 0px 4px 4px;
321 321 -moz-border-radius: 0px 0px 4px 4px;
322 322 border-radius: 0px 0px 4px 4px;
323 323 }
324 324
325 325 #header-dd:hover{
326 326 opacity: 0.2;
327 327 -webkit-transition: opacity 0.5s ease-in-out;
328 328 -moz-transition: opacity 0.5s ease-in-out;
329 329 transition: opacity 0.5s ease-in-out;
330 330 }
331 331
332 332 #header #header-inner {
333 333 min-height: 44px;
334 334 clear: both;
335 335 position: relative;
336 336 background-color: #003B76;
337 337 background-repeat: repeat-x;
338 338 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
339 339 background-image: -moz-linear-gradient(top, #003b76, #00376e);
340 340 background-image: -ms-linear-gradient(top, #003b76, #00376e);
341 341 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76),color-stop(100%, #00376e) );
342 342 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
343 343 background-image: -o-linear-gradient(top, #003b76, #00376e);
344 344 background-image: linear-gradient(top, #003b76, #00376e);
345 345 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',endColorstr='#00376e', GradientType=0 );
346 346 margin: 0;
347 347 padding: 0;
348 348 display: block;
349 349 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
350 350 -webkit-border-radius: 0px 0px 4px 4px;
351 351 -khtml-border-radius: 0px 0px 4px 4px;
352 352 -moz-border-radius: 0px 0px 4px 4px;
353 353 border-radius: 0px 0px 4px 4px;
354 354 }
355 355 #header #header-inner.hover {
356 356 width: 100% !important;
357 357 -webkit-border-radius: 0px 0px 0px 0px;
358 358 -khtml-border-radius: 0px 0px 0px 0px;
359 359 -moz-border-radius: 0px 0px 0px 0px;
360 360 border-radius: 0px 0px 0px 0px;
361 361 position: fixed !important;
362 362 z-index: 10000;
363 363 }
364 364
365 365 .ie7 #header #header-inner.hover,
366 366 .ie8 #header #header-inner.hover,
367 367 .ie9 #header #header-inner.hover
368 368 {
369 369 z-index: auto !important;
370 370 }
371 371
372 372 .header-pos-fix, .anchor {
373 373 margin-top: -46px;
374 374 padding-top: 46px;
375 375 }
376 376
377 377 #header #header-inner #home a {
378 378 height: 40px;
379 379 width: 46px;
380 380 display: block;
381 381 background: url("../images/button_home.png");
382 382 background-position: 0 0;
383 383 margin: 0;
384 384 padding: 0;
385 385 }
386 386
387 387 #header #header-inner #home a:hover {
388 388 background-position: 0 -40px;
389 389 }
390 390
391 391 #header #header-inner #logo {
392 392 float: left;
393 393 position: absolute;
394 394 }
395 395
396 396 #header #header-inner #logo h1 {
397 397 color: #FFF;
398 398 font-size: 20px;
399 399 margin: 12px 0 0 13px;
400 400 padding: 0;
401 401 }
402 402
403 403 #header #header-inner #logo a {
404 404 color: #fff;
405 405 text-decoration: none;
406 406 }
407 407
408 408 #header #header-inner #logo a:hover {
409 409 color: #bfe3ff;
410 410 }
411 411
412 412 #header #header-inner #quick, #header #header-inner #quick ul {
413 413 position: relative;
414 414 float: right;
415 415 list-style-type: none;
416 416 list-style-position: outside;
417 417 margin: 8px 8px 0 0;
418 418 padding: 0;
419 419 }
420 420
421 421 #header #header-inner #quick li {
422 422 position: relative;
423 423 float: left;
424 424 margin: 0 5px 0 0;
425 425 padding: 0;
426 426 }
427 427
428 428 #header #header-inner #quick li a.menu_link {
429 429 top: 0;
430 430 left: 0;
431 431 height: 1%;
432 432 display: block;
433 433 clear: both;
434 434 overflow: hidden;
435 435 color: #FFF;
436 436 font-weight: 700;
437 437 text-decoration: none;
438 438 background: #369;
439 439 padding: 0;
440 440 -webkit-border-radius: 4px 4px 4px 4px;
441 441 -khtml-border-radius: 4px 4px 4px 4px;
442 442 -moz-border-radius: 4px 4px 4px 4px;
443 443 border-radius: 4px 4px 4px 4px;
444 444 }
445 445
446 446 #header #header-inner #quick li span.short {
447 447 padding: 9px 6px 8px 6px;
448 448 }
449 449
450 450 #header #header-inner #quick li span {
451 451 top: 0;
452 452 right: 0;
453 453 height: 1%;
454 454 display: block;
455 455 float: left;
456 456 border-left: 1px solid #3f6f9f;
457 457 margin: 0;
458 458 padding: 10px 12px 8px 10px;
459 459 }
460 460
461 461 #header #header-inner #quick li span.normal {
462 462 border: none;
463 463 padding: 10px 12px 8px;
464 464 }
465 465
466 466 #header #header-inner #quick li span.icon {
467 467 top: 0;
468 468 left: 0;
469 469 border-left: none;
470 470 border-right: 1px solid #2e5c89;
471 471 padding: 8px 6px 4px;
472 472 min-width: 16px;
473 473 min-height: 16px;
474 474 }
475 475
476 476 #header #header-inner #quick li span.icon_short {
477 477 top: 0;
478 478 left: 0;
479 479 border-left: none;
480 480 border-right: 1px solid #2e5c89;
481 481 padding: 8px 6px 4px;
482 482 }
483 483
484 484 #header #header-inner #quick li span.icon img, #header #header-inner #quick li span.icon_short img {
485 485 margin: 0px -2px 0px 0px;
486 486 }
487 487
488 488 #header #header-inner #quick li.current a,
489 489 #header #header-inner #quick li a:hover {
490 490 background: #4e4e4e no-repeat top left;
491 491 }
492 492
493 493 #header #header-inner #quick li.current a span,
494 494 #header #header-inner #quick li a:hover span {
495 495 border-left: 1px solid #545454;
496 496 }
497 497
498 498 #header #header-inner #quick li.current a span.icon,
499 499 #header #header-inner #quick li.current a span.icon_short,
500 500 #header #header-inner #quick li a:hover span.icon,
501 501 #header #header-inner #quick li a:hover span.icon_short {
502 502 border-left: none;
503 503 border-right: 1px solid #464646;
504 504 }
505 505
506 506 #header #header-inner #quick ul {
507 507 top: 29px;
508 508 right: 0;
509 509 min-width: 200px;
510 510 display: none;
511 511 position: absolute;
512 512 background: #FFF;
513 513 border: 1px solid #666;
514 514 border-top: 1px solid #003367;
515 515 z-index: 100;
516 516 margin: 0px 0px 0px 0px;
517 517 padding: 0;
518 518 }
519 519
520 520 #header #header-inner #quick ul.repo_switcher {
521 521 max-height: 275px;
522 522 overflow-x: hidden;
523 523 overflow-y: auto;
524 524 }
525 525
526 526 #header #header-inner #quick ul.repo_switcher li.qfilter_rs {
527 527 float: none;
528 528 margin: 0;
529 529 border-bottom: 2px solid #003367;
530 530 }
531 531
532 532 #header #header-inner #quick .repo_switcher_type {
533 533 position: absolute;
534 534 left: 0;
535 535 top: 9px;
536 536 }
537 537
538 538 #header #header-inner #quick li ul li {
539 539 border-bottom: 1px solid #ddd;
540 540 }
541 541
542 542 #header #header-inner #quick li ul li a {
543 543 width: 182px;
544 544 height: auto;
545 545 display: block;
546 546 float: left;
547 547 background: #FFF;
548 548 color: #003367;
549 549 font-weight: 400;
550 550 margin: 0;
551 551 padding: 7px 9px;
552 552 }
553 553
554 554 #header #header-inner #quick li ul li a:hover {
555 555 color: #000;
556 556 background: #FFF;
557 557 }
558 558
559 559 #header #header-inner #quick ul ul {
560 560 top: auto;
561 561 }
562 562
563 563 #header #header-inner #quick li ul ul {
564 564 right: 200px;
565 565 max-height: 290px;
566 566 overflow: auto;
567 567 overflow-x: hidden;
568 568 white-space: normal;
569 569 }
570 570
571 571 #header #header-inner #quick li ul li a.journal, #header #header-inner #quick li ul li a.journal:hover {
572 572 background: url("../images/icons/book.png") no-repeat scroll 4px 9px
573 573 #FFF;
574 574 width: 167px;
575 575 margin: 0;
576 576 padding: 12px 9px 7px 24px;
577 577 }
578 578
579 579 #header #header-inner #quick li ul li a.private_repo, #header #header-inner #quick li ul li a.private_repo:hover {
580 580 background: url("../images/icons/lock.png") no-repeat scroll 4px 9px
581 581 #FFF;
582 582 min-width: 167px;
583 583 margin: 0;
584 584 padding: 12px 9px 7px 24px;
585 585 }
586 586
587 587 #header #header-inner #quick li ul li a.public_repo, #header #header-inner #quick li ul li a.public_repo:hover {
588 588 background: url("../images/icons/lock_open.png") no-repeat scroll 4px
589 589 9px #FFF;
590 590 min-width: 167px;
591 591 margin: 0;
592 592 padding: 12px 9px 7px 24px;
593 593 }
594 594
595 595 #header #header-inner #quick li ul li a.hg, #header #header-inner #quick li ul li a.hg:hover {
596 596 background: url("../images/icons/hgicon.png") no-repeat scroll 4px 9px
597 597 #FFF;
598 598 min-width: 167px;
599 599 margin: 0 0 0 14px;
600 600 padding: 12px 9px 7px 24px;
601 601 }
602 602
603 603 #header #header-inner #quick li ul li a.git, #header #header-inner #quick li ul li a.git:hover {
604 604 background: url("../images/icons/giticon.png") no-repeat scroll 4px 9px
605 605 #FFF;
606 606 min-width: 167px;
607 607 margin: 0 0 0 14px;
608 608 padding: 12px 9px 7px 24px;
609 609 }
610 610
611 611 #header #header-inner #quick li ul li a.repos, #header #header-inner #quick li ul li a.repos:hover {
612 612 background: url("../images/icons/database_edit.png") no-repeat scroll
613 613 4px 9px #FFF;
614 614 width: 167px;
615 615 margin: 0;
616 616 padding: 12px 9px 7px 24px;
617 617 }
618 618
619 619 #header #header-inner #quick li ul li a.repos_groups, #header #header-inner #quick li ul li a.repos_groups:hover {
620 620 background: url("../images/icons/database_link.png") no-repeat scroll
621 621 4px 9px #FFF;
622 622 width: 167px;
623 623 margin: 0;
624 624 padding: 12px 9px 7px 24px;
625 625 }
626 626
627 627 #header #header-inner #quick li ul li a.users, #header #header-inner #quick li ul li a.users:hover {
628 628 background: #FFF url("../images/icons/user_edit.png") no-repeat 4px 9px;
629 629 width: 167px;
630 630 margin: 0;
631 631 padding: 12px 9px 7px 24px;
632 632 }
633 633
634 634 #header #header-inner #quick li ul li a.groups, #header #header-inner #quick li ul li a.groups:hover {
635 635 background: #FFF url("../images/icons/group_edit.png") no-repeat 4px 9px;
636 636 width: 167px;
637 637 margin: 0;
638 638 padding: 12px 9px 7px 24px;
639 639 }
640 640
641 641 #header #header-inner #quick li ul li a.defaults, #header #header-inner #quick li ul li a.defaults:hover {
642 642 background: #FFF url("../images/icons/wrench.png") no-repeat 4px 9px;
643 643 width: 167px;
644 644 margin: 0;
645 645 padding: 12px 9px 7px 24px;
646 646 }
647 647
648 648 #header #header-inner #quick li ul li a.settings, #header #header-inner #quick li ul li a.settings:hover {
649 649 background: #FFF url("../images/icons/cog.png") no-repeat 4px 9px;
650 650 width: 167px;
651 651 margin: 0;
652 652 padding: 12px 9px 7px 24px;
653 653 }
654 654
655 655 #header #header-inner #quick li ul li a.permissions, #header #header-inner #quick li ul li a.permissions:hover {
656 656 background: #FFF url("../images/icons/key.png") no-repeat 4px 9px;
657 657 width: 167px;
658 658 margin: 0;
659 659 padding: 12px 9px 7px 24px;
660 660 }
661 661
662 662 #header #header-inner #quick li ul li a.ldap, #header #header-inner #quick li ul li a.ldap:hover {
663 663 background: #FFF url("../images/icons/server_key.png") no-repeat 4px 9px;
664 664 width: 167px;
665 665 margin: 0;
666 666 padding: 12px 9px 7px 24px;
667 667 }
668 668
669 669 #header #header-inner #quick li ul li a.fork, #header #header-inner #quick li ul li a.fork:hover {
670 670 background: #FFF url("../images/icons/arrow_divide.png") no-repeat 4px
671 671 9px;
672 672 width: 167px;
673 673 margin: 0;
674 674 padding: 12px 9px 7px 24px;
675 675 }
676 676
677 677 #header #header-inner #quick li ul li a.locking_add, #header #header-inner #quick li ul li a.locking_add:hover {
678 678 background: #FFF url("../images/icons/lock_add.png") no-repeat 4px
679 679 9px;
680 680 width: 167px;
681 681 margin: 0;
682 682 padding: 12px 9px 7px 24px;
683 683 }
684 684
685 685 #header #header-inner #quick li ul li a.locking_del, #header #header-inner #quick li ul li a.locking_del:hover {
686 686 background: #FFF url("../images/icons/lock_delete.png") no-repeat 4px
687 687 9px;
688 688 width: 167px;
689 689 margin: 0;
690 690 padding: 12px 9px 7px 24px;
691 691 }
692 692
693 693 #header #header-inner #quick li ul li a.pull_request, #header #header-inner #quick li ul li a.pull_request:hover {
694 694 background: #FFF url("../images/icons/arrow_join.png") no-repeat 4px
695 695 9px;
696 696 width: 167px;
697 697 margin: 0;
698 698 padding: 12px 9px 7px 24px;
699 699 }
700 700
701 701 #header #header-inner #quick li ul li a.compare_request, #header #header-inner #quick li ul li a.compare_request:hover {
702 702 background: #FFF url("../images/icons/arrow_inout.png") no-repeat 4px
703 703 9px;
704 704 width: 167px;
705 705 margin: 0;
706 706 padding: 12px 9px 7px 24px;
707 707 }
708 708
709 709 #header #header-inner #quick li ul li a.search, #header #header-inner #quick li ul li a.search:hover {
710 710 background: #FFF url("../images/icons/search_16.png") no-repeat 4px 9px;
711 711 width: 167px;
712 712 margin: 0;
713 713 padding: 12px 9px 7px 24px;
714 714 }
715 715
716 716 #header #header-inner #quick li ul li a.shortlog, #header #header-inner #quick li ul li a.shortlog:hover {
717 717 background: #FFF url("../images/icons/clock_16.png") no-repeat 4px 9px;
718 718 width: 167px;
719 719 margin: 0;
720 720 padding: 12px 9px 7px 24px;
721 721 }
722 722
723 723
724 724 #header #header-inner #quick li ul li a.delete, #header #header-inner #quick li ul li a.delete:hover {
725 725 background: #FFF url("../images/icons/delete.png") no-repeat 4px 9px;
726 726 width: 167px;
727 727 margin: 0;
728 728 padding: 12px 9px 7px 24px;
729 729 }
730 730
731 731 #header #header-inner #quick li ul li a.branches, #header #header-inner #quick li ul li a.branches:hover {
732 732 background: #FFF url("../images/icons/arrow_branch.png") no-repeat 4px
733 733 9px;
734 734 width: 167px;
735 735 margin: 0;
736 736 padding: 12px 9px 7px 24px;
737 737 }
738 738
739 739 #header #header-inner #quick li ul li a.tags,
740 740 #header #header-inner #quick li ul li a.tags:hover {
741 741 background: #FFF url("../images/icons/tag_blue.png") no-repeat 4px 9px;
742 742 width: 167px;
743 743 margin: 0;
744 744 padding: 12px 9px 7px 24px;
745 745 }
746 746
747 747 #header #header-inner #quick li ul li a.bookmarks,
748 748 #header #header-inner #quick li ul li a.bookmarks:hover {
749 749 background: #FFF url("../images/icons/tag_green.png") no-repeat 4px 9px;
750 750 width: 167px;
751 751 margin: 0;
752 752 padding: 12px 9px 7px 24px;
753 753 }
754 754
755 755 #header #header-inner #quick li ul li a.admin,
756 756 #header #header-inner #quick li ul li a.admin:hover {
757 757 background: #FFF url("../images/icons/cog_edit.png") no-repeat 4px 9px;
758 758 width: 167px;
759 759 margin: 0;
760 760 padding: 12px 9px 7px 24px;
761 761 }
762 762
763 763 .groups_breadcrumbs a {
764 764 color: #fff;
765 765 }
766 766
767 767 .groups_breadcrumbs a:hover {
768 768 color: #bfe3ff;
769 769 text-decoration: none;
770 770 }
771 771
772 772 td.quick_repo_menu {
773 773 background: #FFF url("../images/vertical-indicator.png") 8px 50% no-repeat !important;
774 774 cursor: pointer;
775 775 width: 8px;
776 776 border: 1px solid transparent;
777 777 }
778 778
779 779 td.quick_repo_menu.active {
780 780 background: url("../images/dt-arrow-dn.png") no-repeat scroll 5px 50% #FFFFFF !important;
781 781 border: 1px solid #003367;
782 782 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
783 783 cursor: pointer;
784 784 }
785 785
786 786 td.quick_repo_menu .menu_items {
787 787 margin-top: 10px;
788 788 margin-left:-6px;
789 789 width: 150px;
790 790 position: absolute;
791 791 background-color: #FFF;
792 792 background: none repeat scroll 0 0 #FFFFFF;
793 793 border-color: #003367 #666666 #666666;
794 794 border-right: 1px solid #666666;
795 795 border-style: solid;
796 796 border-width: 1px;
797 797 box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2);
798 798 border-top-style: none;
799 799 }
800 800
801 801 td.quick_repo_menu .menu_items li {
802 802 padding: 0 !important;
803 803 }
804 804
805 805 td.quick_repo_menu .menu_items a {
806 806 display: block;
807 807 padding: 4px 12px 4px 8px;
808 808 }
809 809
810 810 td.quick_repo_menu .menu_items a:hover {
811 811 background-color: #EEE;
812 812 text-decoration: none;
813 813 }
814 814
815 815 td.quick_repo_menu .menu_items .icon img {
816 816 margin-bottom: -2px;
817 817 }
818 818
819 819 td.quick_repo_menu .menu_items.hidden {
820 820 display: none;
821 821 }
822 822
823 823 .yui-dt-first th {
824 824 text-align: left;
825 825 }
826 826
827 827 /*
828 828 Copyright (c) 2011, Yahoo! Inc. All rights reserved.
829 829 Code licensed under the BSD License:
830 830 http://developer.yahoo.com/yui/license.html
831 831 version: 2.9.0
832 832 */
833 833 .yui-skin-sam .yui-dt-mask {
834 834 position: absolute;
835 835 z-index: 9500;
836 836 }
837 837 .yui-dt-tmp {
838 838 position: absolute;
839 839 left: -9000px;
840 840 }
841 841 .yui-dt-scrollable .yui-dt-bd { overflow: auto }
842 842 .yui-dt-scrollable .yui-dt-hd {
843 843 overflow: hidden;
844 844 position: relative;
845 845 }
846 846 .yui-dt-scrollable .yui-dt-bd thead tr,
847 847 .yui-dt-scrollable .yui-dt-bd thead th {
848 848 position: absolute;
849 849 left: -1500px;
850 850 }
851 851 .yui-dt-scrollable tbody { -moz-outline: 0 }
852 852 .yui-skin-sam thead .yui-dt-sortable { cursor: pointer }
853 853 .yui-skin-sam thead .yui-dt-draggable { cursor: move }
854 854 .yui-dt-coltarget {
855 855 position: absolute;
856 856 z-index: 999;
857 857 }
858 858 .yui-dt-hd { zoom: 1 }
859 859 th.yui-dt-resizeable .yui-dt-resizerliner { position: relative }
860 860 .yui-dt-resizer {
861 861 position: absolute;
862 862 right: 0;
863 863 bottom: 0;
864 864 height: 100%;
865 865 cursor: e-resize;
866 866 cursor: col-resize;
867 867 background-color: #CCC;
868 868 opacity: 0;
869 869 filter: alpha(opacity=0);
870 870 }
871 871 .yui-dt-resizerproxy {
872 872 visibility: hidden;
873 873 position: absolute;
874 874 z-index: 9000;
875 875 background-color: #CCC;
876 876 opacity: 0;
877 877 filter: alpha(opacity=0);
878 878 }
879 879 th.yui-dt-hidden .yui-dt-liner,
880 880 td.yui-dt-hidden .yui-dt-liner,
881 881 th.yui-dt-hidden .yui-dt-resizer { display: none }
882 882 .yui-dt-editor,
883 883 .yui-dt-editor-shim {
884 884 position: absolute;
885 885 z-index: 9000;
886 886 }
887 887 .yui-skin-sam .yui-dt table {
888 888 margin: 0;
889 889 padding: 0;
890 890 font-family: arial;
891 891 font-size: inherit;
892 892 border-collapse: separate;
893 893 *border-collapse: collapse;
894 894 border-spacing: 0;
895 895 border: 1px solid #7f7f7f;
896 896 }
897 897 .yui-skin-sam .yui-dt thead { border-spacing: 0 }
898 898 .yui-skin-sam .yui-dt caption {
899 899 color: #000;
900 900 font-size: 85%;
901 901 font-weight: normal;
902 902 font-style: italic;
903 903 line-height: 1;
904 904 padding: 1em 0;
905 905 text-align: center;
906 906 }
907 907 .yui-skin-sam .yui-dt th { background: #d8d8da url(../images/sprite.png) repeat-x 0 0 }
908 908 .yui-skin-sam .yui-dt th,
909 909 .yui-skin-sam .yui-dt th a {
910 910 font-weight: normal;
911 911 text-decoration: none;
912 912 color: #000;
913 913 vertical-align: bottom;
914 914 }
915 915 .yui-skin-sam .yui-dt th {
916 916 margin: 0;
917 917 padding: 0;
918 918 border: 0;
919 919 border-right: 1px solid #cbcbcb;
920 920 }
921 921 .yui-skin-sam .yui-dt tr.yui-dt-first td { border-top: 1px solid #7f7f7f }
922 922 .yui-skin-sam .yui-dt th .yui-dt-liner { white-space: nowrap }
923 923 .yui-skin-sam .yui-dt-liner {
924 924 margin: 0;
925 925 padding: 0;
926 926 }
927 927 .yui-skin-sam .yui-dt-coltarget {
928 928 width: 5px;
929 929 background-color: red;
930 930 }
931 931 .yui-skin-sam .yui-dt td {
932 932 margin: 0;
933 933 padding: 0;
934 934 border: 0;
935 935 border-right: 1px solid #cbcbcb;
936 936 text-align: left;
937 937 }
938 938 .yui-skin-sam .yui-dt-list td { border-right: 0 }
939 939 .yui-skin-sam .yui-dt-resizer { width: 6px }
940 940 .yui-skin-sam .yui-dt-mask {
941 941 background-color: #000;
942 942 opacity: .25;
943 943 filter: alpha(opacity=25);
944 944 }
945 945 .yui-skin-sam .yui-dt-message { background-color: #FFF }
946 946 .yui-skin-sam .yui-dt-scrollable table { border: 0 }
947 947 .yui-skin-sam .yui-dt-scrollable .yui-dt-hd {
948 948 border-left: 1px solid #7f7f7f;
949 949 border-top: 1px solid #7f7f7f;
950 950 border-right: 1px solid #7f7f7f;
951 951 }
952 952 .yui-skin-sam .yui-dt-scrollable .yui-dt-bd {
953 953 border-left: 1px solid #7f7f7f;
954 954 border-bottom: 1px solid #7f7f7f;
955 955 border-right: 1px solid #7f7f7f;
956 956 background-color: #FFF;
957 957 }
958 958 .yui-skin-sam .yui-dt-scrollable .yui-dt-data tr.yui-dt-last td { border-bottom: 1px solid #7f7f7f }
959 959 .yui-skin-sam th.yui-dt-asc,
960 960 .yui-skin-sam th.yui-dt-desc { background: url(../images/sprite.png) repeat-x 0 -100px }
961 961 .yui-skin-sam th.yui-dt-sortable .yui-dt-label { margin-right: 10px }
962 962 .yui-skin-sam th.yui-dt-asc .yui-dt-liner { background: url(../images/dt-arrow-up.png) no-repeat right }
963 963 .yui-skin-sam th.yui-dt-desc .yui-dt-liner { background: url(../images/dt-arrow-dn.png) no-repeat right }
964 964 tbody .yui-dt-editable { cursor: pointer }
965 965 .yui-dt-editor {
966 966 text-align: left;
967 967 background-color: #f2f2f2;
968 968 border: 1px solid #808080;
969 969 padding: 6px;
970 970 }
971 971 .yui-dt-editor label {
972 972 padding-left: 4px;
973 973 padding-right: 6px;
974 974 }
975 975 .yui-dt-editor .yui-dt-button {
976 976 padding-top: 6px;
977 977 text-align: right;
978 978 }
979 979 .yui-dt-editor .yui-dt-button button {
980 980 background: url(../images/sprite.png) repeat-x 0 0;
981 981 border: 1px solid #999;
982 982 width: 4em;
983 983 height: 1.8em;
984 984 margin-left: 6px;
985 985 }
986 986 .yui-dt-editor .yui-dt-button button.yui-dt-default {
987 987 background: url(../images/sprite.png) repeat-x 0 -1400px;
988 988 background-color: #5584e0;
989 989 border: 1px solid #304369;
990 990 color: #FFF;
991 991 }
992 992 .yui-dt-editor .yui-dt-button button:hover {
993 993 background: url(../images/sprite.png) repeat-x 0 -1300px;
994 994 color: #000;
995 995 }
996 996 .yui-dt-editor .yui-dt-button button:active {
997 997 background: url(../images/sprite.png) repeat-x 0 -1700px;
998 998 color: #000;
999 999 }
1000 1000 .yui-skin-sam tr.yui-dt-even { background-color: #FFF }
1001 1001 .yui-skin-sam tr.yui-dt-odd { background-color: #edf5ff }
1002 1002 .yui-skin-sam tr.yui-dt-even td.yui-dt-asc,
1003 1003 .yui-skin-sam tr.yui-dt-even td.yui-dt-desc { background-color: #edf5ff }
1004 1004 .yui-skin-sam tr.yui-dt-odd td.yui-dt-asc,
1005 1005 .yui-skin-sam tr.yui-dt-odd td.yui-dt-desc { background-color: #dbeaff }
1006 1006 .yui-skin-sam .yui-dt-list tr.yui-dt-even { background-color: #FFF }
1007 1007 .yui-skin-sam .yui-dt-list tr.yui-dt-odd { background-color: #FFF }
1008 1008 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-asc,
1009 1009 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-desc { background-color: #edf5ff }
1010 1010 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-asc,
1011 1011 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-desc { background-color: #edf5ff }
1012 1012 .yui-skin-sam th.yui-dt-highlighted,
1013 1013 .yui-skin-sam th.yui-dt-highlighted a { background-color: #b2d2ff }
1014 1014 .yui-skin-sam tr.yui-dt-highlighted,
1015 1015 .yui-skin-sam tr.yui-dt-highlighted td.yui-dt-asc,
1016 1016 .yui-skin-sam tr.yui-dt-highlighted td.yui-dt-desc,
1017 1017 .yui-skin-sam tr.yui-dt-even td.yui-dt-highlighted,
1018 1018 .yui-skin-sam tr.yui-dt-odd td.yui-dt-highlighted {
1019 1019 cursor: pointer;
1020 1020 background-color: #b2d2ff;
1021 1021 }
1022 1022 .yui-skin-sam .yui-dt-list th.yui-dt-highlighted,
1023 1023 .yui-skin-sam .yui-dt-list th.yui-dt-highlighted a { background-color: #b2d2ff }
1024 1024 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted,
1025 1025 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-asc,
1026 1026 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-desc,
1027 1027 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-highlighted,
1028 1028 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-highlighted {
1029 1029 cursor: pointer;
1030 1030 background-color: #b2d2ff;
1031 1031 }
1032 1032 .yui-skin-sam th.yui-dt-selected,
1033 1033 .yui-skin-sam th.yui-dt-selected a { background-color: #446cd7 }
1034 1034 .yui-skin-sam tr.yui-dt-selected td,
1035 1035 .yui-skin-sam tr.yui-dt-selected td.yui-dt-asc,
1036 1036 .yui-skin-sam tr.yui-dt-selected td.yui-dt-desc {
1037 1037 background-color: #426fd9;
1038 1038 color: #FFF;
1039 1039 }
1040 1040 .yui-skin-sam tr.yui-dt-even td.yui-dt-selected,
1041 1041 .yui-skin-sam tr.yui-dt-odd td.yui-dt-selected {
1042 1042 background-color: #446cd7;
1043 1043 color: #FFF;
1044 1044 }
1045 1045 .yui-skin-sam .yui-dt-list th.yui-dt-selected,
1046 1046 .yui-skin-sam .yui-dt-list th.yui-dt-selected a { background-color: #446cd7 }
1047 1047 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td,
1048 1048 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-asc,
1049 1049 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-desc {
1050 1050 background-color: #426fd9;
1051 1051 color: #FFF;
1052 1052 }
1053 1053 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-selected,
1054 1054 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-selected {
1055 1055 background-color: #446cd7;
1056 1056 color: #FFF;
1057 1057 }
1058 1058 .yui-skin-sam .yui-dt-paginator {
1059 1059 display: block;
1060 1060 margin: 6px 0;
1061 1061 white-space: nowrap;
1062 1062 }
1063 1063 .yui-skin-sam .yui-dt-paginator .yui-dt-first,
1064 1064 .yui-skin-sam .yui-dt-paginator .yui-dt-last,
1065 1065 .yui-skin-sam .yui-dt-paginator .yui-dt-selected { padding: 2px 6px }
1066 1066 .yui-skin-sam .yui-dt-paginator a.yui-dt-first,
1067 1067 .yui-skin-sam .yui-dt-paginator a.yui-dt-last { text-decoration: none }
1068 1068 .yui-skin-sam .yui-dt-paginator .yui-dt-previous,
1069 1069 .yui-skin-sam .yui-dt-paginator .yui-dt-next { display: none }
1070 1070 .yui-skin-sam a.yui-dt-page {
1071 1071 border: 1px solid #cbcbcb;
1072 1072 padding: 2px 6px;
1073 1073 text-decoration: none;
1074 1074 background-color: #fff;
1075 1075 }
1076 1076 .yui-skin-sam .yui-dt-selected {
1077 1077 border: 1px solid #fff;
1078 1078 background-color: #fff;
1079 1079 }
1080 1080
1081 1081 #content #left {
1082 1082 left: 0;
1083 1083 width: 280px;
1084 1084 position: absolute;
1085 1085 }
1086 1086
1087 1087 #content #right {
1088 1088 margin: 0 60px 10px 290px;
1089 1089 }
1090 1090
1091 1091 #content div.box {
1092 1092 clear: both;
1093 overflow: hidden;
1093 /* overflow: hidden;*/
1094 1094 background: #fff;
1095 1095 margin: 0 0 10px;
1096 1096 padding: 0 0 10px;
1097 1097 -webkit-border-radius: 4px 4px 4px 4px;
1098 1098 -khtml-border-radius: 4px 4px 4px 4px;
1099 1099 -moz-border-radius: 4px 4px 4px 4px;
1100 1100 border-radius: 4px 4px 4px 4px;
1101 1101 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1102 1102 }
1103 1103
1104 1104 #content div.box-left {
1105 1105 width: 49%;
1106 1106 clear: none;
1107 1107 float: left;
1108 1108 margin: 0 0 10px;
1109 1109 }
1110 1110
1111 1111 #content div.box-right {
1112 1112 width: 49%;
1113 1113 clear: none;
1114 1114 float: right;
1115 1115 margin: 0 0 10px;
1116 1116 }
1117 1117
1118 1118 #content div.box div.title {
1119 1119 clear: both;
1120 1120 overflow: hidden;
1121 1121 background-color: #003B76;
1122 1122 background-repeat: repeat-x;
1123 1123 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
1124 1124 background-image: -moz-linear-gradient(top, #003b76, #00376e);
1125 1125 background-image: -ms-linear-gradient(top, #003b76, #00376e);
1126 1126 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
1127 1127 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
1128 1128 background-image: -o-linear-gradient(top, #003b76, #00376e);
1129 1129 background-image: linear-gradient(top, #003b76, #00376e);
1130 1130 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76', endColorstr='#00376e', GradientType=0 );
1131 1131 margin: 0 0 20px;
1132 1132 padding: 0;
1133 1133 }
1134 1134
1135 1135 #content div.box div.title h5 {
1136 1136 float: left;
1137 1137 border: none;
1138 1138 color: #fff;
1139 1139 text-transform: uppercase;
1140 1140 margin: 0;
1141 1141 padding: 11px 0 11px 10px;
1142 1142 }
1143 1143
1144 1144 #content div.box div.title .link-white {
1145 1145 color: #FFFFFF;
1146 1146 }
1147 1147
1148 1148 #content div.box div.title .link-white.current {
1149 1149 color: #BFE3FF;
1150 1150 }
1151 1151
1152 1152 #content div.box div.title ul.links li {
1153 1153 list-style: none;
1154 1154 float: left;
1155 1155 margin: 0;
1156 1156 padding: 0;
1157 1157 }
1158 1158
1159 1159 #content div.box div.title ul.links li a {
1160 1160 border-left: 1px solid #316293;
1161 1161 color: #FFFFFF;
1162 1162 display: block;
1163 1163 float: left;
1164 1164 font-size: 13px;
1165 1165 font-weight: 700;
1166 1166 height: 1%;
1167 1167 margin: 0;
1168 1168 padding: 11px 22px 12px;
1169 1169 text-decoration: none;
1170 1170 }
1171 1171
1172 1172 #content div.box h1, #content div.box h2, #content div.box h3, #content div.box h4, #content div.box h5, #content div.box h6,
1173 1173 #content div.box div.h1, #content div.box div.h2, #content div.box div.h3, #content div.box div.h4, #content div.box div.h5, #content div.box div.h6 {
1174 1174 clear: both;
1175 1175 overflow: hidden;
1176 1176 border-bottom: 1px solid #DDD;
1177 1177 margin: 10px 20px;
1178 1178 padding: 0 0 15px;
1179 1179 }
1180 1180
1181 1181 #content div.box p {
1182 1182 color: #5f5f5f;
1183 1183 font-size: 12px;
1184 1184 line-height: 150%;
1185 1185 margin: 0 24px 10px;
1186 1186 padding: 0;
1187 1187 }
1188 1188
1189 1189 #content div.box blockquote {
1190 1190 border-left: 4px solid #DDD;
1191 1191 color: #5f5f5f;
1192 1192 font-size: 11px;
1193 1193 line-height: 150%;
1194 1194 margin: 0 34px;
1195 1195 padding: 0 0 0 14px;
1196 1196 }
1197 1197
1198 1198 #content div.box blockquote p {
1199 1199 margin: 10px 0;
1200 1200 padding: 0;
1201 1201 }
1202 1202
1203 1203 #content div.box dl {
1204 1204 margin: 10px 0px;
1205 1205 }
1206 1206
1207 1207 #content div.box dt {
1208 1208 font-size: 12px;
1209 1209 margin: 0;
1210 1210 }
1211 1211
1212 1212 #content div.box dd {
1213 1213 font-size: 12px;
1214 1214 margin: 0;
1215 1215 padding: 8px 0 8px 15px;
1216 1216 }
1217 1217
1218 1218 #content div.box li {
1219 1219 font-size: 12px;
1220 1220 padding: 4px 0;
1221 1221 }
1222 1222
1223 1223 #content div.box ul.disc, #content div.box ul.circle {
1224 1224 margin: 10px 24px 10px 38px;
1225 1225 }
1226 1226
1227 1227 #content div.box ul.square {
1228 1228 margin: 10px 24px 10px 40px;
1229 1229 }
1230 1230
1231 1231 #content div.box img.left {
1232 1232 border: none;
1233 1233 float: left;
1234 1234 margin: 10px 10px 10px 0;
1235 1235 }
1236 1236
1237 1237 #content div.box img.right {
1238 1238 border: none;
1239 1239 float: right;
1240 1240 margin: 10px 0 10px 10px;
1241 1241 }
1242 1242
1243 1243 #content div.box div.messages {
1244 1244 clear: both;
1245 1245 overflow: hidden;
1246 1246 margin: 0 20px;
1247 1247 padding: 0;
1248 1248 }
1249 1249
1250 1250 #content div.box div.message {
1251 1251 clear: both;
1252 1252 overflow: hidden;
1253 1253 margin: 0;
1254 1254 padding: 5px 0;
1255 1255 white-space: pre-wrap;
1256 1256 }
1257 1257 #content div.box div.expand {
1258 1258 width: 110%;
1259 1259 height:14px;
1260 1260 font-size:10px;
1261 1261 text-align:center;
1262 1262 cursor: pointer;
1263 1263 color:#666;
1264 1264
1265 1265 background:-webkit-gradient(linear,0% 50%,100% 50%,color-stop(0%,rgba(255,255,255,0)),color-stop(100%,rgba(64,96,128,0.1)));
1266 1266 background:-webkit-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1267 1267 background:-moz-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1268 1268 background:-o-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1269 1269 background:-ms-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1270 1270 background:linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1271 1271
1272 1272 display: none;
1273 1273 }
1274 1274 #content div.box div.expand .expandtext {
1275 1275 background-color: #ffffff;
1276 1276 padding: 2px;
1277 1277 border-radius: 2px;
1278 1278 }
1279 1279
1280 1280 #content div.box div.message a {
1281 1281 font-weight: 400 !important;
1282 1282 }
1283 1283
1284 1284 #content div.box div.message div.image {
1285 1285 float: left;
1286 1286 margin: 9px 0 0 5px;
1287 1287 padding: 6px;
1288 1288 }
1289 1289
1290 1290 #content div.box div.message div.image img {
1291 1291 vertical-align: middle;
1292 1292 margin: 0;
1293 1293 }
1294 1294
1295 1295 #content div.box div.message div.text {
1296 1296 float: left;
1297 1297 margin: 0;
1298 1298 padding: 9px 6px;
1299 1299 }
1300 1300
1301 1301 #content div.box div.message div.dismiss a {
1302 1302 height: 16px;
1303 1303 width: 16px;
1304 1304 display: block;
1305 1305 background: url("../images/icons/cross.png") no-repeat;
1306 1306 margin: 15px 14px 0 0;
1307 1307 padding: 0;
1308 1308 }
1309 1309
1310 1310 #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 {
1311 1311 border: none;
1312 1312 margin: 0;
1313 1313 padding: 0;
1314 1314 }
1315 1315
1316 1316 #content div.box div.message div.text span {
1317 1317 height: 1%;
1318 1318 display: block;
1319 1319 margin: 0;
1320 1320 padding: 5px 0 0;
1321 1321 }
1322 1322
1323 1323 #content div.box div.message-error {
1324 1324 height: 1%;
1325 1325 clear: both;
1326 1326 overflow: hidden;
1327 1327 background: #FBE3E4;
1328 1328 border: 1px solid #FBC2C4;
1329 1329 color: #860006;
1330 1330 }
1331 1331
1332 1332 #content div.box div.message-error h6 {
1333 1333 color: #860006;
1334 1334 }
1335 1335
1336 1336 #content div.box div.message-warning {
1337 1337 height: 1%;
1338 1338 clear: both;
1339 1339 overflow: hidden;
1340 1340 background: #FFF6BF;
1341 1341 border: 1px solid #FFD324;
1342 1342 color: #5f5200;
1343 1343 }
1344 1344
1345 1345 #content div.box div.message-warning h6 {
1346 1346 color: #5f5200;
1347 1347 }
1348 1348
1349 1349 #content div.box div.message-notice {
1350 1350 height: 1%;
1351 1351 clear: both;
1352 1352 overflow: hidden;
1353 1353 background: #8FBDE0;
1354 1354 border: 1px solid #6BACDE;
1355 1355 color: #003863;
1356 1356 }
1357 1357
1358 1358 #content div.box div.message-notice h6 {
1359 1359 color: #003863;
1360 1360 }
1361 1361
1362 1362 #content div.box div.message-success {
1363 1363 height: 1%;
1364 1364 clear: both;
1365 1365 overflow: hidden;
1366 1366 background: #E6EFC2;
1367 1367 border: 1px solid #C6D880;
1368 1368 color: #4e6100;
1369 1369 }
1370 1370
1371 1371 #content div.box div.message-success h6 {
1372 1372 color: #4e6100;
1373 1373 }
1374 1374
1375 1375 #content div.box div.form div.fields div.field {
1376 1376 height: 1%;
1377 1377 min-height: 12px;
1378 1378 border-bottom: 1px solid #DDD;
1379 1379 clear: both;
1380 1380 margin: 0;
1381 1381 padding: 10px 0;
1382 1382 }
1383 1383
1384 1384 #content div.box div.form div.fields div.field-first {
1385 1385 padding: 0 0 10px;
1386 1386 }
1387 1387
1388 1388 #content div.box div.form div.fields div.field-noborder {
1389 1389 border-bottom: 0 !important;
1390 1390 }
1391 1391
1392 1392 #content div.box div.form div.fields div.field span.error-message {
1393 1393 height: 1%;
1394 1394 display: inline-block;
1395 1395 color: red;
1396 1396 margin: 8px 0 0 4px;
1397 1397 padding: 0;
1398 1398 }
1399 1399
1400 1400 #content div.box div.form div.fields div.field span.success {
1401 1401 height: 1%;
1402 1402 display: block;
1403 1403 color: #316309;
1404 1404 margin: 8px 0 0;
1405 1405 padding: 0;
1406 1406 }
1407 1407
1408 1408 #content div.box div.form div.fields div.field div.label {
1409 1409 left: 70px;
1410 1410 width: 155px;
1411 1411 position: absolute;
1412 1412 margin: 0;
1413 1413 padding: 5px 0 0 0px;
1414 1414 }
1415 1415
1416 1416 #content div.box div.form div.fields div.field div.label-summary {
1417 1417 left: 30px;
1418 1418 width: 155px;
1419 1419 position: absolute;
1420 1420 margin: 0;
1421 1421 padding: 0px 0 0 0px;
1422 1422 }
1423 1423
1424 1424 #content div.box-left div.form div.fields div.field div.label,
1425 1425 #content div.box-right div.form div.fields div.field div.label,
1426 1426 #content div.box-left div.form div.fields div.field div.label,
1427 1427 #content div.box-left div.form div.fields div.field div.label-summary,
1428 1428 #content div.box-right div.form div.fields div.field div.label-summary,
1429 1429 #content div.box-left div.form div.fields div.field div.label-summary {
1430 1430 clear: both;
1431 1431 overflow: hidden;
1432 1432 left: 0;
1433 1433 width: auto;
1434 1434 position: relative;
1435 1435 margin: 0;
1436 1436 padding: 0 0 8px;
1437 1437 }
1438 1438
1439 1439 #content div.box div.form div.fields div.field div.label-select {
1440 1440 padding: 5px 0 0 5px;
1441 1441 }
1442 1442
1443 1443 #content div.box-left div.form div.fields div.field div.label-select,
1444 1444 #content div.box-right div.form div.fields div.field div.label-select {
1445 1445 padding: 0 0 8px;
1446 1446 }
1447 1447
1448 1448 #content div.box-left div.form div.fields div.field div.label-textarea,
1449 1449 #content div.box-right div.form div.fields div.field div.label-textarea {
1450 1450 padding: 0 0 8px !important;
1451 1451 }
1452 1452
1453 1453 #content div.box div.form div.fields div.field div.label label, div.label label {
1454 1454 color: #393939;
1455 1455 font-weight: 700;
1456 1456 }
1457 1457 #content div.box div.form div.fields div.field div.label label, div.label-summary label {
1458 1458 color: #393939;
1459 1459 font-weight: 700;
1460 1460 }
1461 1461 #content div.box div.form div.fields div.field div.input {
1462 1462 margin: 0 0 0 200px;
1463 1463 }
1464 1464
1465 1465 #content div.box div.form div.fields div.field div.input.summary {
1466 1466 margin: 0 0 0 110px;
1467 1467 }
1468 1468 #content div.box div.form div.fields div.field div.input.summary-short {
1469 1469 margin: 0 0 0 110px;
1470 1470 }
1471 1471 #content div.box div.form div.fields div.field div.file {
1472 1472 margin: 0 0 0 200px;
1473 1473 }
1474 1474
1475 1475 #content div.box-left div.form div.fields div.field div.input, #content div.box-right div.form div.fields div.field div.input {
1476 1476 margin: 0 0 0 0px;
1477 1477 }
1478 1478
1479 1479 #content div.box div.form div.fields div.field div.input input,
1480 1480 .reviewer_ac input {
1481 1481 background: #FFF;
1482 1482 border-top: 1px solid #b3b3b3;
1483 1483 border-left: 1px solid #b3b3b3;
1484 1484 border-right: 1px solid #eaeaea;
1485 1485 border-bottom: 1px solid #eaeaea;
1486 1486 color: #000;
1487 1487 font-size: 11px;
1488 1488 margin: 0;
1489 1489 padding: 7px 7px 6px;
1490 1490 }
1491 1491
1492 1492 #content div.box div.form div.fields div.field div.input input#clone_url,
1493 1493 #content div.box div.form div.fields div.field div.input input#clone_url_id
1494 1494 {
1495 1495 font-size: 16px;
1496 1496 padding: 2px;
1497 1497 }
1498 1498
1499 1499 #content div.box div.form div.fields div.field div.file input {
1500 1500 background: none repeat scroll 0 0 #FFFFFF;
1501 1501 border-color: #B3B3B3 #EAEAEA #EAEAEA #B3B3B3;
1502 1502 border-style: solid;
1503 1503 border-width: 1px;
1504 1504 color: #000000;
1505 1505 font-size: 11px;
1506 1506 margin: 0;
1507 1507 padding: 7px 7px 6px;
1508 1508 }
1509 1509
1510 1510 input.disabled {
1511 1511 background-color: #F5F5F5 !important;
1512 1512 }
1513 1513 #content div.box div.form div.fields div.field div.input input.small {
1514 1514 width: 30%;
1515 1515 }
1516 1516
1517 1517 #content div.box div.form div.fields div.field div.input input.medium {
1518 1518 width: 55%;
1519 1519 }
1520 1520
1521 1521 #content div.box div.form div.fields div.field div.input input.large {
1522 1522 width: 85%;
1523 1523 }
1524 1524
1525 1525 #content div.box div.form div.fields div.field div.input input.date {
1526 1526 width: 177px;
1527 1527 }
1528 1528
1529 1529 #content div.box div.form div.fields div.field div.input input.button {
1530 1530 background: #D4D0C8;
1531 1531 border-top: 1px solid #FFF;
1532 1532 border-left: 1px solid #FFF;
1533 1533 border-right: 1px solid #404040;
1534 1534 border-bottom: 1px solid #404040;
1535 1535 color: #000;
1536 1536 margin: 0;
1537 1537 padding: 4px 8px;
1538 1538 }
1539 1539
1540 1540 #content div.box div.form div.fields div.field div.textarea {
1541 1541 border-top: 1px solid #b3b3b3;
1542 1542 border-left: 1px solid #b3b3b3;
1543 1543 border-right: 1px solid #eaeaea;
1544 1544 border-bottom: 1px solid #eaeaea;
1545 1545 margin: 0 0 0 200px;
1546 1546 padding: 10px;
1547 1547 }
1548 1548
1549 1549 #content div.box div.form div.fields div.field div.textarea-editor {
1550 1550 border: 1px solid #ddd;
1551 1551 padding: 0;
1552 1552 }
1553 1553
1554 1554 #content div.box div.form div.fields div.field div.textarea textarea {
1555 1555 width: 100%;
1556 1556 height: 220px;
1557 1557 overflow: hidden;
1558 1558 background: #FFF;
1559 1559 color: #000;
1560 1560 font-size: 11px;
1561 1561 outline: none;
1562 1562 border-width: 0;
1563 1563 margin: 0;
1564 1564 padding: 0;
1565 1565 }
1566 1566
1567 1567 #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 {
1568 1568 width: 100%;
1569 1569 height: 100px;
1570 1570 }
1571 1571
1572 1572 #content div.box div.form div.fields div.field div.textarea table {
1573 1573 width: 100%;
1574 1574 border: none;
1575 1575 margin: 0;
1576 1576 padding: 0;
1577 1577 }
1578 1578
1579 1579 #content div.box div.form div.fields div.field div.textarea table td {
1580 1580 background: #DDD;
1581 1581 border: none;
1582 1582 padding: 0;
1583 1583 }
1584 1584
1585 1585 #content div.box div.form div.fields div.field div.textarea table td table {
1586 1586 width: auto;
1587 1587 border: none;
1588 1588 margin: 0;
1589 1589 padding: 0;
1590 1590 }
1591 1591
1592 1592 #content div.box div.form div.fields div.field div.textarea table td table td {
1593 1593 font-size: 11px;
1594 1594 padding: 5px 5px 5px 0;
1595 1595 }
1596 1596
1597 1597 #content div.box div.form div.fields div.field input[type=text]:focus,
1598 1598 #content div.box div.form div.fields div.field input[type=password]:focus,
1599 1599 #content div.box div.form div.fields div.field input[type=file]:focus,
1600 1600 #content div.box div.form div.fields div.field textarea:focus,
1601 1601 #content div.box div.form div.fields div.field select:focus,
1602 1602 .reviewer_ac input:focus {
1603 1603 background: #f6f6f6;
1604 1604 border-color: #666;
1605 1605 }
1606 1606
1607 1607 .reviewer_ac {
1608 1608 padding:10px
1609 1609 }
1610 1610
1611 1611 div.form div.fields div.field div.button {
1612 1612 margin: 0;
1613 1613 padding: 0 0 0 8px;
1614 1614 }
1615 1615 #content div.box table.noborder {
1616 1616 border: 1px solid transparent;
1617 1617 }
1618 1618
1619 1619 #content div.box table {
1620 1620 width: 100%;
1621 1621 border-collapse: separate;
1622 1622 margin: 0;
1623 1623 padding: 0;
1624 1624 border: 1px solid #eee;
1625 1625 -webkit-border-radius: 4px;
1626 1626 -moz-border-radius: 4px;
1627 1627 border-radius: 4px;
1628 1628 }
1629 1629
1630 1630 #content div.box table th {
1631 1631 background: #eee;
1632 1632 border-bottom: 1px solid #ddd;
1633 1633 padding: 5px 0px 5px 5px;
1634 1634 text-align: left;
1635 1635 }
1636 1636
1637 1637 #content div.box table th.left {
1638 1638 text-align: left;
1639 1639 }
1640 1640
1641 1641 #content div.box table th.right {
1642 1642 text-align: right;
1643 1643 }
1644 1644
1645 1645 #content div.box table th.center {
1646 1646 text-align: center;
1647 1647 }
1648 1648
1649 1649 #content div.box table th.selected {
1650 1650 vertical-align: middle;
1651 1651 padding: 0;
1652 1652 }
1653 1653
1654 1654 #content div.box table td {
1655 1655 background: #fff;
1656 1656 border-bottom: 1px solid #cdcdcd;
1657 1657 vertical-align: middle;
1658 1658 padding: 5px;
1659 1659 }
1660 1660
1661 1661 #content div.box table tr.selected td {
1662 1662 background: #FFC;
1663 1663 }
1664 1664
1665 1665 #content div.box table td.selected {
1666 1666 width: 3%;
1667 1667 text-align: center;
1668 1668 vertical-align: middle;
1669 1669 padding: 0;
1670 1670 }
1671 1671
1672 1672 #content div.box table td.action {
1673 1673 width: 45%;
1674 1674 text-align: left;
1675 1675 }
1676 1676
1677 1677 #content div.box table td.date {
1678 1678 width: 33%;
1679 1679 text-align: center;
1680 1680 }
1681 1681
1682 1682 #content div.box div.action {
1683 1683 float: right;
1684 1684 background: #FFF;
1685 1685 text-align: right;
1686 1686 margin: 10px 0 0;
1687 1687 padding: 0;
1688 1688 }
1689 1689
1690 1690 #content div.box div.action select {
1691 1691 font-size: 11px;
1692 1692 margin: 0;
1693 1693 }
1694 1694
1695 1695 #content div.box div.action .ui-selectmenu {
1696 1696 margin: 0;
1697 1697 padding: 0;
1698 1698 }
1699 1699
1700 1700 #content div.box div.pagination {
1701 1701 height: 1%;
1702 1702 clear: both;
1703 1703 overflow: hidden;
1704 1704 margin: 10px 0 0;
1705 1705 padding: 0;
1706 1706 }
1707 1707
1708 1708 #content div.box div.pagination ul.pager {
1709 1709 float: right;
1710 1710 text-align: right;
1711 1711 margin: 0;
1712 1712 padding: 0;
1713 1713 }
1714 1714
1715 1715 #content div.box div.pagination ul.pager li {
1716 1716 height: 1%;
1717 1717 float: left;
1718 1718 list-style: none;
1719 1719 background: #ebebeb url("../images/pager.png") repeat-x;
1720 1720 border-top: 1px solid #dedede;
1721 1721 border-left: 1px solid #cfcfcf;
1722 1722 border-right: 1px solid #c4c4c4;
1723 1723 border-bottom: 1px solid #c4c4c4;
1724 1724 color: #4A4A4A;
1725 1725 font-weight: 700;
1726 1726 margin: 0 0 0 4px;
1727 1727 padding: 0;
1728 1728 }
1729 1729
1730 1730 #content div.box div.pagination ul.pager li.separator {
1731 1731 padding: 6px;
1732 1732 }
1733 1733
1734 1734 #content div.box div.pagination ul.pager li.current {
1735 1735 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1736 1736 border-top: 1px solid #ccc;
1737 1737 border-left: 1px solid #bebebe;
1738 1738 border-right: 1px solid #b1b1b1;
1739 1739 border-bottom: 1px solid #afafaf;
1740 1740 color: #515151;
1741 1741 padding: 6px;
1742 1742 }
1743 1743
1744 1744 #content div.box div.pagination ul.pager li a {
1745 1745 height: 1%;
1746 1746 display: block;
1747 1747 float: left;
1748 1748 color: #515151;
1749 1749 text-decoration: none;
1750 1750 margin: 0;
1751 1751 padding: 6px;
1752 1752 }
1753 1753
1754 1754 #content div.box div.pagination ul.pager li a:hover, #content div.box div.pagination ul.pager li a:active {
1755 1755 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1756 1756 border-top: 1px solid #ccc;
1757 1757 border-left: 1px solid #bebebe;
1758 1758 border-right: 1px solid #b1b1b1;
1759 1759 border-bottom: 1px solid #afafaf;
1760 1760 margin: -1px;
1761 1761 }
1762 1762
1763 1763 #content div.box div.pagination-wh {
1764 1764 height: 1%;
1765 1765 clear: both;
1766 1766 overflow: hidden;
1767 1767 text-align: right;
1768 1768 margin: 10px 0 0;
1769 1769 padding: 0;
1770 1770 }
1771 1771
1772 1772 #content div.box div.pagination-right {
1773 1773 float: right;
1774 1774 }
1775 1775
1776 1776 #content div.box div.pagination-wh a,
1777 1777 #content div.box div.pagination-wh span.pager_dotdot,
1778 1778 #content div.box div.pagination-wh span.yui-pg-previous,
1779 1779 #content div.box div.pagination-wh span.yui-pg-last,
1780 1780 #content div.box div.pagination-wh span.yui-pg-next,
1781 1781 #content div.box div.pagination-wh span.yui-pg-first {
1782 1782 height: 1%;
1783 1783 float: left;
1784 1784 background: #ebebeb url("../images/pager.png") repeat-x;
1785 1785 border-top: 1px solid #dedede;
1786 1786 border-left: 1px solid #cfcfcf;
1787 1787 border-right: 1px solid #c4c4c4;
1788 1788 border-bottom: 1px solid #c4c4c4;
1789 1789 color: #4A4A4A;
1790 1790 font-weight: 700;
1791 1791 margin: 0 0 0 4px;
1792 1792 padding: 6px;
1793 1793 }
1794 1794
1795 1795 #content div.box div.pagination-wh span.pager_curpage {
1796 1796 height: 1%;
1797 1797 float: left;
1798 1798 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1799 1799 border-top: 1px solid #ccc;
1800 1800 border-left: 1px solid #bebebe;
1801 1801 border-right: 1px solid #b1b1b1;
1802 1802 border-bottom: 1px solid #afafaf;
1803 1803 color: #515151;
1804 1804 font-weight: 700;
1805 1805 margin: 0 0 0 4px;
1806 1806 padding: 6px;
1807 1807 }
1808 1808
1809 1809 #content div.box div.pagination-wh a:hover, #content div.box div.pagination-wh a:active {
1810 1810 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1811 1811 border-top: 1px solid #ccc;
1812 1812 border-left: 1px solid #bebebe;
1813 1813 border-right: 1px solid #b1b1b1;
1814 1814 border-bottom: 1px solid #afafaf;
1815 1815 text-decoration: none;
1816 1816 }
1817 1817
1818 1818 #content div.box div.traffic div.legend {
1819 1819 clear: both;
1820 1820 overflow: hidden;
1821 1821 border-bottom: 1px solid #ddd;
1822 1822 margin: 0 0 10px;
1823 1823 padding: 0 0 10px;
1824 1824 }
1825 1825
1826 1826 #content div.box div.traffic div.legend h6 {
1827 1827 float: left;
1828 1828 border: none;
1829 1829 margin: 0;
1830 1830 padding: 0;
1831 1831 }
1832 1832
1833 1833 #content div.box div.traffic div.legend li {
1834 1834 list-style: none;
1835 1835 float: left;
1836 1836 font-size: 11px;
1837 1837 margin: 0;
1838 1838 padding: 0 8px 0 4px;
1839 1839 }
1840 1840
1841 1841 #content div.box div.traffic div.legend li.visits {
1842 1842 border-left: 12px solid #edc240;
1843 1843 }
1844 1844
1845 1845 #content div.box div.traffic div.legend li.pageviews {
1846 1846 border-left: 12px solid #afd8f8;
1847 1847 }
1848 1848
1849 1849 #content div.box div.traffic table {
1850 1850 width: auto;
1851 1851 }
1852 1852
1853 1853 #content div.box div.traffic table td {
1854 1854 background: transparent;
1855 1855 border: none;
1856 1856 padding: 2px 3px 3px;
1857 1857 }
1858 1858
1859 1859 #content div.box div.traffic table td.legendLabel {
1860 1860 padding: 0 3px 2px;
1861 1861 }
1862 1862
1863 1863 #summary {
1864 float: left;
1865 width: 80%;
1866 }
1867
1868 #summary-menu-stats{
1869 float: left;
1870 width: 20%;
1871 }
1872
1873 #summary-menu-stats ul {
1874 margin: 0 10px;
1875 display: block;
1876 background-color: #f9f9f9;
1877 border: 1px solid #d1d1d1;
1878 border-radius: 4px;
1879 }
1880
1881 #content #summary-menu-stats li {
1882 border-top: 1px solid #d1d1d1;
1883 line-height: 32px;
1884 padding: 0;
1885 }
1886
1887 #content #summary-menu-stats li:hover {
1888 background: #f0f0f0;
1889 }
1890
1891 #content #summary-menu-stats li:first-child {
1892 border-top: none;
1893 }
1894
1895 #summary-menu-stats a.followers { background-image: url('../images/icons/heart.png')}
1896 #summary-menu-stats a.forks { background-image: url('../images/icons/arrow_divide.png')}
1897 #summary-menu-stats a.settings { background-image: url('../images/icons/cog_edit.png')}
1898 #summary-menu-stats a.feed { background-image: url('../images/icons/rss_16.png')}
1899 #summary-menu-stats a.repo-size { background-image: url('../images/icons/server.png')}
1900
1901 #summary-menu-stats a {
1902 display: block;
1903 color: #000000;
1904 padding: 0 30px;
1905 background-repeat: no-repeat;
1906 background-position: 10px 50%;
1907 }
1908
1909 #repo_size_2 {
1910 margin-left: 25px;
1911 }
1912
1913 #summary-menu-stats a:hover {
1914 text-decoration: none;
1915 }
1916
1917 #summary-menu-stats a span{
1918 background-color: #FFF;
1919 border: 1px inset #f0f0f0;
1920 border-radius:7px;
1921 padding: 1px;
1922 font-size: 10px;
1864 1923 }
1865 1924
1866 1925 #summary .metatag {
1867 1926 display: inline-block;
1868 1927 padding: 3px 5px;
1869 1928 margin-bottom: 3px;
1870 1929 margin-right: 1px;
1871 1930 border-radius: 5px;
1872 1931 }
1873 1932
1874 1933 #content div.box #summary p {
1875 1934 margin-bottom: -5px;
1876 1935 width: 600px;
1877 1936 white-space: pre-wrap;
1878 1937 }
1879 1938
1880 1939 #content div.box #summary p:last-child {
1881 1940 margin-bottom: 9px;
1882 1941 }
1883 1942
1884 1943 #content div.box #summary p:first-of-type {
1885 1944 margin-top: 9px;
1886 1945 }
1887 1946
1888 1947 .metatag {
1889 1948 display: inline-block;
1890 1949 margin-right: 1px;
1891 1950 -webkit-border-radius: 4px 4px 4px 4px;
1892 1951 -khtml-border-radius: 4px 4px 4px 4px;
1893 1952 -moz-border-radius: 4px 4px 4px 4px;
1894 1953 border-radius: 4px 4px 4px 4px;
1895 1954
1896 1955 border: solid 1px #9CF;
1897 1956 padding: 2px 3px 2px 3px !important;
1898 1957 background-color: #DEF;
1899 1958 }
1900 1959
1901 1960 .metatag[tag="dead"] {
1902 1961 background-color: #E44;
1903 1962 }
1904 1963
1905 1964 .metatag[tag="stale"] {
1906 1965 background-color: #EA4;
1907 1966 }
1908 1967
1909 1968 .metatag[tag="featured"] {
1910 1969 background-color: #AEA;
1911 1970 }
1912 1971
1913 1972 .metatag[tag="requires"] {
1914 1973 background-color: #9CF;
1915 1974 }
1916 1975
1917 1976 .metatag[tag="recommends"] {
1918 1977 background-color: #BDF;
1919 1978 }
1920 1979
1921 1980 .metatag[tag="lang"] {
1922 1981 background-color: #FAF474;
1923 1982 }
1924 1983
1925 1984 .metatag[tag="license"] {
1926 1985 border: solid 1px #9CF;
1927 1986 background-color: #DEF;
1928 1987 target-new: tab !important;
1929 1988 }
1930 1989 .metatag[tag="see"] {
1931 1990 border: solid 1px #CBD;
1932 1991 background-color: #EDF;
1933 1992 }
1934 1993
1935 1994 a.metatag[tag="license"]:hover {
1936 1995 background-color: #003367;
1937 1996 color: #FFF;
1938 1997 text-decoration: none;
1939 1998 }
1940 1999
1941 2000 #summary .desc {
1942 2001 white-space: pre;
1943 2002 width: 100%;
1944 2003 }
1945 2004
1946 2005 #summary .repo_name {
1947 2006 font-size: 1.6em;
1948 2007 font-weight: bold;
1949 2008 vertical-align: baseline;
1950 2009 clear: right
1951 2010 }
1952 2011
1953 2012 #footer {
1954 2013 clear: both;
1955 2014 overflow: hidden;
1956 2015 text-align: right;
1957 2016 margin: 0;
1958 2017 padding: 0 10px 4px;
1959 2018 margin: -10px 0 0;
1960 2019 }
1961 2020
1962 2021 #footer div#footer-inner {
1963 2022 background-color: #003B76;
1964 2023 background-repeat : repeat-x;
1965 2024 background-image : -khtml-gradient( linear, left top, left bottom, from(#003B76), to(#00376E));
1966 2025 background-image : -moz-linear-gradient(top, #003b76, #00376e);
1967 2026 background-image : -ms-linear-gradient( top, #003b76, #00376e);
1968 2027 background-image : -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #003b76), color-stop( 100%, #00376e));
1969 2028 background-image : -webkit-linear-gradient( top, #003b76, #00376e));
1970 2029 background-image : -o-linear-gradient( top, #003b76, #00376e));
1971 2030 background-image : linear-gradient( top, #003b76, #00376e);
1972 2031 filter :progid : DXImageTransform.Microsoft.gradient ( startColorstr = '#003b76', endColorstr = '#00376e', GradientType = 0);
1973 2032 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1974 2033 -webkit-border-radius: 4px 4px 4px 4px;
1975 2034 -khtml-border-radius: 4px 4px 4px 4px;
1976 2035 -moz-border-radius: 4px 4px 4px 4px;
1977 2036 border-radius: 4px 4px 4px 4px;
1978 2037 }
1979 2038
1980 2039 #footer div#footer-inner p {
1981 2040 padding: 15px 25px 15px 0;
1982 2041 color: #FFF;
1983 2042 font-weight: 700;
1984 2043 }
1985 2044
1986 2045 #footer div#footer-inner .footer-link {
1987 2046 float: left;
1988 2047 padding-left: 10px;
1989 2048 }
1990 2049
1991 2050 #footer div#footer-inner .footer-link a, #footer div#footer-inner .footer-link-right a {
1992 2051 color: #FFF;
1993 2052 }
1994 2053
1995 2054 #login div.title {
1996 2055 clear: both;
1997 2056 overflow: hidden;
1998 2057 position: relative;
1999 2058 background-color: #003B76;
2000 2059 background-repeat : repeat-x;
2001 2060 background-image : -khtml-gradient( linear, left top, left bottom, from(#003B76), to(#00376E));
2002 2061 background-image : -moz-linear-gradient( top, #003b76, #00376e);
2003 2062 background-image : -ms-linear-gradient( top, #003b76, #00376e);
2004 2063 background-image : -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #003b76), color-stop( 100%, #00376e));
2005 2064 background-image : -webkit-linear-gradient( top, #003b76, #00376e));
2006 2065 background-image : -o-linear-gradient( top, #003b76, #00376e));
2007 2066 background-image : linear-gradient( top, #003b76, #00376e);
2008 2067 filter : progid : DXImageTransform.Microsoft.gradient ( startColorstr = '#003b76', endColorstr = '#00376e', GradientType = 0);
2009 2068 margin: 0 auto;
2010 2069 padding: 0;
2011 2070 }
2012 2071
2013 2072 #login div.inner {
2014 2073 background: #FFF url("../images/login.png") no-repeat top left;
2015 2074 border-top: none;
2016 2075 border-bottom: none;
2017 2076 margin: 0 auto;
2018 2077 padding: 20px;
2019 2078 }
2020 2079
2021 2080 #login div.form div.fields div.field div.label {
2022 2081 width: 173px;
2023 2082 float: left;
2024 2083 text-align: right;
2025 2084 margin: 2px 10px 0 0;
2026 2085 padding: 5px 0 0 5px;
2027 2086 }
2028 2087
2029 2088 #login div.form div.fields div.field div.input input {
2030 2089 background: #FFF;
2031 2090 border-top: 1px solid #b3b3b3;
2032 2091 border-left: 1px solid #b3b3b3;
2033 2092 border-right: 1px solid #eaeaea;
2034 2093 border-bottom: 1px solid #eaeaea;
2035 2094 color: #000;
2036 2095 font-size: 11px;
2037 2096 margin: 0;
2038 2097 padding: 7px 7px 6px;
2039 2098 }
2040 2099
2041 2100 #login div.form div.fields div.buttons {
2042 2101 clear: both;
2043 2102 overflow: hidden;
2044 2103 border-top: 1px solid #DDD;
2045 2104 text-align: right;
2046 2105 margin: 0;
2047 2106 padding: 10px 0 0;
2048 2107 }
2049 2108
2050 2109 #login div.form div.links {
2051 2110 clear: both;
2052 2111 overflow: hidden;
2053 2112 margin: 10px 0 0;
2054 2113 padding: 0 0 2px;
2055 2114 }
2056 2115
2057 2116 .user-menu {
2058 2117 margin: 0px !important;
2059 2118 float: left;
2060 2119 }
2061 2120
2062 2121 .user-menu .container {
2063 2122 padding:0px 4px 0px 4px;
2064 2123 margin: 0px 0px 0px 0px;
2065 2124 }
2066 2125
2067 2126 .user-menu .gravatar {
2068 2127 margin: 0px 0px 0px 0px;
2069 2128 cursor: pointer;
2070 2129 }
2071 2130 .user-menu .gravatar.enabled {
2072 2131 background-color: #FDF784 !important;
2073 2132 }
2074 2133 .user-menu .gravatar:hover {
2075 2134 background-color: #FDF784 !important;
2076 2135 }
2077 2136 #quick_login {
2078 2137 min-height: 80px;
2079 2138 padding: 4px;
2080 2139 position: absolute;
2081 2140 right: 0;
2082 2141 width: 278px;
2083 2142 background-color: #003B76;
2084 2143 background-repeat: repeat-x;
2085 2144 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
2086 2145 background-image: -moz-linear-gradient(top, #003b76, #00376e);
2087 2146 background-image: -ms-linear-gradient(top, #003b76, #00376e);
2088 2147 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
2089 2148 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
2090 2149 background-image: -o-linear-gradient(top, #003b76, #00376e);
2091 2150 background-image: linear-gradient(top, #003b76, #00376e);
2092 2151 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76', endColorstr='#00376e', GradientType=0 );
2093 2152
2094 2153 z-index: 999;
2095 2154 -webkit-border-radius: 0px 0px 4px 4px;
2096 2155 -khtml-border-radius: 0px 0px 4px 4px;
2097 2156 -moz-border-radius: 0px 0px 4px 4px;
2098 2157 border-radius: 0px 0px 4px 4px;
2099 2158 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
2100 2159 }
2101 2160 #quick_login h4 {
2102 2161 color: #fff;
2103 2162 padding: 5px 0px 5px 14px;
2104 2163 }
2105 2164
2106 2165 #quick_login .password_forgoten {
2107 2166 padding-right: 10px;
2108 2167 padding-top: 0px;
2109 2168 text-align: left;
2110 2169 }
2111 2170
2112 2171 #quick_login .password_forgoten a {
2113 2172 font-size: 10px;
2114 2173 color: #fff;
2115 2174 }
2116 2175
2117 2176 #quick_login .register {
2118 2177 padding-right: 10px;
2119 2178 padding-top: 5px;
2120 2179 text-align: left;
2121 2180 }
2122 2181
2123 2182 #quick_login .register a {
2124 2183 font-size: 10px;
2125 2184 color: #fff;
2126 2185 }
2127 2186
2128 2187 #quick_login .submit {
2129 2188 margin: -20px 0 0 0px;
2130 2189 position: absolute;
2131 2190 right: 15px;
2132 2191 }
2133 2192
2134 2193 #quick_login .links_left {
2135 2194 float: left;
2136 2195 }
2137 2196 #quick_login .links_right {
2138 2197 float: right;
2139 2198 }
2140 2199 #quick_login .full_name {
2141 2200 color: #FFFFFF;
2142 2201 font-weight: bold;
2143 2202 padding: 3px 3px 3px 6px;
2144 2203 }
2145 2204 #quick_login .big_gravatar {
2146 2205 padding:4px 0px 0px 6px;
2147 2206 }
2148 2207 #quick_login .notifications {
2149 2208 padding:4px 0px 0px 6px;
2150 2209 color: #FFFFFF;
2151 2210 font-weight: bold;
2152 2211 }
2153 2212 #quick_login .notifications a,
2154 2213 #quick_login .unread a {
2155 2214 color: #FFFFFF;
2156 2215 display: block;
2157 2216 padding: 2px;
2158 2217 }
2159 2218 #quick_login .notifications a:hover,
2160 2219 #quick_login .unread a:hover {
2161 2220 background-color: inherit !important;
2162 2221 }
2163 2222 #quick_login .email, #quick_login .unread {
2164 2223 color: #FFFFFF;
2165 2224 padding: 3px 3px 3px 6px;
2166 2225 }
2167 2226 #quick_login .links .logout {
2168 2227 }
2169 2228
2170 2229 #quick_login div.form div.fields {
2171 2230 padding-top: 2px;
2172 2231 padding-left: 10px;
2173 2232 }
2174 2233
2175 2234 #quick_login div.form div.fields div.field {
2176 2235 padding: 5px;
2177 2236 }
2178 2237
2179 2238 #quick_login div.form div.fields div.field div.label label {
2180 2239 color: #fff;
2181 2240 padding-bottom: 3px;
2182 2241 }
2183 2242
2184 2243 #quick_login div.form div.fields div.field div.input input {
2185 2244 width: 236px;
2186 2245 background: #FFF;
2187 2246 border-top: 1px solid #b3b3b3;
2188 2247 border-left: 1px solid #b3b3b3;
2189 2248 border-right: 1px solid #eaeaea;
2190 2249 border-bottom: 1px solid #eaeaea;
2191 2250 color: #000;
2192 2251 font-size: 11px;
2193 2252 margin: 0;
2194 2253 padding: 5px 7px 4px;
2195 2254 }
2196 2255
2197 2256 #quick_login div.form div.fields div.buttons {
2198 2257 clear: both;
2199 2258 overflow: hidden;
2200 2259 text-align: right;
2201 2260 margin: 0;
2202 2261 padding: 5px 14px 0px 5px;
2203 2262 }
2204 2263
2205 2264 #quick_login div.form div.links {
2206 2265 clear: both;
2207 2266 overflow: hidden;
2208 2267 margin: 10px 0 0;
2209 2268 padding: 0 0 2px;
2210 2269 }
2211 2270
2212 2271 #quick_login ol.links {
2213 2272 display: block;
2214 2273 font-weight: bold;
2215 2274 list-style: none outside none;
2216 2275 text-align: right;
2217 2276 }
2218 2277 #quick_login ol.links li {
2219 2278 line-height: 27px;
2220 2279 margin: 0;
2221 2280 padding: 0;
2222 2281 color: #fff;
2223 2282 display: block;
2224 2283 float:none !important;
2225 2284 }
2226 2285
2227 2286 #quick_login ol.links li a {
2228 2287 color: #fff;
2229 2288 display: block;
2230 2289 padding: 2px;
2231 2290 }
2232 2291 #quick_login ol.links li a:HOVER {
2233 2292 background-color: inherit !important;
2234 2293 }
2235 2294
2236 2295 #register div.title {
2237 2296 clear: both;
2238 2297 overflow: hidden;
2239 2298 position: relative;
2240 2299 background-color: #003B76;
2241 2300 background-repeat: repeat-x;
2242 2301 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
2243 2302 background-image: -moz-linear-gradient(top, #003b76, #00376e);
2244 2303 background-image: -ms-linear-gradient(top, #003b76, #00376e);
2245 2304 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
2246 2305 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
2247 2306 background-image: -o-linear-gradient(top, #003b76, #00376e);
2248 2307 background-image: linear-gradient(top, #003b76, #00376e);
2249 2308 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',
2250 2309 endColorstr='#00376e', GradientType=0 );
2251 2310 margin: 0 auto;
2252 2311 padding: 0;
2253 2312 }
2254 2313
2255 2314 #register div.inner {
2256 2315 background: #FFF;
2257 2316 border-top: none;
2258 2317 border-bottom: none;
2259 2318 margin: 0 auto;
2260 2319 padding: 20px;
2261 2320 }
2262 2321
2263 2322 #register div.form div.fields div.field div.label {
2264 2323 width: 135px;
2265 2324 float: left;
2266 2325 text-align: right;
2267 2326 margin: 2px 10px 0 0;
2268 2327 padding: 5px 0 0 5px;
2269 2328 }
2270 2329
2271 2330 #register div.form div.fields div.field div.input input {
2272 2331 width: 300px;
2273 2332 background: #FFF;
2274 2333 border-top: 1px solid #b3b3b3;
2275 2334 border-left: 1px solid #b3b3b3;
2276 2335 border-right: 1px solid #eaeaea;
2277 2336 border-bottom: 1px solid #eaeaea;
2278 2337 color: #000;
2279 2338 font-size: 11px;
2280 2339 margin: 0;
2281 2340 padding: 7px 7px 6px;
2282 2341 }
2283 2342
2284 2343 #register div.form div.fields div.buttons {
2285 2344 clear: both;
2286 2345 overflow: hidden;
2287 2346 border-top: 1px solid #DDD;
2288 2347 text-align: left;
2289 2348 margin: 0;
2290 2349 padding: 10px 0 0 150px;
2291 2350 }
2292 2351
2293 2352 #register div.form div.activation_msg {
2294 2353 padding-top: 4px;
2295 2354 padding-bottom: 4px;
2296 2355 }
2297 2356
2298 2357 #journal .journal_day {
2299 2358 font-size: 20px;
2300 2359 padding: 10px 0px;
2301 2360 border-bottom: 2px solid #DDD;
2302 2361 margin-left: 10px;
2303 2362 margin-right: 10px;
2304 2363 }
2305 2364
2306 2365 #journal .journal_container {
2307 2366 padding: 5px;
2308 2367 clear: both;
2309 2368 margin: 0px 5px 0px 10px;
2310 2369 }
2311 2370
2312 2371 #journal .journal_action_container {
2313 2372 padding-left: 38px;
2314 2373 }
2315 2374
2316 2375 #journal .journal_user {
2317 2376 color: #747474;
2318 2377 font-size: 14px;
2319 2378 font-weight: bold;
2320 2379 height: 30px;
2321 2380 }
2322 2381
2323 2382 #journal .journal_user.deleted {
2324 2383 color: #747474;
2325 2384 font-size: 14px;
2326 2385 font-weight: normal;
2327 2386 height: 30px;
2328 2387 font-style: italic;
2329 2388 }
2330 2389
2331 2390
2332 2391 #journal .journal_icon {
2333 2392 clear: both;
2334 2393 float: left;
2335 2394 padding-right: 4px;
2336 2395 padding-top: 3px;
2337 2396 }
2338 2397
2339 2398 #journal .journal_action {
2340 2399 padding-top: 4px;
2341 2400 min-height: 2px;
2342 2401 float: left
2343 2402 }
2344 2403
2345 2404 #journal .journal_action_params {
2346 2405 clear: left;
2347 2406 padding-left: 22px;
2348 2407 }
2349 2408
2350 2409 #journal .journal_repo {
2351 2410 float: left;
2352 2411 margin-left: 6px;
2353 2412 padding-top: 3px;
2354 2413 }
2355 2414
2356 2415 #journal .date {
2357 2416 clear: both;
2358 2417 color: #777777;
2359 2418 font-size: 11px;
2360 2419 padding-left: 22px;
2361 2420 }
2362 2421
2363 2422 #journal .journal_repo .journal_repo_name {
2364 2423 font-weight: bold;
2365 2424 font-size: 1.1em;
2366 2425 }
2367 2426
2368 2427 #journal .compare_view {
2369 2428 padding: 5px 0px 5px 0px;
2370 2429 width: 95px;
2371 2430 }
2372 2431
2373 2432 .journal_highlight {
2374 2433 font-weight: bold;
2375 2434 padding: 0 2px;
2376 2435 vertical-align: bottom;
2377 2436 }
2378 2437
2379 2438 .trending_language_tbl, .trending_language_tbl td {
2380 2439 border: 0 !important;
2381 2440 margin: 0 !important;
2382 2441 padding: 0 !important;
2383 2442 }
2384 2443
2385 2444 .trending_language_tbl, .trending_language_tbl tr {
2386 2445 border-spacing: 1px;
2387 2446 }
2388 2447
2389 2448 .trending_language {
2390 2449 background-color: #003367;
2391 2450 color: #FFF;
2392 2451 display: block;
2393 2452 min-width: 20px;
2394 2453 text-decoration: none;
2395 2454 height: 12px;
2396 2455 margin-bottom: 0px;
2397 2456 margin-left: 5px;
2398 2457 white-space: pre;
2399 2458 padding: 3px;
2400 2459 }
2401 2460
2402 2461 h3.files_location {
2403 2462 font-size: 1.8em;
2404 2463 font-weight: 700;
2405 2464 border-bottom: none !important;
2406 2465 margin: 10px 0 !important;
2407 2466 }
2408 2467
2409 2468 #files_data dl dt {
2410 2469 float: left;
2411 2470 width: 60px;
2412 2471 margin: 0 !important;
2413 2472 padding: 5px;
2414 2473 }
2415 2474
2416 2475 #files_data dl dd {
2417 2476 margin: 0 !important;
2418 2477 padding: 5px !important;
2419 2478 }
2420 2479
2421 2480 .file_history {
2422 2481 padding-top:10px;
2423 2482 font-size:16px;
2424 2483 }
2425 2484 .file_author {
2426 2485 float: left;
2427 2486 }
2428 2487
2429 2488 .file_author .item {
2430 2489 float:left;
2431 2490 padding:5px;
2432 2491 color: #888;
2433 2492 }
2434 2493
2435 2494 .tablerow0 {
2436 2495 background-color: #F8F8F8;
2437 2496 }
2438 2497
2439 2498 .tablerow1 {
2440 2499 background-color: #FFFFFF;
2441 2500 }
2442 2501
2443 2502 .changeset_id {
2444 2503 font-family: monospace;
2445 2504 color: #666666;
2446 2505 }
2447 2506
2448 2507 .changeset_hash {
2449 2508 color: #000000;
2450 2509 }
2451 2510
2452 2511 #changeset_content {
2453 2512 border-left: 1px solid #CCC;
2454 2513 border-right: 1px solid #CCC;
2455 2514 border-bottom: 1px solid #CCC;
2456 2515 padding: 5px;
2457 2516 }
2458 2517
2459 2518 #changeset_compare_view_content {
2460 2519 border: 1px solid #CCC;
2461 2520 padding: 5px;
2462 2521 }
2463 2522
2464 2523 #changeset_content .container {
2465 2524 min-height: 100px;
2466 2525 font-size: 1.2em;
2467 2526 overflow: hidden;
2468 2527 }
2469 2528
2470 2529 #changeset_compare_view_content .compare_view_commits {
2471 2530 width: auto !important;
2472 2531 }
2473 2532
2474 2533 #changeset_compare_view_content .compare_view_commits td {
2475 2534 padding: 0px 0px 0px 12px !important;
2476 2535 }
2477 2536
2478 2537 #changeset_content .container .right {
2479 2538 float: right;
2480 2539 width: 20%;
2481 2540 text-align: right;
2482 2541 }
2483 2542
2484 2543 #changeset_content .container .left .message {
2485 2544 white-space: pre-wrap;
2486 2545 }
2487 2546 #changeset_content .container .left .message a:hover {
2488 2547 text-decoration: none;
2489 2548 }
2490 2549 .cs_files .cur_cs {
2491 2550 margin: 10px 2px;
2492 2551 font-weight: bold;
2493 2552 }
2494 2553
2495 2554 .cs_files .node {
2496 2555 float: left;
2497 2556 }
2498 2557
2499 2558 .cs_files .changes {
2500 2559 float: right;
2501 2560 color:#003367;
2502 2561 }
2503 2562
2504 2563 .cs_files .changes .added {
2505 2564 background-color: #BBFFBB;
2506 2565 float: left;
2507 2566 text-align: center;
2508 2567 font-size: 9px;
2509 2568 padding: 2px 0px 2px 0px;
2510 2569 }
2511 2570
2512 2571 .cs_files .changes .deleted {
2513 2572 background-color: #FF8888;
2514 2573 float: left;
2515 2574 text-align: center;
2516 2575 font-size: 9px;
2517 2576 padding: 2px 0px 2px 0px;
2518 2577 }
2519 2578 /*new binary*/
2520 2579 .cs_files .changes .bin1 {
2521 2580 background-color: #BBFFBB;
2522 2581 float: left;
2523 2582 text-align: center;
2524 2583 font-size: 9px;
2525 2584 padding: 2px 0px 2px 0px;
2526 2585 }
2527 2586
2528 2587 /*deleted binary*/
2529 2588 .cs_files .changes .bin2 {
2530 2589 background-color: #FF8888;
2531 2590 float: left;
2532 2591 text-align: center;
2533 2592 font-size: 9px;
2534 2593 padding: 2px 0px 2px 0px;
2535 2594 }
2536 2595
2537 2596 /*mod binary*/
2538 2597 .cs_files .changes .bin3 {
2539 2598 background-color: #DDDDDD;
2540 2599 float: left;
2541 2600 text-align: center;
2542 2601 font-size: 9px;
2543 2602 padding: 2px 0px 2px 0px;
2544 2603 }
2545 2604
2546 2605 /*rename file*/
2547 2606 .cs_files .changes .bin4 {
2548 2607 background-color: #6D99FF;
2549 2608 float: left;
2550 2609 text-align: center;
2551 2610 font-size: 9px;
2552 2611 padding: 2px 0px 2px 0px;
2553 2612 }
2554 2613
2555 2614
2556 2615 .cs_files .cs_added, .cs_files .cs_A {
2557 2616 background: url("../images/icons/page_white_add.png") no-repeat scroll
2558 2617 3px;
2559 2618 height: 16px;
2560 2619 padding-left: 20px;
2561 2620 margin-top: 7px;
2562 2621 text-align: left;
2563 2622 }
2564 2623
2565 2624 .cs_files .cs_changed, .cs_files .cs_M {
2566 2625 background: url("../images/icons/page_white_edit.png") no-repeat scroll
2567 2626 3px;
2568 2627 height: 16px;
2569 2628 padding-left: 20px;
2570 2629 margin-top: 7px;
2571 2630 text-align: left;
2572 2631 }
2573 2632
2574 2633 .cs_files .cs_removed, .cs_files .cs_D {
2575 2634 background: url("../images/icons/page_white_delete.png") no-repeat
2576 2635 scroll 3px;
2577 2636 height: 16px;
2578 2637 padding-left: 20px;
2579 2638 margin-top: 7px;
2580 2639 text-align: left;
2581 2640 }
2582 2641
2583 2642 #graph {
2584 2643 overflow: hidden;
2585 2644 }
2586 2645
2587 2646 #graph_nodes {
2588 2647 float: left;
2589 2648 margin-right: 0px;
2590 2649 margin-top: 0px;
2591 2650 }
2592 2651
2593 2652 #graph_content {
2594 2653 width: 80%;
2595 2654 float: left;
2596 2655 }
2597 2656
2598 2657 #graph_content .container_header {
2599 2658 border-bottom: 1px solid #DDD;
2600 2659 padding: 10px;
2601 2660 height: 25px;
2602 2661 }
2603 2662
2604 2663 #graph_content #rev_range_container {
2605 2664 float: left;
2606 2665 margin: 0px 0px 0px 3px;
2607 2666 }
2608 2667
2609 2668 #graph_content #rev_range_clear {
2610 2669 float: left;
2611 2670 margin: 0px 0px 0px 3px;
2612 2671 }
2613 2672
2614 2673 #graph_content .container {
2615 2674 border-bottom: 1px solid #DDD;
2616 2675 height: 56px;
2617 2676 overflow: hidden;
2618 2677 }
2619 2678
2620 2679 #graph_content .container .right {
2621 2680 float: right;
2622 2681 width: 23%;
2623 2682 text-align: right;
2624 2683 }
2625 2684
2626 2685 #graph_content .container .left {
2627 2686 float: left;
2628 2687 width: 25%;
2629 2688 padding-left: 5px;
2630 2689 }
2631 2690
2632 2691 #graph_content .container .mid {
2633 2692 float: left;
2634 2693 width: 49%;
2635 2694 }
2636 2695
2637 2696
2638 2697 #graph_content .container .left .date {
2639 2698 color: #666;
2640 2699 padding-left: 22px;
2641 2700 font-size: 10px;
2642 2701 }
2643 2702
2644 2703 #graph_content .container .left .author {
2645 2704 height: 22px;
2646 2705 }
2647 2706
2648 2707 #graph_content .container .left .author .user {
2649 2708 color: #444444;
2650 2709 float: left;
2651 2710 margin-left: -4px;
2652 2711 margin-top: 4px;
2653 2712 }
2654 2713
2655 2714 #graph_content .container .mid .message {
2656 2715 white-space: pre-wrap;
2657 2716 }
2658 2717
2659 2718 #graph_content .container .mid .message a:hover {
2660 2719 text-decoration: none;
2661 2720 }
2662 2721
2663 2722 .revision-link {
2664 2723 color:#3F6F9F;
2665 2724 font-weight: bold !important;
2666 2725 }
2667 2726
2668 2727 .issue-tracker-link {
2669 2728 color:#3F6F9F;
2670 2729 font-weight: bold !important;
2671 2730 }
2672 2731
2673 2732 .changeset-status-container {
2674 2733 padding-right: 5px;
2675 2734 margin-top:1px;
2676 2735 float:right;
2677 2736 height:14px;
2678 2737 }
2679 2738 .code-header .changeset-status-container {
2680 2739 float:left;
2681 2740 padding:2px 0px 0px 2px;
2682 2741 }
2683 2742 .changeset-status-container .changeset-status-lbl {
2684 2743 color: rgb(136, 136, 136);
2685 2744 float: left;
2686 2745 padding: 3px 4px 0px 0px
2687 2746 }
2688 2747 .code-header .changeset-status-container .changeset-status-lbl {
2689 2748 float: left;
2690 2749 padding: 0px 4px 0px 0px;
2691 2750 }
2692 2751 .changeset-status-container .changeset-status-ico {
2693 2752 float: left;
2694 2753 }
2695 2754 .code-header .changeset-status-container .changeset-status-ico, .container .changeset-status-ico {
2696 2755 float: left;
2697 2756 }
2698 2757 .right .comments-container {
2699 2758 padding-right: 5px;
2700 2759 margin-top:1px;
2701 2760 float:right;
2702 2761 height:14px;
2703 2762 }
2704 2763
2705 2764 .right .comments-cnt {
2706 2765 float: left;
2707 2766 color: rgb(136, 136, 136);
2708 2767 padding-right: 2px;
2709 2768 }
2710 2769
2711 2770 .right .changes {
2712 2771 clear: both;
2713 2772 }
2714 2773
2715 2774 .right .changes .changed_total {
2716 2775 display: block;
2717 2776 float: right;
2718 2777 text-align: center;
2719 2778 min-width: 45px;
2720 2779 cursor: pointer;
2721 2780 color: #444444;
2722 2781 background: #FEA;
2723 2782 -webkit-border-radius: 0px 0px 0px 6px;
2724 2783 -moz-border-radius: 0px 0px 0px 6px;
2725 2784 border-radius: 0px 0px 0px 6px;
2726 2785 padding: 1px;
2727 2786 }
2728 2787
2729 2788 .right .changes .added, .changed, .removed {
2730 2789 display: block;
2731 2790 padding: 1px;
2732 2791 color: #444444;
2733 2792 float: right;
2734 2793 text-align: center;
2735 2794 min-width: 15px;
2736 2795 }
2737 2796
2738 2797 .right .changes .added {
2739 2798 background: #CFC;
2740 2799 }
2741 2800
2742 2801 .right .changes .changed {
2743 2802 background: #FEA;
2744 2803 }
2745 2804
2746 2805 .right .changes .removed {
2747 2806 background: #FAA;
2748 2807 }
2749 2808
2750 2809 .right .merge {
2751 2810 padding: 1px 3px 1px 3px;
2752 2811 background-color: #fca062;
2753 2812 font-size: 10px;
2754 2813 font-weight: bold;
2755 2814 color: #ffffff;
2756 2815 text-transform: uppercase;
2757 2816 white-space: nowrap;
2758 2817 -webkit-border-radius: 3px;
2759 2818 -moz-border-radius: 3px;
2760 2819 border-radius: 3px;
2761 2820 margin-right: 2px;
2762 2821 }
2763 2822
2764 2823 .right .parent {
2765 2824 color: #666666;
2766 2825 clear:both;
2767 2826 }
2768 2827 .right .logtags {
2769 2828 padding: 2px 2px 2px 2px;
2770 2829 }
2771 2830 .right .logtags .branchtag, .right .logtags .tagtag, .right .logtags .booktag {
2772 2831 margin: 0px 2px;
2773 2832 }
2774 2833
2775 2834 .right .logtags .branchtag,
2776 2835 .logtags .branchtag,
2777 2836 .spantag {
2778 2837 padding: 1px 3px 1px 3px;
2779 2838 background-color: #bfbfbf;
2780 2839 font-size: 10px;
2781 2840 font-weight: bold;
2782 2841 color: #ffffff;
2783 2842 white-space: nowrap;
2784 2843 -webkit-border-radius: 3px;
2785 2844 -moz-border-radius: 3px;
2786 2845 border-radius: 3px;
2787 2846 }
2788 2847 .right .logtags .branchtag a:hover, .logtags .branchtag a {
2789 2848 color: #ffffff;
2790 2849 }
2791 2850 .right .logtags .branchtag a:hover, .logtags .branchtag a:hover {
2792 2851 text-decoration: none;
2793 2852 color: #ffffff;
2794 2853 }
2795 2854 .right .logtags .tagtag, .logtags .tagtag {
2796 2855 padding: 1px 3px 1px 3px;
2797 2856 background-color: #62cffc;
2798 2857 font-size: 10px;
2799 2858 font-weight: bold;
2800 2859 color: #ffffff;
2801 2860 white-space: nowrap;
2802 2861 -webkit-border-radius: 3px;
2803 2862 -moz-border-radius: 3px;
2804 2863 border-radius: 3px;
2805 2864 }
2806 2865 .right .logtags .tagtag a:hover, .logtags .tagtag a {
2807 2866 color: #ffffff;
2808 2867 }
2809 2868 .right .logtags .tagtag a:hover, .logtags .tagtag a:hover {
2810 2869 text-decoration: none;
2811 2870 color: #ffffff;
2812 2871 }
2813 2872 .right .logbooks .bookbook, .logbooks .bookbook, .right .logtags .bookbook, .logtags .bookbook {
2814 2873 padding: 1px 3px 1px 3px;
2815 2874 background-color: #46A546;
2816 2875 font-size: 10px;
2817 2876 font-weight: bold;
2818 2877 color: #ffffff;
2819 2878 text-transform: uppercase;
2820 2879 white-space: nowrap;
2821 2880 -webkit-border-radius: 3px;
2822 2881 -moz-border-radius: 3px;
2823 2882 border-radius: 3px;
2824 2883 }
2825 2884 .right .logbooks .bookbook, .logbooks .bookbook a, .right .logtags .bookbook, .logtags .bookbook a {
2826 2885 color: #ffffff;
2827 2886 }
2828 2887 .right .logbooks .bookbook, .logbooks .bookbook a:hover, .right .logtags .bookbook, .logtags .bookbook a:hover {
2829 2888 text-decoration: none;
2830 2889 color: #ffffff;
2831 2890 }
2832 2891 div.browserblock {
2833 2892 overflow: hidden;
2834 2893 border: 1px solid #ccc;
2835 2894 background: #f8f8f8;
2836 2895 font-size: 100%;
2837 2896 line-height: 125%;
2838 2897 padding: 0;
2839 2898 -webkit-border-radius: 6px 6px 0px 0px;
2840 2899 -moz-border-radius: 6px 6px 0px 0px;
2841 2900 border-radius: 6px 6px 0px 0px;
2842 2901 }
2843 2902
2844 2903 div.browserblock .browser-header {
2845 2904 background: #FFF;
2846 2905 padding: 10px 0px 15px 0px;
2847 2906 width: 100%;
2848 2907 }
2849 2908
2850 2909 div.browserblock .browser-nav {
2851 2910 float: left
2852 2911 }
2853 2912
2854 2913 div.browserblock .browser-branch {
2855 2914 float: left;
2856 2915 }
2857 2916
2858 2917 div.browserblock .browser-branch label {
2859 2918 color: #4A4A4A;
2860 2919 vertical-align: text-top;
2861 2920 }
2862 2921
2863 2922 div.browserblock .browser-header span {
2864 2923 margin-left: 5px;
2865 2924 font-weight: 700;
2866 2925 }
2867 2926
2868 2927 div.browserblock .browser-search {
2869 2928 clear: both;
2870 2929 padding: 8px 8px 0px 5px;
2871 2930 height: 20px;
2872 2931 }
2873 2932
2874 2933 div.browserblock #node_filter_box {
2875 2934 }
2876 2935
2877 2936 div.browserblock .search_activate {
2878 2937 float: left
2879 2938 }
2880 2939
2881 2940 div.browserblock .add_node {
2882 2941 float: left;
2883 2942 padding-left: 5px;
2884 2943 }
2885 2944
2886 2945 div.browserblock .search_activate a:hover, div.browserblock .add_node a:hover {
2887 2946 text-decoration: none !important;
2888 2947 }
2889 2948
2890 2949 div.browserblock .browser-body {
2891 2950 background: #EEE;
2892 2951 border-top: 1px solid #CCC;
2893 2952 }
2894 2953
2895 2954 table.code-browser {
2896 2955 border-collapse: collapse;
2897 2956 width: 100%;
2898 2957 }
2899 2958
2900 2959 table.code-browser tr {
2901 2960 margin: 3px;
2902 2961 }
2903 2962
2904 2963 table.code-browser thead th {
2905 2964 background-color: #EEE;
2906 2965 height: 20px;
2907 2966 font-size: 1.1em;
2908 2967 font-weight: 700;
2909 2968 text-align: left;
2910 2969 padding-left: 10px;
2911 2970 }
2912 2971
2913 2972 table.code-browser tbody td {
2914 2973 padding-left: 10px;
2915 2974 height: 20px;
2916 2975 }
2917 2976
2918 2977 table.code-browser .browser-file {
2919 2978 background: url("../images/icons/document_16.png") no-repeat scroll 3px;
2920 2979 height: 16px;
2921 2980 padding-left: 20px;
2922 2981 text-align: left;
2923 2982 }
2924 2983 .diffblock .changeset_header {
2925 2984 height: 16px;
2926 2985 }
2927 2986 .diffblock .changeset_file {
2928 2987 background: url("../images/icons/file.png") no-repeat scroll 3px;
2929 2988 text-align: left;
2930 2989 float: left;
2931 2990 padding: 2px 0px 2px 22px;
2932 2991 }
2933 2992 .diffblock .diff-menu-wrapper {
2934 2993 float: left;
2935 2994 }
2936 2995
2937 2996 .diffblock .diff-menu {
2938 2997 position: absolute;
2939 2998 background: none repeat scroll 0 0 #FFFFFF;
2940 2999 border-color: #003367 #666666 #666666;
2941 3000 border-right: 1px solid #666666;
2942 3001 border-style: solid solid solid;
2943 3002 border-width: 1px;
2944 3003 box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2);
2945 3004 margin-top:5px;
2946 3005 margin-left:1px;
2947 3006
2948 3007 }
2949 3008 .diffblock .diff-actions {
2950 3009 padding: 2px 0px 0px 2px;
2951 3010 float: left;
2952 3011 }
2953 3012 .diffblock .diff-menu ul li {
2954 3013 padding: 0px 0px 0px 0px !important;
2955 3014 }
2956 3015 .diffblock .diff-menu ul li a {
2957 3016 display: block;
2958 3017 padding: 3px 8px 3px 8px !important;
2959 3018 }
2960 3019 .diffblock .diff-menu ul li a:hover {
2961 3020 text-decoration: none;
2962 3021 background-color: #EEEEEE;
2963 3022 }
2964 3023 table.code-browser .browser-dir {
2965 3024 background: url("../images/icons/folder_16.png") no-repeat scroll 3px;
2966 3025 height: 16px;
2967 3026 padding-left: 20px;
2968 3027 text-align: left;
2969 3028 }
2970 3029
2971 3030 table.code-browser .submodule-dir {
2972 3031 background: url("../images/icons/disconnect.png") no-repeat scroll 3px;
2973 3032 height: 16px;
2974 3033 padding-left: 20px;
2975 3034 text-align: left;
2976 3035 }
2977 3036
2978 3037
2979 3038 .box .search {
2980 3039 clear: both;
2981 3040 overflow: hidden;
2982 3041 margin: 0;
2983 3042 padding: 0 20px 10px;
2984 3043 }
2985 3044
2986 3045 .box .search div.search_path {
2987 3046 background: none repeat scroll 0 0 #EEE;
2988 3047 border: 1px solid #CCC;
2989 3048 color: blue;
2990 3049 margin-bottom: 10px;
2991 3050 padding: 10px 0;
2992 3051 }
2993 3052
2994 3053 .box .search div.search_path div.link {
2995 3054 font-weight: 700;
2996 3055 margin-left: 25px;
2997 3056 }
2998 3057
2999 3058 .box .search div.search_path div.link a {
3000 3059 color: #003367;
3001 3060 cursor: pointer;
3002 3061 text-decoration: none;
3003 3062 }
3004 3063
3005 3064 #path_unlock {
3006 3065 color: red;
3007 3066 font-size: 1.2em;
3008 3067 padding-left: 4px;
3009 3068 }
3010 3069
3011 3070 .info_box span {
3012 3071 margin-left: 3px;
3013 3072 margin-right: 3px;
3014 3073 }
3015 3074
3016 3075 .info_box .rev {
3017 3076 color: #003367;
3018 3077 font-size: 1.6em;
3019 3078 font-weight: bold;
3020 3079 vertical-align: sub;
3021 3080 }
3022 3081
3023 3082 .info_box input#at_rev, .info_box input#size {
3024 3083 background: #FFF;
3025 3084 border-top: 1px solid #b3b3b3;
3026 3085 border-left: 1px solid #b3b3b3;
3027 3086 border-right: 1px solid #eaeaea;
3028 3087 border-bottom: 1px solid #eaeaea;
3029 3088 color: #000;
3030 3089 font-size: 12px;
3031 3090 margin: 0;
3032 3091 padding: 1px 5px 1px;
3033 3092 }
3034 3093
3035 3094 .info_box input#view {
3036 3095 text-align: center;
3037 3096 padding: 4px 3px 2px 2px;
3038 3097 }
3039 3098
3040 3099 .yui-overlay, .yui-panel-container {
3041 3100 visibility: hidden;
3042 3101 position: absolute;
3043 3102 z-index: 2;
3044 3103 }
3045 3104
3046 3105 #tip-box {
3047 3106 position: absolute;
3048 3107
3049 3108 background-color: #FFF;
3050 3109 border: 2px solid #003367;
3051 3110 font: 100% sans-serif;
3052 3111 width: auto;
3053 3112 opacity: 1px;
3054 3113 padding: 8px;
3055 3114
3056 3115 white-space: pre-wrap;
3057 3116 -webkit-border-radius: 8px 8px 8px 8px;
3058 3117 -khtml-border-radius: 8px 8px 8px 8px;
3059 3118 -moz-border-radius: 8px 8px 8px 8px;
3060 3119 border-radius: 8px 8px 8px 8px;
3061 3120 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
3062 3121 -moz-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
3063 3122 -webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
3064 3123 }
3065 3124
3066 3125 .hl-tip-box {
3067 3126 visibility: hidden;
3068 3127 position: absolute;
3069 3128 color: #666;
3070 3129 background-color: #FFF;
3071 3130 border: 2px solid #003367;
3072 3131 font: 100% sans-serif;
3073 3132 width: auto;
3074 3133 opacity: 1px;
3075 3134 padding: 8px;
3076 3135 white-space: pre-wrap;
3077 3136 -webkit-border-radius: 8px 8px 8px 8px;
3078 3137 -khtml-border-radius: 8px 8px 8px 8px;
3079 3138 -moz-border-radius: 8px 8px 8px 8px;
3080 3139 border-radius: 8px 8px 8px 8px;
3081 3140 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
3082 3141 }
3083 3142
3084 3143
3085 3144 .mentions-container {
3086 3145 width: 90% !important;
3087 3146 }
3088 3147 .mentions-container .yui-ac-content {
3089 3148 width: 100% !important;
3090 3149 }
3091 3150
3092 3151 .ac {
3093 3152 vertical-align: top;
3094 3153 }
3095 3154
3096 3155 .ac .yui-ac {
3097 3156 position: inherit;
3098 3157 font-size: 100%;
3099 3158 }
3100 3159
3101 3160 .ac .perm_ac {
3102 3161 width: 20em;
3103 3162 }
3104 3163
3105 3164 .ac .yui-ac-input {
3106 3165 width: 100%;
3107 3166 }
3108 3167
3109 3168 .ac .yui-ac-container {
3110 3169 position: absolute;
3111 3170 top: 1.6em;
3112 3171 width: auto;
3113 3172 }
3114 3173
3115 3174 .ac .yui-ac-content {
3116 3175 position: absolute;
3117 3176 border: 1px solid gray;
3118 3177 background: #fff;
3119 3178 z-index: 9050;
3120 3179 }
3121 3180
3122 3181 .ac .yui-ac-shadow {
3123 3182 position: absolute;
3124 3183 width: 100%;
3125 3184 background: #000;
3126 3185 -moz-opacity: 0.1px;
3127 3186 opacity: .10;
3128 3187 filter: alpha(opacity = 10);
3129 3188 z-index: 9049;
3130 3189 margin: .3em;
3131 3190 }
3132 3191
3133 3192 .ac .yui-ac-content ul {
3134 3193 width: 100%;
3135 3194 margin: 0;
3136 3195 padding: 0;
3137 3196 z-index: 9050;
3138 3197 }
3139 3198
3140 3199 .ac .yui-ac-content li {
3141 3200 cursor: default;
3142 3201 white-space: nowrap;
3143 3202 margin: 0;
3144 3203 padding: 2px 5px;
3145 3204 height: 18px;
3146 3205 z-index: 9050;
3147 3206 display: block;
3148 3207 width: auto !important;
3149 3208 }
3150 3209
3151 3210 .ac .yui-ac-content li .ac-container-wrap {
3152 3211 width: auto;
3153 3212 }
3154 3213
3155 3214 .ac .yui-ac-content li.yui-ac-prehighlight {
3156 3215 background: #B3D4FF;
3157 3216 z-index: 9050;
3158 3217 }
3159 3218
3160 3219 .ac .yui-ac-content li.yui-ac-highlight {
3161 3220 background: #556CB5;
3162 3221 color: #FFF;
3163 3222 z-index: 9050;
3164 3223 }
3165 3224 .ac .yui-ac-bd {
3166 3225 z-index: 9050;
3167 3226 }
3168 3227
3169 3228 .follow {
3170 3229 background: url("../images/icons/heart_add.png") no-repeat scroll 3px;
3171 3230 height: 16px;
3172 3231 width: 20px;
3173 3232 cursor: pointer;
3174 3233 display: block;
3175 3234 float: right;
3176 3235 margin-top: 2px;
3177 3236 }
3178 3237
3179 3238 .following {
3180 3239 background: url("../images/icons/heart_delete.png") no-repeat scroll 3px;
3181 3240 height: 16px;
3182 3241 width: 20px;
3183 3242 cursor: pointer;
3184 3243 display: block;
3185 3244 float: right;
3186 3245 margin-top: 2px;
3187 3246 }
3188 3247
3189 3248 .reposize {
3190 3249 background: url("../images/icons/server.png") no-repeat scroll 3px;
3191 3250 height: 16px;
3192 3251 width: 20px;
3193 3252 cursor: pointer;
3194 3253 display: block;
3195 3254 float: right;
3196 3255 margin-top: 2px;
3197 3256 }
3198 3257
3199 3258 #repo_size {
3200 3259 display: block;
3201 3260 margin-top: 4px;
3202 3261 color: #666;
3203 3262 float:right;
3204 3263 }
3205 3264
3206 3265 .locking_locked {
3207 3266 background: #FFF url("../images/icons/block_16.png") no-repeat scroll 3px;
3208 3267 height: 16px;
3209 3268 width: 20px;
3210 3269 cursor: pointer;
3211 3270 display: block;
3212 3271 float: right;
3213 3272 margin-top: 2px;
3214 3273 }
3215 3274
3216 3275 .locking_unlocked {
3217 3276 background: #FFF url("../images/icons/accept.png") no-repeat scroll 3px;
3218 3277 height: 16px;
3219 3278 width: 20px;
3220 3279 cursor: pointer;
3221 3280 display: block;
3222 3281 float: right;
3223 3282 margin-top: 2px;
3224 3283 }
3225 3284
3226 3285 .currently_following {
3227 3286 padding-left: 10px;
3228 3287 padding-bottom: 5px;
3229 3288 }
3230 3289
3231 3290 .add_icon {
3232 3291 background: url("../images/icons/add.png") no-repeat scroll 3px;
3233 3292 padding-left: 20px;
3234 3293 padding-top: 0px;
3235 3294 text-align: left;
3236 3295 }
3237 3296
3238 3297 .accept_icon {
3239 3298 background: url("../images/icons/accept.png") no-repeat scroll 3px;
3240 3299 padding-left: 20px;
3241 3300 padding-top: 0px;
3242 3301 text-align: left;
3243 3302 }
3244 3303
3245 3304 .edit_icon {
3246 3305 background: url("../images/icons/application_form_edit.png") no-repeat scroll 3px;
3247 3306 padding-left: 20px;
3248 3307 padding-top: 0px;
3249 3308 text-align: left;
3250 3309 }
3251 3310
3252 3311 .delete_icon {
3253 3312 background: url("../images/icons/delete.png") no-repeat scroll 3px;
3254 3313 padding-left: 20px;
3255 3314 padding-top: 0px;
3256 3315 text-align: left;
3257 3316 }
3258 3317
3259 3318 .refresh_icon {
3260 3319 background: url("../images/icons/arrow_refresh.png") no-repeat scroll
3261 3320 3px;
3262 3321 padding-left: 20px;
3263 3322 padding-top: 0px;
3264 3323 text-align: left;
3265 3324 }
3266 3325
3267 3326 .pull_icon {
3268 3327 background: url("../images/icons/connect.png") no-repeat scroll 3px;
3269 3328 padding-left: 20px;
3270 3329 padding-top: 0px;
3271 3330 text-align: left;
3272 3331 }
3273 3332
3274 3333 .rss_icon {
3275 3334 background: url("../images/icons/rss_16.png") no-repeat scroll 3px;
3276 3335 padding-left: 20px;
3277 3336 padding-top: 4px;
3278 3337 text-align: left;
3279 3338 font-size: 8px
3280 3339 }
3281 3340
3282 3341 .atom_icon {
3283 3342 background: url("../images/icons/rss_16.png") no-repeat scroll 3px;
3284 3343 padding-left: 20px;
3285 3344 padding-top: 4px;
3286 3345 text-align: left;
3287 3346 font-size: 8px
3288 3347 }
3289 3348
3290 3349 .archive_icon {
3291 3350 background: url("../images/icons/compress.png") no-repeat scroll 3px;
3292 3351 padding-left: 20px;
3293 3352 text-align: left;
3294 3353 padding-top: 1px;
3295 3354 }
3296 3355
3297 3356 .start_following_icon {
3298 3357 background: url("../images/icons/heart_add.png") no-repeat scroll 3px;
3299 3358 padding-left: 20px;
3300 3359 text-align: left;
3301 3360 padding-top: 0px;
3302 3361 }
3303 3362
3304 3363 .stop_following_icon {
3305 3364 background: url("../images/icons/heart_delete.png") no-repeat scroll 3px;
3306 3365 padding-left: 20px;
3307 3366 text-align: left;
3308 3367 padding-top: 0px;
3309 3368 }
3310 3369
3311 3370 .action_button {
3312 3371 border: 0;
3313 3372 display: inline;
3314 3373 }
3315 3374
3316 3375 .action_button:hover {
3317 3376 border: 0;
3318 3377 text-decoration: underline;
3319 3378 cursor: pointer;
3320 3379 }
3321 3380
3322 3381 #switch_repos {
3323 3382 position: absolute;
3324 3383 height: 25px;
3325 3384 z-index: 1;
3326 3385 }
3327 3386
3328 3387 #switch_repos select {
3329 3388 min-width: 150px;
3330 3389 max-height: 250px;
3331 3390 z-index: 1;
3332 3391 }
3333 3392
3334 3393 .breadcrumbs {
3335 3394 border: medium none;
3336 3395 color: #FFF;
3337 3396 float: left;
3338 3397 font-weight: 700;
3339 3398 font-size: 14px;
3340 3399 margin: 0;
3341 3400 padding: 11px 0 11px 10px;
3342 3401 }
3343 3402
3344 3403 .breadcrumbs .hash {
3345 3404 text-transform: none;
3346 3405 color: #fff;
3347 3406 }
3348 3407
3349 3408 .breadcrumbs a {
3350 3409 color: #FFF;
3351 3410 }
3352 3411
3353 3412 .flash_msg {
3354 3413 }
3355 3414
3356 3415 .flash_msg ul {
3357 3416 }
3358 3417
3359 3418 .error_red {
3360 3419 color:red;
3361 3420 }
3362 3421
3363 3422 .error_msg {
3364 3423 background-color: #c43c35;
3365 3424 background-repeat: repeat-x;
3366 3425 background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35) );
3367 3426 background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
3368 3427 background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
3369 3428 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35) );
3370 3429 background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
3371 3430 background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
3372 3431 background-image: linear-gradient(top, #ee5f5b, #c43c35);
3373 3432 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b',endColorstr='#c43c35', GradientType=0 );
3374 3433 border-color: #c43c35 #c43c35 #882a25;
3375 3434 }
3376 3435
3377 3436 .warning_msg {
3378 3437 color: #404040 !important;
3379 3438 background-color: #eedc94;
3380 3439 background-repeat: repeat-x;
3381 3440 background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94) );
3382 3441 background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
3383 3442 background-image: -ms-linear-gradient(top, #fceec1, #eedc94);
3384 3443 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94) );
3385 3444 background-image: -webkit-linear-gradient(top, #fceec1, #eedc94);
3386 3445 background-image: -o-linear-gradient(top, #fceec1, #eedc94);
3387 3446 background-image: linear-gradient(top, #fceec1, #eedc94);
3388 3447 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0 );
3389 3448 border-color: #eedc94 #eedc94 #e4c652;
3390 3449 }
3391 3450
3392 3451 .success_msg {
3393 3452 background-color: #57a957;
3394 3453 background-repeat: repeat-x !important;
3395 3454 background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957) );
3396 3455 background-image: -moz-linear-gradient(top, #62c462, #57a957);
3397 3456 background-image: -ms-linear-gradient(top, #62c462, #57a957);
3398 3457 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957) );
3399 3458 background-image: -webkit-linear-gradient(top, #62c462, #57a957);
3400 3459 background-image: -o-linear-gradient(top, #62c462, #57a957);
3401 3460 background-image: linear-gradient(top, #62c462, #57a957);
3402 3461 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0 );
3403 3462 border-color: #57a957 #57a957 #3d773d;
3404 3463 }
3405 3464
3406 3465 .notice_msg {
3407 3466 background-color: #339bb9;
3408 3467 background-repeat: repeat-x;
3409 3468 background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9) );
3410 3469 background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
3411 3470 background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
3412 3471 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9) );
3413 3472 background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
3414 3473 background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
3415 3474 background-image: linear-gradient(top, #5bc0de, #339bb9);
3416 3475 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0 );
3417 3476 border-color: #339bb9 #339bb9 #22697d;
3418 3477 }
3419 3478
3420 3479 .success_msg, .error_msg, .notice_msg, .warning_msg {
3421 3480 font-size: 12px;
3422 3481 font-weight: 700;
3423 3482 min-height: 14px;
3424 3483 line-height: 14px;
3425 3484 margin-bottom: 10px;
3426 3485 margin-top: 0;
3427 3486 display: block;
3428 3487 overflow: auto;
3429 3488 padding: 6px 10px 6px 10px;
3430 3489 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3431 3490 position: relative;
3432 3491 color: #FFF;
3433 3492 border-width: 1px;
3434 3493 border-style: solid;
3435 3494 -webkit-border-radius: 4px;
3436 3495 -moz-border-radius: 4px;
3437 3496 border-radius: 4px;
3438 3497 -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3439 3498 -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3440 3499 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3441 3500 }
3442 3501
3443 3502 #msg_close {
3444 3503 background: transparent url("../icons/cross_grey_small.png") no-repeat scroll 0 0;
3445 3504 cursor: pointer;
3446 3505 height: 16px;
3447 3506 position: absolute;
3448 3507 right: 5px;
3449 3508 top: 5px;
3450 3509 width: 16px;
3451 3510 }
3452 3511 div#legend_data {
3453 3512 padding-left:10px;
3454 3513 }
3455 3514 div#legend_container table {
3456 3515 border: none !important;
3457 3516 }
3458 3517 div#legend_container table, div#legend_choices table {
3459 3518 width: auto !important;
3460 3519 }
3461 3520
3462 3521 table#permissions_manage {
3463 3522 width: 0 !important;
3464 3523 }
3465 3524
3466 3525 table#permissions_manage span.private_repo_msg {
3467 3526 font-size: 0.8em;
3468 3527 opacity: 0.6px;
3469 3528 }
3470 3529
3471 3530 table#permissions_manage td.private_repo_msg {
3472 3531 font-size: 0.8em;
3473 3532 }
3474 3533
3475 3534 table#permissions_manage tr#add_perm_input td {
3476 3535 vertical-align: middle;
3477 3536 }
3478 3537
3479 3538 div.gravatar {
3480 3539 background-color: #FFF;
3481 3540 float: left;
3482 3541 margin-right: 0.7em;
3483 3542 padding: 1px 1px 1px 1px;
3484 3543 line-height:0;
3485 3544 -webkit-border-radius: 3px;
3486 3545 -khtml-border-radius: 3px;
3487 3546 -moz-border-radius: 3px;
3488 3547 border-radius: 3px;
3489 3548 }
3490 3549
3491 3550 div.gravatar img {
3492 3551 -webkit-border-radius: 2px;
3493 3552 -khtml-border-radius: 2px;
3494 3553 -moz-border-radius: 2px;
3495 3554 border-radius: 2px;
3496 3555 }
3497 3556
3498 3557 #header, #content, #footer {
3499 3558 min-width: 978px;
3500 3559 }
3501 3560
3502 3561 #content {
3503 3562 clear: both;
3504 3563 /*overflow: hidden;*/
3505 3564 padding: 10px 10px 14px 10px;
3506 3565 }
3507 3566
3508 3567 #content.hover {
3509 3568 padding: 55px 10px 14px 10px !important;
3510 3569 }
3511 3570
3512 3571 #content div.box div.title div.search {
3513 3572 border-left: 1px solid #316293;
3514 3573 }
3515 3574
3516 3575 #content div.box div.title div.search div.input input {
3517 3576 border: 1px solid #316293;
3518 3577 }
3519 3578
3520 3579 .ui-btn {
3521 3580 color: #515151;
3522 3581 background-color: #DADADA;
3523 3582 background-repeat: repeat-x;
3524 3583 background-image: -khtml-gradient(linear, left top, left bottom, from(#F4F4F4),to(#DADADA) );
3525 3584 background-image: -moz-linear-gradient(top, #F4F4F4, #DADADA);
3526 3585 background-image: -ms-linear-gradient(top, #F4F4F4, #DADADA);
3527 3586 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #F4F4F4),color-stop(100%, #DADADA) );
3528 3587 background-image: -webkit-linear-gradient(top, #F4F4F4, #DADADA) );
3529 3588 background-image: -o-linear-gradient(top, #F4F4F4, #DADADA) );
3530 3589 background-image: linear-gradient(top, #F4F4F4, #DADADA);
3531 3590 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F4F4F4', endColorstr='#DADADA', GradientType=0);
3532 3591
3533 3592 border-top: 1px solid #DDD;
3534 3593 border-left: 1px solid #c6c6c6;
3535 3594 border-right: 1px solid #DDD;
3536 3595 border-bottom: 1px solid #c6c6c6;
3537 3596 color: #515151;
3538 3597 outline: none;
3539 3598 margin: 0px 3px 3px 0px;
3540 3599 -webkit-border-radius: 4px 4px 4px 4px !important;
3541 3600 -khtml-border-radius: 4px 4px 4px 4px !important;
3542 3601 -moz-border-radius: 4px 4px 4px 4px !important;
3543 3602 border-radius: 4px 4px 4px 4px !important;
3544 3603 cursor: pointer !important;
3545 3604 padding: 3px 3px 3px 3px;
3546 3605 background-position: 0 -15px;
3547 3606
3548 3607 }
3549 3608
3550 3609 .ui-btn.disabled {
3551 3610 color: #999;
3552 3611 }
3553 3612
3554 3613 .ui-btn.xsmall {
3555 3614 padding: 1px 2px 1px 1px;
3556 3615 }
3557 3616
3558 3617 .ui-btn.large {
3559 3618 padding: 6px 12px;
3560 3619 }
3561 3620
3562 3621 .ui-btn.clone {
3563 3622 padding: 5px 2px 6px 1px;
3564 3623 margin: 0px 0px 3px -4px;
3565 3624 -webkit-border-radius: 0px 4px 4px 0px !important;
3566 3625 -khtml-border-radius: 0px 4px 4px 0px !important;
3567 3626 -moz-border-radius: 0px 4px 4px 0px !important;
3568 3627 border-radius: 0px 4px 4px 0px !important;
3569 3628 width: 100px;
3570 3629 text-align: center;
3571 3630 display: inline-block;
3572 3631 position: relative;
3573 3632 top: -2px;
3574 3633 }
3575 3634 .ui-btn:focus {
3576 3635 outline: none;
3577 3636 }
3578 3637 .ui-btn:hover {
3579 3638 background-position: 0 -15px;
3580 3639 text-decoration: none;
3581 3640 color: #515151;
3582 3641 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25), 0 0 3px #FFFFFF !important;
3583 3642 }
3584 3643
3585 3644 .ui-btn.disabled:hover {
3586 3645 background-position:none;
3587 3646 color: #999;
3588 3647 text-decoration: none;
3589 3648 box-shadow: none !important;
3590 3649 }
3591 3650
3592 3651 .ui-btn.red {
3593 3652 color:#fff;
3594 3653 background-color: #c43c35;
3595 3654 background-repeat: repeat-x;
3596 3655 background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
3597 3656 background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
3598 3657 background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
3599 3658 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
3600 3659 background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
3601 3660 background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
3602 3661 background-image: linear-gradient(top, #ee5f5b, #c43c35);
3603 3662 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
3604 3663 border-color: #c43c35 #c43c35 #882a25;
3605 3664 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3606 3665 }
3607 3666
3608 3667
3609 3668 .ui-btn.blue {
3610 3669 color:#fff;
3611 3670 background-color: #339bb9;
3612 3671 background-repeat: repeat-x;
3613 3672 background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
3614 3673 background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
3615 3674 background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
3616 3675 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
3617 3676 background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
3618 3677 background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
3619 3678 background-image: linear-gradient(top, #5bc0de, #339bb9);
3620 3679 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
3621 3680 border-color: #339bb9 #339bb9 #22697d;
3622 3681 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3623 3682 }
3624 3683
3625 3684 .ui-btn.green {
3626 3685 background-color: #57a957;
3627 3686 background-repeat: repeat-x;
3628 3687 background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
3629 3688 background-image: -moz-linear-gradient(top, #62c462, #57a957);
3630 3689 background-image: -ms-linear-gradient(top, #62c462, #57a957);
3631 3690 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
3632 3691 background-image: -webkit-linear-gradient(top, #62c462, #57a957);
3633 3692 background-image: -o-linear-gradient(top, #62c462, #57a957);
3634 3693 background-image: linear-gradient(top, #62c462, #57a957);
3635 3694 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
3636 3695 border-color: #57a957 #57a957 #3d773d;
3637 3696 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3638 3697 }
3639 3698
3640 3699 .ui-btn.blue.hidden {
3641 3700 display: none;
3642 3701 }
3643 3702
3644 3703 .ui-btn.active {
3645 3704 font-weight: bold;
3646 3705 }
3647 3706
3648 3707 ins, div.options a:hover {
3649 3708 text-decoration: none;
3650 3709 }
3651 3710
3652 3711 img,
3653 3712 #header #header-inner #quick li a:hover span.normal,
3654 3713 #header #header-inner #quick li ul li.last,
3655 3714 #content div.box div.form div.fields div.field div.textarea table td table td a,
3656 3715 #clone_url,
3657 3716 #clone_url_id
3658 3717 {
3659 3718 border: none;
3660 3719 }
3661 3720
3662 3721 img.icon, .right .merge img {
3663 3722 vertical-align: bottom;
3664 3723 }
3665 3724
3666 3725 #header ul#logged-user, #content div.box div.title ul.links,
3667 3726 #content div.box div.message div.dismiss,
3668 3727 #content div.box div.traffic div.legend ul {
3669 3728 float: right;
3670 3729 margin: 0;
3671 3730 padding: 0;
3672 3731 }
3673 3732
3674 3733 #header #header-inner #home, #header #header-inner #logo,
3675 3734 #content div.box ul.left, #content div.box ol.left,
3676 3735 #content div.box div.pagination-left, div#commit_history,
3677 3736 div#legend_data, div#legend_container, div#legend_choices {
3678 3737 float: left;
3679 3738 }
3680 3739
3681 3740 #header #header-inner #quick li #quick_login,
3682 3741 #header #header-inner #quick li:hover ul ul,
3683 3742 #header #header-inner #quick li:hover ul ul ul,
3684 3743 #header #header-inner #quick li:hover ul ul ul ul,
3685 3744 #content #left #menu ul.closed, #content #left #menu li ul.collapsed, .yui-tt-shadow {
3686 3745 display: none;
3687 3746 }
3688 3747
3689 3748 #header #header-inner #quick li:hover #quick_login,
3690 3749 #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 {
3691 3750 display: block;
3692 3751 }
3693 3752
3694 3753 #content div.graph {
3695 3754 padding: 0 10px 10px;
3696 3755 }
3697 3756
3698 3757 #content div.box div.title ul.links li a:hover, #content div.box div.title ul.links li.ui-tabs-selected a {
3699 3758 color: #bfe3ff;
3700 3759 }
3701 3760
3702 3761 #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 {
3703 3762 margin: 10px 24px 10px 44px;
3704 3763 }
3705 3764
3706 3765 #content div.box div.form, #content div.box div.table, #content div.box div.traffic {
3707 3766 clear: both;
3708 3767 overflow: hidden;
3709 3768 margin: 0;
3710 3769 padding: 0 20px 10px;
3711 3770 }
3712 3771
3713 3772 #content div.box div.form div.fields, #login div.form, #login div.form div.fields, #register div.form, #register div.form div.fields {
3714 3773 clear: both;
3715 3774 overflow: hidden;
3716 3775 margin: 0;
3717 3776 padding: 0;
3718 3777 }
3719 3778
3720 3779 #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 {
3721 3780 height: 1%;
3722 3781 display: block;
3723 3782 color: #363636;
3724 3783 margin: 0;
3725 3784 padding: 2px 0 0;
3726 3785 }
3727 3786
3728 3787 #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 {
3729 3788 background: #FBE3E4;
3730 3789 border-top: 1px solid #e1b2b3;
3731 3790 border-left: 1px solid #e1b2b3;
3732 3791 border-right: 1px solid #FBC2C4;
3733 3792 border-bottom: 1px solid #FBC2C4;
3734 3793 }
3735 3794
3736 3795 #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 {
3737 3796 background: #E6EFC2;
3738 3797 border-top: 1px solid #cebb98;
3739 3798 border-left: 1px solid #cebb98;
3740 3799 border-right: 1px solid #c6d880;
3741 3800 border-bottom: 1px solid #c6d880;
3742 3801 }
3743 3802
3744 3803 #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 {
3745 3804 margin: 0;
3746 3805 }
3747 3806
3748 3807 #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 {
3749 3808 margin: 0 0 0 0px !important;
3750 3809 padding: 0;
3751 3810 }
3752 3811
3753 3812 #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 {
3754 3813 margin: 0 0 0 200px;
3755 3814 padding: 0;
3756 3815 }
3757 3816
3758 3817 #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 {
3759 3818 color: #000;
3760 3819 text-decoration: none;
3761 3820 }
3762 3821
3763 3822 #content div.box div.form div.fields div.field div.select a.ui-selectmenu-focus, #content div.box div.action a.ui-selectmenu-focus {
3764 3823 border: 1px solid #666;
3765 3824 }
3766 3825
3767 3826 #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 {
3768 3827 clear: both;
3769 3828 overflow: hidden;
3770 3829 margin: 0;
3771 3830 padding: 8px 0 2px;
3772 3831 }
3773 3832
3774 3833 #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 {
3775 3834 float: left;
3776 3835 margin: 0;
3777 3836 }
3778 3837
3779 3838 #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 {
3780 3839 height: 1%;
3781 3840 display: block;
3782 3841 float: left;
3783 3842 margin: 2px 0 0 4px;
3784 3843 }
3785 3844
3786 3845 div.form div.fields div.field div.button input,
3787 3846 #content div.box div.form div.fields div.buttons input
3788 3847 div.form div.fields div.buttons input,
3789 3848 #content div.box div.action div.button input {
3790 3849 /*color: #000;*/
3791 3850 font-size: 11px;
3792 3851 font-weight: 700;
3793 3852 margin: 0;
3794 3853 }
3795 3854
3796 3855 input.ui-button {
3797 3856 background: #e5e3e3 url("../images/button.png") repeat-x;
3798 3857 border-top: 1px solid #DDD;
3799 3858 border-left: 1px solid #c6c6c6;
3800 3859 border-right: 1px solid #DDD;
3801 3860 border-bottom: 1px solid #c6c6c6;
3802 3861 color: #515151 !important;
3803 3862 outline: none;
3804 3863 margin: 0;
3805 3864 padding: 6px 12px;
3806 3865 -webkit-border-radius: 4px 4px 4px 4px;
3807 3866 -khtml-border-radius: 4px 4px 4px 4px;
3808 3867 -moz-border-radius: 4px 4px 4px 4px;
3809 3868 border-radius: 4px 4px 4px 4px;
3810 3869 box-shadow: 0 1px 0 #ececec;
3811 3870 cursor: pointer;
3812 3871 }
3813 3872
3814 3873 input.ui-button:hover {
3815 3874 background: #b4b4b4 url("../images/button_selected.png") repeat-x;
3816 3875 border-top: 1px solid #ccc;
3817 3876 border-left: 1px solid #bebebe;
3818 3877 border-right: 1px solid #b1b1b1;
3819 3878 border-bottom: 1px solid #afafaf;
3820 3879 }
3821 3880
3822 3881 div.form div.fields div.field div.highlight, #content div.box div.form div.fields div.buttons div.highlight {
3823 3882 display: inline;
3824 3883 }
3825 3884
3826 3885 #content div.box div.form div.fields div.buttons, div.form div.fields div.buttons {
3827 3886 margin: 10px 0 0 200px;
3828 3887 padding: 0;
3829 3888 }
3830 3889
3831 3890 #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 {
3832 3891 margin: 10px 0 0;
3833 3892 }
3834 3893
3835 3894 #content div.box table td.user, #content div.box table td.address {
3836 3895 width: 10%;
3837 3896 text-align: center;
3838 3897 }
3839 3898
3840 3899 #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 {
3841 3900 text-align: right;
3842 3901 margin: 6px 0 0;
3843 3902 padding: 0;
3844 3903 }
3845 3904
3846 3905 #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 {
3847 3906 background: #b4b4b4 url("../images/button_selected.png") repeat-x;
3848 3907 border-top: 1px solid #ccc;
3849 3908 border-left: 1px solid #bebebe;
3850 3909 border-right: 1px solid #b1b1b1;
3851 3910 border-bottom: 1px solid #afafaf;
3852 3911 color: #515151;
3853 3912 margin: 0;
3854 3913 padding: 6px 12px;
3855 3914 }
3856 3915
3857 3916 #content div.box div.pagination div.results, #content div.box div.pagination-wh div.results {
3858 3917 text-align: left;
3859 3918 float: left;
3860 3919 margin: 0;
3861 3920 padding: 0;
3862 3921 }
3863 3922
3864 3923 #content div.box div.pagination div.results span, #content div.box div.pagination-wh div.results span {
3865 3924 height: 1%;
3866 3925 display: block;
3867 3926 float: left;
3868 3927 background: #ebebeb url("../images/pager.png") repeat-x;
3869 3928 border-top: 1px solid #dedede;
3870 3929 border-left: 1px solid #cfcfcf;
3871 3930 border-right: 1px solid #c4c4c4;
3872 3931 border-bottom: 1px solid #c4c4c4;
3873 3932 color: #4A4A4A;
3874 3933 font-weight: 700;
3875 3934 margin: 0;
3876 3935 padding: 6px 8px;
3877 3936 }
3878 3937
3879 3938 #content div.box div.pagination ul.pager li.disabled, #content div.box div.pagination-wh a.disabled {
3880 3939 color: #B4B4B4;
3881 3940 padding: 6px;
3882 3941 }
3883 3942
3884 3943 #login, #register {
3885 3944 width: 520px;
3886 3945 margin: 10% auto 0;
3887 3946 padding: 0;
3888 3947 }
3889 3948
3890 3949 #login div.color, #register div.color {
3891 3950 clear: both;
3892 3951 overflow: hidden;
3893 3952 background: #FFF;
3894 3953 margin: 10px auto 0;
3895 3954 padding: 3px 3px 3px 0;
3896 3955 }
3897 3956
3898 3957 #login div.color a, #register div.color a {
3899 3958 width: 20px;
3900 3959 height: 20px;
3901 3960 display: block;
3902 3961 float: left;
3903 3962 margin: 0 0 0 3px;
3904 3963 padding: 0;
3905 3964 }
3906 3965
3907 3966 #login div.title h5, #register div.title h5 {
3908 3967 color: #fff;
3909 3968 margin: 10px;
3910 3969 padding: 0;
3911 3970 }
3912 3971
3913 3972 #login div.form div.fields div.field, #register div.form div.fields div.field {
3914 3973 clear: both;
3915 3974 overflow: hidden;
3916 3975 margin: 0;
3917 3976 padding: 0 0 10px;
3918 3977 }
3919 3978
3920 3979 #login div.form div.fields div.field span.error-message, #register div.form div.fields div.field span.error-message {
3921 3980 height: 1%;
3922 3981 display: block;
3923 3982 color: red;
3924 3983 margin: 8px 0 0;
3925 3984 padding: 0;
3926 3985 max-width: 320px;
3927 3986 }
3928 3987
3929 3988 #login div.form div.fields div.field div.label label, #register div.form div.fields div.field div.label label {
3930 3989 color: #000;
3931 3990 font-weight: 700;
3932 3991 }
3933 3992
3934 3993 #login div.form div.fields div.field div.input, #register div.form div.fields div.field div.input {
3935 3994 float: left;
3936 3995 margin: 0;
3937 3996 padding: 0;
3938 3997 }
3939 3998
3940 3999 #login div.form div.fields div.field div.checkbox, #register div.form div.fields div.field div.checkbox {
3941 4000 margin: 0 0 0 184px;
3942 4001 padding: 0;
3943 4002 }
3944 4003
3945 4004 #login div.form div.fields div.field div.checkbox label, #register div.form div.fields div.field div.checkbox label {
3946 4005 color: #565656;
3947 4006 font-weight: 700;
3948 4007 }
3949 4008
3950 4009 #login div.form div.fields div.buttons input, #register div.form div.fields div.buttons input {
3951 4010 color: #000;
3952 4011 font-size: 1em;
3953 4012 font-weight: 700;
3954 4013 margin: 0;
3955 4014 }
3956 4015
3957 4016 #changeset_content .container .wrapper, #graph_content .container .wrapper {
3958 4017 width: 600px;
3959 4018 }
3960 4019
3961 4020 #changeset_content .container .left {
3962 4021 float: left;
3963 4022 width: 75%;
3964 4023 padding-left: 5px;
3965 4024 }
3966 4025
3967 4026 #changeset_content .container .left .date, .ac .match {
3968 4027 font-weight: 700;
3969 4028 padding-top: 5px;
3970 4029 padding-bottom: 5px;
3971 4030 }
3972 4031
3973 4032 div#legend_container table td, div#legend_choices table td {
3974 4033 border: none !important;
3975 4034 height: 20px !important;
3976 4035 padding: 0 !important;
3977 4036 }
3978 4037
3979 4038 .q_filter_box {
3980 4039 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
3981 4040 -webkit-border-radius: 4px;
3982 4041 -moz-border-radius: 4px;
3983 4042 border-radius: 4px;
3984 4043 border: 0 none;
3985 4044 color: #AAAAAA;
3986 4045 margin-bottom: -4px;
3987 4046 margin-top: -4px;
3988 4047 padding-left: 3px;
3989 4048 }
3990 4049
3991 4050 #node_filter {
3992 4051 border: 0px solid #545454;
3993 4052 color: #AAAAAA;
3994 4053 padding-left: 3px;
3995 4054 }
3996 4055
3997 4056
3998 4057 .group_members_wrap {
3999 4058 min-height: 85px;
4000 4059 padding-left: 20px;
4001 4060 }
4002 4061
4003 4062 .group_members .group_member {
4004 4063 height: 30px;
4005 4064 padding:0px 0px 0px 0px;
4006 4065 }
4007 4066
4008 4067 .reviewers_member {
4009 4068 height: 15px;
4010 4069 padding:0px 0px 0px 10px;
4011 4070 }
4012 4071
4013 4072 .emails_wrap {
4014 4073 padding: 0px 20px;
4015 4074 }
4016 4075
4017 4076 .emails_wrap .email_entry {
4018 4077 height: 30px;
4019 4078 padding:0px 0px 0px 10px;
4020 4079 }
4021 4080 .emails_wrap .email_entry .email {
4022 4081 float: left
4023 4082 }
4024 4083 .emails_wrap .email_entry .email_action {
4025 4084 float: left
4026 4085 }
4027 4086
4028 4087 .ips_wrap {
4029 4088 padding: 0px 20px;
4030 4089 }
4031 4090
4032 4091 .ips_wrap .ip_entry {
4033 4092 height: 30px;
4034 4093 padding:0px 0px 0px 10px;
4035 4094 }
4036 4095 .ips_wrap .ip_entry .ip {
4037 4096 float: left
4038 4097 }
4039 4098 .ips_wrap .ip_entry .ip_action {
4040 4099 float: left
4041 4100 }
4042 4101
4043 4102
4044 4103 /*README STYLE*/
4045 4104
4046 4105 div.readme {
4047 4106 padding:0px;
4048 4107 }
4049 4108
4050 4109 div.readme h2 {
4051 4110 font-weight: normal;
4052 4111 }
4053 4112
4054 4113 div.readme .readme_box {
4055 4114 background-color: #fafafa;
4056 4115 }
4057 4116
4058 4117 div.readme .readme_box {
4059 4118 clear:both;
4060 4119 overflow:hidden;
4061 4120 margin:0;
4062 4121 padding:0 20px 10px;
4063 4122 }
4064 4123
4065 4124 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 {
4066 4125 border-bottom: 0 !important;
4067 4126 margin: 0 !important;
4068 4127 padding: 0 !important;
4069 4128 line-height: 1.5em !important;
4070 4129 }
4071 4130
4072 4131
4073 4132 div.readme .readme_box h1:first-child {
4074 4133 padding-top: .25em !important;
4075 4134 }
4076 4135
4077 4136 div.readme .readme_box h2, div.readme .readme_box h3 {
4078 4137 margin: 1em 0 !important;
4079 4138 }
4080 4139
4081 4140 div.readme .readme_box h2 {
4082 4141 margin-top: 1.5em !important;
4083 4142 border-top: 4px solid #e0e0e0 !important;
4084 4143 padding-top: .5em !important;
4085 4144 }
4086 4145
4087 4146 div.readme .readme_box p {
4088 4147 color: black !important;
4089 4148 margin: 1em 0 !important;
4090 4149 line-height: 1.5em !important;
4091 4150 }
4092 4151
4093 4152 div.readme .readme_box ul {
4094 4153 list-style: disc !important;
4095 4154 margin: 1em 0 1em 2em !important;
4096 4155 }
4097 4156
4098 4157 div.readme .readme_box ol {
4099 4158 list-style: decimal;
4100 4159 margin: 1em 0 1em 2em !important;
4101 4160 }
4102 4161
4103 4162 div.readme .readme_box pre, code {
4104 4163 font: 12px "Bitstream Vera Sans Mono","Courier",monospace;
4105 4164 }
4106 4165
4107 4166 div.readme .readme_box code {
4108 4167 font-size: 12px !important;
4109 4168 background-color: ghostWhite !important;
4110 4169 color: #444 !important;
4111 4170 padding: 0 .2em !important;
4112 4171 border: 1px solid #dedede !important;
4113 4172 }
4114 4173
4115 4174 div.readme .readme_box pre code {
4116 4175 padding: 0 !important;
4117 4176 font-size: 12px !important;
4118 4177 background-color: #eee !important;
4119 4178 border: none !important;
4120 4179 }
4121 4180
4122 4181 div.readme .readme_box pre {
4123 4182 margin: 1em 0;
4124 4183 font-size: 12px;
4125 4184 background-color: #eee;
4126 4185 border: 1px solid #ddd;
4127 4186 padding: 5px;
4128 4187 color: #444;
4129 4188 overflow: auto;
4130 4189 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
4131 4190 -webkit-border-radius: 3px;
4132 4191 -moz-border-radius: 3px;
4133 4192 border-radius: 3px;
4134 4193 }
4135 4194
4136 4195 div.readme .readme_box table {
4137 4196 display: table;
4138 4197 border-collapse: separate;
4139 4198 border-spacing: 2px;
4140 4199 border-color: gray;
4141 4200 width: auto !important;
4142 4201 }
4143 4202
4144 4203
4145 4204 /** RST STYLE **/
4146 4205
4147 4206
4148 4207 div.rst-block {
4149 4208 padding:0px;
4150 4209 }
4151 4210
4152 4211 div.rst-block h2 {
4153 4212 font-weight: normal;
4154 4213 }
4155 4214
4156 4215 div.rst-block {
4157 4216 background-color: #fafafa;
4158 4217 }
4159 4218
4160 4219 div.rst-block {
4161 4220 clear:both;
4162 4221 overflow:hidden;
4163 4222 margin:0;
4164 4223 padding:0 20px 10px;
4165 4224 }
4166 4225
4167 4226 div.rst-block h1, div.rst-block h2, div.rst-block h3, div.rst-block h4, div.rst-block h5, div.rst-block h6 {
4168 4227 border-bottom: 0 !important;
4169 4228 margin: 0 !important;
4170 4229 padding: 0 !important;
4171 4230 line-height: 1.5em !important;
4172 4231 }
4173 4232
4174 4233
4175 4234 div.rst-block h1:first-child {
4176 4235 padding-top: .25em !important;
4177 4236 }
4178 4237
4179 4238 div.rst-block h2, div.rst-block h3 {
4180 4239 margin: 1em 0 !important;
4181 4240 }
4182 4241
4183 4242 div.rst-block h2 {
4184 4243 margin-top: 1.5em !important;
4185 4244 border-top: 4px solid #e0e0e0 !important;
4186 4245 padding-top: .5em !important;
4187 4246 }
4188 4247
4189 4248 div.rst-block p {
4190 4249 color: black !important;
4191 4250 margin: 1em 0 !important;
4192 4251 line-height: 1.5em !important;
4193 4252 }
4194 4253
4195 4254 div.rst-block ul {
4196 4255 list-style: disc !important;
4197 4256 margin: 1em 0 1em 2em !important;
4198 4257 }
4199 4258
4200 4259 div.rst-block ol {
4201 4260 list-style: decimal;
4202 4261 margin: 1em 0 1em 2em !important;
4203 4262 }
4204 4263
4205 4264 div.rst-block pre, code {
4206 4265 font: 12px "Bitstream Vera Sans Mono","Courier",monospace;
4207 4266 }
4208 4267
4209 4268 div.rst-block code {
4210 4269 font-size: 12px !important;
4211 4270 background-color: ghostWhite !important;
4212 4271 color: #444 !important;
4213 4272 padding: 0 .2em !important;
4214 4273 border: 1px solid #dedede !important;
4215 4274 }
4216 4275
4217 4276 div.rst-block pre code {
4218 4277 padding: 0 !important;
4219 4278 font-size: 12px !important;
4220 4279 background-color: #eee !important;
4221 4280 border: none !important;
4222 4281 }
4223 4282
4224 4283 div.rst-block pre {
4225 4284 margin: 1em 0;
4226 4285 font-size: 12px;
4227 4286 background-color: #eee;
4228 4287 border: 1px solid #ddd;
4229 4288 padding: 5px;
4230 4289 color: #444;
4231 4290 overflow: auto;
4232 4291 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
4233 4292 -webkit-border-radius: 3px;
4234 4293 -moz-border-radius: 3px;
4235 4294 border-radius: 3px;
4236 4295 }
4237 4296
4238 4297
4239 4298 /** comment main **/
4240 4299 .comments {
4241 4300 padding:10px 20px;
4242 4301 }
4243 4302
4244 4303 .comments .comment {
4245 4304 border: 1px solid #ddd;
4246 4305 margin-top: 10px;
4247 4306 -webkit-border-radius: 4px;
4248 4307 -moz-border-radius: 4px;
4249 4308 border-radius: 4px;
4250 4309 }
4251 4310
4252 4311 .comments .comment .meta {
4253 4312 background: #f8f8f8;
4254 4313 padding: 4px;
4255 4314 border-bottom: 1px solid #ddd;
4256 4315 height: 18px;
4257 4316 }
4258 4317
4259 4318 .comments .comment .meta img {
4260 4319 vertical-align: middle;
4261 4320 }
4262 4321
4263 4322 .comments .comment .meta .user {
4264 4323 font-weight: bold;
4265 4324 float: left;
4266 4325 padding: 4px 2px 2px 2px;
4267 4326 }
4268 4327
4269 4328 .comments .comment .meta .date {
4270 4329 float: left;
4271 4330 padding:4px 4px 0px 4px;
4272 4331 }
4273 4332
4274 4333 .comments .comment .text {
4275 4334 background-color: #FAFAFA;
4276 4335 }
4277 4336 .comment .text div.rst-block p {
4278 4337 margin: 0.5em 0px !important;
4279 4338 }
4280 4339
4281 4340 .comments .comments-number {
4282 4341 padding:0px 0px 10px 0px;
4283 4342 font-weight: bold;
4284 4343 color: #666;
4285 4344 font-size: 16px;
4286 4345 }
4287 4346
4288 4347 /** comment form **/
4289 4348
4290 4349 .status-block {
4291 4350 min-height:80px;
4292 4351 clear:both
4293 4352 }
4294 4353
4295 4354 .comment-form .clearfix {
4296 4355 background: #EEE;
4297 4356 -webkit-border-radius: 4px;
4298 4357 -moz-border-radius: 4px;
4299 4358 border-radius: 4px;
4300 4359 padding: 10px;
4301 4360 }
4302 4361
4303 4362 div.comment-form {
4304 4363 margin-top: 20px;
4305 4364 }
4306 4365
4307 4366 .comment-form strong {
4308 4367 display: block;
4309 4368 margin-bottom: 15px;
4310 4369 }
4311 4370
4312 4371 .comment-form textarea {
4313 4372 width: 100%;
4314 4373 height: 100px;
4315 4374 font-family: 'Monaco', 'Courier', 'Courier New', monospace;
4316 4375 }
4317 4376
4318 4377 form.comment-form {
4319 4378 margin-top: 10px;
4320 4379 margin-left: 10px;
4321 4380 }
4322 4381
4323 4382 .comment-form-submit {
4324 4383 margin-top: 5px;
4325 4384 margin-left: 525px;
4326 4385 }
4327 4386
4328 4387 .file-comments {
4329 4388 display: none;
4330 4389 }
4331 4390
4332 4391 .comment-form .comment {
4333 4392 margin-left: 10px;
4334 4393 }
4335 4394
4336 4395 .comment-form .comment-help {
4337 4396 padding: 0px 0px 5px 0px;
4338 4397 color: #666;
4339 4398 }
4340 4399
4341 4400 .comment-form .comment-button {
4342 4401 padding-top:5px;
4343 4402 }
4344 4403
4345 4404 .add-another-button {
4346 4405 margin-left: 10px;
4347 4406 margin-top: 10px;
4348 4407 margin-bottom: 10px;
4349 4408 }
4350 4409
4351 4410 .comment .buttons {
4352 4411 float: right;
4353 4412 padding:2px 2px 0px 0px;
4354 4413 }
4355 4414
4356 4415
4357 4416 .show-inline-comments {
4358 4417 position: relative;
4359 4418 top:1px
4360 4419 }
4361 4420
4362 4421 /** comment inline form **/
4363 4422 .comment-inline-form .overlay {
4364 4423 display: none;
4365 4424 }
4366 4425 .comment-inline-form .overlay.submitting {
4367 4426 display:block;
4368 4427 background: none repeat scroll 0 0 white;
4369 4428 font-size: 16px;
4370 4429 opacity: 0.5;
4371 4430 position: absolute;
4372 4431 text-align: center;
4373 4432 vertical-align: top;
4374 4433
4375 4434 }
4376 4435 .comment-inline-form .overlay.submitting .overlay-text {
4377 4436 width:100%;
4378 4437 margin-top:5%;
4379 4438 }
4380 4439
4381 4440 .comment-inline-form .clearfix {
4382 4441 background: #EEE;
4383 4442 -webkit-border-radius: 4px;
4384 4443 -moz-border-radius: 4px;
4385 4444 border-radius: 4px;
4386 4445 padding: 5px;
4387 4446 }
4388 4447
4389 4448 div.comment-inline-form {
4390 4449 padding:4px 0px 6px 0px;
4391 4450 }
4392 4451
4393 4452
4394 4453 tr.hl-comment {
4395 4454 /*
4396 4455 background-color: #FFFFCC !important;
4397 4456 */
4398 4457 }
4399 4458
4400 4459 /*
4401 4460 tr.hl-comment pre {
4402 4461 border-top: 2px solid #FFEE33;
4403 4462 border-left: 2px solid #FFEE33;
4404 4463 border-right: 2px solid #FFEE33;
4405 4464 }
4406 4465 */
4407 4466
4408 4467 .comment-inline-form strong {
4409 4468 display: block;
4410 4469 margin-bottom: 15px;
4411 4470 }
4412 4471
4413 4472 .comment-inline-form textarea {
4414 4473 width: 100%;
4415 4474 height: 100px;
4416 4475 font-family: 'Monaco', 'Courier', 'Courier New', monospace;
4417 4476 }
4418 4477
4419 4478 form.comment-inline-form {
4420 4479 margin-top: 10px;
4421 4480 margin-left: 10px;
4422 4481 }
4423 4482
4424 4483 .comment-inline-form-submit {
4425 4484 margin-top: 5px;
4426 4485 margin-left: 525px;
4427 4486 }
4428 4487
4429 4488 .file-comments {
4430 4489 display: none;
4431 4490 }
4432 4491
4433 4492 .comment-inline-form .comment {
4434 4493 margin-left: 10px;
4435 4494 }
4436 4495
4437 4496 .comment-inline-form .comment-help {
4438 4497 padding: 0px 0px 2px 0px;
4439 4498 color: #666666;
4440 4499 font-size: 10px;
4441 4500 }
4442 4501
4443 4502 .comment-inline-form .comment-button {
4444 4503 padding-top:5px;
4445 4504 }
4446 4505
4447 4506 /** comment inline **/
4448 4507 .inline-comments {
4449 4508 padding:10px 20px;
4450 4509 }
4451 4510
4452 4511 .inline-comments div.rst-block {
4453 4512 clear:both;
4454 4513 overflow:hidden;
4455 4514 margin:0;
4456 4515 padding:0 20px 0px;
4457 4516 }
4458 4517 .inline-comments .comment {
4459 4518 border: 1px solid #ddd;
4460 4519 -webkit-border-radius: 4px;
4461 4520 -moz-border-radius: 4px;
4462 4521 border-radius: 4px;
4463 4522 margin: 3px 3px 5px 5px;
4464 4523 background-color: #FAFAFA;
4465 4524 }
4466 4525 .inline-comments .add-comment {
4467 4526 padding: 2px 4px 8px 5px;
4468 4527 }
4469 4528
4470 4529 .inline-comments .comment-wrapp {
4471 4530 padding:1px;
4472 4531 }
4473 4532 .inline-comments .comment .meta {
4474 4533 background: #f8f8f8;
4475 4534 padding: 4px;
4476 4535 border-bottom: 1px solid #ddd;
4477 4536 height: 20px;
4478 4537 }
4479 4538
4480 4539 .inline-comments .comment .meta img {
4481 4540 vertical-align: middle;
4482 4541 }
4483 4542
4484 4543 .inline-comments .comment .meta .user {
4485 4544 font-weight: bold;
4486 4545 float:left;
4487 4546 padding: 3px;
4488 4547 }
4489 4548
4490 4549 .inline-comments .comment .meta .date {
4491 4550 float:left;
4492 4551 padding: 3px;
4493 4552 }
4494 4553
4495 4554 .inline-comments .comment .text {
4496 4555 background-color: #FAFAFA;
4497 4556 }
4498 4557
4499 4558 .inline-comments .comments-number {
4500 4559 padding:0px 0px 10px 0px;
4501 4560 font-weight: bold;
4502 4561 color: #666;
4503 4562 font-size: 16px;
4504 4563 }
4505 4564 .inline-comments-button .add-comment {
4506 4565 margin:2px 0px 8px 5px !important
4507 4566 }
4508 4567
4509 4568
4510 4569 .notification-paginator {
4511 4570 padding: 0px 0px 4px 16px;
4512 4571 float: left;
4513 4572 }
4514 4573
4515 4574 .menu_link_user {
4516 4575 padding: 10px 8px 8px 8px !important;
4517 4576 }
4518 4577
4519 4578 .menu_link_notifications {
4520 4579 padding: 4px 4px !important;
4521 4580 margin: 7px 4px 0px 0px !important;
4522 4581 text-align: center;
4523 4582 color:#888 !important;
4524 4583 font-size: 10px;
4525 4584 background-color: #DEDEDE !important;
4526 4585 border-radius: 4px !important;
4527 4586 -webkit-border-radius: 4px !important;
4528 4587 -moz-border-radius: 4px !important;
4529 4588 }
4530 4589
4531 4590 .notification-header {
4532 4591 padding-top:6px;
4533 4592 }
4534 4593 .notification-header .desc {
4535 4594 font-size: 16px;
4536 4595 height: 24px;
4537 4596 float: left
4538 4597 }
4539 4598 .notification-list .container.unread {
4540 4599 background: none repeat scroll 0 0 rgba(255, 255, 180, 0.6);
4541 4600 }
4542 4601 .notification-header .gravatar {
4543 4602 background: none repeat scroll 0 0 transparent;
4544 4603 padding: 0px 0px 0px 8px;
4545 4604 }
4546 4605 .notification-list .container .notification-header .desc {
4547 4606 font-weight: bold;
4548 4607 font-size: 17px;
4549 4608 }
4550 4609 .notification-table {
4551 4610 border: 1px solid #ccc;
4552 4611 -webkit-border-radius: 6px 6px 6px 6px;
4553 4612 -moz-border-radius: 6px 6px 6px 6px;
4554 4613 border-radius: 6px 6px 6px 6px;
4555 4614 clear: both;
4556 4615 margin: 0px 20px 0px 20px;
4557 4616 }
4558 4617 .notification-header .delete-notifications {
4559 4618 float: right;
4560 4619 padding-top: 8px;
4561 4620 cursor: pointer;
4562 4621 }
4563 4622 .notification-header .read-notifications {
4564 4623 float: right;
4565 4624 padding-top: 8px;
4566 4625 cursor: pointer;
4567 4626 }
4568 4627 .notification-subject {
4569 4628 clear:both;
4570 4629 border-bottom: 1px solid #eee;
4571 4630 padding:5px 0px 5px 38px;
4572 4631 }
4573 4632
4574 4633 .notification-body {
4575 4634 clear:both;
4576 4635 margin: 34px 2px 2px 8px
4577 4636 }
4578 4637
4579 4638 /****
4580 4639 PULL REQUESTS
4581 4640 *****/
4582 4641 .pullrequests_section_head {
4583 4642 padding:10px 10px 10px 0px;
4584 4643 font-size:16px;
4585 4644 font-weight: bold;
4586 4645 }
4587 4646
4588 4647 /****
4589 4648 PERMS
4590 4649 *****/
4591 4650 #perms .perms_section_head {
4592 4651 padding:10px 10px 10px 0px;
4593 4652 font-size:16px;
4594 4653 font-weight: bold;
4595 4654 }
4596 4655
4597 4656 #perms .perm_tag {
4598 4657 padding: 1px 3px 1px 3px;
4599 4658 font-size: 10px;
4600 4659 font-weight: bold;
4601 4660 text-transform: uppercase;
4602 4661 white-space: nowrap;
4603 4662 -webkit-border-radius: 3px;
4604 4663 -moz-border-radius: 3px;
4605 4664 border-radius: 3px;
4606 4665 }
4607 4666
4608 4667 #perms .perm_tag.admin {
4609 4668 background-color: #B94A48;
4610 4669 color: #ffffff;
4611 4670 }
4612 4671
4613 4672 #perms .perm_tag.write {
4614 4673 background-color: #DB7525;
4615 4674 color: #ffffff;
4616 4675 }
4617 4676
4618 4677 #perms .perm_tag.read {
4619 4678 background-color: #468847;
4620 4679 color: #ffffff;
4621 4680 }
4622 4681
4623 4682 #perms .perm_tag.none {
4624 4683 background-color: #bfbfbf;
4625 4684 color: #ffffff;
4626 4685 }
4627 4686
4628 4687 .perm-gravatar {
4629 4688 vertical-align:middle;
4630 4689 padding:2px;
4631 4690 }
4632 4691 .perm-gravatar-ac {
4633 4692 vertical-align:middle;
4634 4693 padding:2px;
4635 4694 width: 14px;
4636 4695 height: 14px;
4637 4696 }
4638 4697
4639 4698 /*****************************************************************************
4640 4699 DIFFS CSS
4641 4700 ******************************************************************************/
4642 4701
4643 4702 div.diffblock {
4644 4703 overflow: auto;
4645 4704 padding: 0px;
4646 4705 border: 1px solid #ccc;
4647 4706 background: #f8f8f8;
4648 4707 font-size: 100%;
4649 4708 line-height: 100%;
4650 4709 /* new */
4651 4710 line-height: 125%;
4652 4711 -webkit-border-radius: 6px 6px 0px 0px;
4653 4712 -moz-border-radius: 6px 6px 0px 0px;
4654 4713 border-radius: 6px 6px 0px 0px;
4655 4714 }
4656 4715 div.diffblock.margined {
4657 4716 margin: 0px 20px 0px 20px;
4658 4717 }
4659 4718 div.diffblock .code-header {
4660 4719 border-bottom: 1px solid #CCCCCC;
4661 4720 background: #EEEEEE;
4662 4721 padding:10px 0 10px 0;
4663 4722 height: 14px;
4664 4723 }
4665 4724
4666 4725 div.diffblock .code-header.banner {
4667 4726 border-bottom: 1px solid #CCCCCC;
4668 4727 background: #EEEEEE;
4669 4728 height: 14px;
4670 4729 margin: 0px 95px 0px 95px;
4671 4730 padding: 3px 3px 11px 3px;
4672 4731 }
4673 4732
4674 4733 div.diffblock .code-header.cv {
4675 4734 height: 34px;
4676 4735 }
4677 4736 div.diffblock .code-header-title {
4678 4737 padding: 0px 0px 10px 5px !important;
4679 4738 margin: 0 !important;
4680 4739 }
4681 4740 div.diffblock .code-header .hash {
4682 4741 float: left;
4683 4742 padding: 2px 0 0 2px;
4684 4743 }
4685 4744 div.diffblock .code-header .date {
4686 4745 float:left;
4687 4746 text-transform: uppercase;
4688 4747 padding: 2px 0px 0px 2px;
4689 4748 }
4690 4749 div.diffblock .code-header div {
4691 4750 margin-left:4px;
4692 4751 font-weight: bold;
4693 4752 font-size: 14px;
4694 4753 }
4695 4754
4696 4755 div.diffblock .parents {
4697 4756 float: left;
4698 4757 height: 26px;
4699 4758 width:100px;
4700 4759 font-size: 10px;
4701 4760 font-weight: 400;
4702 4761 vertical-align: middle;
4703 4762 padding: 0px 2px 2px 2px;
4704 4763 background-color:#eeeeee;
4705 4764 border-bottom: 1px solid #CCCCCC;
4706 4765 }
4707 4766
4708 4767 div.diffblock .children {
4709 4768 float: right;
4710 4769 height: 26px;
4711 4770 width:100px;
4712 4771 font-size: 10px;
4713 4772 font-weight: 400;
4714 4773 vertical-align: middle;
4715 4774 text-align: right;
4716 4775 padding: 0px 2px 2px 2px;
4717 4776 background-color:#eeeeee;
4718 4777 border-bottom: 1px solid #CCCCCC;
4719 4778 }
4720 4779
4721 4780 div.diffblock .code-body {
4722 4781 background: #FFFFFF;
4723 4782 }
4724 4783 div.diffblock pre.raw {
4725 4784 background: #FFFFFF;
4726 4785 color:#000000;
4727 4786 }
4728 4787 table.code-difftable {
4729 4788 border-collapse: collapse;
4730 4789 width: 99%;
4731 4790 }
4732 4791 table.code-difftable td {
4733 4792 padding: 0 !important;
4734 4793 background: none !important;
4735 4794 border:0 !important;
4736 4795 vertical-align: none !important;
4737 4796 }
4738 4797 table.code-difftable .context {
4739 4798 background:none repeat scroll 0 0 #DDE7EF;
4740 4799 }
4741 4800 table.code-difftable .add {
4742 4801 background:none repeat scroll 0 0 #DDFFDD;
4743 4802 }
4744 4803 table.code-difftable .add ins {
4745 4804 background:none repeat scroll 0 0 #AAFFAA;
4746 4805 text-decoration:none;
4747 4806 }
4748 4807 table.code-difftable .del {
4749 4808 background:none repeat scroll 0 0 #FFDDDD;
4750 4809 }
4751 4810 table.code-difftable .del del {
4752 4811 background:none repeat scroll 0 0 #FFAAAA;
4753 4812 text-decoration:none;
4754 4813 }
4755 4814
4756 4815 /** LINE NUMBERS **/
4757 4816 table.code-difftable .lineno {
4758 4817
4759 4818 padding-left:2px;
4760 4819 padding-right:2px;
4761 4820 text-align:right;
4762 4821 width:32px;
4763 4822 -moz-user-select:none;
4764 4823 -webkit-user-select: none;
4765 4824 border-right: 1px solid #CCC !important;
4766 4825 border-left: 0px solid #CCC !important;
4767 4826 border-top: 0px solid #CCC !important;
4768 4827 border-bottom: none !important;
4769 4828 vertical-align: middle !important;
4770 4829
4771 4830 }
4772 4831 table.code-difftable .lineno.new {
4773 4832 }
4774 4833 table.code-difftable .lineno.old {
4775 4834 }
4776 4835 table.code-difftable .lineno a {
4777 4836 color:#747474 !important;
4778 4837 font:11px "Bitstream Vera Sans Mono",Monaco,"Courier New",Courier,monospace !important;
4779 4838 letter-spacing:-1px;
4780 4839 text-align:right;
4781 4840 padding-right: 2px;
4782 4841 cursor: pointer;
4783 4842 display: block;
4784 4843 width: 32px;
4785 4844 }
4786 4845
4787 4846 table.code-difftable .lineno-inline {
4788 4847 background:none repeat scroll 0 0 #FFF !important;
4789 4848 padding-left:2px;
4790 4849 padding-right:2px;
4791 4850 text-align:right;
4792 4851 width:30px;
4793 4852 -moz-user-select:none;
4794 4853 -webkit-user-select: none;
4795 4854 }
4796 4855
4797 4856 /** CODE **/
4798 4857 table.code-difftable .code {
4799 4858 display: block;
4800 4859 width: 100%;
4801 4860 }
4802 4861 table.code-difftable .code td {
4803 4862 margin:0;
4804 4863 padding:0;
4805 4864 }
4806 4865 table.code-difftable .code pre {
4807 4866 margin:0;
4808 4867 padding:0;
4809 4868 height: 17px;
4810 4869 line-height: 17px;
4811 4870 }
4812 4871
4813 4872
4814 4873 .diffblock.margined.comm .line .code:hover {
4815 4874 background-color:#FFFFCC !important;
4816 4875 cursor: pointer !important;
4817 4876 background-image:url("../images/icons/comment_add.png") !important;
4818 4877 background-repeat:no-repeat !important;
4819 4878 background-position: right !important;
4820 4879 background-position: 0% 50% !important;
4821 4880 }
4822 4881 .diffblock.margined.comm .line .code.no-comment:hover {
4823 4882 background-image: none !important;
4824 4883 cursor: auto !important;
4825 4884 background-color: inherit !important;
4826 4885 }
4827 4886
4828 4887 div.comment:target>.comment-wrapp {
4829 4888 border: solid 2px #ee0 !important;
4830 4889 }
@@ -1,420 +1,387 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="root.html"/>
3 3
4 4 <!-- HEADER -->
5 5 <div id="header-dd"></div>
6 6 <div id="header">
7 7 <div id="header-inner" class="title">
8 8 <div id="logo">
9 9 <h1><a href="${h.url('home')}">${c.rhodecode_name}</a></h1>
10 10 </div>
11 11 <!-- MENU -->
12 12 ${self.page_nav()}
13 13 <!-- END MENU -->
14 14 ${self.body()}
15 15 </div>
16 16 </div>
17 17 <!-- END HEADER -->
18 18
19 19 <!-- CONTENT -->
20 20 <div id="content">
21 21 <div class="flash_msg">
22 22 <% messages = h.flash.pop_messages() %>
23 23 % if messages:
24 24 <ul id="flash-messages">
25 25 % for message in messages:
26 26 <li class="${message.category}_msg">${message}</li>
27 27 % endfor
28 28 </ul>
29 29 % endif
30 30 </div>
31 31 <div id="main">
32 32 ${next.main()}
33 33 </div>
34 34 </div>
35 35 <!-- END CONTENT -->
36 36
37 37 <!-- FOOTER -->
38 38 <div id="footer">
39 39 <div id="footer-inner" class="title">
40 40 <div>
41 41 <p class="footer-link">
42 42 <a href="${h.url('bugtracker')}">${_('Submit a bug')}</a>
43 43 </p>
44 44 <p class="footer-link-right">
45 45 <a href="${h.url('rhodecode_official')}">RhodeCode${'-%s' % c.rhodecode_instanceid if c.rhodecode_instanceid else ''}</a>
46 46 ${c.rhodecode_version} &copy; 2010-${h.datetime.today().year} by Marcin Kuzminski
47 47 </p>
48 48 </div>
49 49 </div>
50 50 </div>
51 51 <!-- END FOOTER -->
52 52
53 53 ### MAKO DEFS ###
54 54 <%def name="page_nav()">
55 55 ${self.menu()}
56 56 </%def>
57 57
58 58 <%def name="breadcrumbs()">
59 59 <div class="breadcrumbs">
60 60 ${self.breadcrumbs_links()}
61 61 </div>
62 62 </%def>
63 63
64 64 <%def name="context_bar(current=None)">
65 65 %if c.repo_name:
66 66 ${repo_context_bar(current)}
67 67 %endif
68 68 </%def>
69 69
70 <%def name="admin_menu()">
71 <ul class="admin_menu">
72 <li>${h.link_to(_('admin journal'),h.url('admin_home'),class_='journal')}</li>
73 <li>${h.link_to(_('repositories'),h.url('repos'),class_='repos')}</li>
74 <li>${h.link_to(_('repositories groups'),h.url('repos_groups'),class_='repos_groups')}</li>
75 <li>${h.link_to(_('users'),h.url('users'),class_='users')}</li>
76 <li>${h.link_to(_('users groups'),h.url('users_groups'),class_='groups')}</li>
77 <li>${h.link_to(_('permissions'),h.url('edit_permission',id='default'),class_='permissions')}</li>
78 <li>${h.link_to(_('ldap'),h.url('ldap_home'),class_='ldap')}</li>
79 <li>${h.link_to(_('defaults'),h.url('defaults'),class_='defaults')}</li>
80 <li class="last">${h.link_to(_('settings'),h.url('admin_settings'),class_='settings')}</li>
81 </ul>
82 </%def>
83
84 <%def name="admin_menu_simple()">
85 <ul>
86 <li>${h.link_to(_('repositories groups'),h.url('repos_groups'),class_='repos_groups')}</li>
87 </ul>
88 </%def>
89
70 90 <%def name="repo_context_bar(current=None)">
71 91 <%
72 92 def follow_class():
73 93 if c.repository_following:
74 94 return h.literal('following')
75 95 else:
76 96 return h.literal('follow')
77 97 %>
78 98 <%
79 99 def is_current(selected):
80 100 if selected == current:
81 101 return h.literal('class="current"')
82 102 %>
83 103
84 104 <!--- CONTEXT BAR -->
85 105 <div id="context-bar" class="box">
86 106 <div id="context-top">
87 107 <div id= "breadcrumbs">
88 108 ${h.link_to(_(u'Repositories'),h.url('home'))}
89 109 Β»
90 110 ${h.repo_link(c.rhodecode_db_repo.groups_and_repo)}
91 111 </div>
92 112 ## TODO: this check feels wrong, it would be better to have a check for permissions
93 113 ## also it feels like a job for the controller
94 114 %if c.rhodecode_user.username != 'default':
95 115 <ul id="context-actions" class="horizontal-list">
96 116 <li>
97 117 <button class="${follow_class()}" onclick="javascript:toggleFollowingRepo(this,${c.rhodecode_db_repo.repo_id},'${str(h.get_token())}');">
98 118 <!--span class="icon show-follow follow"></span>
99 119 <span class="icon show-following following"></span-->
100 120 <span class="show-follow">${_('Follow')}</span>
101 121 <span class="show-following">${_('Unfollow')}</span>
102 122 </button>
103 123 </li>
104 124 <li><a href="${h.url('repo_fork_home',repo_name=c.repo_name)}" class="fork">${_('Fork')}</a></li>
105 125 %if h.is_hg(c.rhodecode_repo):
106 126 <li><a href="${h.url('pullrequest_home',repo_name=c.repo_name)}" class="pull-request">${_('Pull Request')}</a></li>
107 127 %endif
108 128 </ul>
109 129 %endif
110 130 </div>
111 131 <div id="context-state">
112 132 <!--button id="revision-changer">
113 133 <span class="branch-name">graphics/shader-move</span>
114 134 <span class="revision">@73318:8d3d6ee94072</span>
115 135 </button-->
116 &nbsp;
117 136 <ul id="context-pages" class="horizontal-list">
118 137 <li ${is_current('summary')}><a href="${h.url('summary_home', repo_name=c.repo_name)}" class="summary">${_('Summary')}</a></li>
119 138 <li ${is_current('changelog')}><a href="${h.url('changelog_home', repo_name=c.repo_name)}" class="changelogs">${_('Changelogs')}</a></li>
120 139 <li ${is_current('files')}><a href="${h.url('files_home', repo_name=c.repo_name)}" class="files"></span>${_('Files')}</a></li>
121 <li>
140 <li ${is_current('switch-to')}>
122 141 <a href="#" id="branch_tag_switcher_2" class="dropdown switch-to"></span>${_('Switch To')}</a>
123 142 <ul id="switch_to_list_2" class="switch_to submenu">
124 143 <li><a href="#">${_('loading...')}</a></li>
125 144 </ul>
126 145 </li>
127 146 <li ${is_current('options')}>
128 147 <a href="#" class="dropdown options"></span>Options</a>
129 148 <ul>
130 149 %if h.HasRepoPermissionAll('repository.admin')(c.repo_name):
131 150 %if h.HasPermissionAll('hg.admin')('access settings on repository'):
132 151 <li>${h.link_to(_('repository settings'),h.url('edit_repo',repo_name=c.repo_name),class_='settings')}</li>
133 152 %else:
134 153 <li>${h.link_to(_('repository settings'),h.url('repo_settings_home',repo_name=c.repo_name),class_='settings')}</li>
135 154 %endif
136 155 %endif
137 156 %if c.rhodecode_db_repo.fork:
138 157 <li>${h.link_to(_('compare fork'),h.url('compare_url',repo_name=c.rhodecode_db_repo.fork.repo_name,org_ref_type='branch',org_ref='default',other_repo=c.repo_name,other_ref_type='branch',other_ref=request.GET.get('branch') or 'default'),class_='compare_request')}</li>
139 158 %endif
140 159 <li>${h.link_to(_('lightweight changelog'),h.url('shortlog_home',repo_name=c.repo_name),class_='shortlog')}</li>
141 160 <li>${h.link_to(_('search'),h.url('search_repo',repo_name=c.repo_name),class_='search')}</li>
142 161
143 162 %if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name) and c.rhodecode_db_repo.enable_locking:
144 163 %if c.rhodecode_db_repo.locked[0]:
145 164 <li>${h.link_to(_('unlock'), h.url('toggle_locking',repo_name=c.repo_name),class_='locking_del')}</li>
146 165 %else:
147 166 <li>${h.link_to(_('lock'), h.url('toggle_locking',repo_name=c.repo_name),class_='locking_add')}</li>
148 167 %endif
149 168 %endif
150 169
151 170 % if h.HasPermissionAll('hg.admin')('access admin main page'):
152 171 <li>
153 172 ${h.link_to(_('admin'),h.url('admin_home'),class_='admin childs')}
154 <%def name="admin_menu()">
155 <ul class="admin_menu">
156 <li>${h.link_to(_('admin journal'),h.url('admin_home'),class_='journal')}</li>
157 <li>${h.link_to(_('repositories'),h.url('repos'),class_='repos')}</li>
158 <li>${h.link_to(_('repositories groups'),h.url('repos_groups'),class_='repos_groups')}</li>
159 <li>${h.link_to(_('users'),h.url('users'),class_='users')}</li>
160 <li>${h.link_to(_('users groups'),h.url('users_groups'),class_='groups')}</li>
161 <li>${h.link_to(_('permissions'),h.url('edit_permission',id='default'),class_='permissions')}</li>
162 <li>${h.link_to(_('ldap'),h.url('ldap_home'),class_='ldap')}</li>
163 <li>${h.link_to(_('defaults'),h.url('defaults'),class_='defaults')}</li>
164 <li class="last">${h.link_to(_('settings'),h.url('admin_settings'),class_='settings')}</li>
165 </ul>
166 </%def>
167 173 ## ADMIN MENU
168 174 ${admin_menu()}
169 175 </li>
170 176 ## if you're a admin of any groups, show admin menu for it
171 177 % elif c.rhodecode_user.groups_admin:
172 178 <li>
173 179 ${h.link_to(_('admin'),h.url('admin_home'),class_='admin')}
174 <%def name="admin_menu_simple()">
175 <ul>
176 <li>${h.link_to(_('repositories groups'),h.url('repos_groups'),class_='repos_groups')}</li>
177 </ul>
178 </%def>
180
179 181 ## ADMIN MENU
180 182 ${admin_menu_simple()}
181 183 </li>
182 184 % endif
183 185 </ul>
184 186 </li>
185 187 <li ${is_current('showpullrequest')}><a href="${h.url('pullrequest_show_all',repo_name=c.repo_name)}" title="${_('Show Pull Requests')}" class="pull-request">1</a></li>
186 188 </ul>
187 189 </div>
188 190 </div>
189 191 <script type="text/javascript">
190 192 YUE.on('branch_tag_switcher_2','mouseover',function(){
191 193 var loaded = YUD.hasClass('branch_tag_switcher_2','loaded');
192 194 if(!loaded){
193 195 YUD.addClass('branch_tag_switcher_2','loaded');
194 196 ypjax("${h.url('branch_tag_switcher',repo_name=c.repo_name)}",'switch_to_list_2',
195 197 function(o){},
196 198 function(o){YUD.removeClass('branch_tag_switcher_2','loaded');}
197 199 ,null);
198 200 }
199 201 return false;
200 202 });
201 203 </script>
202 204 <!--- END CONTEXT BAR -->
203 205 </%def>
204 206
205 207 <%def name="usermenu()">
206 208 ## USER MENU
207 209 <li>
208 210 <a class="menu_link" id="quick_login_link">
209 211 <span class="icon" style="padding:5px 5px 0px 5px">
210 212 <img src="${h.gravatar_url(c.rhodecode_user.email,20)}" alt="avatar">
211 213 </span>
212 214 %if c.rhodecode_user.username != 'default':
213 215 <span class="menu_link_user">${c.rhodecode_user.username}</span>
214 216 %if c.unread_notifications != 0:
215 217 <span class="menu_link_notifications">${c.unread_notifications}</span>
216 218 %endif
217 219 %else:
218 220 <span>${_('Not logged in')}</span>
219 221 %endif
220 222 </a>
221 223
222 224 <div class="user-menu">
223 225 <div id="quick_login">
224 226 %if c.rhodecode_user.username == 'default':
225 227 <h4>${_('Login to your account')}</h4>
226 228 ${h.form(h.url('login_home',came_from=h.url.current()))}
227 229 <div class="form">
228 230 <div class="fields">
229 231 <div class="field">
230 232 <div class="label">
231 233 <label for="username">${_('Username')}:</label>
232 234 </div>
233 235 <div class="input">
234 236 ${h.text('username',class_='focus',size=40)}
235 237 </div>
236 238
237 239 </div>
238 240 <div class="field">
239 241 <div class="label">
240 242 <label for="password">${_('Password')}:</label>
241 243 </div>
242 244 <div class="input">
243 245 ${h.password('password',class_='focus',size=40)}
244 246 </div>
245 247
246 248 </div>
247 249 <div class="buttons">
248 250 <div class="password_forgoten">${h.link_to(_('Forgot password ?'),h.url('reset_password'))}</div>
249 251 <div class="register">
250 252 %if h.HasPermissionAny('hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate')():
251 253 ${h.link_to(_("Don't have an account ?"),h.url('register'))}
252 254 %endif
253 255 </div>
254 256 <div class="submit">
255 257 ${h.submit('sign_in',_('Log In'),class_="ui-btn xsmall")}
256 258 </div>
257 259 </div>
258 260 </div>
259 261 </div>
260 262 ${h.end_form()}
261 263 %else:
262 264 <div class="links_left">
263 265 <div class="full_name">${c.rhodecode_user.full_name_or_username}</div>
264 266 <div class="email">${c.rhodecode_user.email}</div>
265 267 <div class="big_gravatar"><img alt="gravatar" src="${h.gravatar_url(c.rhodecode_user.email,48)}" /></div>
266 268 <div class="notifications"><a href="${h.url('notifications')}">${_('Notifications')}</a></div>
267 269 <div class="unread"><a href="${h.url('notifications')}">${_('Unread')}: ${c.unread_notifications}</a></div>
268 270 </div>
269 271 <div class="links_right">
270 272 <ol class="links">
271 273 <li>${h.link_to(_(u'Home'),h.url('home'))}</li>
272 274 <li>${h.link_to(_(u'Journal'),h.url('journal'))}</li>
273 275 <li>${h.link_to(_(u'My account'),h.url('admin_settings_my_account'))}</li>
274 276 <li class="logout">${h.link_to(_(u'Log Out'),h.url('logout_home'))}</li>
275 277 </ol>
276 278 </div>
277 279 %endif
278 280 </div>
279 281 </div>
280 282
281 283 </li>
282 284 </%def>
283 285
284 286 <%def name="menu(current=None)">
285 287 <%
286 288 def is_current(selected):
287 289 if selected == current:
288 290 return h.literal('class="current"')
289 291 %>
290 292 <ul id="quick">
291 293 <!-- repo switcher -->
292 294 <li ${is_current('home')}>
293 295 <a class="menu_link" id="repo_switcher" title="${_('Switch repository')}" href="${h.url('home')}">
294 296 <span class="icon">
295 297 <img src="${h.url('/images/icons/database.png')}" alt="${_('Products')}" />
296 298 </span>
297 299 <span>${_('Repositories')}</span>
298 300 </a>
299 301 <ul id="repo_switcher_list" class="repo_switcher">
300 302 <li>
301 303 <a href="#">${_('loading...')}</a>
302 304 </li>
303 305 </ul>
304 306 </li>
305 ## we render this menu only not for those pages
306 %if current not in ['home','admin', 'search', 'journal']:
307 ##REGULAR MENU
308 <li>
309 <a class="menu_link" title="${_('Followers')}" href="${h.url('repo_followers_home',repo_name=c.repo_name)}">
310 <span class="icon_short">
311 <img src="${h.url('/images/icons/heart.png')}" alt="${_('Followers')}" />
312 </span>
313 <span id="current_followers_count" class="short">${c.repository_followers}</span>
314 </a>
315 </li>
316 <li>
317 <a class="menu_link" title="${_('Forks')}" href="${h.url('repo_forks_home',repo_name=c.repo_name)}">
318 <span class="icon_short">
319 <img src="${h.url('/images/icons/arrow_divide.png')}" alt="${_('Forks')}" />
320 </span>
321 <span class="short">${c.repository_forks}</span>
322 </a>
323 </li>
324 ${usermenu()}
325 <script type="text/javascript">
326 YUE.on('branch_tag_switcher','mouseover',function(){
327 var loaded = YUD.hasClass('branch_tag_switcher','loaded');
328 if(!loaded){
329 YUD.addClass('branch_tag_switcher','loaded');
330 ypjax("${h.url('branch_tag_switcher',repo_name=c.repo_name)}",'switch_to_list',
331 function(o){},
332 function(o){YUD.removeClass('branch_tag_switcher','loaded');}
333 ,null);
334 }
335 return false;
336 });
337 </script>
338 %else:
339 307 ##ROOT MENU
340 308 %if c.rhodecode_user.username != 'default':
341 309 <li ${is_current('journal')}>
342 310 <a class="menu_link" title="${_('Show recent activity')}" href="${h.url('journal')}">
343 311 <span class="icon">
344 312 <img src="${h.url('/images/icons/book.png')}" alt="${_('Journal')}" />
345 313 </span>
346 314 <span>${_('Journal')}</span>
347 315 </a>
348 316 </li>
349 317 %else:
350 318 <li ${is_current('journal')}>
351 319 <a class="menu_link" title="${_('Public journal')}" href="${h.url('public_journal')}">
352 320 <span class="icon">
353 321 <img src="${h.url('/images/icons/book.png')}" alt="${_('Public journal')}" />
354 322 </span>
355 323 <span>${_('Public journal')}</span>
356 324 </a>
357 325 </li>
358 326 %endif
359 327 <li ${is_current('search')}>
360 328 <a class="menu_link" title="${_('Search in repositories')}" href="${h.url('search')}">
361 329 <span class="icon">
362 330 <img src="${h.url('/images/icons/search_16.png')}" alt="${_('Search')}" />
363 331 </span>
364 332 <span>${_('Search')}</span>
365 333 </a>
366 334 </li>
367 335 % if h.HasPermissionAll('hg.admin')('access admin main page'):
368 336 <li ${is_current('admin')}>
369 337 <a class="menu_link" title="${_('Admin')}" href="${h.url('admin_home')}">
370 338 <span class="icon">
371 339 <img src="${h.url('/images/icons/cog_edit.png')}" alt="${_('Admin')}" />
372 340 </span>
373 341 <span>${_('Admin')}</span>
374 342 </a>
375 343 ${admin_menu()}
376 344 </li>
377 345 % elif c.rhodecode_user.groups_admin:
378 346 <li ${is_current('admin')}>
379 347 <a class="menu_link" title="${_('Admin')}" href="${h.url('admin_home')}">
380 348 <span class="icon">
381 349 <img src="${h.url('/images/icons/cog_edit.png')}" alt="${_('Admin')}" />
382 350 </span>
383 351 <span>${_('Admin')}</span>
384 352 </a>
385 353 ${admin_menu_simple()}
386 354 </li>
387 355 % endif
388 356 ${usermenu()}
389 %endif
390 357 <script type="text/javascript">
391 358 YUE.on('repo_switcher','mouseover',function(){
392 359 var target = 'q_filter_rs';
393 360 var qfilter_activate = function(){
394 361 var nodes = YUQ('ul#repo_switcher_list li a.repo_name');
395 362 var func = function(node){
396 363 return node.parentNode;
397 364 }
398 365 q_filter(target,nodes,func);
399 366 }
400 367
401 368 var loaded = YUD.hasClass('repo_switcher','loaded');
402 369 if(!loaded){
403 370 YUD.addClass('repo_switcher','loaded');
404 371 ypjax("${h.url('repo_switcher')}",'repo_switcher_list',
405 372 function(o){qfilter_activate();YUD.get(target).focus()},
406 373 function(o){YUD.removeClass('repo_switcher','loaded');}
407 374 ,null);
408 375 }else{
409 376 YUD.get(target).focus();
410 377 }
411 378 return false;
412 379 });
413 380
414 381 YUE.on('header-dd', 'click',function(e){
415 382 YUD.addClass('header-inner', 'hover');
416 383 YUD.addClass('content', 'hover');
417 384 });
418 385
419 386 </script>
420 387 </%def>
@@ -1,78 +1,79 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 5 ${_('%s Bookmarks') % c.repo_name} - ${c.rhodecode_name}
6 6 </%def>
7 7
8 8
9 9 <%def name="breadcrumbs_links()">
10 10 <input class="q_filter_box" id="q_filter_bookmarks" size="15" type="text" name="filter" value="${_('quick filter...')}"/>
11 11 ${h.link_to(_(u'Home'),h.url('/'))}
12 12 &raquo;
13 13 ${h.repo_link(c.rhodecode_db_repo.groups_and_repo)}
14 14 &raquo;
15 15 ${_('bookmarks')}
16 16 </%def>
17 17
18 18 <%def name="page_nav()">
19 19 ${self.menu('bookmarks')}
20 20 </%def>
21 21 <%def name="main()">
22 22 <div class="box">
23 ${self.context_bar('switch-to')}
23 24 <!-- box / title -->
24 25 <div class="title">
25 26 ${self.breadcrumbs()}
26 27 </div>
27 28 <!-- end box / title -->
28 29 <div class="table">
29 30 <%include file='bookmarks_data.html'/>
30 31 </div>
31 32 </div>
32 33 <script type="text/javascript">
33 34
34 35 // main table sorting
35 36 var myColumnDefs = [
36 37 {key:"name",label:"${_('Name')}",sortable:true},
37 38 {key:"date",label:"${_('Date')}",sortable:true,
38 39 sortOptions: { sortFunction: dateSort }},
39 40 {key:"author",label:"${_('Author')}",sortable:true},
40 41 {key:"revision",label:"${_('Revision')}",sortable:true,
41 42 sortOptions: { sortFunction: revisionSort }},
42 43 ];
43 44
44 45 var myDataSource = new YAHOO.util.DataSource(YUD.get("bookmarks_data"));
45 46
46 47 myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
47 48
48 49 myDataSource.responseSchema = {
49 50 fields: [
50 51 {key:"name"},
51 52 {key:"date"},
52 53 {key:"author"},
53 54 {key:"revision"},
54 55 ]
55 56 };
56 57
57 58 var myDataTable = new YAHOO.widget.DataTable("table_wrap", myColumnDefs, myDataSource,
58 59 {
59 60 sortedBy:{key:"name",dir:"asc"},
60 61 MSG_SORTASC:"${_('Click to sort ascending')}",
61 62 MSG_SORTDESC:"${_('Click to sort descending')}",
62 63 MSG_EMPTY:"${_('No records found.')}",
63 64 MSG_ERROR:"${_('Data error.')}",
64 65 MSG_LOADING:"${_('Loading...')}",
65 66 }
66 67 );
67 68 myDataTable.subscribe('postRenderEvent',function(oArgs) {
68 69 tooltip_activate();
69 70 var func = function(node){
70 71 return node.parentNode.parentNode.parentNode.parentNode.parentNode;
71 72 }
72 73 q_filter('q_filter_bookmarks',YUQ('div.table tr td .logbooks .bookbook a'),func);
73 74 });
74 75
75 76 </script>
76 77
77 78
78 79 </%def>
@@ -1,93 +1,94 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 5 ${_('%s Branches') % c.repo_name} - ${c.rhodecode_name}
6 6 </%def>
7 7
8 8 <%def name="breadcrumbs_links()">
9 9 <input class="q_filter_box" id="q_filter_branches" size="15" type="text" name="filter" value="${_('quick filter...')}"/>
10 10 ${h.link_to(_(u'Home'),h.url('/'))}
11 11 &raquo;
12 12 ${h.repo_link(c.rhodecode_db_repo.groups_and_repo)}
13 13 &raquo;
14 14 ${_('branches')}
15 15 </%def>
16 16
17 17 <%def name="page_nav()">
18 18 ${self.menu('branches')}
19 19 </%def>
20 20
21 21 <%def name="main()">
22 ${self.context_bar('switch-to')}
22 23 <div class="box">
23 24 <!-- box / title -->
24 25 <div class="title">
25 26 ${self.breadcrumbs()}
26 27 </div>
27 28 <!-- end box / title -->
28 29 %if c.repo_branches:
29 30 <div class="info_box" id="compare_branches" style="clear: both;padding: 10px 19px;vertical-align: right;text-align: right;"><a href="#" class="ui-btn small">${_('Compare branches')}</a></div>
30 31 %endif
31 32 <div class="table">
32 33 <%include file='branches_data.html'/>
33 34 </div>
34 35 </div>
35 36 <script type="text/javascript">
36 37 YUE.on('compare_branches','click',function(e){
37 38 YUE.preventDefault(e);
38 39 var org = YUQ('input[name=compare_org]:checked')[0];
39 40 var other = YUQ('input[name=compare_other]:checked')[0];
40 41
41 42 if(org && other){
42 43 var compare_url = "${h.url('compare_url',repo_name=c.repo_name,org_ref_type='branch',org_ref='__ORG__',other_ref_type='branch',other_ref='__OTHER__')}";
43 44 var u = compare_url.replace('__ORG__',org.value)
44 45 .replace('__OTHER__',other.value);
45 46 window.location=u;
46 47 }
47 48 });
48 49 // main table sorting
49 50 var myColumnDefs = [
50 51 {key:"name",label:"${_('Name')}",sortable:true},
51 52 {key:"date",label:"${_('Date')}",sortable:true,
52 53 sortOptions: { sortFunction: dateSort }},
53 54 {key:"author",label:"${_('Author')}",sortable:true},
54 55 {key:"revision",label:"${_('Revision')}",sortable:true,
55 56 sortOptions: { sortFunction: revisionSort }},
56 57 {key:"compare",label:"${_('Compare')}",sortable:false,},
57 58 ];
58 59
59 60 var myDataSource = new YAHOO.util.DataSource(YUD.get("branches_data"));
60 61
61 62 myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
62 63
63 64 myDataSource.responseSchema = {
64 65 fields: [
65 66 {key:"name"},
66 67 {key:"date"},
67 68 {key:"author"},
68 69 {key:"revision"},
69 70 {key:"compare"},
70 71 ]
71 72 };
72 73
73 74 var myDataTable = new YAHOO.widget.DataTable("table_wrap", myColumnDefs, myDataSource,
74 75 {
75 76 sortedBy:{key:"name",dir:"asc"},
76 77 MSG_SORTASC:"${_('Click to sort ascending')}",
77 78 MSG_SORTDESC:"${_('Click to sort descending')}",
78 79 MSG_EMPTY:"${_('No records found.')}",
79 80 MSG_ERROR:"${_('Data error.')}",
80 81 MSG_LOADING:"${_('Loading...')}",
81 82 }
82 83 );
83 84 myDataTable.subscribe('postRenderEvent',function(oArgs) {
84 85 tooltip_activate();
85 86 var func = function(node){
86 87 return node.parentNode.parentNode.parentNode.parentNode.parentNode;
87 88 }
88 89 q_filter('q_filter_branches',YUQ('div.table tr td .logtags .branchtag a'),func);
89 90 });
90 91
91 92 </script>
92 93
93 94 </%def>
@@ -1,32 +1,33 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 5 ${_('%s Followers') % c.repo_name} - ${c.rhodecode_name}
6 6 </%def>
7 7
8 8 <%def name="breadcrumbs_links()">
9 9 ${h.link_to(_(u'Home'),h.url('/'))}
10 10 &raquo;
11 11 ${h.repo_link(c.rhodecode_db_repo.groups_and_repo)}
12 12 &raquo;
13 13 ${_('followers')}
14 14 </%def>
15 15
16 16 <%def name="page_nav()">
17 17 ${self.menu('followers')}
18 18 </%def>
19 19 <%def name="main()">
20 ${self.context_bar('followers')}
20 21 <div class="box">
21 22 <!-- box / title -->
22 23 <div class="title">
23 24 ${self.breadcrumbs()}
24 25 </div>
25 26 <!-- end box / title -->
26 27 <div class="table">
27 28 <div id="followers">
28 29 ${c.followers_data}
29 30 </div>
30 31 </div>
31 32 </div>
32 33 </%def>
@@ -1,32 +1,33 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 5 ${_('%s Forks') % c.repo_name} - ${c.rhodecode_name}
6 6 </%def>
7 7
8 8 <%def name="breadcrumbs_links()">
9 9 ${h.link_to(_(u'Home'),h.url('/'))}
10 10 &raquo;
11 11 ${h.repo_link(c.rhodecode_db_repo.groups_and_repo)}
12 12 &raquo;
13 13 ${_('forks')}
14 14 </%def>
15 15
16 16 <%def name="page_nav()">
17 17 ${self.menu('forks')}
18 18 </%def>
19 19 <%def name="main()">
20 ${self.context_bar('forks')}
20 21 <div class="box">
21 22 <!-- box / title -->
22 23 <div class="title">
23 24 ${self.breadcrumbs()}
24 25 </div>
25 26 <!-- end box / title -->
26 27 <div class="table">
27 28 <div id="forks">
28 29 ${c.forks_data}
29 30 </div>
30 31 </div>
31 32 </div>
32 33 </%def>
@@ -1,726 +1,740 b''
1 1 <%inherit file="/base/base.html"/>
2 2
3 3 <%def name="title()">
4 4 ${_('%s Summary') % c.repo_name} - ${c.rhodecode_name}
5 5 </%def>
6 6
7 7 <%def name="breadcrumbs_links()">
8 8 ${h.link_to(_(u'Home'),h.url('/'))}
9 9 &raquo;
10 10 ${h.repo_link(c.rhodecode_db_repo.groups_and_repo)}
11 11 &raquo;
12 12 ${_('summary')}
13 13 </%def>
14 14
15 15 <%def name="page_nav()">
16 16 ${self.menu('summary')}
17 17 </%def>
18 18
19 19 <%def name="head_extra()">
20 20 <link href="${h.url('atom_feed_home',repo_name=c.dbrepo.repo_name,api_key=c.rhodecode_user.api_key)}" rel="alternate" title="${_('repo %s ATOM feed') % c.repo_name}" type="application/atom+xml" />
21 21 <link href="${h.url('rss_feed_home',repo_name=c.dbrepo.repo_name,api_key=c.rhodecode_user.api_key)}" rel="alternate" title="${_('repo %s RSS feed') % c.repo_name}" type="application/rss+xml" />
22 22 </%def>
23 23
24 24 <%def name="main()">
25 25 ${self.context_bar('summary')}
26 26 <%
27 27 summary = lambda n:{False:'summary-short'}.get(n)
28 28 %>
29 29 %if c.show_stats:
30 30 <div class="box box-left">
31 31 %else:
32 32 <div class="box">
33 33 %endif
34 34 <!-- box / title -->
35 35 <div class="title">
36 36 ${self.breadcrumbs()}
37 37 </div>
38 38 <!-- end box / title -->
39 39 <div class="form">
40 40 <div id="summary" class="fields">
41 41
42 42 <div class="field">
43 43 <div class="label-summary">
44 44 <label>${_('Name')}:</label>
45 45 </div>
46 46 <div class="input ${summary(c.show_stats)}">
47 <div style="float:right;padding:5px 0px 0px 5px">
48 %if c.rhodecode_user.username != 'default':
49 ${h.link_to(_('ATOM'),h.url('atom_feed_home',repo_name=c.dbrepo.repo_name,api_key=c.rhodecode_user.api_key),class_='atom_icon')}
50 %else:
51 ${h.link_to(_('ATOM'),h.url('atom_feed_home',repo_name=c.dbrepo.repo_name),class_='atom_icon')}
52 %endif
53 </div>
54 %if c.rhodecode_user.username != 'default':
55 %if c.following:
56 <span id="follow_toggle" class="following tooltip" title="${_('Stop following this repository')}"
57 onclick="javascript:toggleFollowingRepo(this,${c.dbrepo.repo_id},'${str(h.get_token())}')">
58 </span>
59 %else:
60 <span id="follow_toggle" class="follow tooltip" title="${_('Start following this repository')}"
61 onclick="javascript:toggleFollowingRepo(this,${c.dbrepo.repo_id},'${str(h.get_token())}')">
62 </span>
63 %endif
64 <div style="float:right;padding:0px 0px 0px 0px">
65 <span class="reposize tooltip" title="${_('Click to show size of repository')}"
66 onclick="javascript:showRepoSize('repo_size','${c.dbrepo.repo_name}','${str(h.get_token())}')">
67 </span>
68 <span id="repo_size"></span>
69 </div>
70 %endif:
71 47
72 48 ## locking icon
73 49 %if c.rhodecode_db_repo.enable_locking:
74 50 %if c.rhodecode_db_repo.locked[0]:
75 51 <span class="locking_locked tooltip" title="${_('Repository locked by %s') % h.person_by_id(c.rhodecode_db_repo.locked[0])}"></span>
76 52 %else:
77 53 <span class="locking_unlocked tooltip" title="${_('Repository unlocked')}"></span>
78 54 %endif
79 55 %endif
80 56 ##REPO TYPE
81 57 %if h.is_hg(c.dbrepo):
82 58 <img style="margin-bottom:2px" class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="${h.url('/images/icons/hgicon.png')}"/>
83 59 %endif
84 60 %if h.is_git(c.dbrepo):
85 61 <img style="margin-bottom:2px" class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="${h.url('/images/icons/giticon.png')}"/>
86 62 %endif
87 63
88 64 ##PUBLIC/PRIVATE
89 65 %if c.dbrepo.private:
90 66 <img style="margin-bottom:2px" class="icon" title="${_('private repository')}" alt="${_('private repository')}" src="${h.url('/images/icons/lock.png')}"/>
91 67 %else:
92 68 <img style="margin-bottom:2px" class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="${h.url('/images/icons/lock_open.png')}"/>
93 69 %endif
94 70
95 71 ##REPO NAME
96 72 <span class="repo_name" title="${_('Non changable ID %s') % c.dbrepo.repo_id}">${h.repo_link(c.dbrepo.groups_and_repo)}</span>
97 73
98 74 ##FORK
99 75 %if c.dbrepo.fork:
100 76 <div style="margin-top:5px;clear:both">
101 77 <a href="${h.url('summary_home',repo_name=c.dbrepo.fork.repo_name)}"><img class="icon" alt="${_('public')}" title="${_('Fork of')} ${c.dbrepo.fork.repo_name}" src="${h.url('/images/icons/arrow_divide.png')}"/>
102 78 ${_('Fork of')} ${c.dbrepo.fork.repo_name}
103 79 </a>
104 80 </div>
105 81 %endif
106 82 ##REMOTE
107 83 %if c.dbrepo.clone_uri:
108 84 <div style="margin-top:5px;clear:both">
109 85 <a href="${h.url(str(h.hide_credentials(c.dbrepo.clone_uri)))}"><img class="icon" alt="${_('remote clone')}" title="${_('Clone from')} ${h.hide_credentials(c.dbrepo.clone_uri)}" src="${h.url('/images/icons/connect.png')}"/>
110 86 ${_('Clone from')} ${h.hide_credentials(c.dbrepo.clone_uri)}
111 87 </a>
112 88 </div>
113 89 %endif
114 90 </div>
115 91 </div>
116 92
117 93 <div class="field">
118 94 <div class="label-summary">
119 95 <label>${_('Description')}:</label>
120 96 </div>
121 97 %if c.visual.stylify_metatags:
122 98 <div class="input ${summary(c.show_stats)} desc">${h.urlify_text(h.desc_stylize(c.dbrepo.description))}</div>
123 99 %else:
124 100 <div class="input ${summary(c.show_stats)} desc">${h.urlify_text(c.dbrepo.description)}</div>
125 101 %endif
126 102 </div>
127 103
128 104 <div class="field">
129 105 <div class="label-summary">
130 106 <label>${_('Contact')}:</label>
131 107 </div>
132 108 <div class="input ${summary(c.show_stats)}">
133 109 <div class="gravatar">
134 110 <img alt="gravatar" src="${h.gravatar_url(c.dbrepo.user.email)}"/>
135 111 </div>
136 112 ${_('Username')}: ${c.dbrepo.user.username}<br/>
137 113 ${_('Name')}: ${c.dbrepo.user.name} ${c.dbrepo.user.lastname}<br/>
138 114 ${_('Email')}: <a href="mailto:${c.dbrepo.user.email}">${c.dbrepo.user.email}</a>
139 115 </div>
140 116 </div>
141 117
142 118 <div class="field">
143 119 <div class="label-summary">
144 120 <label>${_('Clone url')}:</label>
145 121 </div>
146 122 <div class="input ${summary(c.show_stats)}">
147 123 <input style="width:80%" type="text" id="clone_url" readonly="readonly" value="${c.clone_repo_url}"/>
148 124 <input style="display:none;width:80%" type="text" id="clone_url_id" readonly="readonly" value="${c.clone_repo_url_id}"/>
149 125 <div style="display:none" id="clone_by_name" class="ui-btn clone">${_('Show by Name')}</div>
150 126 <div id="clone_by_id" class="ui-btn clone">${_('Show by ID')}</div>
151 127 </div>
152 128 </div>
153 129
154 130 <div class="field">
155 131 <div class="label-summary">
156 132 <label>${_('Trending files')}:</label>
157 133 </div>
158 134 <div class="input ${summary(c.show_stats)}">
159 135 %if c.show_stats:
160 136 <div id="lang_stats"></div>
161 137 %else:
162 138 ${_('Statistics are disabled for this repository')}
163 139 %if h.HasPermissionAll('hg.admin')('enable stats on from summary'):
164 140 ${h.link_to(_('enable'),h.url('edit_repo',repo_name=c.repo_name),class_="ui-btn")}
165 141 %endif
166 142 %endif
167 143 </div>
168 144 </div>
169 145
170 146 <div class="field">
171 147 <div class="label-summary">
172 148 <label>${_('Download')}:</label>
173 149 </div>
174 150 <div class="input ${summary(c.show_stats)}">
175 151 %if len(c.rhodecode_repo.revisions) == 0:
176 152 ${_('There are no downloads yet')}
177 153 %elif c.enable_downloads is False:
178 154 ${_('Downloads are disabled for this repository')}
179 155 %if h.HasPermissionAll('hg.admin')('enable downloads on from summary'):
180 156 ${h.link_to(_('enable'),h.url('edit_repo',repo_name=c.repo_name),class_="ui-btn")}
181 157 %endif
182 158 %else:
183 159 ${h.select('download_options',c.rhodecode_repo.get_changeset().raw_id,c.download_options)}
184 160 <span id="${'zip_link'}">${h.link_to(_('Download as zip'), h.url('files_archive_home',repo_name=c.dbrepo.repo_name,fname='tip.zip'),class_="archive_icon ui-btn")}</span>
185 161 <span style="vertical-align: bottom">
186 162 <input id="archive_subrepos" type="checkbox" name="subrepos" />
187 163 <label for="archive_subrepos" class="tooltip" title="${h.tooltip(_('Check this to download archive with subrepos'))}" >${_('with subrepos')}</label>
188 164 </span>
189 165 %endif
190 166 </div>
191 167 </div>
192 168 </div>
169 <div id="summary-menu-stats">
170 <ul>
171 <li>
172 <a class="followers" title="${_('Followers')}" href="${h.url('repo_followers_home',repo_name=c.repo_name)}">
173 <span id="current_followers_count">${c.repository_followers}</span>
174 ${_('Followes')}
175 </a>
176 </li>
177 <li>
178 <a class="forks" title="${_('Forks')}" href="${h.url('repo_forks_home',repo_name=c.repo_name)}">
179 <span>${c.repository_forks}</span>
180 ${_('Forks')}
181 </a>
182 </li>
183 <li>
184 %if h.HasRepoPermissionAll('repository.admin')(c.repo_name):
185 %if h.HasPermissionAll('hg.admin')('access settings on repository'):
186 ${h.link_to(_('Settings'),h.url('edit_repo',repo_name=c.repo_name),class_='settings')}
187 %else:
188 ${h.link_to(_('Settings'),h.url('repo_settings_home',repo_name=c.repo_name),class_='settings')}
189 %endif
190 %endif
191 </li>
192 <li>
193 %if c.rhodecode_user.username != 'default':
194 ${h.link_to(_('Feed'),h.url('atom_feed_home',repo_name=c.dbrepo.repo_name,api_key=c.rhodecode_user.api_key),class_='feed')}
195 %else:
196 ${h.link_to(_('Feed'),h.url('atom_feed_home',repo_name=c.dbrepo.repo_name),class_='feed')}
197 %endif
198 </li>
199 %if c.rhodecode_user.username != 'default':
200 <li>
201 <a href="#" class="repo-size" onclick="javascript:showRepoSize('repo_size_2','${c.dbrepo.repo_name}','${str(h.get_token())}')">Repository Size</a>
202 <span id="repo_size_2"></span>
203 </li>
204 %endif
205 </ul>
206 </div>
193 207 </div>
194 208 </div>
195 209
196 210 %if c.show_stats:
197 211 <div class="box box-right" style="min-height:455px">
198 212 <!-- box / title -->
199 213 <div class="title">
200 214 <h5>${_('Commit activity by day / author')}</h5>
201 215 </div>
202 216
203 217 <div class="graph">
204 218 <div style="padding:0 10px 10px 17px;">
205 219 %if c.no_data:
206 220 ${c.no_data_msg}
207 221 %if h.HasPermissionAll('hg.admin')('enable stats on from summary'):
208 222 ${h.link_to(_('enable'),h.url('edit_repo',repo_name=c.repo_name),class_="ui-btn")}
209 223 %endif
210 224 %else:
211 225 ${_('Stats gathered: ')} ${c.stats_percentage}%
212 226 %endif
213 227 </div>
214 228 <div id="commit_history" style="width:450px;height:300px;float:left"></div>
215 229 <div style="clear: both;height: 10px"></div>
216 230 <div id="overview" style="width:450px;height:100px;float:left"></div>
217 231
218 232 <div id="legend_data" style="clear:both;margin-top:10px;">
219 233 <div id="legend_container"></div>
220 234 <div id="legend_choices">
221 235 <table id="legend_choices_tables" class="noborder" style="font-size:smaller;color:#545454"></table>
222 236 </div>
223 237 </div>
224 238 </div>
225 239 </div>
226 240 %endif
227 241
228 242 <div class="box">
229 243 <div class="title">
230 244 <div class="breadcrumbs">
231 245 %if c.repo_changesets:
232 246 ${h.link_to(_('Latest changes'),h.url('changelog_home',repo_name=c.repo_name))}
233 247 %else:
234 248 ${_('Quick start')}
235 249 %endif
236 250 </div>
237 251 </div>
238 252 <div class="table">
239 253 <div id="shortlog_data">
240 254 <%include file='../shortlog/shortlog_data.html'/>
241 255 </div>
242 256 </div>
243 257 </div>
244 258
245 259 %if c.readme_data:
246 260 <div id="readme" class="anchor">
247 261 <div class="box" style="background-color: #FAFAFA">
248 262 <div class="title" title="${_("Readme file at revision '%s'" % c.rhodecode_db_repo.landing_rev)}">
249 263 <div class="breadcrumbs">
250 264 <a href="${h.url('files_home',repo_name=c.repo_name,revision='tip',f_path=c.readme_file)}">${c.readme_file}</a>
251 265 <a class="permalink" href="#readme" title="${_('Permalink to this readme')}">&para;</a>
252 266 </div>
253 267 </div>
254 268 <div class="readme">
255 269 <div class="readme_box">
256 270 ${c.readme_data|n}
257 271 </div>
258 272 </div>
259 273 </div>
260 274 </div>
261 275 %endif
262 276
263 277 <script type="text/javascript">
264 278 var clone_url = 'clone_url';
265 279 YUE.on(clone_url,'click',function(e){
266 280 if(YUD.hasClass(clone_url,'selected')){
267 281 return
268 282 }
269 283 else{
270 284 YUD.addClass(clone_url,'selected');
271 285 YUD.get(clone_url).select();
272 286 }
273 287 })
274 288
275 289 YUE.on('clone_by_name','click',function(e){
276 290 // show url by name and hide name button
277 291 YUD.setStyle('clone_url','display','');
278 292 YUD.setStyle('clone_by_name','display','none');
279 293
280 294 // hide url by id and show name button
281 295 YUD.setStyle('clone_by_id','display','');
282 296 YUD.setStyle('clone_url_id','display','none');
283 297
284 298 })
285 299 YUE.on('clone_by_id','click',function(e){
286 300
287 301 // show url by id and hide id button
288 302 YUD.setStyle('clone_by_id','display','none');
289 303 YUD.setStyle('clone_url_id','display','');
290 304
291 305 // hide url by name and show id button
292 306 YUD.setStyle('clone_by_name','display','');
293 307 YUD.setStyle('clone_url','display','none');
294 308 })
295 309
296 310
297 311 var tmpl_links = {};
298 312 %for cnt,archive in enumerate(c.rhodecode_repo._get_archives()):
299 313 tmpl_links["${archive['type']}"] = '${h.link_to('__NAME__', h.url('files_archive_home',repo_name=c.dbrepo.repo_name, fname='__CS__'+archive['extension'],subrepos='__SUB__'),class_='archive_icon ui-btn')}';
300 314 %endfor
301 315
302 316 YUE.on(['download_options','archive_subrepos'],'change',function(e){
303 317 var sm = YUD.get('download_options');
304 318 var new_cs = sm.options[sm.selectedIndex];
305 319
306 320 for(k in tmpl_links){
307 321 var s = YUD.get(k+'_link');
308 322 if(s){
309 323 var title_tmpl = "${_('Download %s as %s') % ('__CS_NAME__','__CS_EXT__')}";
310 324 title_tmpl= title_tmpl.replace('__CS_NAME__',new_cs.text);
311 325 title_tmpl = title_tmpl.replace('__CS_EXT__',k);
312 326
313 327 var url = tmpl_links[k].replace('__CS__',new_cs.value);
314 328 var subrepos = YUD.get('archive_subrepos').checked;
315 329 url = url.replace('__SUB__',subrepos);
316 330 url = url.replace('__NAME__',title_tmpl);
317 331 s.innerHTML = url
318 332 }
319 333 }
320 334 });
321 335 </script>
322 336 %if c.show_stats:
323 337 <script type="text/javascript">
324 338 var data = ${c.trending_languages|n};
325 339 var total = 0;
326 340 var no_data = true;
327 341 var tbl = document.createElement('table');
328 342 tbl.setAttribute('class','trending_language_tbl');
329 343 var cnt = 0;
330 344 for (var i=0;i<data.length;i++){
331 345 total+= data[i][1].count;
332 346 }
333 347 for (var i=0;i<data.length;i++){
334 348 cnt += 1;
335 349 no_data = false;
336 350
337 351 var hide = cnt>2;
338 352 var tr = document.createElement('tr');
339 353 if (hide){
340 354 tr.setAttribute('style','display:none');
341 355 tr.setAttribute('class','stats_hidden');
342 356 }
343 357 var k = data[i][0];
344 358 var obj = data[i][1];
345 359 var percentage = Math.round((obj.count/total*100),2);
346 360
347 361 var td1 = document.createElement('td');
348 362 td1.width = 150;
349 363 var trending_language_label = document.createElement('div');
350 364 trending_language_label.innerHTML = obj.desc+" ("+k+")";
351 365 td1.appendChild(trending_language_label);
352 366
353 367 var td2 = document.createElement('td');
354 368 td2.setAttribute('style','padding-right:14px !important');
355 369 var trending_language = document.createElement('div');
356 370 var nr_files = obj.count+" ${_('files')}";
357 371
358 372 trending_language.title = k+" "+nr_files;
359 373
360 374 if (percentage>22){
361 375 trending_language.innerHTML = "<b style='font-size:0.8em'>"+percentage+"% "+nr_files+ "</b>";
362 376 }
363 377 else{
364 378 trending_language.innerHTML = "<b style='font-size:0.8em'>"+percentage+"%</b>";
365 379 }
366 380
367 381 trending_language.setAttribute("class", 'trending_language top-right-rounded-corner bottom-right-rounded-corner');
368 382 trending_language.style.width=percentage+"%";
369 383 td2.appendChild(trending_language);
370 384
371 385 tr.appendChild(td1);
372 386 tr.appendChild(td2);
373 387 tbl.appendChild(tr);
374 388 if(cnt == 3){
375 389 var show_more = document.createElement('tr');
376 390 var td = document.createElement('td');
377 391 lnk = document.createElement('a');
378 392
379 393 lnk.href='#';
380 394 lnk.innerHTML = "${_('show more')}";
381 395 lnk.id='code_stats_show_more';
382 396 td.appendChild(lnk);
383 397
384 398 show_more.appendChild(td);
385 399 show_more.appendChild(document.createElement('td'));
386 400 tbl.appendChild(show_more);
387 401 }
388 402
389 403 }
390 404
391 405 YUD.get('lang_stats').appendChild(tbl);
392 406 YUE.on('code_stats_show_more','click',function(){
393 407 l = YUD.getElementsByClassName('stats_hidden')
394 408 for (e in l){
395 409 YUD.setStyle(l[e],'display','');
396 410 };
397 411 YUD.setStyle(YUD.get('code_stats_show_more'),
398 412 'display','none');
399 413 });
400 414 </script>
401 415 <script type="text/javascript">
402 416 /**
403 417 * Plots summary graph
404 418 *
405 419 * @class SummaryPlot
406 420 * @param {from} initial from for detailed graph
407 421 * @param {to} initial to for detailed graph
408 422 * @param {dataset}
409 423 * @param {overview_dataset}
410 424 */
411 425 function SummaryPlot(from,to,dataset,overview_dataset) {
412 426 var initial_ranges = {
413 427 "xaxis":{
414 428 "from":from,
415 429 "to":to,
416 430 },
417 431 };
418 432 var dataset = dataset;
419 433 var overview_dataset = [overview_dataset];
420 434 var choiceContainer = YUD.get("legend_choices");
421 435 var choiceContainerTable = YUD.get("legend_choices_tables");
422 436 var plotContainer = YUD.get('commit_history');
423 437 var overviewContainer = YUD.get('overview');
424 438
425 439 var plot_options = {
426 440 bars: {show:true,align:'center',lineWidth:4},
427 441 legend: {show:true, container:"legend_container"},
428 442 points: {show:true,radius:0,fill:false},
429 443 yaxis: {tickDecimals:0,},
430 444 xaxis: {
431 445 mode: "time",
432 446 timeformat: "%d/%m",
433 447 min:from,
434 448 max:to,
435 449 },
436 450 grid: {
437 451 hoverable: true,
438 452 clickable: true,
439 453 autoHighlight:true,
440 454 color: "#999"
441 455 },
442 456 //selection: {mode: "x"}
443 457 };
444 458 var overview_options = {
445 459 legend:{show:false},
446 460 bars: {show:true,barWidth: 2,},
447 461 shadowSize: 0,
448 462 xaxis: {mode: "time", timeformat: "%d/%m/%y",},
449 463 yaxis: {ticks: 3, min: 0,tickDecimals:0,},
450 464 grid: {color: "#999",},
451 465 selection: {mode: "x"}
452 466 };
453 467
454 468 /**
455 469 *get dummy data needed in few places
456 470 */
457 471 function getDummyData(label){
458 472 return {"label":label,
459 473 "data":[{"time":0,
460 474 "commits":0,
461 475 "added":0,
462 476 "changed":0,
463 477 "removed":0,
464 478 }],
465 479 "schema":["commits"],
466 480 "color":'#ffffff',
467 481 }
468 482 }
469 483
470 484 /**
471 485 * generate checkboxes accordindly to data
472 486 * @param keys
473 487 * @returns
474 488 */
475 489 function generateCheckboxes(data) {
476 490 //append checkboxes
477 491 var i = 0;
478 492 choiceContainerTable.innerHTML = '';
479 493 for(var pos in data) {
480 494
481 495 data[pos].color = i;
482 496 i++;
483 497 if(data[pos].label != ''){
484 498 choiceContainerTable.innerHTML +=
485 499 '<tr><td><input type="checkbox" id="id_user_{0}" name="{0}" checked="checked" /> \
486 500 <label for="id_user_{0}">{0}</label></td></tr>'.format(data[pos].label);
487 501 }
488 502 }
489 503 }
490 504
491 505 /**
492 506 * ToolTip show
493 507 */
494 508 function showTooltip(x, y, contents) {
495 509 var div=document.getElementById('tooltip');
496 510 if(!div) {
497 511 div = document.createElement('div');
498 512 div.id="tooltip";
499 513 div.style.position="absolute";
500 514 div.style.border='1px solid #fdd';
501 515 div.style.padding='2px';
502 516 div.style.backgroundColor='#fee';
503 517 document.body.appendChild(div);
504 518 }
505 519 YUD.setStyle(div, 'opacity', 0);
506 520 div.innerHTML = contents;
507 521 div.style.top=(y + 5) + "px";
508 522 div.style.left=(x + 5) + "px";
509 523
510 524 var anim = new YAHOO.util.Anim(div, {opacity: {to: 0.8}}, 0.2);
511 525 anim.animate();
512 526 }
513 527
514 528 /**
515 529 * This function will detect if selected period has some changesets
516 530 for this user if it does this data is then pushed for displaying
517 531 Additionally it will only display users that are selected by the checkbox
518 532 */
519 533 function getDataAccordingToRanges(ranges) {
520 534
521 535 var data = [];
522 536 var new_dataset = {};
523 537 var keys = [];
524 538 var max_commits = 0;
525 539 for(var key in dataset){
526 540
527 541 for(var ds in dataset[key].data){
528 542 commit_data = dataset[key].data[ds];
529 543 if (commit_data.time >= ranges.xaxis.from && commit_data.time <= ranges.xaxis.to){
530 544
531 545 if(new_dataset[key] === undefined){
532 546 new_dataset[key] = {data:[],schema:["commits"],label:key};
533 547 }
534 548 new_dataset[key].data.push(commit_data);
535 549 }
536 550 }
537 551 if (new_dataset[key] !== undefined){
538 552 data.push(new_dataset[key]);
539 553 }
540 554 }
541 555
542 556 if (data.length > 0){
543 557 return data;
544 558 }
545 559 else{
546 560 //just return dummy data for graph to plot itself
547 561 return [getDummyData('')];
548 562 }
549 563 }
550 564
551 565 /**
552 566 * redraw using new checkbox data
553 567 */
554 568 function plotchoiced(e,args){
555 569 var cur_data = args[0];
556 570 var cur_ranges = args[1];
557 571
558 572 var new_data = [];
559 573 var inputs = choiceContainer.getElementsByTagName("input");
560 574
561 575 //show only checked labels
562 576 for(var i=0; i<inputs.length; i++) {
563 577 var checkbox_key = inputs[i].name;
564 578
565 579 if(inputs[i].checked){
566 580 for(var d in cur_data){
567 581 if(cur_data[d].label == checkbox_key){
568 582 new_data.push(cur_data[d]);
569 583 }
570 584 }
571 585 }
572 586 else{
573 587 //push dummy data to not hide the label
574 588 new_data.push(getDummyData(checkbox_key));
575 589 }
576 590 }
577 591
578 592 var new_options = YAHOO.lang.merge(plot_options, {
579 593 xaxis: {
580 594 min: cur_ranges.xaxis.from,
581 595 max: cur_ranges.xaxis.to,
582 596 mode:"time",
583 597 timeformat: "%d/%m",
584 598 },
585 599 });
586 600 if (!new_data){
587 601 new_data = [[0,1]];
588 602 }
589 603 // do the zooming
590 604 plot = YAHOO.widget.Flot(plotContainer, new_data, new_options);
591 605
592 606 plot.subscribe("plotselected", plotselected);
593 607
594 608 //resubscribe plothover
595 609 plot.subscribe("plothover", plothover);
596 610
597 611 // don't fire event on the overview to prevent eternal loop
598 612 overview.setSelection(cur_ranges, true);
599 613
600 614 }
601 615
602 616 /**
603 617 * plot only selected items from overview
604 618 * @param ranges
605 619 * @returns
606 620 */
607 621 function plotselected(ranges,cur_data) {
608 622 //updates the data for new plot
609 623 var data = getDataAccordingToRanges(ranges);
610 624 generateCheckboxes(data);
611 625
612 626 var new_options = YAHOO.lang.merge(plot_options, {
613 627 xaxis: {
614 628 min: ranges.xaxis.from,
615 629 max: ranges.xaxis.to,
616 630 mode:"time",
617 631 timeformat: "%d/%m",
618 632 },
619 633 });
620 634 // do the zooming
621 635 plot = YAHOO.widget.Flot(plotContainer, data, new_options);
622 636
623 637 plot.subscribe("plotselected", plotselected);
624 638
625 639 //resubscribe plothover
626 640 plot.subscribe("plothover", plothover);
627 641
628 642 // don't fire event on the overview to prevent eternal loop
629 643 overview.setSelection(ranges, true);
630 644
631 645 //resubscribe choiced
632 646 YUE.on(choiceContainer.getElementsByTagName("input"), "click", plotchoiced, [data, ranges]);
633 647 }
634 648
635 649 var previousPoint = null;
636 650
637 651 function plothover(o) {
638 652 var pos = o.pos;
639 653 var item = o.item;
640 654
641 655 //YUD.get("x").innerHTML = pos.x.toFixed(2);
642 656 //YUD.get("y").innerHTML = pos.y.toFixed(2);
643 657 if (item) {
644 658 if (previousPoint != item.datapoint) {
645 659 previousPoint = item.datapoint;
646 660
647 661 var tooltip = YUD.get("tooltip");
648 662 if(tooltip) {
649 663 tooltip.parentNode.removeChild(tooltip);
650 664 }
651 665 var x = item.datapoint.x.toFixed(2);
652 666 var y = item.datapoint.y.toFixed(2);
653 667
654 668 if (!item.series.label){
655 669 item.series.label = 'commits';
656 670 }
657 671 var d = new Date(x*1000);
658 672 var fd = d.toDateString()
659 673 var nr_commits = parseInt(y);
660 674
661 675 var cur_data = dataset[item.series.label].data[item.dataIndex];
662 676 var added = cur_data.added;
663 677 var changed = cur_data.changed;
664 678 var removed = cur_data.removed;
665 679
666 680 var nr_commits_suffix = " ${_('commits')} ";
667 681 var added_suffix = " ${_('files added')} ";
668 682 var changed_suffix = " ${_('files changed')} ";
669 683 var removed_suffix = " ${_('files removed')} ";
670 684
671 685
672 686 if(nr_commits == 1){nr_commits_suffix = " ${_('commit')} ";}
673 687 if(added==1){added_suffix=" ${_('file added')} ";}
674 688 if(changed==1){changed_suffix=" ${_('file changed')} ";}
675 689 if(removed==1){removed_suffix=" ${_('file removed')} ";}
676 690
677 691 showTooltip(item.pageX, item.pageY, item.series.label + " on " + fd
678 692 +'<br/>'+
679 693 nr_commits + nr_commits_suffix+'<br/>'+
680 694 added + added_suffix +'<br/>'+
681 695 changed + changed_suffix + '<br/>'+
682 696 removed + removed_suffix + '<br/>');
683 697 }
684 698 }
685 699 else {
686 700 var tooltip = YUD.get("tooltip");
687 701
688 702 if(tooltip) {
689 703 tooltip.parentNode.removeChild(tooltip);
690 704 }
691 705 previousPoint = null;
692 706 }
693 707 }
694 708
695 709 /**
696 710 * MAIN EXECUTION
697 711 */
698 712
699 713 var data = getDataAccordingToRanges(initial_ranges);
700 714 generateCheckboxes(data);
701 715
702 716 //main plot
703 717 var plot = YAHOO.widget.Flot(plotContainer,data,plot_options);
704 718
705 719 //overview
706 720 var overview = YAHOO.widget.Flot(overviewContainer,
707 721 overview_dataset, overview_options);
708 722
709 723 //show initial selection on overview
710 724 overview.setSelection(initial_ranges);
711 725
712 726 plot.subscribe("plotselected", plotselected);
713 727 plot.subscribe("plothover", plothover)
714 728
715 729 overview.subscribe("plotselected", function (ranges) {
716 730 plot.setSelection(ranges);
717 731 });
718 732
719 733 // user choices on overview
720 734 YUE.on(choiceContainer.getElementsByTagName("input"), "click", plotchoiced, [data, initial_ranges]);
721 735 }
722 736 SummaryPlot(${c.ts_min},${c.ts_max},${c.commit_data|n},${c.overview_data|n});
723 737 </script>
724 738 %endif
725 739
726 740 </%def>
@@ -1,93 +1,94 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 5 ${_('%s Tags') % c.repo_name} - ${c.rhodecode_name}
6 6 </%def>
7 7
8 8
9 9 <%def name="breadcrumbs_links()">
10 10 <input class="q_filter_box" id="q_filter_tags" size="15" type="text" name="filter" value="${_('quick filter...')}"/>
11 11 ${h.link_to(_(u'Home'),h.url('/'))}
12 12 &raquo;
13 13 ${h.repo_link(c.rhodecode_db_repo.groups_and_repo)}
14 14 &raquo;
15 15 ${_('tags')}
16 16 </%def>
17 17
18 18 <%def name="page_nav()">
19 19 ${self.menu('tags')}
20 20 </%def>
21 21 <%def name="main()">
22 ${self.context_bar('switch-to')}
22 23 <div class="box">
23 24 <!-- box / title -->
24 25 <div class="title">
25 26 ${self.breadcrumbs()}
26 27 </div>
27 28 <!-- end box / title -->
28 29 %if c.repo_tags:
29 30 <div class="info_box" id="compare_tags" style="clear: both;padding: 10px 19px;vertical-align: right;text-align: right;"><a href="#" class="ui-btn small">${_('Compare tags')}</a></div>
30 31 %endif
31 32 <div class="table">
32 33 <%include file='tags_data.html'/>
33 34 </div>
34 35 </div>
35 36 <script type="text/javascript">
36 37 YUE.on('compare_tags','click',function(e){
37 38 YUE.preventDefault(e);
38 39 var org = YUQ('input[name=compare_org]:checked')[0];
39 40 var other = YUQ('input[name=compare_other]:checked')[0];
40 41
41 42 if(org && other){
42 43 var compare_url = "${h.url('compare_url',repo_name=c.repo_name,org_ref_type='tag',org_ref='__ORG__',other_ref_type='tag',other_ref='__OTHER__')}";
43 44 var u = compare_url.replace('__ORG__',org.value)
44 45 .replace('__OTHER__',other.value);
45 46 window.location=u;
46 47 }
47 48 });
48 49
49 50 // main table sorting
50 51 var myColumnDefs = [
51 52 {key:"name",label:"${_('Name')}",sortable:true},
52 53 {key:"date",label:"${_('Date')}",sortable:true,
53 54 sortOptions: { sortFunction: dateSort }},
54 55 {key:"author",label:"${_('Author')}",sortable:true},
55 56 {key:"revision",label:"${_('Revision')}",sortable:true,
56 57 sortOptions: { sortFunction: revisionSort }},
57 58 {key:"compare",label:"${_('Compare')}",sortable:false,},
58 59 ];
59 60
60 61 var myDataSource = new YAHOO.util.DataSource(YUD.get("tags_data"));
61 62
62 63 myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
63 64
64 65 myDataSource.responseSchema = {
65 66 fields: [
66 67 {key:"name"},
67 68 {key:"date"},
68 69 {key:"author"},
69 70 {key:"revision"},
70 71 {key:"compare"},
71 72 ]
72 73 };
73 74
74 75 var myDataTable = new YAHOO.widget.DataTable("table_wrap", myColumnDefs, myDataSource,
75 76 {
76 77 sortedBy:{key:"name",dir:"asc"},
77 78 MSG_SORTASC:"${_('Click to sort ascending')}",
78 79 MSG_SORTDESC:"${_('Click to sort descending')}",
79 80 MSG_EMPTY:"${_('No records found.')}",
80 81 MSG_ERROR:"${_('Data error.')}",
81 82 MSG_LOADING:"${_('Loading...')}",
82 83 }
83 84 );
84 85 myDataTable.subscribe('postRenderEvent',function(oArgs) {
85 86 tooltip_activate();
86 87 var func = function(node){
87 88 return node.parentNode.parentNode.parentNode.parentNode.parentNode;
88 89 }
89 90 q_filter('q_filter_tags',YUQ('div.table tr td .logtags .tagtag a'),func);
90 91 });
91 92
92 93 </script>
93 94 </%def>
General Comments 0
You need to be logged in to leave comments. Login now