##// END OF EJS Templates
Adds a button to remove a file upload before submission (#5670)....
Jean-Philippe Lang -
r6092:e63f0c615cb3
parent child
Show More
@@ -1,8 +1,10
1 <span id="attachments_fields">
1 <span id="attachments_fields">
2 <%= file_field_tag 'attachments[1][file]', :size => 30, :id => nil -%><label class="inline"><span id="attachment_description_label_content"><%= l(:label_optional_description) %></span><%= text_field_tag 'attachments[1][description]', '', :size => 60, :id => nil %>
2 <span>
3 </label>
3 <%= file_field_tag 'attachments[1][file]', :size => 30, :id => nil, :class => 'file' -%>
4 <label class="inline"><%= l(:label_optional_description) %><%= text_field_tag 'attachments[1][description]', '', :size => 60, :id => nil, :class => 'description' %></label>
5 <%= link_to_function(image_tag('delete.png'), 'removeFileField(this)', :title => (l(:button_delete))) %>
6 </span>
4 </span>
7 </span>
5 <br />
6 <small><%= link_to l(:label_add_another_file), '#', :onclick => 'addFileField(); return false;' %>
8 <small><%= link_to l(:label_add_another_file), '#', :onclick => 'addFileField(); return false;' %>
7 (<%= l(:label_max_size) %>: <%= number_to_human_size(Setting.attachment_max_size.to_i.kilobytes) %>)
9 (<%= l(:label_max_size) %>: <%= number_to_human_size(Setting.attachment_max_size.to_i.kilobytes) %>)
8 </small>
10 </small>
@@ -1,360 +1,370
1 /* redMine - project management software
1 /* redMine - project management software
2 Copyright (C) 2006-2008 Jean-Philippe Lang */
2 Copyright (C) 2006-2008 Jean-Philippe Lang */
3
3
4 function checkAll (id, checked) {
4 function checkAll (id, checked) {
5 var els = Element.descendants(id);
5 var els = Element.descendants(id);
6 for (var i = 0; i < els.length; i++) {
6 for (var i = 0; i < els.length; i++) {
7 if (els[i].disabled==false) {
7 if (els[i].disabled==false) {
8 els[i].checked = checked;
8 els[i].checked = checked;
9 }
9 }
10 }
10 }
11 }
11 }
12
12
13 function toggleCheckboxesBySelector(selector) {
13 function toggleCheckboxesBySelector(selector) {
14 boxes = $$(selector);
14 boxes = $$(selector);
15 var all_checked = true;
15 var all_checked = true;
16 for (i = 0; i < boxes.length; i++) { if (boxes[i].checked == false) { all_checked = false; } }
16 for (i = 0; i < boxes.length; i++) { if (boxes[i].checked == false) { all_checked = false; } }
17 for (i = 0; i < boxes.length; i++) { boxes[i].checked = !all_checked; }
17 for (i = 0; i < boxes.length; i++) { boxes[i].checked = !all_checked; }
18 }
18 }
19
19
20 function setCheckboxesBySelector(checked, selector) {
20 function setCheckboxesBySelector(checked, selector) {
21 var boxes = $$(selector);
21 var boxes = $$(selector);
22 boxes.each(function(ele) {
22 boxes.each(function(ele) {
23 ele.checked = checked;
23 ele.checked = checked;
24 });
24 });
25 }
25 }
26
26
27 function showAndScrollTo(id, focus) {
27 function showAndScrollTo(id, focus) {
28 Element.show(id);
28 Element.show(id);
29 if (focus!=null) { Form.Element.focus(focus); }
29 if (focus!=null) { Form.Element.focus(focus); }
30 Element.scrollTo(id);
30 Element.scrollTo(id);
31 }
31 }
32
32
33 function toggleRowGroup(el) {
33 function toggleRowGroup(el) {
34 var tr = Element.up(el, 'tr');
34 var tr = Element.up(el, 'tr');
35 var n = Element.next(tr);
35 var n = Element.next(tr);
36 tr.toggleClassName('open');
36 tr.toggleClassName('open');
37 while (n != undefined && !n.hasClassName('group')) {
37 while (n != undefined && !n.hasClassName('group')) {
38 Element.toggle(n);
38 Element.toggle(n);
39 n = Element.next(n);
39 n = Element.next(n);
40 }
40 }
41 }
41 }
42
42
43 function collapseAllRowGroups(el) {
43 function collapseAllRowGroups(el) {
44 var tbody = Element.up(el, 'tbody');
44 var tbody = Element.up(el, 'tbody');
45 tbody.childElements('tr').each(function(tr) {
45 tbody.childElements('tr').each(function(tr) {
46 if (tr.hasClassName('group')) {
46 if (tr.hasClassName('group')) {
47 tr.removeClassName('open');
47 tr.removeClassName('open');
48 } else {
48 } else {
49 tr.hide();
49 tr.hide();
50 }
50 }
51 })
51 })
52 }
52 }
53
53
54 function expandAllRowGroups(el) {
54 function expandAllRowGroups(el) {
55 var tbody = Element.up(el, 'tbody');
55 var tbody = Element.up(el, 'tbody');
56 tbody.childElements('tr').each(function(tr) {
56 tbody.childElements('tr').each(function(tr) {
57 if (tr.hasClassName('group')) {
57 if (tr.hasClassName('group')) {
58 tr.addClassName('open');
58 tr.addClassName('open');
59 } else {
59 } else {
60 tr.show();
60 tr.show();
61 }
61 }
62 })
62 })
63 }
63 }
64
64
65 function toggleAllRowGroups(el) {
65 function toggleAllRowGroups(el) {
66 var tr = Element.up(el, 'tr');
66 var tr = Element.up(el, 'tr');
67 if (tr.hasClassName('open')) {
67 if (tr.hasClassName('open')) {
68 collapseAllRowGroups(el);
68 collapseAllRowGroups(el);
69 } else {
69 } else {
70 expandAllRowGroups(el);
70 expandAllRowGroups(el);
71 }
71 }
72 }
72 }
73
73
74 function toggleFieldset(el) {
74 function toggleFieldset(el) {
75 var fieldset = Element.up(el, 'fieldset');
75 var fieldset = Element.up(el, 'fieldset');
76 fieldset.toggleClassName('collapsed');
76 fieldset.toggleClassName('collapsed');
77 Effect.toggle(fieldset.down('div'), 'slide', {duration:0.2});
77 Effect.toggle(fieldset.down('div'), 'slide', {duration:0.2});
78 }
78 }
79
79
80 function hideFieldset(el) {
80 function hideFieldset(el) {
81 var fieldset = Element.up(el, 'fieldset');
81 var fieldset = Element.up(el, 'fieldset');
82 fieldset.toggleClassName('collapsed');
82 fieldset.toggleClassName('collapsed');
83 fieldset.down('div').hide();
83 fieldset.down('div').hide();
84 }
84 }
85
85
86 var fileFieldCount = 1;
86 var fileFieldCount = 1;
87
87
88 function addFileField() {
88 function addFileField() {
89 if (fileFieldCount >= 10) return false
90 fileFieldCount++;
91 var fields = $('attachments_fields');
89 var fields = $('attachments_fields');
90 if (fields.childElements().length >= 10) return false;
91 fileFieldCount++;
92 var s = document.createElement("span");
92 var s = document.createElement("span");
93 s.update(fields.down('span').innerHTML);
93 s.update(fields.down('span').innerHTML);
94 s.down('input.file').name = "attachments[" + fileFieldCount + "][file]";
94 s.down('input.file').name = "attachments[" + fileFieldCount + "][file]";
95 s.down('input.description').name = "attachments[" + fileFieldCount + "][description]";
95 s.down('input.description').name = "attachments[" + fileFieldCount + "][description]";
96 fields.appendChild(s);
96 fields.appendChild(s);
97 }
97 }
98
98
99 function removeFileField(el) {
100 var fields = $('attachments_fields');
101 var s = Element.up(el, 'span');
102 if (fields.childElements().length > 1) {
103 s.remove();
104 } else {
105 s.update(s.innerHTML);
106 }
107 }
108
99 function showTab(name) {
109 function showTab(name) {
100 var f = $$('div#content .tab-content');
110 var f = $$('div#content .tab-content');
101 for(var i=0; i<f.length; i++){
111 for(var i=0; i<f.length; i++){
102 Element.hide(f[i]);
112 Element.hide(f[i]);
103 }
113 }
104 var f = $$('div.tabs a');
114 var f = $$('div.tabs a');
105 for(var i=0; i<f.length; i++){
115 for(var i=0; i<f.length; i++){
106 Element.removeClassName(f[i], "selected");
116 Element.removeClassName(f[i], "selected");
107 }
117 }
108 Element.show('tab-content-' + name);
118 Element.show('tab-content-' + name);
109 Element.addClassName('tab-' + name, "selected");
119 Element.addClassName('tab-' + name, "selected");
110 return false;
120 return false;
111 }
121 }
112
122
113 function moveTabRight(el) {
123 function moveTabRight(el) {
114 var lis = Element.up(el, 'div.tabs').down('ul').childElements();
124 var lis = Element.up(el, 'div.tabs').down('ul').childElements();
115 var tabsWidth = 0;
125 var tabsWidth = 0;
116 var i;
126 var i;
117 for (i=0; i<lis.length; i++) {
127 for (i=0; i<lis.length; i++) {
118 if (lis[i].visible()) {
128 if (lis[i].visible()) {
119 tabsWidth += lis[i].getWidth() + 6;
129 tabsWidth += lis[i].getWidth() + 6;
120 }
130 }
121 }
131 }
122 if (tabsWidth < Element.up(el, 'div.tabs').getWidth() - 60) {
132 if (tabsWidth < Element.up(el, 'div.tabs').getWidth() - 60) {
123 return;
133 return;
124 }
134 }
125 i=0;
135 i=0;
126 while (i<lis.length && !lis[i].visible()) {
136 while (i<lis.length && !lis[i].visible()) {
127 i++;
137 i++;
128 }
138 }
129 lis[i].hide();
139 lis[i].hide();
130 }
140 }
131
141
132 function moveTabLeft(el) {
142 function moveTabLeft(el) {
133 var lis = Element.up(el, 'div.tabs').down('ul').childElements();
143 var lis = Element.up(el, 'div.tabs').down('ul').childElements();
134 var i = 0;
144 var i = 0;
135 while (i<lis.length && !lis[i].visible()) {
145 while (i<lis.length && !lis[i].visible()) {
136 i++;
146 i++;
137 }
147 }
138 if (i>0) {
148 if (i>0) {
139 lis[i-1].show();
149 lis[i-1].show();
140 }
150 }
141 }
151 }
142
152
143 function displayTabsButtons() {
153 function displayTabsButtons() {
144 var lis;
154 var lis;
145 var tabsWidth = 0;
155 var tabsWidth = 0;
146 var i;
156 var i;
147 $$('div.tabs').each(function(el) {
157 $$('div.tabs').each(function(el) {
148 lis = el.down('ul').childElements();
158 lis = el.down('ul').childElements();
149 for (i=0; i<lis.length; i++) {
159 for (i=0; i<lis.length; i++) {
150 if (lis[i].visible()) {
160 if (lis[i].visible()) {
151 tabsWidth += lis[i].getWidth() + 6;
161 tabsWidth += lis[i].getWidth() + 6;
152 }
162 }
153 }
163 }
154 if ((tabsWidth < el.getWidth() - 60) && (lis[0].visible())) {
164 if ((tabsWidth < el.getWidth() - 60) && (lis[0].visible())) {
155 el.down('div.tabs-buttons').hide();
165 el.down('div.tabs-buttons').hide();
156 } else {
166 } else {
157 el.down('div.tabs-buttons').show();
167 el.down('div.tabs-buttons').show();
158 }
168 }
159 });
169 });
160 }
170 }
161
171
162 function setPredecessorFieldsVisibility() {
172 function setPredecessorFieldsVisibility() {
163 relationType = $('relation_relation_type');
173 relationType = $('relation_relation_type');
164 if (relationType && (relationType.value == "precedes" || relationType.value == "follows")) {
174 if (relationType && (relationType.value == "precedes" || relationType.value == "follows")) {
165 Element.show('predecessor_fields');
175 Element.show('predecessor_fields');
166 } else {
176 } else {
167 Element.hide('predecessor_fields');
177 Element.hide('predecessor_fields');
168 }
178 }
169 }
179 }
170
180
171 function promptToRemote(text, param, url) {
181 function promptToRemote(text, param, url) {
172 value = prompt(text + ':');
182 value = prompt(text + ':');
173 if (value) {
183 if (value) {
174 new Ajax.Request(url + '?' + param + '=' + encodeURIComponent(value), {asynchronous:true, evalScripts:true});
184 new Ajax.Request(url + '?' + param + '=' + encodeURIComponent(value), {asynchronous:true, evalScripts:true});
175 return false;
185 return false;
176 }
186 }
177 }
187 }
178
188
179 function collapseScmEntry(id) {
189 function collapseScmEntry(id) {
180 var els = document.getElementsByClassName(id, 'browser');
190 var els = document.getElementsByClassName(id, 'browser');
181 for (var i = 0; i < els.length; i++) {
191 for (var i = 0; i < els.length; i++) {
182 if (els[i].hasClassName('open')) {
192 if (els[i].hasClassName('open')) {
183 collapseScmEntry(els[i].id);
193 collapseScmEntry(els[i].id);
184 }
194 }
185 Element.hide(els[i]);
195 Element.hide(els[i]);
186 }
196 }
187 $(id).removeClassName('open');
197 $(id).removeClassName('open');
188 }
198 }
189
199
190 function expandScmEntry(id) {
200 function expandScmEntry(id) {
191 var els = document.getElementsByClassName(id, 'browser');
201 var els = document.getElementsByClassName(id, 'browser');
192 for (var i = 0; i < els.length; i++) {
202 for (var i = 0; i < els.length; i++) {
193 Element.show(els[i]);
203 Element.show(els[i]);
194 if (els[i].hasClassName('loaded') && !els[i].hasClassName('collapsed')) {
204 if (els[i].hasClassName('loaded') && !els[i].hasClassName('collapsed')) {
195 expandScmEntry(els[i].id);
205 expandScmEntry(els[i].id);
196 }
206 }
197 }
207 }
198 $(id).addClassName('open');
208 $(id).addClassName('open');
199 }
209 }
200
210
201 function scmEntryClick(id) {
211 function scmEntryClick(id) {
202 el = $(id);
212 el = $(id);
203 if (el.hasClassName('open')) {
213 if (el.hasClassName('open')) {
204 collapseScmEntry(id);
214 collapseScmEntry(id);
205 el.addClassName('collapsed');
215 el.addClassName('collapsed');
206 return false;
216 return false;
207 } else if (el.hasClassName('loaded')) {
217 } else if (el.hasClassName('loaded')) {
208 expandScmEntry(id);
218 expandScmEntry(id);
209 el.removeClassName('collapsed');
219 el.removeClassName('collapsed');
210 return false;
220 return false;
211 }
221 }
212 if (el.hasClassName('loading')) {
222 if (el.hasClassName('loading')) {
213 return false;
223 return false;
214 }
224 }
215 el.addClassName('loading');
225 el.addClassName('loading');
216 return true;
226 return true;
217 }
227 }
218
228
219 function scmEntryLoaded(id) {
229 function scmEntryLoaded(id) {
220 Element.addClassName(id, 'open');
230 Element.addClassName(id, 'open');
221 Element.addClassName(id, 'loaded');
231 Element.addClassName(id, 'loaded');
222 Element.removeClassName(id, 'loading');
232 Element.removeClassName(id, 'loading');
223 }
233 }
224
234
225 function randomKey(size) {
235 function randomKey(size) {
226 var chars = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
236 var chars = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
227 var key = '';
237 var key = '';
228 for (i = 0; i < size; i++) {
238 for (i = 0; i < size; i++) {
229 key += chars[Math.floor(Math.random() * chars.length)];
239 key += chars[Math.floor(Math.random() * chars.length)];
230 }
240 }
231 return key;
241 return key;
232 }
242 }
233
243
234 function observeParentIssueField(url) {
244 function observeParentIssueField(url) {
235 new Ajax.Autocompleter('issue_parent_issue_id',
245 new Ajax.Autocompleter('issue_parent_issue_id',
236 'parent_issue_candidates',
246 'parent_issue_candidates',
237 url,
247 url,
238 { minChars: 3,
248 { minChars: 3,
239 frequency: 0.5,
249 frequency: 0.5,
240 paramName: 'q',
250 paramName: 'q',
241 updateElement: function(value) {
251 updateElement: function(value) {
242 document.getElementById('issue_parent_issue_id').value = value.id;
252 document.getElementById('issue_parent_issue_id').value = value.id;
243 }});
253 }});
244 }
254 }
245
255
246 function observeRelatedIssueField(url) {
256 function observeRelatedIssueField(url) {
247 new Ajax.Autocompleter('relation_issue_to_id',
257 new Ajax.Autocompleter('relation_issue_to_id',
248 'related_issue_candidates',
258 'related_issue_candidates',
249 url,
259 url,
250 { minChars: 3,
260 { minChars: 3,
251 frequency: 0.5,
261 frequency: 0.5,
252 paramName: 'q',
262 paramName: 'q',
253 updateElement: function(value) {
263 updateElement: function(value) {
254 document.getElementById('relation_issue_to_id').value = value.id;
264 document.getElementById('relation_issue_to_id').value = value.id;
255 },
265 },
256 parameters: 'scope=all'
266 parameters: 'scope=all'
257 });
267 });
258 }
268 }
259
269
260 function setVisible(id, visible) {
270 function setVisible(id, visible) {
261 var el = $(id);
271 var el = $(id);
262 if (el) {if (visible) {el.show();} else {el.hide();}}
272 if (el) {if (visible) {el.show();} else {el.hide();}}
263 }
273 }
264
274
265 function observeProjectModules() {
275 function observeProjectModules() {
266 var f = function() {
276 var f = function() {
267 /* Hides trackers and issues custom fields on the new project form when issue_tracking module is disabled */
277 /* Hides trackers and issues custom fields on the new project form when issue_tracking module is disabled */
268 var c = ($('project_enabled_module_names_issue_tracking').checked == true);
278 var c = ($('project_enabled_module_names_issue_tracking').checked == true);
269 setVisible('project_trackers', c);
279 setVisible('project_trackers', c);
270 setVisible('project_issue_custom_fields', c);
280 setVisible('project_issue_custom_fields', c);
271 };
281 };
272
282
273 Event.observe(window, 'load', f);
283 Event.observe(window, 'load', f);
274 Event.observe('project_enabled_module_names_issue_tracking', 'change', f);
284 Event.observe('project_enabled_module_names_issue_tracking', 'change', f);
275 }
285 }
276
286
277 /*
287 /*
278 * Class used to warn user when leaving a page with unsaved textarea
288 * Class used to warn user when leaving a page with unsaved textarea
279 * Author: mathias.fischer@berlinonline.de
289 * Author: mathias.fischer@berlinonline.de
280 */
290 */
281
291
282 var WarnLeavingUnsaved = Class.create({
292 var WarnLeavingUnsaved = Class.create({
283 observedForms: false,
293 observedForms: false,
284 observedElements: false,
294 observedElements: false,
285 changedForms: false,
295 changedForms: false,
286 message: null,
296 message: null,
287
297
288 initialize: function(message){
298 initialize: function(message){
289 this.observedForms = $$('form');
299 this.observedForms = $$('form');
290 this.observedElements = $$('textarea');
300 this.observedElements = $$('textarea');
291 this.message = message;
301 this.message = message;
292
302
293 this.observedElements.each(this.observeChange.bind(this));
303 this.observedElements.each(this.observeChange.bind(this));
294 this.observedForms.each(this.submitAction.bind(this));
304 this.observedForms.each(this.submitAction.bind(this));
295
305
296 window.onbeforeunload = this.unload.bind(this);
306 window.onbeforeunload = this.unload.bind(this);
297 },
307 },
298
308
299 unload: function(){
309 unload: function(){
300 this.observedElements.each(function(el) {el.blur();})
310 this.observedElements.each(function(el) {el.blur();})
301 if(this.changedForms)
311 if(this.changedForms)
302 return this.message;
312 return this.message;
303 },
313 },
304
314
305 setChanged: function(){
315 setChanged: function(){
306 this.changedForms = true;
316 this.changedForms = true;
307 },
317 },
308
318
309 setUnchanged: function(){
319 setUnchanged: function(){
310 this.changedForms = false;
320 this.changedForms = false;
311 },
321 },
312
322
313 observeChange: function(element){
323 observeChange: function(element){
314 element.observe('change',this.setChanged.bindAsEventListener(this));
324 element.observe('change',this.setChanged.bindAsEventListener(this));
315 },
325 },
316
326
317 submitAction: function(element){
327 submitAction: function(element){
318 element.observe('submit',this.setUnchanged.bindAsEventListener(this));
328 element.observe('submit',this.setUnchanged.bindAsEventListener(this));
319 }
329 }
320 });
330 });
321
331
322 /*
332 /*
323 * 1 - registers a callback which copies the csrf token into the
333 * 1 - registers a callback which copies the csrf token into the
324 * X-CSRF-Token header with each ajax request. Necessary to
334 * X-CSRF-Token header with each ajax request. Necessary to
325 * work with rails applications which have fixed
335 * work with rails applications which have fixed
326 * CVE-2011-0447
336 * CVE-2011-0447
327 * 2 - shows and hides ajax indicator
337 * 2 - shows and hides ajax indicator
328 */
338 */
329 Ajax.Responders.register({
339 Ajax.Responders.register({
330 onCreate: function(request){
340 onCreate: function(request){
331 var csrf_meta_tag = $$('meta[name=csrf-token]')[0];
341 var csrf_meta_tag = $$('meta[name=csrf-token]')[0];
332
342
333 if (csrf_meta_tag) {
343 if (csrf_meta_tag) {
334 var header = 'X-CSRF-Token',
344 var header = 'X-CSRF-Token',
335 token = csrf_meta_tag.readAttribute('content');
345 token = csrf_meta_tag.readAttribute('content');
336
346
337 if (!request.options.requestHeaders) {
347 if (!request.options.requestHeaders) {
338 request.options.requestHeaders = {};
348 request.options.requestHeaders = {};
339 }
349 }
340 request.options.requestHeaders[header] = token;
350 request.options.requestHeaders[header] = token;
341 }
351 }
342
352
343 if ($('ajax-indicator') && Ajax.activeRequestCount > 0) {
353 if ($('ajax-indicator') && Ajax.activeRequestCount > 0) {
344 Element.show('ajax-indicator');
354 Element.show('ajax-indicator');
345 }
355 }
346 },
356 },
347 onComplete: function(){
357 onComplete: function(){
348 if ($('ajax-indicator') && Ajax.activeRequestCount == 0) {
358 if ($('ajax-indicator') && Ajax.activeRequestCount == 0) {
349 Element.hide('ajax-indicator');
359 Element.hide('ajax-indicator');
350 }
360 }
351 }
361 }
352 });
362 });
353
363
354 function hideOnLoad() {
364 function hideOnLoad() {
355 $$('.hol').each(function(el) {
365 $$('.hol').each(function(el) {
356 el.hide();
366 el.hide();
357 });
367 });
358 }
368 }
359
369
360 Event.observe(window, 'load', hideOnLoad);
370 Event.observe(window, 'load', hideOnLoad);
@@ -1,984 +1,986
1 html {overflow-y:scroll;}
1 html {overflow-y:scroll;}
2 body { font-family: Verdana, sans-serif; font-size: 12px; color:#484848; margin: 0; padding: 0; min-width: 900px; }
2 body { font-family: Verdana, sans-serif; font-size: 12px; color:#484848; margin: 0; padding: 0; min-width: 900px; }
3
3
4 h1, h2, h3, h4 { font-family: "Trebuchet MS", Verdana, sans-serif;}
4 h1, h2, h3, h4 { font-family: "Trebuchet MS", Verdana, sans-serif;}
5 h1 {margin:0; padding:0; font-size: 24px;}
5 h1 {margin:0; padding:0; font-size: 24px;}
6 h2, .wiki h1 {font-size: 20px;padding: 2px 10px 1px 0px;margin: 0 0 10px 0; border-bottom: 1px solid #bbbbbb; color: #444;}
6 h2, .wiki h1 {font-size: 20px;padding: 2px 10px 1px 0px;margin: 0 0 10px 0; border-bottom: 1px solid #bbbbbb; color: #444;}
7 h3, .wiki h2 {font-size: 16px;padding: 2px 10px 1px 0px;margin: 0 0 10px 0; border-bottom: 1px solid #bbbbbb; color: #444;}
7 h3, .wiki h2 {font-size: 16px;padding: 2px 10px 1px 0px;margin: 0 0 10px 0; border-bottom: 1px solid #bbbbbb; color: #444;}
8 h4, .wiki h3 {font-size: 13px;padding: 2px 10px 1px 0px;margin-bottom: 5px; border-bottom: 1px dotted #bbbbbb; color: #444;}
8 h4, .wiki h3 {font-size: 13px;padding: 2px 10px 1px 0px;margin-bottom: 5px; border-bottom: 1px dotted #bbbbbb; color: #444;}
9
9
10 /***** Layout *****/
10 /***** Layout *****/
11 #wrapper {background: white;}
11 #wrapper {background: white;}
12
12
13 #top-menu {background: #2C4056; color: #fff; height:1.8em; font-size: 0.8em; padding: 2px 2px 0px 6px;}
13 #top-menu {background: #2C4056; color: #fff; height:1.8em; font-size: 0.8em; padding: 2px 2px 0px 6px;}
14 #top-menu ul {margin: 0; padding: 0;}
14 #top-menu ul {margin: 0; padding: 0;}
15 #top-menu li {
15 #top-menu li {
16 float:left;
16 float:left;
17 list-style-type:none;
17 list-style-type:none;
18 margin: 0px 0px 0px 0px;
18 margin: 0px 0px 0px 0px;
19 padding: 0px 0px 0px 0px;
19 padding: 0px 0px 0px 0px;
20 white-space:nowrap;
20 white-space:nowrap;
21 }
21 }
22 #top-menu a {color: #fff; margin-right: 8px; font-weight: bold;}
22 #top-menu a {color: #fff; margin-right: 8px; font-weight: bold;}
23 #top-menu #loggedas { float: right; margin-right: 0.5em; color: #fff; }
23 #top-menu #loggedas { float: right; margin-right: 0.5em; color: #fff; }
24
24
25 #account {float:right;}
25 #account {float:right;}
26
26
27 #header {height:5.3em;margin:0;background-color:#507AAA;color:#f8f8f8; padding: 4px 8px 0px 6px; position:relative;}
27 #header {height:5.3em;margin:0;background-color:#507AAA;color:#f8f8f8; padding: 4px 8px 0px 6px; position:relative;}
28 #header a {color:#f8f8f8;}
28 #header a {color:#f8f8f8;}
29 #header h1 a.ancestor { font-size: 80%; }
29 #header h1 a.ancestor { font-size: 80%; }
30 #quick-search {float:right;}
30 #quick-search {float:right;}
31
31
32 #main-menu {position: absolute; bottom: 0px; left:6px; margin-right: -500px;}
32 #main-menu {position: absolute; bottom: 0px; left:6px; margin-right: -500px;}
33 #main-menu ul {margin: 0; padding: 0;}
33 #main-menu ul {margin: 0; padding: 0;}
34 #main-menu li {
34 #main-menu li {
35 float:left;
35 float:left;
36 list-style-type:none;
36 list-style-type:none;
37 margin: 0px 2px 0px 0px;
37 margin: 0px 2px 0px 0px;
38 padding: 0px 0px 0px 0px;
38 padding: 0px 0px 0px 0px;
39 white-space:nowrap;
39 white-space:nowrap;
40 }
40 }
41 #main-menu li a {
41 #main-menu li a {
42 display: block;
42 display: block;
43 color: #fff;
43 color: #fff;
44 text-decoration: none;
44 text-decoration: none;
45 font-weight: bold;
45 font-weight: bold;
46 margin: 0;
46 margin: 0;
47 padding: 4px 10px 4px 10px;
47 padding: 4px 10px 4px 10px;
48 }
48 }
49 #main-menu li a:hover {background:#759FCF; color:#fff;}
49 #main-menu li a:hover {background:#759FCF; color:#fff;}
50 #main-menu li a.selected, #main-menu li a.selected:hover {background:#fff; color:#555;}
50 #main-menu li a.selected, #main-menu li a.selected:hover {background:#fff; color:#555;}
51
51
52 #admin-menu ul {margin: 0; padding: 0;}
52 #admin-menu ul {margin: 0; padding: 0;}
53 #admin-menu li {margin: 0; padding: 0 0 12px 0; list-style-type:none;}
53 #admin-menu li {margin: 0; padding: 0 0 12px 0; list-style-type:none;}
54
54
55 #admin-menu a { background-position: 0% 40%; background-repeat: no-repeat; padding-left: 20px; padding-top: 2px; padding-bottom: 3px;}
55 #admin-menu a { background-position: 0% 40%; background-repeat: no-repeat; padding-left: 20px; padding-top: 2px; padding-bottom: 3px;}
56 #admin-menu a.projects { background-image: url(../images/projects.png); }
56 #admin-menu a.projects { background-image: url(../images/projects.png); }
57 #admin-menu a.users { background-image: url(../images/user.png); }
57 #admin-menu a.users { background-image: url(../images/user.png); }
58 #admin-menu a.groups { background-image: url(../images/group.png); }
58 #admin-menu a.groups { background-image: url(../images/group.png); }
59 #admin-menu a.roles { background-image: url(../images/database_key.png); }
59 #admin-menu a.roles { background-image: url(../images/database_key.png); }
60 #admin-menu a.trackers { background-image: url(../images/ticket.png); }
60 #admin-menu a.trackers { background-image: url(../images/ticket.png); }
61 #admin-menu a.issue_statuses { background-image: url(../images/ticket_edit.png); }
61 #admin-menu a.issue_statuses { background-image: url(../images/ticket_edit.png); }
62 #admin-menu a.workflows { background-image: url(../images/ticket_go.png); }
62 #admin-menu a.workflows { background-image: url(../images/ticket_go.png); }
63 #admin-menu a.custom_fields { background-image: url(../images/textfield.png); }
63 #admin-menu a.custom_fields { background-image: url(../images/textfield.png); }
64 #admin-menu a.enumerations { background-image: url(../images/text_list_bullets.png); }
64 #admin-menu a.enumerations { background-image: url(../images/text_list_bullets.png); }
65 #admin-menu a.settings { background-image: url(../images/changeset.png); }
65 #admin-menu a.settings { background-image: url(../images/changeset.png); }
66 #admin-menu a.plugins { background-image: url(../images/plugin.png); }
66 #admin-menu a.plugins { background-image: url(../images/plugin.png); }
67 #admin-menu a.info { background-image: url(../images/help.png); }
67 #admin-menu a.info { background-image: url(../images/help.png); }
68 #admin-menu a.server_authentication { background-image: url(../images/server_key.png); }
68 #admin-menu a.server_authentication { background-image: url(../images/server_key.png); }
69
69
70 #main {background-color:#EEEEEE;}
70 #main {background-color:#EEEEEE;}
71
71
72 #sidebar{ float: right; width: 22%; position: relative; z-index: 9; padding: 0; margin: 0;}
72 #sidebar{ float: right; width: 22%; position: relative; z-index: 9; padding: 0; margin: 0;}
73 * html #sidebar{ width: 22%; }
73 * html #sidebar{ width: 22%; }
74 #sidebar h3{ font-size: 14px; margin-top:14px; color: #666; }
74 #sidebar h3{ font-size: 14px; margin-top:14px; color: #666; }
75 #sidebar hr{ width: 100%; margin: 0 auto; height: 1px; background: #ccc; border: 0; }
75 #sidebar hr{ width: 100%; margin: 0 auto; height: 1px; background: #ccc; border: 0; }
76 * html #sidebar hr{ width: 95%; position: relative; left: -6px; color: #ccc; }
76 * html #sidebar hr{ width: 95%; position: relative; left: -6px; color: #ccc; }
77 #sidebar .contextual { margin-right: 1em; }
77 #sidebar .contextual { margin-right: 1em; }
78
78
79 #content { width: 75%; background-color: #fff; margin: 0px; border-right: 1px solid #ddd; padding: 6px 10px 10px 10px; z-index: 10; }
79 #content { width: 75%; background-color: #fff; margin: 0px; border-right: 1px solid #ddd; padding: 6px 10px 10px 10px; z-index: 10; }
80 * html #content{ width: 75%; padding-left: 0; margin-top: 0px; padding: 6px 10px 10px 10px;}
80 * html #content{ width: 75%; padding-left: 0; margin-top: 0px; padding: 6px 10px 10px 10px;}
81 html>body #content { min-height: 600px; }
81 html>body #content { min-height: 600px; }
82 * html body #content { height: 600px; } /* IE */
82 * html body #content { height: 600px; } /* IE */
83
83
84 #main.nosidebar #sidebar{ display: none; }
84 #main.nosidebar #sidebar{ display: none; }
85 #main.nosidebar #content{ width: auto; border-right: 0; }
85 #main.nosidebar #content{ width: auto; border-right: 0; }
86
86
87 #footer {clear: both; border-top: 1px solid #bbb; font-size: 0.9em; color: #aaa; padding: 5px; text-align:center; background:#fff;}
87 #footer {clear: both; border-top: 1px solid #bbb; font-size: 0.9em; color: #aaa; padding: 5px; text-align:center; background:#fff;}
88
88
89 #login-form table {margin-top:5em; padding:1em; margin-left: auto; margin-right: auto; border: 2px solid #FDBF3B; background-color:#FFEBC1; }
89 #login-form table {margin-top:5em; padding:1em; margin-left: auto; margin-right: auto; border: 2px solid #FDBF3B; background-color:#FFEBC1; }
90 #login-form table td {padding: 6px;}
90 #login-form table td {padding: 6px;}
91 #login-form label {font-weight: bold;}
91 #login-form label {font-weight: bold;}
92 #login-form input#username, #login-form input#password { width: 300px; }
92 #login-form input#username, #login-form input#password { width: 300px; }
93
93
94 input#openid_url { background: url(../images/openid-bg.gif) no-repeat; background-color: #fff; background-position: 0 50%; padding-left: 18px; }
94 input#openid_url { background: url(../images/openid-bg.gif) no-repeat; background-color: #fff; background-position: 0 50%; padding-left: 18px; }
95
95
96 .clear:after{ content: "."; display: block; height: 0; clear: both; visibility: hidden; }
96 .clear:after{ content: "."; display: block; height: 0; clear: both; visibility: hidden; }
97
97
98 /***** Links *****/
98 /***** Links *****/
99 a, a:link, a:visited{ color: #2A5685; text-decoration: none; }
99 a, a:link, a:visited{ color: #2A5685; text-decoration: none; }
100 a:hover, a:active{ color: #c61a1a; text-decoration: underline;}
100 a:hover, a:active{ color: #c61a1a; text-decoration: underline;}
101 a img{ border: 0; }
101 a img{ border: 0; }
102
102
103 a.issue.closed, a.issue.closed:link, a.issue.closed:visited { color: #999; text-decoration: line-through; }
103 a.issue.closed, a.issue.closed:link, a.issue.closed:visited { color: #999; text-decoration: line-through; }
104
104
105 /***** Tables *****/
105 /***** Tables *****/
106 table.list { border: 1px solid #e4e4e4; border-collapse: collapse; width: 100%; margin-bottom: 4px; }
106 table.list { border: 1px solid #e4e4e4; border-collapse: collapse; width: 100%; margin-bottom: 4px; }
107 table.list th { background-color:#EEEEEE; padding: 4px; white-space:nowrap; }
107 table.list th { background-color:#EEEEEE; padding: 4px; white-space:nowrap; }
108 table.list td { vertical-align: top; }
108 table.list td { vertical-align: top; }
109 table.list td.id { width: 2%; text-align: center;}
109 table.list td.id { width: 2%; text-align: center;}
110 table.list td.checkbox { width: 15px; padding: 2px 0 0 0; }
110 table.list td.checkbox { width: 15px; padding: 2px 0 0 0; }
111 table.list td.checkbox input {padding:0px;}
111 table.list td.checkbox input {padding:0px;}
112 table.list td.buttons { width: 15%; white-space:nowrap; text-align: right; }
112 table.list td.buttons { width: 15%; white-space:nowrap; text-align: right; }
113 table.list td.buttons a { padding-right: 0.6em; }
113 table.list td.buttons a { padding-right: 0.6em; }
114 table.list caption { text-align: left; padding: 0.5em 0.5em 0.5em 0; }
114 table.list caption { text-align: left; padding: 0.5em 0.5em 0.5em 0; }
115
115
116 tr.project td.name a { white-space:nowrap; }
116 tr.project td.name a { white-space:nowrap; }
117
117
118 tr.project.idnt td.name span {background: url(../images/bullet_arrow_right.png) no-repeat 0 50%; padding-left: 16px;}
118 tr.project.idnt td.name span {background: url(../images/bullet_arrow_right.png) no-repeat 0 50%; padding-left: 16px;}
119 tr.project.idnt-1 td.name {padding-left: 0.5em;}
119 tr.project.idnt-1 td.name {padding-left: 0.5em;}
120 tr.project.idnt-2 td.name {padding-left: 2em;}
120 tr.project.idnt-2 td.name {padding-left: 2em;}
121 tr.project.idnt-3 td.name {padding-left: 3.5em;}
121 tr.project.idnt-3 td.name {padding-left: 3.5em;}
122 tr.project.idnt-4 td.name {padding-left: 5em;}
122 tr.project.idnt-4 td.name {padding-left: 5em;}
123 tr.project.idnt-5 td.name {padding-left: 6.5em;}
123 tr.project.idnt-5 td.name {padding-left: 6.5em;}
124 tr.project.idnt-6 td.name {padding-left: 8em;}
124 tr.project.idnt-6 td.name {padding-left: 8em;}
125 tr.project.idnt-7 td.name {padding-left: 9.5em;}
125 tr.project.idnt-7 td.name {padding-left: 9.5em;}
126 tr.project.idnt-8 td.name {padding-left: 11em;}
126 tr.project.idnt-8 td.name {padding-left: 11em;}
127 tr.project.idnt-9 td.name {padding-left: 12.5em;}
127 tr.project.idnt-9 td.name {padding-left: 12.5em;}
128
128
129 tr.issue { text-align: center; white-space: nowrap; }
129 tr.issue { text-align: center; white-space: nowrap; }
130 tr.issue td.subject, tr.issue td.category, td.assigned_to, tr.issue td.string, tr.issue td.text { white-space: normal; }
130 tr.issue td.subject, tr.issue td.category, td.assigned_to, tr.issue td.string, tr.issue td.text { white-space: normal; }
131 tr.issue td.subject { text-align: left; }
131 tr.issue td.subject { text-align: left; }
132 tr.issue td.done_ratio table.progress { margin-left:auto; margin-right: auto;}
132 tr.issue td.done_ratio table.progress { margin-left:auto; margin-right: auto;}
133
133
134 tr.issue.idnt td.subject a {background: url(../images/bullet_arrow_right.png) no-repeat 0 50%; padding-left: 16px;}
134 tr.issue.idnt td.subject a {background: url(../images/bullet_arrow_right.png) no-repeat 0 50%; padding-left: 16px;}
135 tr.issue.idnt-1 td.subject {padding-left: 0.5em;}
135 tr.issue.idnt-1 td.subject {padding-left: 0.5em;}
136 tr.issue.idnt-2 td.subject {padding-left: 2em;}
136 tr.issue.idnt-2 td.subject {padding-left: 2em;}
137 tr.issue.idnt-3 td.subject {padding-left: 3.5em;}
137 tr.issue.idnt-3 td.subject {padding-left: 3.5em;}
138 tr.issue.idnt-4 td.subject {padding-left: 5em;}
138 tr.issue.idnt-4 td.subject {padding-left: 5em;}
139 tr.issue.idnt-5 td.subject {padding-left: 6.5em;}
139 tr.issue.idnt-5 td.subject {padding-left: 6.5em;}
140 tr.issue.idnt-6 td.subject {padding-left: 8em;}
140 tr.issue.idnt-6 td.subject {padding-left: 8em;}
141 tr.issue.idnt-7 td.subject {padding-left: 9.5em;}
141 tr.issue.idnt-7 td.subject {padding-left: 9.5em;}
142 tr.issue.idnt-8 td.subject {padding-left: 11em;}
142 tr.issue.idnt-8 td.subject {padding-left: 11em;}
143 tr.issue.idnt-9 td.subject {padding-left: 12.5em;}
143 tr.issue.idnt-9 td.subject {padding-left: 12.5em;}
144
144
145 tr.entry { border: 1px solid #f8f8f8; }
145 tr.entry { border: 1px solid #f8f8f8; }
146 tr.entry td { white-space: nowrap; }
146 tr.entry td { white-space: nowrap; }
147 tr.entry td.filename { width: 30%; }
147 tr.entry td.filename { width: 30%; }
148 tr.entry td.filename_no_report { width: 70%; }
148 tr.entry td.filename_no_report { width: 70%; }
149 tr.entry td.size { text-align: right; font-size: 90%; }
149 tr.entry td.size { text-align: right; font-size: 90%; }
150 tr.entry td.revision, tr.entry td.author { text-align: center; }
150 tr.entry td.revision, tr.entry td.author { text-align: center; }
151 tr.entry td.age { text-align: right; }
151 tr.entry td.age { text-align: right; }
152 tr.entry.file td.filename a { margin-left: 16px; }
152 tr.entry.file td.filename a { margin-left: 16px; }
153 tr.entry.file td.filename_no_report a { margin-left: 16px; }
153 tr.entry.file td.filename_no_report a { margin-left: 16px; }
154
154
155 tr span.expander {background-image: url(../images/bullet_toggle_plus.png); padding-left: 8px; margin-left: 0; cursor: pointer;}
155 tr span.expander {background-image: url(../images/bullet_toggle_plus.png); padding-left: 8px; margin-left: 0; cursor: pointer;}
156 tr.open span.expander {background-image: url(../images/bullet_toggle_minus.png);}
156 tr.open span.expander {background-image: url(../images/bullet_toggle_minus.png);}
157
157
158 tr.changeset td.author { text-align: center; width: 15%; }
158 tr.changeset td.author { text-align: center; width: 15%; }
159 tr.changeset td.committed_on { text-align: center; width: 15%; }
159 tr.changeset td.committed_on { text-align: center; width: 15%; }
160
160
161 table.files tr.file td { text-align: center; }
161 table.files tr.file td { text-align: center; }
162 table.files tr.file td.filename { text-align: left; padding-left: 24px; }
162 table.files tr.file td.filename { text-align: left; padding-left: 24px; }
163 table.files tr.file td.digest { font-size: 80%; }
163 table.files tr.file td.digest { font-size: 80%; }
164
164
165 table.members td.roles, table.memberships td.roles { width: 45%; }
165 table.members td.roles, table.memberships td.roles { width: 45%; }
166
166
167 tr.message { height: 2.6em; }
167 tr.message { height: 2.6em; }
168 tr.message td.subject { padding-left: 20px; }
168 tr.message td.subject { padding-left: 20px; }
169 tr.message td.created_on { white-space: nowrap; }
169 tr.message td.created_on { white-space: nowrap; }
170 tr.message td.last_message { font-size: 80%; white-space: nowrap; }
170 tr.message td.last_message { font-size: 80%; white-space: nowrap; }
171 tr.message.locked td.subject { background: url(../images/locked.png) no-repeat 0 1px; }
171 tr.message.locked td.subject { background: url(../images/locked.png) no-repeat 0 1px; }
172 tr.message.sticky td.subject { background: url(../images/bullet_go.png) no-repeat 0 1px; font-weight: bold; }
172 tr.message.sticky td.subject { background: url(../images/bullet_go.png) no-repeat 0 1px; font-weight: bold; }
173
173
174 tr.version.closed, tr.version.closed a { color: #999; }
174 tr.version.closed, tr.version.closed a { color: #999; }
175 tr.version td.name { padding-left: 20px; }
175 tr.version td.name { padding-left: 20px; }
176 tr.version.shared td.name { background: url(../images/link.png) no-repeat 0% 70%; }
176 tr.version.shared td.name { background: url(../images/link.png) no-repeat 0% 70%; }
177 tr.version td.date, tr.version td.status, tr.version td.sharing { text-align: center; white-space:nowrap; }
177 tr.version td.date, tr.version td.status, tr.version td.sharing { text-align: center; white-space:nowrap; }
178
178
179 tr.user td { width:13%; }
179 tr.user td { width:13%; }
180 tr.user td.email { width:18%; }
180 tr.user td.email { width:18%; }
181 tr.user td { white-space: nowrap; }
181 tr.user td { white-space: nowrap; }
182 tr.user.locked, tr.user.registered { color: #aaa; }
182 tr.user.locked, tr.user.registered { color: #aaa; }
183 tr.user.locked a, tr.user.registered a { color: #aaa; }
183 tr.user.locked a, tr.user.registered a { color: #aaa; }
184
184
185 tr.wiki-page-version td.updated_on, tr.wiki-page-version td.author {text-align:center;}
185 tr.wiki-page-version td.updated_on, tr.wiki-page-version td.author {text-align:center;}
186
186
187 tr.time-entry { text-align: center; white-space: nowrap; }
187 tr.time-entry { text-align: center; white-space: nowrap; }
188 tr.time-entry td.subject, tr.time-entry td.comments { text-align: left; white-space: normal; }
188 tr.time-entry td.subject, tr.time-entry td.comments { text-align: left; white-space: normal; }
189 td.hours { text-align: right; font-weight: bold; padding-right: 0.5em; }
189 td.hours { text-align: right; font-weight: bold; padding-right: 0.5em; }
190 td.hours .hours-dec { font-size: 0.9em; }
190 td.hours .hours-dec { font-size: 0.9em; }
191
191
192 table.plugins td { vertical-align: middle; }
192 table.plugins td { vertical-align: middle; }
193 table.plugins td.configure { text-align: right; padding-right: 1em; }
193 table.plugins td.configure { text-align: right; padding-right: 1em; }
194 table.plugins span.name { font-weight: bold; display: block; margin-bottom: 6px; }
194 table.plugins span.name { font-weight: bold; display: block; margin-bottom: 6px; }
195 table.plugins span.description { display: block; font-size: 0.9em; }
195 table.plugins span.description { display: block; font-size: 0.9em; }
196 table.plugins span.url { display: block; font-size: 0.9em; }
196 table.plugins span.url { display: block; font-size: 0.9em; }
197
197
198 table.list tbody tr.group td { padding: 0.8em 0 0.5em 0.3em; font-weight: bold; border-bottom: 1px solid #ccc; }
198 table.list tbody tr.group td { padding: 0.8em 0 0.5em 0.3em; font-weight: bold; border-bottom: 1px solid #ccc; }
199 table.list tbody tr.group span.count { color: #aaa; font-size: 80%; }
199 table.list tbody tr.group span.count { color: #aaa; font-size: 80%; }
200 tr.group a.toggle-all { color: #aaa; font-size: 80%; font-weight: normal; display:none;}
200 tr.group a.toggle-all { color: #aaa; font-size: 80%; font-weight: normal; display:none;}
201 tr.group:hover a.toggle-all { display:inline;}
201 tr.group:hover a.toggle-all { display:inline;}
202 a.toggle-all:hover {text-decoration:none;}
202 a.toggle-all:hover {text-decoration:none;}
203
203
204 table.list tbody tr:hover { background-color:#ffffdd; }
204 table.list tbody tr:hover { background-color:#ffffdd; }
205 table.list tbody tr.group:hover { background-color:inherit; }
205 table.list tbody tr.group:hover { background-color:inherit; }
206 table td {padding:2px;}
206 table td {padding:2px;}
207 table p {margin:0;}
207 table p {margin:0;}
208 .odd {background-color:#f6f7f8;}
208 .odd {background-color:#f6f7f8;}
209 .even {background-color: #fff;}
209 .even {background-color: #fff;}
210
210
211 a.sort { padding-right: 16px; background-position: 100% 50%; background-repeat: no-repeat; }
211 a.sort { padding-right: 16px; background-position: 100% 50%; background-repeat: no-repeat; }
212 a.sort.asc { background-image: url(../images/sort_asc.png); }
212 a.sort.asc { background-image: url(../images/sort_asc.png); }
213 a.sort.desc { background-image: url(../images/sort_desc.png); }
213 a.sort.desc { background-image: url(../images/sort_desc.png); }
214
214
215 table.attributes { width: 100% }
215 table.attributes { width: 100% }
216 table.attributes th { vertical-align: top; text-align: left; }
216 table.attributes th { vertical-align: top; text-align: left; }
217 table.attributes td { vertical-align: top; }
217 table.attributes td { vertical-align: top; }
218
218
219 table.boards a.board, h3.comments { background: url(../images/comment.png) no-repeat 0% 50%; padding-left: 20px; }
219 table.boards a.board, h3.comments { background: url(../images/comment.png) no-repeat 0% 50%; padding-left: 20px; }
220
220
221 td.center {text-align:center;}
221 td.center {text-align:center;}
222
222
223 h3.version { background: url(../images/package.png) no-repeat 0% 50%; padding-left: 20px; }
223 h3.version { background: url(../images/package.png) no-repeat 0% 50%; padding-left: 20px; }
224
224
225 div.issues h3 { background: url(../images/ticket.png) no-repeat 0% 50%; padding-left: 20px; }
225 div.issues h3 { background: url(../images/ticket.png) no-repeat 0% 50%; padding-left: 20px; }
226 div.members h3 { background: url(../images/group.png) no-repeat 0% 50%; padding-left: 20px; }
226 div.members h3 { background: url(../images/group.png) no-repeat 0% 50%; padding-left: 20px; }
227 div.news h3 { background: url(../images/news.png) no-repeat 0% 50%; padding-left: 20px; }
227 div.news h3 { background: url(../images/news.png) no-repeat 0% 50%; padding-left: 20px; }
228 div.projects h3 { background: url(../images/projects.png) no-repeat 0% 50%; padding-left: 20px; }
228 div.projects h3 { background: url(../images/projects.png) no-repeat 0% 50%; padding-left: 20px; }
229
229
230 #watchers ul {margin: 0; padding: 0;}
230 #watchers ul {margin: 0; padding: 0;}
231 #watchers li {list-style-type:none;margin: 0px 2px 0px 0px; padding: 0px 0px 0px 0px;}
231 #watchers li {list-style-type:none;margin: 0px 2px 0px 0px; padding: 0px 0px 0px 0px;}
232 #watchers select {width: 95%; display: block;}
232 #watchers select {width: 95%; display: block;}
233 #watchers a.delete {opacity: 0.4;}
233 #watchers a.delete {opacity: 0.4;}
234 #watchers a.delete:hover {opacity: 1;}
234 #watchers a.delete:hover {opacity: 1;}
235 #watchers img.gravatar {vertical-align: middle;margin: 0 4px 2px 0;}
235 #watchers img.gravatar {vertical-align: middle;margin: 0 4px 2px 0;}
236
236
237 .highlight { background-color: #FCFD8D;}
237 .highlight { background-color: #FCFD8D;}
238 .highlight.token-1 { background-color: #faa;}
238 .highlight.token-1 { background-color: #faa;}
239 .highlight.token-2 { background-color: #afa;}
239 .highlight.token-2 { background-color: #afa;}
240 .highlight.token-3 { background-color: #aaf;}
240 .highlight.token-3 { background-color: #aaf;}
241
241
242 .box{
242 .box{
243 padding:6px;
243 padding:6px;
244 margin-bottom: 10px;
244 margin-bottom: 10px;
245 background-color:#f6f6f6;
245 background-color:#f6f6f6;
246 color:#505050;
246 color:#505050;
247 line-height:1.5em;
247 line-height:1.5em;
248 border: 1px solid #e4e4e4;
248 border: 1px solid #e4e4e4;
249 }
249 }
250
250
251 div.square {
251 div.square {
252 border: 1px solid #999;
252 border: 1px solid #999;
253 float: left;
253 float: left;
254 margin: .3em .4em 0 .4em;
254 margin: .3em .4em 0 .4em;
255 overflow: hidden;
255 overflow: hidden;
256 width: .6em; height: .6em;
256 width: .6em; height: .6em;
257 }
257 }
258 .contextual {float:right; white-space: nowrap; line-height:1.4em;margin-top:5px; padding-left: 10px; font-size:0.9em;}
258 .contextual {float:right; white-space: nowrap; line-height:1.4em;margin-top:5px; padding-left: 10px; font-size:0.9em;}
259 .contextual input, .contextual select {font-size:0.9em;}
259 .contextual input, .contextual select {font-size:0.9em;}
260 .message .contextual { margin-top: 0; }
260 .message .contextual { margin-top: 0; }
261
261
262 .splitcontentleft{float:left; width:49%;}
262 .splitcontentleft{float:left; width:49%;}
263 .splitcontentright{float:right; width:49%;}
263 .splitcontentright{float:right; width:49%;}
264 form {display: inline;}
264 form {display: inline;}
265 input, select {vertical-align: middle; margin-top: 1px; margin-bottom: 1px;}
265 input, select {vertical-align: middle; margin-top: 1px; margin-bottom: 1px;}
266 fieldset {border: 1px solid #e4e4e4; margin:0;}
266 fieldset {border: 1px solid #e4e4e4; margin:0;}
267 legend {color: #484848;}
267 legend {color: #484848;}
268 hr { width: 100%; height: 1px; background: #ccc; border: 0;}
268 hr { width: 100%; height: 1px; background: #ccc; border: 0;}
269 blockquote { font-style: italic; border-left: 3px solid #e0e0e0; padding-left: 0.6em; margin-left: 2.4em;}
269 blockquote { font-style: italic; border-left: 3px solid #e0e0e0; padding-left: 0.6em; margin-left: 2.4em;}
270 blockquote blockquote { margin-left: 0;}
270 blockquote blockquote { margin-left: 0;}
271 acronym { border-bottom: 1px dotted; cursor: help; }
271 acronym { border-bottom: 1px dotted; cursor: help; }
272 textarea.wiki-edit { width: 99%; }
272 textarea.wiki-edit { width: 99%; }
273 li p {margin-top: 0;}
273 li p {margin-top: 0;}
274 div.issue {background:#ffffdd; padding:6px; margin-bottom:6px;border: 1px solid #d7d7d7;}
274 div.issue {background:#ffffdd; padding:6px; margin-bottom:6px;border: 1px solid #d7d7d7;}
275 p.breadcrumb { font-size: 0.9em; margin: 4px 0 4px 0;}
275 p.breadcrumb { font-size: 0.9em; margin: 4px 0 4px 0;}
276 p.subtitle { font-size: 0.9em; margin: -6px 0 12px 0; font-style: italic; }
276 p.subtitle { font-size: 0.9em; margin: -6px 0 12px 0; font-style: italic; }
277 p.footnote { font-size: 0.9em; margin-top: 0px; margin-bottom: 0px; }
277 p.footnote { font-size: 0.9em; margin-top: 0px; margin-bottom: 0px; }
278
278
279 div.issue div.subject div div { padding-left: 16px; }
279 div.issue div.subject div div { padding-left: 16px; }
280 div.issue div.subject p {margin: 0; margin-bottom: 0.1em; font-size: 90%; color: #999;}
280 div.issue div.subject p {margin: 0; margin-bottom: 0.1em; font-size: 90%; color: #999;}
281 div.issue div.subject>div>p { margin-top: 0.5em; }
281 div.issue div.subject>div>p { margin-top: 0.5em; }
282 div.issue div.subject h3 {margin: 0; margin-bottom: 0.1em;}
282 div.issue div.subject h3 {margin: 0; margin-bottom: 0.1em;}
283 div.issue span.private { position:relative; bottom: 2px; text-transform: uppercase; background: #d22; color: #fff; font-weight:bold; padding: 0px 2px 0px 2px; font-size: 60%; margin-right: 2px; border-radius: 2px; -moz-border-radius: 2px;}
283 div.issue span.private { position:relative; bottom: 2px; text-transform: uppercase; background: #d22; color: #fff; font-weight:bold; padding: 0px 2px 0px 2px; font-size: 60%; margin-right: 2px; border-radius: 2px; -moz-border-radius: 2px;}
284
284
285 #issue_tree table.issues, #relations table.issues { border: 0; }
285 #issue_tree table.issues, #relations table.issues { border: 0; }
286 #issue_tree td.checkbox, #relations td.checkbox {display:none;}
286 #issue_tree td.checkbox, #relations td.checkbox {display:none;}
287 #relations td.buttons {padding:0;}
287 #relations td.buttons {padding:0;}
288
288
289 fieldset.collapsible { border-width: 1px 0 0 0; font-size: 0.9em; }
289 fieldset.collapsible { border-width: 1px 0 0 0; font-size: 0.9em; }
290 fieldset.collapsible legend { padding-left: 16px; background: url(../images/arrow_expanded.png) no-repeat 0% 40%; cursor:pointer; }
290 fieldset.collapsible legend { padding-left: 16px; background: url(../images/arrow_expanded.png) no-repeat 0% 40%; cursor:pointer; }
291 fieldset.collapsible.collapsed legend { background-image: url(../images/arrow_collapsed.png); }
291 fieldset.collapsible.collapsed legend { background-image: url(../images/arrow_collapsed.png); }
292
292
293 fieldset#date-range p { margin: 2px 0 2px 0; }
293 fieldset#date-range p { margin: 2px 0 2px 0; }
294 fieldset#filters table { border-collapse: collapse; }
294 fieldset#filters table { border-collapse: collapse; }
295 fieldset#filters table td { padding: 0; vertical-align: middle; }
295 fieldset#filters table td { padding: 0; vertical-align: middle; }
296 fieldset#filters tr.filter { height: 2em; }
296 fieldset#filters tr.filter { height: 2em; }
297 fieldset#filters td.add-filter { text-align: right; vertical-align: top; }
297 fieldset#filters td.add-filter { text-align: right; vertical-align: top; }
298 .buttons { font-size: 0.9em; margin-bottom: 1.4em; margin-top: 1em; }
298 .buttons { font-size: 0.9em; margin-bottom: 1.4em; margin-top: 1em; }
299
299
300 div#issue-changesets {float:right; width:45%; margin-left: 1em; margin-bottom: 1em; background: #fff; padding-left: 1em; font-size: 90%;}
300 div#issue-changesets {float:right; width:45%; margin-left: 1em; margin-bottom: 1em; background: #fff; padding-left: 1em; font-size: 90%;}
301 div#issue-changesets div.changeset { padding: 4px;}
301 div#issue-changesets div.changeset { padding: 4px;}
302 div#issue-changesets div.changeset { border-bottom: 1px solid #ddd; }
302 div#issue-changesets div.changeset { border-bottom: 1px solid #ddd; }
303 div#issue-changesets p { margin-top: 0; margin-bottom: 1em;}
303 div#issue-changesets p { margin-top: 0; margin-bottom: 1em;}
304
304
305 div#activity dl, #search-results { margin-left: 2em; }
305 div#activity dl, #search-results { margin-left: 2em; }
306 div#activity dd, #search-results dd { margin-bottom: 1em; padding-left: 18px; font-size: 0.9em; }
306 div#activity dd, #search-results dd { margin-bottom: 1em; padding-left: 18px; font-size: 0.9em; }
307 div#activity dt, #search-results dt { margin-bottom: 0px; padding-left: 20px; line-height: 18px; background-position: 0 50%; background-repeat: no-repeat; }
307 div#activity dt, #search-results dt { margin-bottom: 0px; padding-left: 20px; line-height: 18px; background-position: 0 50%; background-repeat: no-repeat; }
308 div#activity dt.me .time { border-bottom: 1px solid #999; }
308 div#activity dt.me .time { border-bottom: 1px solid #999; }
309 div#activity dt .time { color: #777; font-size: 80%; }
309 div#activity dt .time { color: #777; font-size: 80%; }
310 div#activity dd .description, #search-results dd .description { font-style: italic; }
310 div#activity dd .description, #search-results dd .description { font-style: italic; }
311 div#activity span.project:after, #search-results span.project:after { content: " -"; }
311 div#activity span.project:after, #search-results span.project:after { content: " -"; }
312 div#activity dd span.description, #search-results dd span.description { display:block; color: #808080; }
312 div#activity dd span.description, #search-results dd span.description { display:block; color: #808080; }
313
313
314 #search-results dd { margin-bottom: 1em; padding-left: 20px; margin-left:0px; }
314 #search-results dd { margin-bottom: 1em; padding-left: 20px; margin-left:0px; }
315
315
316 div#search-results-counts {float:right;}
316 div#search-results-counts {float:right;}
317 div#search-results-counts ul { margin-top: 0.5em; }
317 div#search-results-counts ul { margin-top: 0.5em; }
318 div#search-results-counts li { list-style-type:none; float: left; margin-left: 1em; }
318 div#search-results-counts li { list-style-type:none; float: left; margin-left: 1em; }
319
319
320 dt.issue { background-image: url(../images/ticket.png); }
320 dt.issue { background-image: url(../images/ticket.png); }
321 dt.issue-edit { background-image: url(../images/ticket_edit.png); }
321 dt.issue-edit { background-image: url(../images/ticket_edit.png); }
322 dt.issue-closed { background-image: url(../images/ticket_checked.png); }
322 dt.issue-closed { background-image: url(../images/ticket_checked.png); }
323 dt.issue-note { background-image: url(../images/ticket_note.png); }
323 dt.issue-note { background-image: url(../images/ticket_note.png); }
324 dt.changeset { background-image: url(../images/changeset.png); }
324 dt.changeset { background-image: url(../images/changeset.png); }
325 dt.news { background-image: url(../images/news.png); }
325 dt.news { background-image: url(../images/news.png); }
326 dt.message { background-image: url(../images/message.png); }
326 dt.message { background-image: url(../images/message.png); }
327 dt.reply { background-image: url(../images/comments.png); }
327 dt.reply { background-image: url(../images/comments.png); }
328 dt.wiki-page { background-image: url(../images/wiki_edit.png); }
328 dt.wiki-page { background-image: url(../images/wiki_edit.png); }
329 dt.attachment { background-image: url(../images/attachment.png); }
329 dt.attachment { background-image: url(../images/attachment.png); }
330 dt.document { background-image: url(../images/document.png); }
330 dt.document { background-image: url(../images/document.png); }
331 dt.project { background-image: url(../images/projects.png); }
331 dt.project { background-image: url(../images/projects.png); }
332 dt.time-entry { background-image: url(../images/time.png); }
332 dt.time-entry { background-image: url(../images/time.png); }
333
333
334 #search-results dt.issue.closed { background-image: url(../images/ticket_checked.png); }
334 #search-results dt.issue.closed { background-image: url(../images/ticket_checked.png); }
335
335
336 div#roadmap .related-issues { margin-bottom: 1em; }
336 div#roadmap .related-issues { margin-bottom: 1em; }
337 div#roadmap .related-issues td.checkbox { display: none; }
337 div#roadmap .related-issues td.checkbox { display: none; }
338 div#roadmap .wiki h1:first-child { display: none; }
338 div#roadmap .wiki h1:first-child { display: none; }
339 div#roadmap .wiki h1 { font-size: 120%; }
339 div#roadmap .wiki h1 { font-size: 120%; }
340 div#roadmap .wiki h2 { font-size: 110%; }
340 div#roadmap .wiki h2 { font-size: 110%; }
341 body.controller-versions.action-show div#roadmap .related-issues {width:auto;}
341 body.controller-versions.action-show div#roadmap .related-issues {width:auto;}
342
342
343 div#version-summary { float:right; width:380px; margin-left: 16px; margin-bottom: 16px; background-color: #fff; }
343 div#version-summary { float:right; width:380px; margin-left: 16px; margin-bottom: 16px; background-color: #fff; }
344 div#version-summary fieldset { margin-bottom: 1em; }
344 div#version-summary fieldset { margin-bottom: 1em; }
345 div#version-summary .total-hours { text-align: right; }
345 div#version-summary .total-hours { text-align: right; }
346
346
347 table#time-report td.hours, table#time-report th.period, table#time-report th.total { text-align: right; padding-right: 0.5em; }
347 table#time-report td.hours, table#time-report th.period, table#time-report th.total { text-align: right; padding-right: 0.5em; }
348 table#time-report tbody tr { font-style: italic; color: #777; }
348 table#time-report tbody tr { font-style: italic; color: #777; }
349 table#time-report tbody tr.last-level { font-style: normal; color: #555; }
349 table#time-report tbody tr.last-level { font-style: normal; color: #555; }
350 table#time-report tbody tr.total { font-style: normal; font-weight: bold; color: #555; background-color:#EEEEEE; }
350 table#time-report tbody tr.total { font-style: normal; font-weight: bold; color: #555; background-color:#EEEEEE; }
351 table#time-report .hours-dec { font-size: 0.9em; }
351 table#time-report .hours-dec { font-size: 0.9em; }
352
352
353 form .attributes { margin-bottom: 8px; }
353 form .attributes { margin-bottom: 8px; }
354 form .attributes p { padding-top: 1px; padding-bottom: 2px; }
354 form .attributes p { padding-top: 1px; padding-bottom: 2px; }
355 form .attributes select { width: 60%; }
355 form .attributes select { width: 60%; }
356 input#issue_subject { width: 99%; }
356 input#issue_subject { width: 99%; }
357 select#issue_done_ratio { width: 95px; }
357 select#issue_done_ratio { width: 95px; }
358
358
359 ul.projects { margin: 0; padding-left: 1em; }
359 ul.projects { margin: 0; padding-left: 1em; }
360 ul.projects.root { margin: 0; padding: 0; }
360 ul.projects.root { margin: 0; padding: 0; }
361 ul.projects ul.projects { border-left: 3px solid #e0e0e0; }
361 ul.projects ul.projects { border-left: 3px solid #e0e0e0; }
362 ul.projects li.root { list-style-type:none; margin-bottom: 1em; }
362 ul.projects li.root { list-style-type:none; margin-bottom: 1em; }
363 ul.projects li.child { list-style-type:none; margin-top: 1em;}
363 ul.projects li.child { list-style-type:none; margin-top: 1em;}
364 ul.projects div.root a.project { font-family: "Trebuchet MS", Verdana, sans-serif; font-weight: bold; font-size: 16px; margin: 0 0 10px 0; }
364 ul.projects div.root a.project { font-family: "Trebuchet MS", Verdana, sans-serif; font-weight: bold; font-size: 16px; margin: 0 0 10px 0; }
365 .my-project { padding-left: 18px; background: url(../images/fav.png) no-repeat 0 50%; }
365 .my-project { padding-left: 18px; background: url(../images/fav.png) no-repeat 0 50%; }
366
366
367 #tracker_project_ids ul { margin: 0; padding-left: 1em; }
367 #tracker_project_ids ul { margin: 0; padding-left: 1em; }
368 #tracker_project_ids li { list-style-type:none; }
368 #tracker_project_ids li { list-style-type:none; }
369
369
370 ul.properties {padding:0; font-size: 0.9em; color: #777;}
370 ul.properties {padding:0; font-size: 0.9em; color: #777;}
371 ul.properties li {list-style-type:none;}
371 ul.properties li {list-style-type:none;}
372 ul.properties li span {font-style:italic;}
372 ul.properties li span {font-style:italic;}
373
373
374 .total-hours { font-size: 110%; font-weight: bold; }
374 .total-hours { font-size: 110%; font-weight: bold; }
375 .total-hours span.hours-int { font-size: 120%; }
375 .total-hours span.hours-int { font-size: 120%; }
376
376
377 .autoscroll {overflow-x: auto; padding:1px; margin-bottom: 1.2em;}
377 .autoscroll {overflow-x: auto; padding:1px; margin-bottom: 1.2em;}
378 #user_login, #user_firstname, #user_lastname, #user_mail, #my_account_form select, #user_form select { width: 90%; }
378 #user_login, #user_firstname, #user_lastname, #user_mail, #my_account_form select, #user_form select { width: 90%; }
379
379
380 #workflow_copy_form select { width: 200px; }
380 #workflow_copy_form select { width: 200px; }
381
381
382 textarea#custom_field_possible_values {width: 99%}
382 textarea#custom_field_possible_values {width: 99%}
383
383
384 .pagination {font-size: 90%}
384 .pagination {font-size: 90%}
385 p.pagination {margin-top:8px;}
385 p.pagination {margin-top:8px;}
386
386
387 /***** Tabular forms ******/
387 /***** Tabular forms ******/
388 .tabular p{
388 .tabular p{
389 margin: 0;
389 margin: 0;
390 padding: 5px 0 8px 0;
390 padding: 5px 0 8px 0;
391 padding-left: 180px; /*width of left column containing the label elements*/
391 padding-left: 180px; /*width of left column containing the label elements*/
392 height: 1%;
392 height: 1%;
393 clear:left;
393 clear:left;
394 }
394 }
395
395
396 html>body .tabular p {overflow:hidden;}
396 html>body .tabular p {overflow:hidden;}
397
397
398 .tabular label{
398 .tabular label{
399 font-weight: bold;
399 font-weight: bold;
400 float: left;
400 float: left;
401 text-align: right;
401 text-align: right;
402 margin-left: -180px; /*width of left column*/
402 margin-left: -180px; /*width of left column*/
403 width: 175px; /*width of labels. Should be smaller than left column to create some right
403 width: 175px; /*width of labels. Should be smaller than left column to create some right
404 margin*/
404 margin*/
405 }
405 }
406
406
407 .tabular label.floating{
407 .tabular label.floating{
408 font-weight: normal;
408 font-weight: normal;
409 margin-left: 0px;
409 margin-left: 0px;
410 text-align: left;
410 text-align: left;
411 width: 270px;
411 width: 270px;
412 }
412 }
413
413
414 .tabular label.block{
414 .tabular label.block{
415 font-weight: normal;
415 font-weight: normal;
416 margin-left: 0px !important;
416 margin-left: 0px !important;
417 text-align: left;
417 text-align: left;
418 float: none;
418 float: none;
419 display: block;
419 display: block;
420 width: auto;
420 width: auto;
421 }
421 }
422
422
423 .tabular label.inline{
423 .tabular label.inline{
424 float:none;
424 float:none;
425 margin-left: 5px !important;
425 margin-left: 5px !important;
426 width: auto;
426 width: auto;
427 }
427 }
428
428
429 input#time_entry_comments { width: 90%;}
429 input#time_entry_comments { width: 90%;}
430
430
431 #preview fieldset {margin-top: 1em; background: url(../images/draft.png)}
431 #preview fieldset {margin-top: 1em; background: url(../images/draft.png)}
432
432
433 .tabular.settings p{ padding-left: 300px; }
433 .tabular.settings p{ padding-left: 300px; }
434 .tabular.settings label{ margin-left: -300px; width: 295px; }
434 .tabular.settings label{ margin-left: -300px; width: 295px; }
435 .tabular.settings textarea { width: 99%; }
435 .tabular.settings textarea { width: 99%; }
436
436
437 .tabular.settings.enabled_scm table {width:100%}
437 .tabular.settings.enabled_scm table {width:100%}
438 .tabular.settings.enabled_scm td.scm_name{ font-weight: bold; }
438 .tabular.settings.enabled_scm td.scm_name{ font-weight: bold; }
439 .tabular.settings.enabled_scm p.scm_config{ padding-left: 8px; font-style:italic;}
439 .tabular.settings.enabled_scm p.scm_config{ padding-left: 8px; font-style:italic;}
440
440
441 fieldset.settings label { display: block; }
441 fieldset.settings label { display: block; }
442 fieldset#notified_events .parent { padding-left: 20px; }
442 fieldset#notified_events .parent { padding-left: 20px; }
443
443
444 .required {color: #bb0000;}
444 .required {color: #bb0000;}
445 .summary {font-style: italic;}
445 .summary {font-style: italic;}
446
446
447 #attachments_fields input[type=text] {margin-left: 8px; }
447 #attachments_fields input[type=text] {margin-left: 8px; }
448 #attachments_fields span {display:block; white-space:nowrap;}
449 #attachments_fields img {vertical-align: middle;}
448
450
449 div.attachments { margin-top: 12px; }
451 div.attachments { margin-top: 12px; }
450 div.attachments p { margin:4px 0 2px 0; }
452 div.attachments p { margin:4px 0 2px 0; }
451 div.attachments img { vertical-align: middle; }
453 div.attachments img { vertical-align: middle; }
452 div.attachments span.author { font-size: 0.9em; color: #888; }
454 div.attachments span.author { font-size: 0.9em; color: #888; }
453
455
454 p.other-formats { text-align: right; font-size:0.9em; color: #666; }
456 p.other-formats { text-align: right; font-size:0.9em; color: #666; }
455 .other-formats span + span:before { content: "| "; }
457 .other-formats span + span:before { content: "| "; }
456
458
457 a.atom { background: url(../images/feed.png) no-repeat 1px 50%; padding: 2px 0px 3px 16px; }
459 a.atom { background: url(../images/feed.png) no-repeat 1px 50%; padding: 2px 0px 3px 16px; }
458
460
459 /* Project members tab */
461 /* Project members tab */
460 div#tab-content-members .splitcontentleft, div#tab-content-memberships .splitcontentleft, div#tab-content-users .splitcontentleft { width: 64% }
462 div#tab-content-members .splitcontentleft, div#tab-content-memberships .splitcontentleft, div#tab-content-users .splitcontentleft { width: 64% }
461 div#tab-content-members .splitcontentright, div#tab-content-memberships .splitcontentright, div#tab-content-users .splitcontentright { width: 34% }
463 div#tab-content-members .splitcontentright, div#tab-content-memberships .splitcontentright, div#tab-content-users .splitcontentright { width: 34% }
462 div#tab-content-members fieldset, div#tab-content-memberships fieldset, div#tab-content-users fieldset { padding:1em; margin-bottom: 1em; }
464 div#tab-content-members fieldset, div#tab-content-memberships fieldset, div#tab-content-users fieldset { padding:1em; margin-bottom: 1em; }
463 div#tab-content-members fieldset legend, div#tab-content-memberships fieldset legend, div#tab-content-users fieldset legend { font-weight: bold; }
465 div#tab-content-members fieldset legend, div#tab-content-memberships fieldset legend, div#tab-content-users fieldset legend { font-weight: bold; }
464 div#tab-content-members fieldset label, div#tab-content-memberships fieldset label, div#tab-content-users fieldset label { display: block; }
466 div#tab-content-members fieldset label, div#tab-content-memberships fieldset label, div#tab-content-users fieldset label { display: block; }
465 div#tab-content-members fieldset div, div#tab-content-users fieldset div { max-height: 400px; overflow:auto; }
467 div#tab-content-members fieldset div, div#tab-content-users fieldset div { max-height: 400px; overflow:auto; }
466
468
467 table.members td.group { padding-left: 20px; background: url(../images/group.png) no-repeat 0% 50%; }
469 table.members td.group { padding-left: 20px; background: url(../images/group.png) no-repeat 0% 50%; }
468
470
469 input#principal_search, input#user_search {width:100%}
471 input#principal_search, input#user_search {width:100%}
470
472
471 * html div#tab-content-members fieldset div { height: 450px; }
473 * html div#tab-content-members fieldset div { height: 450px; }
472
474
473 /***** Flash & error messages ****/
475 /***** Flash & error messages ****/
474 #errorExplanation, div.flash, .nodata, .warning {
476 #errorExplanation, div.flash, .nodata, .warning {
475 padding: 4px 4px 4px 30px;
477 padding: 4px 4px 4px 30px;
476 margin-bottom: 12px;
478 margin-bottom: 12px;
477 font-size: 1.1em;
479 font-size: 1.1em;
478 border: 2px solid;
480 border: 2px solid;
479 }
481 }
480
482
481 div.flash {margin-top: 8px;}
483 div.flash {margin-top: 8px;}
482
484
483 div.flash.error, #errorExplanation {
485 div.flash.error, #errorExplanation {
484 background: url(../images/exclamation.png) 8px 50% no-repeat;
486 background: url(../images/exclamation.png) 8px 50% no-repeat;
485 background-color: #ffe3e3;
487 background-color: #ffe3e3;
486 border-color: #dd0000;
488 border-color: #dd0000;
487 color: #880000;
489 color: #880000;
488 }
490 }
489
491
490 div.flash.notice {
492 div.flash.notice {
491 background: url(../images/true.png) 8px 5px no-repeat;
493 background: url(../images/true.png) 8px 5px no-repeat;
492 background-color: #dfffdf;
494 background-color: #dfffdf;
493 border-color: #9fcf9f;
495 border-color: #9fcf9f;
494 color: #005f00;
496 color: #005f00;
495 }
497 }
496
498
497 div.flash.warning {
499 div.flash.warning {
498 background: url(../images/warning.png) 8px 5px no-repeat;
500 background: url(../images/warning.png) 8px 5px no-repeat;
499 background-color: #FFEBC1;
501 background-color: #FFEBC1;
500 border-color: #FDBF3B;
502 border-color: #FDBF3B;
501 color: #A6750C;
503 color: #A6750C;
502 text-align: left;
504 text-align: left;
503 }
505 }
504
506
505 .nodata, .warning {
507 .nodata, .warning {
506 text-align: center;
508 text-align: center;
507 background-color: #FFEBC1;
509 background-color: #FFEBC1;
508 border-color: #FDBF3B;
510 border-color: #FDBF3B;
509 color: #A6750C;
511 color: #A6750C;
510 }
512 }
511
513
512 span.error {padding-left:20px; background:url(../images/exclamation.png) no-repeat 0 50%;}
514 span.error {padding-left:20px; background:url(../images/exclamation.png) no-repeat 0 50%;}
513
515
514 #errorExplanation ul { font-size: 0.9em;}
516 #errorExplanation ul { font-size: 0.9em;}
515 #errorExplanation h2, #errorExplanation p { display: none; }
517 #errorExplanation h2, #errorExplanation p { display: none; }
516
518
517 /***** Ajax indicator ******/
519 /***** Ajax indicator ******/
518 #ajax-indicator {
520 #ajax-indicator {
519 position: absolute; /* fixed not supported by IE */
521 position: absolute; /* fixed not supported by IE */
520 background-color:#eee;
522 background-color:#eee;
521 border: 1px solid #bbb;
523 border: 1px solid #bbb;
522 top:35%;
524 top:35%;
523 left:40%;
525 left:40%;
524 width:20%;
526 width:20%;
525 font-weight:bold;
527 font-weight:bold;
526 text-align:center;
528 text-align:center;
527 padding:0.6em;
529 padding:0.6em;
528 z-index:100;
530 z-index:100;
529 filter:alpha(opacity=50);
531 filter:alpha(opacity=50);
530 opacity: 0.5;
532 opacity: 0.5;
531 }
533 }
532
534
533 html>body #ajax-indicator { position: fixed; }
535 html>body #ajax-indicator { position: fixed; }
534
536
535 #ajax-indicator span {
537 #ajax-indicator span {
536 background-position: 0% 40%;
538 background-position: 0% 40%;
537 background-repeat: no-repeat;
539 background-repeat: no-repeat;
538 background-image: url(../images/loading.gif);
540 background-image: url(../images/loading.gif);
539 padding-left: 26px;
541 padding-left: 26px;
540 vertical-align: bottom;
542 vertical-align: bottom;
541 }
543 }
542
544
543 /***** Calendar *****/
545 /***** Calendar *****/
544 table.cal {border-collapse: collapse; width: 100%; margin: 0px 0 6px 0;border: 1px solid #d7d7d7;}
546 table.cal {border-collapse: collapse; width: 100%; margin: 0px 0 6px 0;border: 1px solid #d7d7d7;}
545 table.cal thead th {width: 14%; background-color:#EEEEEE; padding: 4px; }
547 table.cal thead th {width: 14%; background-color:#EEEEEE; padding: 4px; }
546 table.cal thead th.week-number {width: auto;}
548 table.cal thead th.week-number {width: auto;}
547 table.cal tbody tr {height: 100px;}
549 table.cal tbody tr {height: 100px;}
548 table.cal td {border: 1px solid #d7d7d7; vertical-align: top; font-size: 0.9em;}
550 table.cal td {border: 1px solid #d7d7d7; vertical-align: top; font-size: 0.9em;}
549 table.cal td.week-number { background-color:#EEEEEE; padding: 4px; border:none; font-size: 1em;}
551 table.cal td.week-number { background-color:#EEEEEE; padding: 4px; border:none; font-size: 1em;}
550 table.cal td p.day-num {font-size: 1.1em; text-align:right;}
552 table.cal td p.day-num {font-size: 1.1em; text-align:right;}
551 table.cal td.odd p.day-num {color: #bbb;}
553 table.cal td.odd p.day-num {color: #bbb;}
552 table.cal td.today {background:#ffffdd;}
554 table.cal td.today {background:#ffffdd;}
553 table.cal td.today p.day-num {font-weight: bold;}
555 table.cal td.today p.day-num {font-weight: bold;}
554 table.cal .starting a, p.cal.legend .starting {background: url(../images/bullet_go.png) no-repeat -1px -2px; padding-left:16px;}
556 table.cal .starting a, p.cal.legend .starting {background: url(../images/bullet_go.png) no-repeat -1px -2px; padding-left:16px;}
555 table.cal .ending a, p.cal.legend .ending {background: url(../images/bullet_end.png) no-repeat -1px -2px; padding-left:16px;}
557 table.cal .ending a, p.cal.legend .ending {background: url(../images/bullet_end.png) no-repeat -1px -2px; padding-left:16px;}
556 table.cal .starting.ending a, p.cal.legend .starting.ending {background: url(../images/bullet_diamond.png) no-repeat -1px -2px; padding-left:16px;}
558 table.cal .starting.ending a, p.cal.legend .starting.ending {background: url(../images/bullet_diamond.png) no-repeat -1px -2px; padding-left:16px;}
557 p.cal.legend span {display:block;}
559 p.cal.legend span {display:block;}
558
560
559 /***** Tooltips ******/
561 /***** Tooltips ******/
560 .tooltip{position:relative;z-index:24;}
562 .tooltip{position:relative;z-index:24;}
561 .tooltip:hover{z-index:25;color:#000;}
563 .tooltip:hover{z-index:25;color:#000;}
562 .tooltip span.tip{display: none; text-align:left;}
564 .tooltip span.tip{display: none; text-align:left;}
563
565
564 div.tooltip:hover span.tip{
566 div.tooltip:hover span.tip{
565 display:block;
567 display:block;
566 position:absolute;
568 position:absolute;
567 top:12px; left:24px; width:270px;
569 top:12px; left:24px; width:270px;
568 border:1px solid #555;
570 border:1px solid #555;
569 background-color:#fff;
571 background-color:#fff;
570 padding: 4px;
572 padding: 4px;
571 font-size: 0.8em;
573 font-size: 0.8em;
572 color:#505050;
574 color:#505050;
573 }
575 }
574
576
575 /***** Progress bar *****/
577 /***** Progress bar *****/
576 table.progress {
578 table.progress {
577 border: 1px solid #D7D7D7;
579 border: 1px solid #D7D7D7;
578 border-collapse: collapse;
580 border-collapse: collapse;
579 border-spacing: 0pt;
581 border-spacing: 0pt;
580 empty-cells: show;
582 empty-cells: show;
581 text-align: center;
583 text-align: center;
582 float:left;
584 float:left;
583 margin: 1px 6px 1px 0px;
585 margin: 1px 6px 1px 0px;
584 }
586 }
585
587
586 table.progress td { height: 0.9em; }
588 table.progress td { height: 0.9em; }
587 table.progress td.closed { background: #BAE0BA none repeat scroll 0%; }
589 table.progress td.closed { background: #BAE0BA none repeat scroll 0%; }
588 table.progress td.done { background: #DEF0DE none repeat scroll 0%; }
590 table.progress td.done { background: #DEF0DE none repeat scroll 0%; }
589 table.progress td.open { background: #FFF none repeat scroll 0%; }
591 table.progress td.open { background: #FFF none repeat scroll 0%; }
590 p.pourcent {font-size: 80%;}
592 p.pourcent {font-size: 80%;}
591 p.progress-info {clear: left; font-style: italic; font-size: 80%;}
593 p.progress-info {clear: left; font-style: italic; font-size: 80%;}
592
594
593 /***** Tabs *****/
595 /***** Tabs *****/
594 #content .tabs {height: 2.6em; margin-bottom:1.2em; position:relative; overflow:hidden;}
596 #content .tabs {height: 2.6em; margin-bottom:1.2em; position:relative; overflow:hidden;}
595 #content .tabs ul {margin:0; position:absolute; bottom:0; padding-left:1em; width: 2000px; border-bottom: 1px solid #bbbbbb;}
597 #content .tabs ul {margin:0; position:absolute; bottom:0; padding-left:1em; width: 2000px; border-bottom: 1px solid #bbbbbb;}
596 #content .tabs ul li {
598 #content .tabs ul li {
597 float:left;
599 float:left;
598 list-style-type:none;
600 list-style-type:none;
599 white-space:nowrap;
601 white-space:nowrap;
600 margin-right:8px;
602 margin-right:8px;
601 background:#fff;
603 background:#fff;
602 position:relative;
604 position:relative;
603 margin-bottom:-1px;
605 margin-bottom:-1px;
604 }
606 }
605 #content .tabs ul li a{
607 #content .tabs ul li a{
606 display:block;
608 display:block;
607 font-size: 0.9em;
609 font-size: 0.9em;
608 text-decoration:none;
610 text-decoration:none;
609 line-height:1.3em;
611 line-height:1.3em;
610 padding:4px 6px 4px 6px;
612 padding:4px 6px 4px 6px;
611 border: 1px solid #ccc;
613 border: 1px solid #ccc;
612 border-bottom: 1px solid #bbbbbb;
614 border-bottom: 1px solid #bbbbbb;
613 background-color: #eeeeee;
615 background-color: #eeeeee;
614 color:#777;
616 color:#777;
615 font-weight:bold;
617 font-weight:bold;
616 }
618 }
617
619
618 #content .tabs ul li a:hover {
620 #content .tabs ul li a:hover {
619 background-color: #ffffdd;
621 background-color: #ffffdd;
620 text-decoration:none;
622 text-decoration:none;
621 }
623 }
622
624
623 #content .tabs ul li a.selected {
625 #content .tabs ul li a.selected {
624 background-color: #fff;
626 background-color: #fff;
625 border: 1px solid #bbbbbb;
627 border: 1px solid #bbbbbb;
626 border-bottom: 1px solid #fff;
628 border-bottom: 1px solid #fff;
627 }
629 }
628
630
629 #content .tabs ul li a.selected:hover {
631 #content .tabs ul li a.selected:hover {
630 background-color: #fff;
632 background-color: #fff;
631 }
633 }
632
634
633 div.tabs-buttons { position:absolute; right: 0; width: 48px; height: 24px; background: white; bottom: 0; border-bottom: 1px solid #bbbbbb; }
635 div.tabs-buttons { position:absolute; right: 0; width: 48px; height: 24px; background: white; bottom: 0; border-bottom: 1px solid #bbbbbb; }
634
636
635 button.tab-left, button.tab-right {
637 button.tab-left, button.tab-right {
636 font-size: 0.9em;
638 font-size: 0.9em;
637 cursor: pointer;
639 cursor: pointer;
638 height:24px;
640 height:24px;
639 border: 1px solid #ccc;
641 border: 1px solid #ccc;
640 border-bottom: 1px solid #bbbbbb;
642 border-bottom: 1px solid #bbbbbb;
641 position:absolute;
643 position:absolute;
642 padding:4px;
644 padding:4px;
643 width: 20px;
645 width: 20px;
644 bottom: -1px;
646 bottom: -1px;
645 }
647 }
646
648
647 button.tab-left {
649 button.tab-left {
648 right: 20px;
650 right: 20px;
649 background: #eeeeee url(../images/bullet_arrow_left.png) no-repeat 50% 50%;
651 background: #eeeeee url(../images/bullet_arrow_left.png) no-repeat 50% 50%;
650 }
652 }
651
653
652 button.tab-right {
654 button.tab-right {
653 right: 0;
655 right: 0;
654 background: #eeeeee url(../images/bullet_arrow_right.png) no-repeat 50% 50%;
656 background: #eeeeee url(../images/bullet_arrow_right.png) no-repeat 50% 50%;
655 }
657 }
656
658
657 /***** Auto-complete *****/
659 /***** Auto-complete *****/
658 div.autocomplete {
660 div.autocomplete {
659 position:absolute;
661 position:absolute;
660 width:400px;
662 width:400px;
661 margin:0;
663 margin:0;
662 padding:0;
664 padding:0;
663 }
665 }
664 div.autocomplete ul {
666 div.autocomplete ul {
665 list-style-type:none;
667 list-style-type:none;
666 margin:0;
668 margin:0;
667 padding:0;
669 padding:0;
668 }
670 }
669 div.autocomplete ul li {
671 div.autocomplete ul li {
670 list-style-type:none;
672 list-style-type:none;
671 display:block;
673 display:block;
672 margin:-1px 0 0 0;
674 margin:-1px 0 0 0;
673 padding:2px;
675 padding:2px;
674 cursor:pointer;
676 cursor:pointer;
675 font-size: 90%;
677 font-size: 90%;
676 border: 1px solid #ccc;
678 border: 1px solid #ccc;
677 border-left: 1px solid #ccc;
679 border-left: 1px solid #ccc;
678 border-right: 1px solid #ccc;
680 border-right: 1px solid #ccc;
679 background-color:white;
681 background-color:white;
680 }
682 }
681 div.autocomplete ul li.selected { background-color: #ffb;}
683 div.autocomplete ul li.selected { background-color: #ffb;}
682 div.autocomplete ul li span.informal {
684 div.autocomplete ul li span.informal {
683 font-size: 80%;
685 font-size: 80%;
684 color: #aaa;
686 color: #aaa;
685 }
687 }
686
688
687 #parent_issue_candidates ul li {width: 500px;}
689 #parent_issue_candidates ul li {width: 500px;}
688 #related_issue_candidates ul li {width: 500px;}
690 #related_issue_candidates ul li {width: 500px;}
689
691
690 /***** Diff *****/
692 /***** Diff *****/
691 .diff_out { background: #fcc; }
693 .diff_out { background: #fcc; }
692 .diff_out span { background: #faa; }
694 .diff_out span { background: #faa; }
693 .diff_in { background: #cfc; }
695 .diff_in { background: #cfc; }
694 .diff_in span { background: #afa; }
696 .diff_in span { background: #afa; }
695
697
696 .text-diff {
698 .text-diff {
697 padding: 1em;
699 padding: 1em;
698 background-color:#f6f6f6;
700 background-color:#f6f6f6;
699 color:#505050;
701 color:#505050;
700 border: 1px solid #e4e4e4;
702 border: 1px solid #e4e4e4;
701 }
703 }
702
704
703 /***** Wiki *****/
705 /***** Wiki *****/
704 div.wiki table {
706 div.wiki table {
705 border: 1px solid #505050;
707 border: 1px solid #505050;
706 border-collapse: collapse;
708 border-collapse: collapse;
707 margin-bottom: 1em;
709 margin-bottom: 1em;
708 }
710 }
709
711
710 div.wiki table, div.wiki td, div.wiki th {
712 div.wiki table, div.wiki td, div.wiki th {
711 border: 1px solid #bbb;
713 border: 1px solid #bbb;
712 padding: 4px;
714 padding: 4px;
713 }
715 }
714
716
715 div.wiki .external {
717 div.wiki .external {
716 background-position: 0% 60%;
718 background-position: 0% 60%;
717 background-repeat: no-repeat;
719 background-repeat: no-repeat;
718 padding-left: 12px;
720 padding-left: 12px;
719 background-image: url(../images/external.png);
721 background-image: url(../images/external.png);
720 }
722 }
721
723
722 div.wiki a.new {
724 div.wiki a.new {
723 color: #b73535;
725 color: #b73535;
724 }
726 }
725
727
726 div.wiki pre {
728 div.wiki pre {
727 margin: 1em 1em 1em 1.6em;
729 margin: 1em 1em 1em 1.6em;
728 padding: 2px 2px 2px 0;
730 padding: 2px 2px 2px 0;
729 background-color: #fafafa;
731 background-color: #fafafa;
730 border: 1px solid #dadada;
732 border: 1px solid #dadada;
731 width:auto;
733 width:auto;
732 overflow-x: auto;
734 overflow-x: auto;
733 overflow-y: hidden;
735 overflow-y: hidden;
734 }
736 }
735
737
736 div.wiki ul.toc {
738 div.wiki ul.toc {
737 background-color: #ffffdd;
739 background-color: #ffffdd;
738 border: 1px solid #e4e4e4;
740 border: 1px solid #e4e4e4;
739 padding: 4px;
741 padding: 4px;
740 line-height: 1.2em;
742 line-height: 1.2em;
741 margin-bottom: 12px;
743 margin-bottom: 12px;
742 margin-right: 12px;
744 margin-right: 12px;
743 margin-left: 0;
745 margin-left: 0;
744 display: table
746 display: table
745 }
747 }
746 * html div.wiki ul.toc { width: 50%; } /* IE6 doesn't autosize div */
748 * html div.wiki ul.toc { width: 50%; } /* IE6 doesn't autosize div */
747
749
748 div.wiki ul.toc.right { float: right; margin-left: 12px; margin-right: 0; width: auto; }
750 div.wiki ul.toc.right { float: right; margin-left: 12px; margin-right: 0; width: auto; }
749 div.wiki ul.toc.left { float: left; margin-right: 12px; margin-left: 0; width: auto; }
751 div.wiki ul.toc.left { float: left; margin-right: 12px; margin-left: 0; width: auto; }
750 div.wiki ul.toc ul { margin: 0; padding: 0; }
752 div.wiki ul.toc ul { margin: 0; padding: 0; }
751 div.wiki ul.toc li { list-style-type:none; margin: 0;}
753 div.wiki ul.toc li { list-style-type:none; margin: 0;}
752 div.wiki ul.toc li li { margin-left: 1.5em; }
754 div.wiki ul.toc li li { margin-left: 1.5em; }
753 div.wiki ul.toc li li li { font-size: 0.8em; }
755 div.wiki ul.toc li li li { font-size: 0.8em; }
754
756
755 div.wiki ul.toc a {
757 div.wiki ul.toc a {
756 font-size: 0.9em;
758 font-size: 0.9em;
757 font-weight: normal;
759 font-weight: normal;
758 text-decoration: none;
760 text-decoration: none;
759 color: #606060;
761 color: #606060;
760 }
762 }
761 div.wiki ul.toc a:hover { color: #c61a1a; text-decoration: underline;}
763 div.wiki ul.toc a:hover { color: #c61a1a; text-decoration: underline;}
762
764
763 a.wiki-anchor { display: none; margin-left: 6px; text-decoration: none; }
765 a.wiki-anchor { display: none; margin-left: 6px; text-decoration: none; }
764 a.wiki-anchor:hover { color: #aaa !important; text-decoration: none; }
766 a.wiki-anchor:hover { color: #aaa !important; text-decoration: none; }
765 h1:hover a.wiki-anchor, h2:hover a.wiki-anchor, h3:hover a.wiki-anchor { display: inline; color: #ddd; }
767 h1:hover a.wiki-anchor, h2:hover a.wiki-anchor, h3:hover a.wiki-anchor { display: inline; color: #ddd; }
766
768
767 div.wiki img { vertical-align: middle; }
769 div.wiki img { vertical-align: middle; }
768
770
769 /***** My page layout *****/
771 /***** My page layout *****/
770 .block-receiver {
772 .block-receiver {
771 border:1px dashed #c0c0c0;
773 border:1px dashed #c0c0c0;
772 margin-bottom: 20px;
774 margin-bottom: 20px;
773 padding: 15px 0 15px 0;
775 padding: 15px 0 15px 0;
774 }
776 }
775
777
776 .mypage-box {
778 .mypage-box {
777 margin:0 0 20px 0;
779 margin:0 0 20px 0;
778 color:#505050;
780 color:#505050;
779 line-height:1.5em;
781 line-height:1.5em;
780 }
782 }
781
783
782 .handle {
784 .handle {
783 cursor: move;
785 cursor: move;
784 }
786 }
785
787
786 a.close-icon {
788 a.close-icon {
787 display:block;
789 display:block;
788 margin-top:3px;
790 margin-top:3px;
789 overflow:hidden;
791 overflow:hidden;
790 width:12px;
792 width:12px;
791 height:12px;
793 height:12px;
792 background-repeat: no-repeat;
794 background-repeat: no-repeat;
793 cursor:pointer;
795 cursor:pointer;
794 background-image:url('../images/close.png');
796 background-image:url('../images/close.png');
795 }
797 }
796
798
797 a.close-icon:hover {
799 a.close-icon:hover {
798 background-image:url('../images/close_hl.png');
800 background-image:url('../images/close_hl.png');
799 }
801 }
800
802
801 /***** Gantt chart *****/
803 /***** Gantt chart *****/
802 .gantt_hdr {
804 .gantt_hdr {
803 position:absolute;
805 position:absolute;
804 top:0;
806 top:0;
805 height:16px;
807 height:16px;
806 border-top: 1px solid #c0c0c0;
808 border-top: 1px solid #c0c0c0;
807 border-bottom: 1px solid #c0c0c0;
809 border-bottom: 1px solid #c0c0c0;
808 border-right: 1px solid #c0c0c0;
810 border-right: 1px solid #c0c0c0;
809 text-align: center;
811 text-align: center;
810 overflow: hidden;
812 overflow: hidden;
811 }
813 }
812
814
813 .gantt_subjects { font-size: 0.8em; }
815 .gantt_subjects { font-size: 0.8em; }
814 .gantt_subjects div { line-height:16px;height:16px;overflow:hidden;white-space:nowrap;text-overflow: ellipsis; }
816 .gantt_subjects div { line-height:16px;height:16px;overflow:hidden;white-space:nowrap;text-overflow: ellipsis; }
815
817
816 .task {
818 .task {
817 position: absolute;
819 position: absolute;
818 height:8px;
820 height:8px;
819 font-size:0.8em;
821 font-size:0.8em;
820 color:#888;
822 color:#888;
821 padding:0;
823 padding:0;
822 margin:0;
824 margin:0;
823 line-height:16px;
825 line-height:16px;
824 white-space:nowrap;
826 white-space:nowrap;
825 }
827 }
826
828
827 .task.label {width:100%;}
829 .task.label {width:100%;}
828 .task.label.project, .task.label.version { font-weight: bold; }
830 .task.label.project, .task.label.version { font-weight: bold; }
829
831
830 .task_late { background:#f66 url(../images/task_late.png); border: 1px solid #f66; }
832 .task_late { background:#f66 url(../images/task_late.png); border: 1px solid #f66; }
831 .task_done { background:#00c600 url(../images/task_done.png); border: 1px solid #00c600; }
833 .task_done { background:#00c600 url(../images/task_done.png); border: 1px solid #00c600; }
832 .task_todo { background:#aaa url(../images/task_todo.png); border: 1px solid #aaa; }
834 .task_todo { background:#aaa url(../images/task_todo.png); border: 1px solid #aaa; }
833
835
834 .task_todo.parent { background: #888; border: 1px solid #888; height: 3px;}
836 .task_todo.parent { background: #888; border: 1px solid #888; height: 3px;}
835 .task_late.parent, .task_done.parent { height: 3px;}
837 .task_late.parent, .task_done.parent { height: 3px;}
836 .task.parent.marker.starting { position: absolute; background: url(../images/task_parent_end.png) no-repeat 0 0; width: 8px; height: 16px; margin-left: -4px; left: 0px; top: -1px;}
838 .task.parent.marker.starting { position: absolute; background: url(../images/task_parent_end.png) no-repeat 0 0; width: 8px; height: 16px; margin-left: -4px; left: 0px; top: -1px;}
837 .task.parent.marker.ending { position: absolute; background: url(../images/task_parent_end.png) no-repeat 0 0; width: 8px; height: 16px; margin-left: -4px; right: 0px; top: -1px;}
839 .task.parent.marker.ending { position: absolute; background: url(../images/task_parent_end.png) no-repeat 0 0; width: 8px; height: 16px; margin-left: -4px; right: 0px; top: -1px;}
838
840
839 .version.task_late { background:#f66 url(../images/milestone_late.png); border: 1px solid #f66; height: 2px; margin-top: 3px;}
841 .version.task_late { background:#f66 url(../images/milestone_late.png); border: 1px solid #f66; height: 2px; margin-top: 3px;}
840 .version.task_done { background:#00c600 url(../images/milestone_done.png); border: 1px solid #00c600; height: 2px; margin-top: 3px;}
842 .version.task_done { background:#00c600 url(../images/milestone_done.png); border: 1px solid #00c600; height: 2px; margin-top: 3px;}
841 .version.task_todo { background:#fff url(../images/milestone_todo.png); border: 1px solid #fff; height: 2px; margin-top: 3px;}
843 .version.task_todo { background:#fff url(../images/milestone_todo.png); border: 1px solid #fff; height: 2px; margin-top: 3px;}
842 .version.marker { background-image:url(../images/version_marker.png); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; }
844 .version.marker { background-image:url(../images/version_marker.png); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; }
843
845
844 .project.task_late { background:#f66 url(../images/milestone_late.png); border: 1px solid #f66; height: 2px; margin-top: 3px;}
846 .project.task_late { background:#f66 url(../images/milestone_late.png); border: 1px solid #f66; height: 2px; margin-top: 3px;}
845 .project.task_done { background:#00c600 url(../images/milestone_done.png); border: 1px solid #00c600; height: 2px; margin-top: 3px;}
847 .project.task_done { background:#00c600 url(../images/milestone_done.png); border: 1px solid #00c600; height: 2px; margin-top: 3px;}
846 .project.task_todo { background:#fff url(../images/milestone_todo.png); border: 1px solid #fff; height: 2px; margin-top: 3px;}
848 .project.task_todo { background:#fff url(../images/milestone_todo.png); border: 1px solid #fff; height: 2px; margin-top: 3px;}
847 .project.marker { background-image:url(../images/project_marker.png); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; }
849 .project.marker { background-image:url(../images/project_marker.png); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; }
848
850
849 .version-behind-schedule a, .issue-behind-schedule a {color: #f66914;}
851 .version-behind-schedule a, .issue-behind-schedule a {color: #f66914;}
850 .version-overdue a, .issue-overdue a, .project-overdue a {color: #f00;}
852 .version-overdue a, .issue-overdue a, .project-overdue a {color: #f00;}
851
853
852 /***** Icons *****/
854 /***** Icons *****/
853 .icon {
855 .icon {
854 background-position: 0% 50%;
856 background-position: 0% 50%;
855 background-repeat: no-repeat;
857 background-repeat: no-repeat;
856 padding-left: 20px;
858 padding-left: 20px;
857 padding-top: 2px;
859 padding-top: 2px;
858 padding-bottom: 3px;
860 padding-bottom: 3px;
859 }
861 }
860
862
861 .icon-add { background-image: url(../images/add.png); }
863 .icon-add { background-image: url(../images/add.png); }
862 .icon-edit { background-image: url(../images/edit.png); }
864 .icon-edit { background-image: url(../images/edit.png); }
863 .icon-copy { background-image: url(../images/copy.png); }
865 .icon-copy { background-image: url(../images/copy.png); }
864 .icon-duplicate { background-image: url(../images/duplicate.png); }
866 .icon-duplicate { background-image: url(../images/duplicate.png); }
865 .icon-del { background-image: url(../images/delete.png); }
867 .icon-del { background-image: url(../images/delete.png); }
866 .icon-move { background-image: url(../images/move.png); }
868 .icon-move { background-image: url(../images/move.png); }
867 .icon-save { background-image: url(../images/save.png); }
869 .icon-save { background-image: url(../images/save.png); }
868 .icon-cancel { background-image: url(../images/cancel.png); }
870 .icon-cancel { background-image: url(../images/cancel.png); }
869 .icon-multiple { background-image: url(../images/table_multiple.png); }
871 .icon-multiple { background-image: url(../images/table_multiple.png); }
870 .icon-folder { background-image: url(../images/folder.png); }
872 .icon-folder { background-image: url(../images/folder.png); }
871 .open .icon-folder { background-image: url(../images/folder_open.png); }
873 .open .icon-folder { background-image: url(../images/folder_open.png); }
872 .icon-package { background-image: url(../images/package.png); }
874 .icon-package { background-image: url(../images/package.png); }
873 .icon-user { background-image: url(../images/user.png); }
875 .icon-user { background-image: url(../images/user.png); }
874 .icon-projects { background-image: url(../images/projects.png); }
876 .icon-projects { background-image: url(../images/projects.png); }
875 .icon-help { background-image: url(../images/help.png); }
877 .icon-help { background-image: url(../images/help.png); }
876 .icon-attachment { background-image: url(../images/attachment.png); }
878 .icon-attachment { background-image: url(../images/attachment.png); }
877 .icon-history { background-image: url(../images/history.png); }
879 .icon-history { background-image: url(../images/history.png); }
878 .icon-time { background-image: url(../images/time.png); }
880 .icon-time { background-image: url(../images/time.png); }
879 .icon-time-add { background-image: url(../images/time_add.png); }
881 .icon-time-add { background-image: url(../images/time_add.png); }
880 .icon-stats { background-image: url(../images/stats.png); }
882 .icon-stats { background-image: url(../images/stats.png); }
881 .icon-warning { background-image: url(../images/warning.png); }
883 .icon-warning { background-image: url(../images/warning.png); }
882 .icon-fav { background-image: url(../images/fav.png); }
884 .icon-fav { background-image: url(../images/fav.png); }
883 .icon-fav-off { background-image: url(../images/fav_off.png); }
885 .icon-fav-off { background-image: url(../images/fav_off.png); }
884 .icon-reload { background-image: url(../images/reload.png); }
886 .icon-reload { background-image: url(../images/reload.png); }
885 .icon-lock { background-image: url(../images/locked.png); }
887 .icon-lock { background-image: url(../images/locked.png); }
886 .icon-unlock { background-image: url(../images/unlock.png); }
888 .icon-unlock { background-image: url(../images/unlock.png); }
887 .icon-checked { background-image: url(../images/true.png); }
889 .icon-checked { background-image: url(../images/true.png); }
888 .icon-details { background-image: url(../images/zoom_in.png); }
890 .icon-details { background-image: url(../images/zoom_in.png); }
889 .icon-report { background-image: url(../images/report.png); }
891 .icon-report { background-image: url(../images/report.png); }
890 .icon-comment { background-image: url(../images/comment.png); }
892 .icon-comment { background-image: url(../images/comment.png); }
891 .icon-summary { background-image: url(../images/lightning.png); }
893 .icon-summary { background-image: url(../images/lightning.png); }
892 .icon-server-authentication { background-image: url(../images/server_key.png); }
894 .icon-server-authentication { background-image: url(../images/server_key.png); }
893 .icon-issue { background-image: url(../images/ticket.png); }
895 .icon-issue { background-image: url(../images/ticket.png); }
894 .icon-zoom-in { background-image: url(../images/zoom_in.png); }
896 .icon-zoom-in { background-image: url(../images/zoom_in.png); }
895 .icon-zoom-out { background-image: url(../images/zoom_out.png); }
897 .icon-zoom-out { background-image: url(../images/zoom_out.png); }
896 .icon-passwd { background-image: url(../images/textfield_key.png); }
898 .icon-passwd { background-image: url(../images/textfield_key.png); }
897
899
898 .icon-file { background-image: url(../images/files/default.png); }
900 .icon-file { background-image: url(../images/files/default.png); }
899 .icon-file.text-plain { background-image: url(../images/files/text.png); }
901 .icon-file.text-plain { background-image: url(../images/files/text.png); }
900 .icon-file.text-x-c { background-image: url(../images/files/c.png); }
902 .icon-file.text-x-c { background-image: url(../images/files/c.png); }
901 .icon-file.text-x-csharp { background-image: url(../images/files/csharp.png); }
903 .icon-file.text-x-csharp { background-image: url(../images/files/csharp.png); }
902 .icon-file.text-x-php { background-image: url(../images/files/php.png); }
904 .icon-file.text-x-php { background-image: url(../images/files/php.png); }
903 .icon-file.text-x-ruby { background-image: url(../images/files/ruby.png); }
905 .icon-file.text-x-ruby { background-image: url(../images/files/ruby.png); }
904 .icon-file.text-xml { background-image: url(../images/files/xml.png); }
906 .icon-file.text-xml { background-image: url(../images/files/xml.png); }
905 .icon-file.image-gif { background-image: url(../images/files/image.png); }
907 .icon-file.image-gif { background-image: url(../images/files/image.png); }
906 .icon-file.image-jpeg { background-image: url(../images/files/image.png); }
908 .icon-file.image-jpeg { background-image: url(../images/files/image.png); }
907 .icon-file.image-png { background-image: url(../images/files/image.png); }
909 .icon-file.image-png { background-image: url(../images/files/image.png); }
908 .icon-file.image-tiff { background-image: url(../images/files/image.png); }
910 .icon-file.image-tiff { background-image: url(../images/files/image.png); }
909 .icon-file.application-pdf { background-image: url(../images/files/pdf.png); }
911 .icon-file.application-pdf { background-image: url(../images/files/pdf.png); }
910 .icon-file.application-zip { background-image: url(../images/files/zip.png); }
912 .icon-file.application-zip { background-image: url(../images/files/zip.png); }
911 .icon-file.application-x-gzip { background-image: url(../images/files/zip.png); }
913 .icon-file.application-x-gzip { background-image: url(../images/files/zip.png); }
912
914
913 img.gravatar {
915 img.gravatar {
914 padding: 2px;
916 padding: 2px;
915 border: solid 1px #d5d5d5;
917 border: solid 1px #d5d5d5;
916 background: #fff;
918 background: #fff;
917 }
919 }
918
920
919 div.issue img.gravatar {
921 div.issue img.gravatar {
920 float: right;
922 float: right;
921 margin: 0 0 0 1em;
923 margin: 0 0 0 1em;
922 padding: 5px;
924 padding: 5px;
923 }
925 }
924
926
925 div.issue table img.gravatar {
927 div.issue table img.gravatar {
926 height: 14px;
928 height: 14px;
927 width: 14px;
929 width: 14px;
928 padding: 2px;
930 padding: 2px;
929 float: left;
931 float: left;
930 margin: 0 0.5em 0 0;
932 margin: 0 0.5em 0 0;
931 }
933 }
932
934
933 h2 img.gravatar {
935 h2 img.gravatar {
934 padding: 3px;
936 padding: 3px;
935 margin: -2px 4px -4px 0;
937 margin: -2px 4px -4px 0;
936 vertical-align: top;
938 vertical-align: top;
937 }
939 }
938
940
939 h4 img.gravatar {
941 h4 img.gravatar {
940 padding: 3px;
942 padding: 3px;
941 margin: -6px 0 -4px 0;
943 margin: -6px 0 -4px 0;
942 vertical-align: top;
944 vertical-align: top;
943 }
945 }
944
946
945 td.username img.gravatar {
947 td.username img.gravatar {
946 margin: 0 0.5em 0 0;
948 margin: 0 0.5em 0 0;
947 vertical-align: top;
949 vertical-align: top;
948 }
950 }
949
951
950 #activity dt img.gravatar {
952 #activity dt img.gravatar {
951 float: left;
953 float: left;
952 margin: 0 1em 1em 0;
954 margin: 0 1em 1em 0;
953 }
955 }
954
956
955 /* Used on 12px Gravatar img tags without the icon background */
957 /* Used on 12px Gravatar img tags without the icon background */
956 .icon-gravatar {
958 .icon-gravatar {
957 float: left;
959 float: left;
958 margin-right: 4px;
960 margin-right: 4px;
959 }
961 }
960
962
961 #activity dt,
963 #activity dt,
962 .journal {
964 .journal {
963 clear: left;
965 clear: left;
964 }
966 }
965
967
966 .journal-link {
968 .journal-link {
967 float: right;
969 float: right;
968 }
970 }
969
971
970 h2 img { vertical-align:middle; }
972 h2 img { vertical-align:middle; }
971
973
972 .hascontextmenu { cursor: context-menu; }
974 .hascontextmenu { cursor: context-menu; }
973
975
974 /***** Media print specific styles *****/
976 /***** Media print specific styles *****/
975 @media print {
977 @media print {
976 #top-menu, #header, #main-menu, #sidebar, #footer, .contextual, .other-formats { display:none; }
978 #top-menu, #header, #main-menu, #sidebar, #footer, .contextual, .other-formats { display:none; }
977 #main { background: #fff; }
979 #main { background: #fff; }
978 #content { width: 99%; margin: 0; padding: 0; border: 0; background: #fff; overflow: visible !important;}
980 #content { width: 99%; margin: 0; padding: 0; border: 0; background: #fff; overflow: visible !important;}
979 #wiki_add_attachment { display:none; }
981 #wiki_add_attachment { display:none; }
980 .hide-when-print { display: none; }
982 .hide-when-print { display: none; }
981 .autoscroll {overflow-x: visible;}
983 .autoscroll {overflow-x: visible;}
982 table.list {margin-top:0.5em;}
984 table.list {margin-top:0.5em;}
983 table.list th, table.list td {border: 1px solid #aaa;}
985 table.list th, table.list td {border: 1px solid #aaa;}
984 }
986 }
General Comments 0
You need to be logged in to leave comments. Login now