##// END OF EJS Templates
Adds specific css class for information in forms....
Jean-Philippe Lang -
r8634:e4ef0b04efab
parent child
Show More
@@ -1,15 +1,15
1 <h2><%=l(:label_password_lost)%></h2>
1 <h2><%=l(:label_password_lost)%></h2>
2
2
3 <%= error_messages_for 'user' %>
3 <%= error_messages_for 'user' %>
4
4
5 <% form_tag({:token => @token.value}) do %>
5 <% form_tag({:token => @token.value}) do %>
6 <div class="box tabular">
6 <div class="box tabular">
7 <p><label for="new_password"><%=l(:field_new_password)%> <span class="required">*</span></label>
7 <p><label for="new_password"><%=l(:field_new_password)%> <span class="required">*</span></label>
8 <%= password_field_tag 'new_password', nil, :size => 25 %><br />
8 <%= password_field_tag 'new_password', nil, :size => 25 %>
9 <em><%= l(:text_caracters_minimum, :count => Setting.password_min_length) %></em></p>
9 <em class="info"><%= l(:text_caracters_minimum, :count => Setting.password_min_length) %></em></p>
10
10
11 <p><label for="new_password_confirmation"><%=l(:field_password_confirmation)%> <span class="required">*</span></label>
11 <p><label for="new_password_confirmation"><%=l(:field_password_confirmation)%> <span class="required">*</span></label>
12 <%= password_field_tag 'new_password_confirmation', nil, :size => 25 %></p>
12 <%= password_field_tag 'new_password_confirmation', nil, :size => 25 %></p>
13 </div>
13 </div>
14 <p><%= submit_tag l(:button_save) %></p>
14 <p><%= submit_tag l(:button_save) %></p>
15 <% end %>
15 <% end %>
@@ -1,31 +1,31
1 <h2><%=l(:label_register)%> <%=link_to l(:label_login_with_open_id_option), signin_url if Setting.openid? %></h2>
1 <h2><%=l(:label_register)%> <%=link_to l(:label_login_with_open_id_option), signin_url if Setting.openid? %></h2>
2
2
3 <% labelled_form_for @user, :url => {:action => 'register'} do |f| %>
3 <% labelled_form_for @user, :url => {:action => 'register'} do |f| %>
4 <%= error_messages_for 'user' %>
4 <%= error_messages_for 'user' %>
5
5
6 <div class="box tabular">
6 <div class="box tabular">
7 <% if @user.auth_source_id.nil? %>
7 <% if @user.auth_source_id.nil? %>
8 <p><%= f.text_field :login, :size => 25, :required => true %></p>
8 <p><%= f.text_field :login, :size => 25, :required => true %></p>
9
9
10 <p><%= f.password_field :password, :size => 25, :required => true %><br />
10 <p><%= f.password_field :password, :size => 25, :required => true %>
11 <em><%= l(:text_caracters_minimum, :count => Setting.password_min_length) %></em></p>
11 <em class="info"><%= l(:text_caracters_minimum, :count => Setting.password_min_length) %></em></p>
12
12
13 <p><%= f.password_field :password_confirmation, :size => 25, :required => true %></p>
13 <p><%= f.password_field :password_confirmation, :size => 25, :required => true %></p>
14 <% end %>
14 <% end %>
15
15
16 <p><%= f.text_field :firstname, :required => true %></p>
16 <p><%= f.text_field :firstname, :required => true %></p>
17 <p><%= f.text_field :lastname, :required => true %></p>
17 <p><%= f.text_field :lastname, :required => true %></p>
18 <p><%= f.text_field :mail, :required => true %></p>
18 <p><%= f.text_field :mail, :required => true %></p>
19 <p><%= f.select :language, lang_options_for_select %></p>
19 <p><%= f.select :language, lang_options_for_select %></p>
20
20
21 <% if Setting.openid? %>
21 <% if Setting.openid? %>
22 <p><%= f.text_field :identity_url %></p>
22 <p><%= f.text_field :identity_url %></p>
23 <% end %>
23 <% end %>
24
24
25 <% @user.custom_field_values.select {|v| v.editable? || v.required?}.each do |value| %>
25 <% @user.custom_field_values.select {|v| v.editable? || v.required?}.each do |value| %>
26 <p><%= custom_field_tag_with_label :user, value %></p>
26 <p><%= custom_field_tag_with_label :user, value %></p>
27 <% end %>
27 <% end %>
28 </div>
28 </div>
29
29
30 <%= submit_tag l(:button_submit) %>
30 <%= submit_tag l(:button_submit) %>
31 <% end %>
31 <% end %>
@@ -1,128 +1,128
1 <%= error_messages_for 'custom_field' %>
1 <%= error_messages_for 'custom_field' %>
2
2
3 <script type="text/javascript">
3 <script type="text/javascript">
4 //<![CDATA[
4 //<![CDATA[
5 function toggle_custom_field_format() {
5 function toggle_custom_field_format() {
6 format = $("custom_field_field_format");
6 format = $("custom_field_field_format");
7 p_length = $("custom_field_min_length");
7 p_length = $("custom_field_min_length");
8 p_regexp = $("custom_field_regexp");
8 p_regexp = $("custom_field_regexp");
9 p_values = $("custom_field_possible_values");
9 p_values = $("custom_field_possible_values");
10 p_searchable = $("custom_field_searchable");
10 p_searchable = $("custom_field_searchable");
11 p_default = $("custom_field_default_value");
11 p_default = $("custom_field_default_value");
12 p_multiple = $("custom_field_multiple");
12 p_multiple = $("custom_field_multiple");
13
13
14 p_default.setAttribute('type','text');
14 p_default.setAttribute('type','text');
15 Element.show(p_default.parentNode);
15 Element.show(p_default.parentNode);
16
16
17 switch (format.value) {
17 switch (format.value) {
18 case "list":
18 case "list":
19 Element.hide(p_length.parentNode);
19 Element.hide(p_length.parentNode);
20 Element.hide(p_regexp.parentNode);
20 Element.hide(p_regexp.parentNode);
21 if (p_searchable) Element.show(p_searchable.parentNode);
21 if (p_searchable) Element.show(p_searchable.parentNode);
22 Element.show(p_values.parentNode);
22 Element.show(p_values.parentNode);
23 Element.show(p_multiple.parentNode);
23 Element.show(p_multiple.parentNode);
24 break;
24 break;
25 case "bool":
25 case "bool":
26 p_default.setAttribute('type','checkbox');
26 p_default.setAttribute('type','checkbox');
27 Element.hide(p_length.parentNode);
27 Element.hide(p_length.parentNode);
28 Element.hide(p_regexp.parentNode);
28 Element.hide(p_regexp.parentNode);
29 if (p_searchable) Element.hide(p_searchable.parentNode);
29 if (p_searchable) Element.hide(p_searchable.parentNode);
30 Element.hide(p_values.parentNode);
30 Element.hide(p_values.parentNode);
31 Element.hide(p_multiple.parentNode);
31 Element.hide(p_multiple.parentNode);
32 break;
32 break;
33 case "date":
33 case "date":
34 Element.hide(p_length.parentNode);
34 Element.hide(p_length.parentNode);
35 Element.hide(p_regexp.parentNode);
35 Element.hide(p_regexp.parentNode);
36 if (p_searchable) Element.hide(p_searchable.parentNode);
36 if (p_searchable) Element.hide(p_searchable.parentNode);
37 Element.hide(p_values.parentNode);
37 Element.hide(p_values.parentNode);
38 Element.hide(p_multiple.parentNode);
38 Element.hide(p_multiple.parentNode);
39 break;
39 break;
40 case "float":
40 case "float":
41 case "int":
41 case "int":
42 Element.show(p_length.parentNode);
42 Element.show(p_length.parentNode);
43 Element.show(p_regexp.parentNode);
43 Element.show(p_regexp.parentNode);
44 if (p_searchable) Element.hide(p_searchable.parentNode);
44 if (p_searchable) Element.hide(p_searchable.parentNode);
45 Element.hide(p_values.parentNode);
45 Element.hide(p_values.parentNode);
46 Element.hide(p_multiple.parentNode);
46 Element.hide(p_multiple.parentNode);
47 break;
47 break;
48 case "user":
48 case "user":
49 case "version":
49 case "version":
50 Element.hide(p_length.parentNode);
50 Element.hide(p_length.parentNode);
51 Element.hide(p_regexp.parentNode);
51 Element.hide(p_regexp.parentNode);
52 if (p_searchable) Element.hide(p_searchable.parentNode);
52 if (p_searchable) Element.hide(p_searchable.parentNode);
53 Element.hide(p_values.parentNode);
53 Element.hide(p_values.parentNode);
54 Element.hide(p_default.parentNode);
54 Element.hide(p_default.parentNode);
55 Element.show(p_multiple.parentNode);
55 Element.show(p_multiple.parentNode);
56 break;
56 break;
57 default:
57 default:
58 Element.show(p_length.parentNode);
58 Element.show(p_length.parentNode);
59 Element.show(p_regexp.parentNode);
59 Element.show(p_regexp.parentNode);
60 if (p_searchable) Element.show(p_searchable.parentNode);
60 if (p_searchable) Element.show(p_searchable.parentNode);
61 Element.hide(p_values.parentNode);
61 Element.hide(p_values.parentNode);
62 Element.hide(p_multiple.parentNode);
62 Element.hide(p_multiple.parentNode);
63 break;
63 break;
64 }
64 }
65 }
65 }
66
66
67 //]]>
67 //]]>
68 </script>
68 </script>
69
69
70 <div class="box tabular">
70 <div class="box tabular">
71 <p><%= f.text_field :name, :required => true %></p>
71 <p><%= f.text_field :name, :required => true %></p>
72 <p><%= f.select :field_format, custom_field_formats_for_select(@custom_field), {}, :onchange => "toggle_custom_field_format();",
72 <p><%= f.select :field_format, custom_field_formats_for_select(@custom_field), {}, :onchange => "toggle_custom_field_format();",
73 :disabled => !@custom_field.new_record? %></p>
73 :disabled => !@custom_field.new_record? %></p>
74 <p><%= f.check_box :multiple, :disabled => @custom_field.multiple && !@custom_field.new_record? %></p>
74 <p><%= f.check_box :multiple, :disabled => @custom_field.multiple && !@custom_field.new_record? %></p>
75 <p><label for="custom_field_min_length"><%=l(:label_min_max_length)%></label>
75 <p><label for="custom_field_min_length"><%=l(:label_min_max_length)%></label>
76 <%= f.text_field :min_length, :size => 5, :no_label => true %> -
76 <%= f.text_field :min_length, :size => 5, :no_label => true %> -
77 <%= f.text_field :max_length, :size => 5, :no_label => true %><br />(<%=l(:text_min_max_length_info)%>)</p>
77 <%= f.text_field :max_length, :size => 5, :no_label => true %><br />(<%=l(:text_min_max_length_info)%>)</p>
78 <p><%= f.text_field :regexp, :size => 50 %><br />(<%=l(:text_regexp_info)%>)</p>
78 <p><%= f.text_field :regexp, :size => 50 %><br />(<%=l(:text_regexp_info)%>)</p>
79 <p>
79 <p>
80 <%= f.text_area :possible_values, :value => @custom_field.possible_values.to_a.join("\n"), :rows => 15 %>
80 <%= f.text_area :possible_values, :value => @custom_field.possible_values.to_a.join("\n"), :rows => 15 %>
81 <br /><em><%= l(:text_custom_field_possible_values_info) %></em>
81 <em class="info"><%= l(:text_custom_field_possible_values_info) %></em>
82 </p>
82 </p>
83 <p><%= @custom_field.field_format == 'bool' ? f.check_box(:default_value) : f.text_field(:default_value) %></p>
83 <p><%= @custom_field.field_format == 'bool' ? f.check_box(:default_value) : f.text_field(:default_value) %></p>
84 <%= call_hook(:view_custom_fields_form_upper_box, :custom_field => @custom_field, :form => f) %>
84 <%= call_hook(:view_custom_fields_form_upper_box, :custom_field => @custom_field, :form => f) %>
85 </div>
85 </div>
86
86
87 <div class="box tabular">
87 <div class="box tabular">
88 <% case @custom_field.class.name
88 <% case @custom_field.class.name
89 when "IssueCustomField" %>
89 when "IssueCustomField" %>
90
90
91 <fieldset><legend><%=l(:label_tracker_plural)%></legend>
91 <fieldset><legend><%=l(:label_tracker_plural)%></legend>
92 <% Tracker.all.each do |tracker| %>
92 <% Tracker.all.each do |tracker| %>
93 <%= check_box_tag "custom_field[tracker_ids][]",
93 <%= check_box_tag "custom_field[tracker_ids][]",
94 tracker.id,
94 tracker.id,
95 (@custom_field.trackers.include? tracker),
95 (@custom_field.trackers.include? tracker),
96 :id => "custom_field_tracker_ids_#{tracker.id}" %>
96 :id => "custom_field_tracker_ids_#{tracker.id}" %>
97 <label class="no-css" for="custom_field_tracker_ids_<%=tracker.id%>">
97 <label class="no-css" for="custom_field_tracker_ids_<%=tracker.id%>">
98 <%= h(tracker.name) %>
98 <%= h(tracker.name) %>
99 </label>
99 </label>
100 <% end %>
100 <% end %>
101 <%= hidden_field_tag "custom_field[tracker_ids][]", '' %>
101 <%= hidden_field_tag "custom_field[tracker_ids][]", '' %>
102 </fieldset>
102 </fieldset>
103 &nbsp;
103 &nbsp;
104 <p><%= f.check_box :is_required %></p>
104 <p><%= f.check_box :is_required %></p>
105 <p><%= f.check_box :is_for_all %></p>
105 <p><%= f.check_box :is_for_all %></p>
106 <p><%= f.check_box :is_filter %></p>
106 <p><%= f.check_box :is_filter %></p>
107 <p><%= f.check_box :searchable %></p>
107 <p><%= f.check_box :searchable %></p>
108
108
109 <% when "UserCustomField" %>
109 <% when "UserCustomField" %>
110 <p><%= f.check_box :is_required %></p>
110 <p><%= f.check_box :is_required %></p>
111 <p><%= f.check_box :visible %></p>
111 <p><%= f.check_box :visible %></p>
112 <p><%= f.check_box :editable %></p>
112 <p><%= f.check_box :editable %></p>
113
113
114 <% when "ProjectCustomField" %>
114 <% when "ProjectCustomField" %>
115 <p><%= f.check_box :is_required %></p>
115 <p><%= f.check_box :is_required %></p>
116 <p><%= f.check_box :visible %></p>
116 <p><%= f.check_box :visible %></p>
117 <p><%= f.check_box :searchable %></p>
117 <p><%= f.check_box :searchable %></p>
118
118
119 <% when "TimeEntryCustomField" %>
119 <% when "TimeEntryCustomField" %>
120 <p><%= f.check_box :is_required %></p>
120 <p><%= f.check_box :is_required %></p>
121
121
122 <% else %>
122 <% else %>
123 <p><%= f.check_box :is_required %></p>
123 <p><%= f.check_box :is_required %></p>
124
124
125 <% end %>
125 <% end %>
126 <%= call_hook(:"view_custom_fields_form_#{@custom_field.type.to_s.underscore}", :custom_field => @custom_field, :form => f) %>
126 <%= call_hook(:"view_custom_fields_form_#{@custom_field.type.to_s.underscore}", :custom_field => @custom_field, :form => f) %>
127 </div>
127 </div>
128 <%= javascript_tag "toggle_custom_field_format();" %>
128 <%= javascript_tag "toggle_custom_field_format();" %>
@@ -1,22 +1,22
1 <h2><%=l(:button_change_password)%></h2>
1 <h2><%=l(:button_change_password)%></h2>
2
2
3 <%= error_messages_for 'user' %>
3 <%= error_messages_for 'user' %>
4
4
5 <% form_tag({}, :class => "tabular") do %>
5 <% form_tag({}, :class => "tabular") do %>
6 <div class="box">
6 <div class="box">
7 <p><label for="password"><%=l(:field_password)%> <span class="required">*</span></label>
7 <p><label for="password"><%=l(:field_password)%> <span class="required">*</span></label>
8 <%= password_field_tag 'password', nil, :size => 25 %></p>
8 <%= password_field_tag 'password', nil, :size => 25 %></p>
9
9
10 <p><label for="new_password"><%=l(:field_new_password)%> <span class="required">*</span></label>
10 <p><label for="new_password"><%=l(:field_new_password)%> <span class="required">*</span></label>
11 <%= password_field_tag 'new_password', nil, :size => 25 %><br />
11 <%= password_field_tag 'new_password', nil, :size => 25 %>
12 <em><%= l(:text_caracters_minimum, :count => Setting.password_min_length) %></em></p>
12 <em class="info"><%= l(:text_caracters_minimum, :count => Setting.password_min_length) %></em></p>
13
13
14 <p><label for="new_password_confirmation"><%=l(:field_password_confirmation)%> <span class="required">*</span></label>
14 <p><label for="new_password_confirmation"><%=l(:field_password_confirmation)%> <span class="required">*</span></label>
15 <%= password_field_tag 'new_password_confirmation', nil, :size => 25 %></p>
15 <%= password_field_tag 'new_password_confirmation', nil, :size => 25 %></p>
16 </div>
16 </div>
17 <%= submit_tag l(:button_apply) %>
17 <%= submit_tag l(:button_apply) %>
18 <% end %>
18 <% end %>
19
19
20 <% content_for :sidebar do %>
20 <% content_for :sidebar do %>
21 <%= render :partial => 'sidebar' %>
21 <%= render :partial => 'sidebar' %>
22 <% end %>
22 <% end %>
@@ -1,64 +1,64
1 <%= error_messages_for 'project' %>
1 <%= error_messages_for 'project' %>
2
2
3 <div class="box tabular">
3 <div class="box tabular">
4 <!--[form:project]-->
4 <!--[form:project]-->
5 <p><%= f.text_field :name, :required => true, :size => 60 %></p>
5 <p><%= f.text_field :name, :required => true, :size => 60 %></p>
6
6
7 <% unless @project.allowed_parents.compact.empty? %>
7 <% unless @project.allowed_parents.compact.empty? %>
8 <p><%= label(:project, :parent_id, l(:field_parent)) %><%= parent_project_select_tag(@project) %></p>
8 <p><%= label(:project, :parent_id, l(:field_parent)) %><%= parent_project_select_tag(@project) %></p>
9 <% end %>
9 <% end %>
10
10
11 <p><%= f.text_area :description, :rows => 5, :class => 'wiki-edit' %></p>
11 <p><%= f.text_area :description, :rows => 5, :class => 'wiki-edit' %></p>
12 <p><%= f.text_field :identifier, :required => true, :size => 60, :disabled => @project.identifier_frozen? %>
12 <p><%= f.text_field :identifier, :required => true, :size => 60, :disabled => @project.identifier_frozen? %>
13 <% unless @project.identifier_frozen? %>
13 <% unless @project.identifier_frozen? %>
14 <br /><em><%= l(:text_length_between, :min => 1, :max => Project::IDENTIFIER_MAX_LENGTH) %> <%= l(:text_project_identifier_info).html_safe %></em>
14 <em class="info"><%= l(:text_length_between, :min => 1, :max => Project::IDENTIFIER_MAX_LENGTH) %> <%= l(:text_project_identifier_info).html_safe %></em>
15 <% end %></p>
15 <% end %></p>
16 <p><%= f.text_field :homepage, :size => 60 %></p>
16 <p><%= f.text_field :homepage, :size => 60 %></p>
17 <p><%= f.check_box :is_public %></p>
17 <p><%= f.check_box :is_public %></p>
18 <%= wikitoolbar_for 'project_description' %>
18 <%= wikitoolbar_for 'project_description' %>
19
19
20 <% @project.custom_field_values.each do |value| %>
20 <% @project.custom_field_values.each do |value| %>
21 <p><%= custom_field_tag_with_label :project, value %></p>
21 <p><%= custom_field_tag_with_label :project, value %></p>
22 <% end %>
22 <% end %>
23 <%= call_hook(:view_projects_form, :project => @project, :form => f) %>
23 <%= call_hook(:view_projects_form, :project => @project, :form => f) %>
24 </div>
24 </div>
25
25
26 <% if @project.new_record? %>
26 <% if @project.new_record? %>
27 <fieldset class="box tabular"><legend><%= l(:label_module_plural) %></legend>
27 <fieldset class="box tabular"><legend><%= l(:label_module_plural) %></legend>
28 <% Redmine::AccessControl.available_project_modules.each do |m| %>
28 <% Redmine::AccessControl.available_project_modules.each do |m| %>
29 <label class="floating">
29 <label class="floating">
30 <%= check_box_tag 'project[enabled_module_names][]', m, @project.module_enabled?(m), :id => "project_enabled_module_names_#{m}" %>
30 <%= check_box_tag 'project[enabled_module_names][]', m, @project.module_enabled?(m), :id => "project_enabled_module_names_#{m}" %>
31 <%= l_or_humanize(m, :prefix => "project_module_") %>
31 <%= l_or_humanize(m, :prefix => "project_module_") %>
32 </label>
32 </label>
33 <% end %>
33 <% end %>
34 <%= hidden_field_tag 'project[enabled_module_names][]', '' %>
34 <%= hidden_field_tag 'project[enabled_module_names][]', '' %>
35 <%= javascript_tag 'observeProjectModules()' %>
35 <%= javascript_tag 'observeProjectModules()' %>
36 </fieldset>
36 </fieldset>
37 <% end %>
37 <% end %>
38
38
39 <% if @project.new_record? || @project.module_enabled?('issue_tracking') %>
39 <% if @project.new_record? || @project.module_enabled?('issue_tracking') %>
40 <% unless @trackers.empty? %>
40 <% unless @trackers.empty? %>
41 <fieldset class="box tabular" id="project_trackers"><legend><%=l(:label_tracker_plural)%></legend>
41 <fieldset class="box tabular" id="project_trackers"><legend><%=l(:label_tracker_plural)%></legend>
42 <% @trackers.each do |tracker| %>
42 <% @trackers.each do |tracker| %>
43 <label class="floating">
43 <label class="floating">
44 <%= check_box_tag 'project[tracker_ids][]', tracker.id, @project.trackers.include?(tracker) %>
44 <%= check_box_tag 'project[tracker_ids][]', tracker.id, @project.trackers.include?(tracker) %>
45 <%=h tracker %>
45 <%=h tracker %>
46 </label>
46 </label>
47 <% end %>
47 <% end %>
48 <%= hidden_field_tag 'project[tracker_ids][]', '' %>
48 <%= hidden_field_tag 'project[tracker_ids][]', '' %>
49 </fieldset>
49 </fieldset>
50 <% end %>
50 <% end %>
51
51
52 <% unless @issue_custom_fields.empty? %>
52 <% unless @issue_custom_fields.empty? %>
53 <fieldset class="box tabular" id="project_issue_custom_fields"><legend><%=l(:label_custom_field_plural)%></legend>
53 <fieldset class="box tabular" id="project_issue_custom_fields"><legend><%=l(:label_custom_field_plural)%></legend>
54 <% @issue_custom_fields.each do |custom_field| %>
54 <% @issue_custom_fields.each do |custom_field| %>
55 <label class="floating">
55 <label class="floating">
56 <%= check_box_tag 'project[issue_custom_field_ids][]', custom_field.id, (@project.all_issue_custom_fields.include? custom_field), (custom_field.is_for_all? ? {:disabled => "disabled"} : {}) %>
56 <%= check_box_tag 'project[issue_custom_field_ids][]', custom_field.id, (@project.all_issue_custom_fields.include? custom_field), (custom_field.is_for_all? ? {:disabled => "disabled"} : {}) %>
57 <%=h custom_field.name %>
57 <%=h custom_field.name %>
58 </label>
58 </label>
59 <% end %>
59 <% end %>
60 <%= hidden_field_tag 'project[issue_custom_field_ids][]', '' %>
60 <%= hidden_field_tag 'project[issue_custom_field_ids][]', '' %>
61 </fieldset>
61 </fieldset>
62 <% end %>
62 <% end %>
63 <% end %>
63 <% end %>
64 <!--[eoform:project]-->
64 <!--[eoform:project]-->
@@ -1,17 +1,17
1 <% labelled_remote_form_for :wiki, @wiki,
1 <% labelled_remote_form_for :wiki, @wiki,
2 :url => { :controller => 'wikis', :action => 'edit', :id => @project } do |f| %>
2 :url => { :controller => 'wikis', :action => 'edit', :id => @project } do |f| %>
3
3
4 <%= error_messages_for 'wiki' %>
4 <%= error_messages_for 'wiki' %>
5
5
6 <div class="box tabular">
6 <div class="box tabular">
7 <p><%= f.text_field :start_page, :size => 60, :required => true %><br />
7 <p><%= f.text_field :start_page, :size => 60, :required => true %>
8 <em><%= l(:text_unallowed_characters) %>: , . / ? ; : |</em></p>
8 <em class="info"><%= l(:text_unallowed_characters) %>: , . / ? ; : |</em></p>
9 </div>
9 </div>
10
10
11 <div class="contextual">
11 <div class="contextual">
12 <%= link_to(l(:button_delete), {:controller => 'wikis', :action => 'destroy', :id => @project},
12 <%= link_to(l(:button_delete), {:controller => 'wikis', :action => 'destroy', :id => @project},
13 :class => 'icon icon-del') if @wiki && !@wiki.new_record? %>
13 :class => 'icon icon-del') if @wiki && !@wiki.new_record? %>
14 </div>
14 </div>
15
15
16 <%= submit_tag((@wiki.nil? || @wiki.new_record?) ? l(:button_create) : l(:button_save)) %>
16 <%= submit_tag((@wiki.nil? || @wiki.new_record?) ? l(:button_create) : l(:button_save)) %>
17 <% end %>
17 <% end %>
@@ -1,25 +1,24
1 <%= error_messages_for 'repository' %>
1 <%= error_messages_for 'repository' %>
2
2
3 <div class="box tabular">
3 <div class="box tabular">
4 <p>
4 <p>
5 <%= label_tag('repository_scm', l(:label_scm)) %><%= scm_select_tag(@repository) %>
5 <%= label_tag('repository_scm', l(:label_scm)) %><%= scm_select_tag(@repository) %>
6 <% if @repository && ! @repository.class.scm_available %>
6 <% if @repository && ! @repository.class.scm_available %>
7 <br />
7 <em class="info"><%= content_tag 'span', l(:text_scm_command_not_available), :class => 'error' %></em>
8 <em><%= content_tag 'span', l(:text_scm_command_not_available), :class => 'error' %></em>
9 <% end %>
8 <% end %>
10 </p>
9 </p>
11
10
12 <p><%= f.check_box :is_default, :label => :field_repository_is_default %></p>
11 <p><%= f.check_box :is_default, :label => :field_repository_is_default %></p>
13 <p><%= f.text_field :identifier %></p>
12 <p><%= f.text_field :identifier %></p>
14
13
15 <% button_disabled = true %>
14 <% button_disabled = true %>
16 <% if @repository %>
15 <% if @repository %>
17 <% button_disabled = ! @repository.class.scm_available %>
16 <% button_disabled = ! @repository.class.scm_available %>
18 <%= repository_field_tags(f, @repository)%>
17 <%= repository_field_tags(f, @repository)%>
19 <% end %>
18 <% end %>
20 </div>
19 </div>
21
20
22 <p>
21 <p>
23 <%= submit_tag(@repository.new_record? ? l(:button_create) : l(:button_save), :disabled => button_disabled) %>
22 <%= submit_tag(@repository.new_record? ? l(:button_create) : l(:button_save), :disabled => button_disabled) %>
24 <%= link_to l(:button_cancel), settings_project_path(@project, :tab => 'repositories') %>
23 <%= link_to l(:button_cancel), settings_project_path(@project, :tab => 'repositories') %>
25 </p>
24 </p>
@@ -1,40 +1,40
1 <% form_tag({:action => 'edit'}) do %>
1 <% form_tag({:action => 'edit'}) do %>
2
2
3 <div class="box tabular settings">
3 <div class="box tabular settings">
4 <p><%= setting_text_field :app_title, :size => 30 %></p>
4 <p><%= setting_text_field :app_title, :size => 30 %></p>
5
5
6 <p><%= setting_text_area :welcome_text, :cols => 60, :rows => 5, :class => 'wiki-edit' %></p>
6 <p><%= setting_text_area :welcome_text, :cols => 60, :rows => 5, :class => 'wiki-edit' %></p>
7 <%= wikitoolbar_for 'settings_welcome_text' %>
7 <%= wikitoolbar_for 'settings_welcome_text' %>
8
8
9 <p><%= setting_text_field :attachment_max_size, :size => 6 %> <%= l(:"number.human.storage_units.units.kb") %></p>
9 <p><%= setting_text_field :attachment_max_size, :size => 6 %> <%= l(:"number.human.storage_units.units.kb") %></p>
10
10
11 <p><%= setting_text_field :per_page_options, :size => 20 %><br />
11 <p><%= setting_text_field :per_page_options, :size => 20 %>
12 <em><%= l(:text_comma_separated) %></em></p>
12 <em class="info"><%= l(:text_comma_separated) %></em></p>
13
13
14 <p><%= setting_text_field :activity_days_default, :size => 6 %> <%= l(:label_day_plural) %></p>
14 <p><%= setting_text_field :activity_days_default, :size => 6 %> <%= l(:label_day_plural) %></p>
15
15
16 <p><%= setting_text_field :host_name, :size => 60 %><br />
16 <p><%= setting_text_field :host_name, :size => 60 %>
17 <em><%= l(:label_example) %>: <%= @guessed_host_and_path %></em></p>
17 <em class="info"><%= l(:label_example) %>: <%= @guessed_host_and_path %></em></p>
18
18
19 <p><%= setting_select :protocol, [['HTTP', 'http'], ['HTTPS', 'https']] %></p>
19 <p><%= setting_select :protocol, [['HTTP', 'http'], ['HTTPS', 'https']] %></p>
20
20
21 <p><%= setting_select :text_formatting, Redmine::WikiFormatting.format_names.collect{|name| [name, name.to_s]}, :blank => :label_none %></p>
21 <p><%= setting_select :text_formatting, Redmine::WikiFormatting.format_names.collect{|name| [name, name.to_s]}, :blank => :label_none %></p>
22
22
23 <p><%= setting_check_box :cache_formatted_text %></p>
23 <p><%= setting_check_box :cache_formatted_text %></p>
24
24
25 <p><%= setting_select :wiki_compression, [['Gzip', 'gzip']], :blank => :label_none %></p>
25 <p><%= setting_select :wiki_compression, [['Gzip', 'gzip']], :blank => :label_none %></p>
26
26
27 <p><%= setting_text_field :feeds_limit, :size => 6 %></p>
27 <p><%= setting_text_field :feeds_limit, :size => 6 %></p>
28
28
29 <p><%= setting_text_field :file_max_size_displayed, :size => 6 %> <%= l(:"number.human.storage_units.units.kb") %></p>
29 <p><%= setting_text_field :file_max_size_displayed, :size => 6 %> <%= l(:"number.human.storage_units.units.kb") %></p>
30
30
31 <p><%= setting_text_field :diff_max_lines_displayed, :size => 6 %></p>
31 <p><%= setting_text_field :diff_max_lines_displayed, :size => 6 %></p>
32
32
33 <p><%= setting_text_field :repositories_encodings, :size => 60 %><br />
33 <p><%= setting_text_field :repositories_encodings, :size => 60 %>
34 <em><%= l(:text_comma_separated) %></em></p>
34 <em class="info"><%= l(:text_comma_separated) %></em></p>
35
35
36 <%= call_hook(:view_settings_general_form) %>
36 <%= call_hook(:view_settings_general_form) %>
37 </div>
37 </div>
38
38
39 <%= submit_tag l(:button_save) %>
39 <%= submit_tag l(:button_save) %>
40 <% end %>
40 <% end %>
@@ -1,23 +1,23
1 <% form_tag({:action => 'edit', :tab => 'mail_handler'}) do %>
1 <% form_tag({:action => 'edit', :tab => 'mail_handler'}) do %>
2
2
3 <div class="box tabular settings">
3 <div class="box tabular settings">
4 <p>
4 <p>
5 <%= setting_text_area :mail_handler_body_delimiters, :rows => 5 %>
5 <%= setting_text_area :mail_handler_body_delimiters, :rows => 5 %>
6 <br /><em><%= l(:text_line_separated) %></em>
6 <em class="info"><%= l(:text_line_separated) %></em>
7 </p>
7 </p>
8 </div>
8 </div>
9
9
10 <div class="box tabular settings">
10 <div class="box tabular settings">
11 <p><%= setting_check_box :mail_handler_api_enabled,
11 <p><%= setting_check_box :mail_handler_api_enabled,
12 :onclick => "if (this.checked) { Form.Element.enable('settings_mail_handler_api_key'); } else { Form.Element.disable('settings_mail_handler_api_key'); }"%></p>
12 :onclick => "if (this.checked) { Form.Element.enable('settings_mail_handler_api_key'); } else { Form.Element.disable('settings_mail_handler_api_key'); }"%></p>
13
13
14 <p><%= setting_text_field :mail_handler_api_key, :size => 30,
14 <p><%= setting_text_field :mail_handler_api_key, :size => 30,
15 :id => 'settings_mail_handler_api_key',
15 :id => 'settings_mail_handler_api_key',
16 :disabled => !Setting.mail_handler_api_enabled? %>
16 :disabled => !Setting.mail_handler_api_enabled? %>
17 <%= link_to_function l(:label_generate_key), "if ($('settings_mail_handler_api_key').disabled == false) { $('settings_mail_handler_api_key').value = randomKey(20) }" %>
17 <%= link_to_function l(:label_generate_key), "if ($('settings_mail_handler_api_key').disabled == false) { $('settings_mail_handler_api_key').value = randomKey(20) }" %>
18 </p>
18 </p>
19 </div>
19 </div>
20
20
21 <%= submit_tag l(:button_save) %>
21 <%= submit_tag l(:button_save) %>
22
22
23 <% end %>
23 <% end %>
@@ -1,97 +1,97
1 <% form_tag({:action => 'edit', :tab => 'repositories'}) do %>
1 <% form_tag({:action => 'edit', :tab => 'repositories'}) do %>
2
2
3 <fieldset class="box settings enabled_scm">
3 <fieldset class="box settings enabled_scm">
4 <%= hidden_field_tag 'settings[enabled_scm][]', '' %>
4 <%= hidden_field_tag 'settings[enabled_scm][]', '' %>
5 <legend><%= l(:setting_enabled_scm) %></legend>
5 <legend><%= l(:setting_enabled_scm) %></legend>
6 <table>
6 <table>
7 <tr>
7 <tr>
8 <th></th>
8 <th></th>
9 <th><%= l(:text_scm_command) %></th>
9 <th><%= l(:text_scm_command) %></th>
10 <th><%= l(:text_scm_command_version) %></th>
10 <th><%= l(:text_scm_command_version) %></th>
11 </tr>
11 </tr>
12 <% Redmine::Scm::Base.all.collect do |choice| %>
12 <% Redmine::Scm::Base.all.collect do |choice| %>
13 <% scm_class = "Repository::#{choice}".constantize %>
13 <% scm_class = "Repository::#{choice}".constantize %>
14 <% text, value = (choice.is_a?(Array) ? choice : [choice, choice]) %>
14 <% text, value = (choice.is_a?(Array) ? choice : [choice, choice]) %>
15 <% setting = :enabled_scm %>
15 <% setting = :enabled_scm %>
16 <% enabled = Setting.send(setting).include?(value) %>
16 <% enabled = Setting.send(setting).include?(value) %>
17 <tr>
17 <tr>
18 <td class="scm_name">
18 <td class="scm_name">
19 <%=
19 <%=
20 check_box_tag(
20 check_box_tag(
21 "settings[#{setting}][]",
21 "settings[#{setting}][]",
22 value,
22 value,
23 enabled)
23 enabled)
24 %>
24 %>
25 <%= text.to_s %>
25 <%= text.to_s %>
26 </td>
26 </td>
27 <td>
27 <td>
28 <% if enabled %>
28 <% if enabled %>
29 <%=
29 <%=
30 image_tag(
30 image_tag(
31 (scm_class.scm_available ? 'true.png' : 'exclamation.png'),
31 (scm_class.scm_available ? 'true.png' : 'exclamation.png'),
32 :style => "vertical-align:bottom;"
32 :style => "vertical-align:bottom;"
33 )
33 )
34 %>
34 %>
35 <%= scm_class.scm_command %>
35 <%= scm_class.scm_command %>
36 <% end %>
36 <% end %>
37 </td>
37 </td>
38 <td>
38 <td>
39 <%= scm_class.scm_version_string if enabled %>
39 <%= scm_class.scm_version_string if enabled %>
40 </td>
40 </td>
41 </tr>
41 </tr>
42 <% end %>
42 <% end %>
43 </table>
43 </table>
44 <p><em><%= l(:text_scm_config) %></em></p>
44 <p><em class="info"><%= l(:text_scm_config) %></em></p>
45 </fieldset>
45 </fieldset>
46
46
47 <div class="box tabular settings">
47 <div class="box tabular settings">
48 <p><%= setting_check_box :autofetch_changesets %></p>
48 <p><%= setting_check_box :autofetch_changesets %></p>
49
49
50 <p><%= setting_check_box :sys_api_enabled,
50 <p><%= setting_check_box :sys_api_enabled,
51 :onclick =>
51 :onclick =>
52 "if (this.checked) { Form.Element.enable('settings_sys_api_key'); } else { Form.Element.disable('settings_sys_api_key'); }" %></p>
52 "if (this.checked) { Form.Element.enable('settings_sys_api_key'); } else { Form.Element.disable('settings_sys_api_key'); }" %></p>
53
53
54 <p><%= setting_text_field :sys_api_key,
54 <p><%= setting_text_field :sys_api_key,
55 :size => 30,
55 :size => 30,
56 :id => 'settings_sys_api_key',
56 :id => 'settings_sys_api_key',
57 :disabled => !Setting.sys_api_enabled?,
57 :disabled => !Setting.sys_api_enabled?,
58 :label => :setting_mail_handler_api_key %>
58 :label => :setting_mail_handler_api_key %>
59 <%= link_to_function l(:label_generate_key),
59 <%= link_to_function l(:label_generate_key),
60 "if ($('settings_sys_api_key').disabled == false) { $('settings_sys_api_key').value = randomKey(20) }" %>
60 "if ($('settings_sys_api_key').disabled == false) { $('settings_sys_api_key').value = randomKey(20) }" %>
61 </p>
61 </p>
62
62
63 <p><%= setting_text_field :repository_log_display_limit, :size => 6 %></p>
63 <p><%= setting_text_field :repository_log_display_limit, :size => 6 %></p>
64 </div>
64 </div>
65
65
66 <fieldset class="box tabular settings">
66 <fieldset class="box tabular settings">
67 <legend><%= l(:text_issues_ref_in_commit_messages) %></legend>
67 <legend><%= l(:text_issues_ref_in_commit_messages) %></legend>
68 <p><%= setting_text_field :commit_ref_keywords, :size => 30 %><br />
68 <p><%= setting_text_field :commit_ref_keywords, :size => 30 %>
69 <em><%= l(:text_comma_separated) %></em></p>
69 <em class="info"><%= l(:text_comma_separated) %></em></p>
70
70
71 <p><%= setting_text_field :commit_fix_keywords, :size => 30 %>
71 <p><%= setting_text_field :commit_fix_keywords, :size => 30 %>
72 &nbsp;<%= l(:label_applied_status) %>: <%= setting_select :commit_fix_status_id,
72 &nbsp;<%= l(:label_applied_status) %>: <%= setting_select :commit_fix_status_id,
73 [["", 0]] +
73 [["", 0]] +
74 IssueStatus.find(:all).collect{
74 IssueStatus.find(:all).collect{
75 |status| [status.name, status.id.to_s]
75 |status| [status.name, status.id.to_s]
76 },
76 },
77 :label => false %>
77 :label => false %>
78 &nbsp;<%= l(:field_done_ratio) %>: <%= setting_select :commit_fix_done_ratio,
78 &nbsp;<%= l(:field_done_ratio) %>: <%= setting_select :commit_fix_done_ratio,
79 (0..10).to_a.collect {|r| ["#{r*10} %", "#{r*10}"] },
79 (0..10).to_a.collect {|r| ["#{r*10} %", "#{r*10}"] },
80 :blank => :label_no_change_option,
80 :blank => :label_no_change_option,
81 :label => false %>
81 :label => false %>
82 <br /><em><%= l(:text_comma_separated) %></em></p>
82 <em class="info"><%= l(:text_comma_separated) %></em></p>
83
83
84 <p><%= setting_check_box :commit_cross_project_ref %></p>
84 <p><%= setting_check_box :commit_cross_project_ref %></p>
85
85
86 <p><%= setting_check_box :commit_logtime_enabled,
86 <p><%= setting_check_box :commit_logtime_enabled,
87 :onclick =>
87 :onclick =>
88 "if (this.checked) { Form.Element.enable('settings_commit_logtime_activity_id'); } else { Form.Element.disable('settings_commit_logtime_activity_id'); }"%></p>
88 "if (this.checked) { Form.Element.enable('settings_commit_logtime_activity_id'); } else { Form.Element.disable('settings_commit_logtime_activity_id'); }"%></p>
89
89
90 <p><%= setting_select :commit_logtime_activity_id,
90 <p><%= setting_select :commit_logtime_activity_id,
91 [[l(:label_default), 0]] +
91 [[l(:label_default), 0]] +
92 TimeEntryActivity.shared.active.collect{|activity| [activity.name, activity.id.to_s]},
92 TimeEntryActivity.shared.active.collect{|activity| [activity.name, activity.id.to_s]},
93 :disabled => !Setting.commit_logtime_enabled?%></p>
93 :disabled => !Setting.commit_logtime_enabled?%></p>
94 </fieldset>
94 </fieldset>
95
95
96 <%= submit_tag l(:button_save) %>
96 <%= submit_tag l(:button_save) %>
97 <% end %>
97 <% end %>
@@ -1,51 +1,51
1 <%= error_messages_for 'user' %>
1 <%= error_messages_for 'user' %>
2
2
3 <div id="user_form">
3 <div id="user_form">
4 <!--[form:user]-->
4 <!--[form:user]-->
5 <div class="splitcontentleft">
5 <div class="splitcontentleft">
6 <fieldset class="box tabular">
6 <fieldset class="box tabular">
7 <legend><%=l(:label_information_plural)%></legend>
7 <legend><%=l(:label_information_plural)%></legend>
8 <p><%= f.text_field :login, :required => true, :size => 25 %></p>
8 <p><%= f.text_field :login, :required => true, :size => 25 %></p>
9 <p><%= f.text_field :firstname, :required => true %></p>
9 <p><%= f.text_field :firstname, :required => true %></p>
10 <p><%= f.text_field :lastname, :required => true %></p>
10 <p><%= f.text_field :lastname, :required => true %></p>
11 <p><%= f.text_field :mail, :required => true %></p>
11 <p><%= f.text_field :mail, :required => true %></p>
12 <p><%= f.select :language, lang_options_for_select %></p>
12 <p><%= f.select :language, lang_options_for_select %></p>
13 <% if Setting.openid? %>
13 <% if Setting.openid? %>
14 <p><%= f.text_field :identity_url %></p>
14 <p><%= f.text_field :identity_url %></p>
15 <% end %>
15 <% end %>
16
16
17 <% @user.custom_field_values.each do |value| %>
17 <% @user.custom_field_values.each do |value| %>
18 <p><%= custom_field_tag_with_label :user, value %></p>
18 <p><%= custom_field_tag_with_label :user, value %></p>
19 <% end %>
19 <% end %>
20
20
21 <p><%= f.check_box :admin, :disabled => (@user == User.current) %></p>
21 <p><%= f.check_box :admin, :disabled => (@user == User.current) %></p>
22 <%= call_hook(:view_users_form, :user => @user, :form => f) %>
22 <%= call_hook(:view_users_form, :user => @user, :form => f) %>
23 </fieldset>
23 </fieldset>
24
24
25 <fieldset class="box tabular">
25 <fieldset class="box tabular">
26 <legend><%=l(:label_authentication)%></legend>
26 <legend><%=l(:label_authentication)%></legend>
27 <% unless @auth_sources.empty? %>
27 <% unless @auth_sources.empty? %>
28 <p><%= f.select :auth_source_id, ([[l(:label_internal), ""]] + @auth_sources.collect { |a| [a.name, a.id] }), {}, :onchange => "if (this.value=='') {Element.show('password_fields');} else {Element.hide('password_fields');}" %></p>
28 <p><%= f.select :auth_source_id, ([[l(:label_internal), ""]] + @auth_sources.collect { |a| [a.name, a.id] }), {}, :onchange => "if (this.value=='') {Element.show('password_fields');} else {Element.hide('password_fields');}" %></p>
29 <% end %>
29 <% end %>
30 <div id="password_fields" style="<%= 'display:none;' if @user.auth_source %>">
30 <div id="password_fields" style="<%= 'display:none;' if @user.auth_source %>">
31 <p><%= f.password_field :password, :required => true, :size => 25 %><br />
31 <p><%= f.password_field :password, :required => true, :size => 25 %>
32 <em><%= l(:text_caracters_minimum, :count => Setting.password_min_length) %></em></p>
32 <em class="info"><%= l(:text_caracters_minimum, :count => Setting.password_min_length) %></em></p>
33 <p><%= f.password_field :password_confirmation, :required => true, :size => 25 %></p>
33 <p><%= f.password_field :password_confirmation, :required => true, :size => 25 %></p>
34 </div>
34 </div>
35 </fieldset>
35 </fieldset>
36 </div>
36 </div>
37
37
38 <div class="splitcontentright">
38 <div class="splitcontentright">
39 <fieldset class="box">
39 <fieldset class="box">
40 <legend><%=l(:field_mail_notification)%></legend>
40 <legend><%=l(:field_mail_notification)%></legend>
41 <%= render :partial => 'users/mail_notifications' %>
41 <%= render :partial => 'users/mail_notifications' %>
42 </fieldset>
42 </fieldset>
43
43
44 <fieldset class="box tabular">
44 <fieldset class="box tabular">
45 <legend><%=l(:label_preferences)%></legend>
45 <legend><%=l(:label_preferences)%></legend>
46 <%= render :partial => 'users/preferences' %>
46 <%= render :partial => 'users/preferences' %>
47 </fieldset>
47 </fieldset>
48 </div>
48 </div>
49 </div>
49 </div>
50 <div style="clear:left;"></div>
50 <div style="clear:left;"></div>
51 <!--[eoform:user]-->
51 <!--[eoform:user]-->
@@ -1,13 +1,13
1 <p>
1 <p>
2 <%= label_tag "user_mail_notification", l(:description_user_mail_notification), :class => "hidden-for-sighted" %>
2 <%= label_tag "user_mail_notification", l(:description_user_mail_notification), :class => "hidden-for-sighted" %>
3 <%= select_tag 'user[mail_notification]', options_for_select(user_mail_notification_options(@user), @user.mail_notification),
3 <%= select_tag 'user[mail_notification]', options_for_select(user_mail_notification_options(@user), @user.mail_notification),
4 :onchange => 'if (this.value == "selected") {Element.show("notified-projects")} else {Element.hide("notified-projects")}' %>
4 :onchange => 'if (this.value == "selected") {Element.show("notified-projects")} else {Element.hide("notified-projects")}' %>
5 </p>
5 </p>
6 <% content_tag 'div', :id => 'notified-projects', :style => (@user.mail_notification == 'selected' ? '' : 'display:none;') do %>
6 <% content_tag 'div', :id => 'notified-projects', :style => (@user.mail_notification == 'selected' ? '' : 'display:none;') do %>
7 <p><% @user.projects.each do |project| %>
7 <p><% @user.projects.each do |project| %>
8 <label><%= check_box_tag 'notified_project_ids[]', project.id, @user.notified_projects_ids.include?(project.id) %> <%=h project.name %></label><br />
8 <label><%= check_box_tag 'notified_project_ids[]', project.id, @user.notified_projects_ids.include?(project.id) %> <%=h project.name %></label><br />
9 <% end %></p>
9 <% end %></p>
10 <p><em><%= l(:text_user_mail_option) %></em></p>
10 <p><em class="info"><%= l(:text_user_mail_option) %></em></p>
11 <% end %>
11 <% end %>
12 <p><label><%= l(:label_user_mail_no_self_notified) %><%= check_box_tag 'no_self_notified', 1, @user.pref[:no_self_notified] %></label></p>
12 <p><label><%= l(:label_user_mail_no_self_notified) %><%= check_box_tag 'no_self_notified', 1, @user.pref[:no_self_notified] %></label></p>
13
13
@@ -1,1048 +1,1050
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 6px 0; list-style-type:none;}
53 #admin-menu li {margin: 0; padding: 0 0 6px 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 #modalbg {position:absolute; top:0; left:0; width:100%; height:100%; background:#ccc; z-index:49; opacity:0.5;}
94 #modalbg {position:absolute; top:0; left:0; width:100%; height:100%; background:#ccc; z-index:49; opacity:0.5;}
95 html>body #modalbg {position:fixed;}
95 html>body #modalbg {position:fixed;}
96 div.modal { border-radius:5px; position:absolute; top:25%; background:#fff; border:2px solid #759FCF; z-index:50; padding:0px; padding:8px;}
96 div.modal { border-radius:5px; position:absolute; top:25%; background:#fff; border:2px solid #759FCF; z-index:50; padding:0px; padding:8px;}
97 div.modal h3.title {background:#759FCF; color:#fff; border:0; padding-left:8px; margin:-8px; margin-bottom: 1em; border-top-left-radius:2px;border-top-right-radius:2px;}
97 div.modal h3.title {background:#759FCF; color:#fff; border:0; padding-left:8px; margin:-8px; margin-bottom: 1em; border-top-left-radius:2px;border-top-right-radius:2px;}
98 div.modal p.buttons {text-align:right; margin-bottom:0;}
98 div.modal p.buttons {text-align:right; margin-bottom:0;}
99 html>body div.modal {position:fixed;}
99 html>body div.modal {position:fixed;}
100
100
101 input#openid_url { background: url(../images/openid-bg.gif) no-repeat; background-color: #fff; background-position: 0 50%; padding-left: 18px; }
101 input#openid_url { background: url(../images/openid-bg.gif) no-repeat; background-color: #fff; background-position: 0 50%; padding-left: 18px; }
102
102
103 .clear:after{ content: "."; display: block; height: 0; clear: both; visibility: hidden; }
103 .clear:after{ content: "."; display: block; height: 0; clear: both; visibility: hidden; }
104
104
105 /***** Links *****/
105 /***** Links *****/
106 a, a:link, a:visited{ color: #2A5685; text-decoration: none; }
106 a, a:link, a:visited{ color: #2A5685; text-decoration: none; }
107 a:hover, a:active{ color: #c61a1a; text-decoration: underline;}
107 a:hover, a:active{ color: #c61a1a; text-decoration: underline;}
108 a img{ border: 0; }
108 a img{ border: 0; }
109
109
110 a.issue.closed, a.issue.closed:link, a.issue.closed:visited { color: #999; text-decoration: line-through; }
110 a.issue.closed, a.issue.closed:link, a.issue.closed:visited { color: #999; text-decoration: line-through; }
111
111
112 #sidebar a.selected {line-height:1.7em; padding:1px 3px 2px 2px; margin-left:-2px; background-color:#9DB9D5; color:#fff; border-radius:2px; -moz-border-radius:2px;}
112 #sidebar a.selected {line-height:1.7em; padding:1px 3px 2px 2px; margin-left:-2px; background-color:#9DB9D5; color:#fff; border-radius:2px; -moz-border-radius:2px;}
113 #sidebar a.selected:hover {text-decoration:none;}
113 #sidebar a.selected:hover {text-decoration:none;}
114 #admin-menu a {line-height:1.7em;}
114 #admin-menu a {line-height:1.7em;}
115 #admin-menu a.selected {padding-left: 20px !important; background-position: 2px 40%;}
115 #admin-menu a.selected {padding-left: 20px !important; background-position: 2px 40%;}
116
116
117 a.collapsible {padding-left: 12px; background: url(../images/arrow_expanded.png) no-repeat -3px 40%;}
117 a.collapsible {padding-left: 12px; background: url(../images/arrow_expanded.png) no-repeat -3px 40%;}
118 a.collapsible.collapsed {background: url(../images/arrow_collapsed.png) no-repeat -5px 40%;}
118 a.collapsible.collapsed {background: url(../images/arrow_collapsed.png) no-repeat -5px 40%;}
119
119
120 a#toggle-completed-versions {color:#999;}
120 a#toggle-completed-versions {color:#999;}
121 /***** Tables *****/
121 /***** Tables *****/
122 table.list { border: 1px solid #e4e4e4; border-collapse: collapse; width: 100%; margin-bottom: 4px; }
122 table.list { border: 1px solid #e4e4e4; border-collapse: collapse; width: 100%; margin-bottom: 4px; }
123 table.list th { background-color:#EEEEEE; padding: 4px; white-space:nowrap; }
123 table.list th { background-color:#EEEEEE; padding: 4px; white-space:nowrap; }
124 table.list td { vertical-align: top; }
124 table.list td { vertical-align: top; }
125 table.list td.id { width: 2%; text-align: center;}
125 table.list td.id { width: 2%; text-align: center;}
126 table.list td.checkbox { width: 15px; padding: 2px 0 0 0; }
126 table.list td.checkbox { width: 15px; padding: 2px 0 0 0; }
127 table.list td.checkbox input {padding:0px;}
127 table.list td.checkbox input {padding:0px;}
128 table.list td.buttons { width: 15%; white-space:nowrap; text-align: right; }
128 table.list td.buttons { width: 15%; white-space:nowrap; text-align: right; }
129 table.list td.buttons a { padding-right: 0.6em; }
129 table.list td.buttons a { padding-right: 0.6em; }
130 table.list caption { text-align: left; padding: 0.5em 0.5em 0.5em 0; }
130 table.list caption { text-align: left; padding: 0.5em 0.5em 0.5em 0; }
131
131
132 tr.project td.name a { white-space:nowrap; }
132 tr.project td.name a { white-space:nowrap; }
133
133
134 tr.project.idnt td.name span {background: url(../images/bullet_arrow_right.png) no-repeat 0 50%; padding-left: 16px;}
134 tr.project.idnt td.name span {background: url(../images/bullet_arrow_right.png) no-repeat 0 50%; padding-left: 16px;}
135 tr.project.idnt-1 td.name {padding-left: 0.5em;}
135 tr.project.idnt-1 td.name {padding-left: 0.5em;}
136 tr.project.idnt-2 td.name {padding-left: 2em;}
136 tr.project.idnt-2 td.name {padding-left: 2em;}
137 tr.project.idnt-3 td.name {padding-left: 3.5em;}
137 tr.project.idnt-3 td.name {padding-left: 3.5em;}
138 tr.project.idnt-4 td.name {padding-left: 5em;}
138 tr.project.idnt-4 td.name {padding-left: 5em;}
139 tr.project.idnt-5 td.name {padding-left: 6.5em;}
139 tr.project.idnt-5 td.name {padding-left: 6.5em;}
140 tr.project.idnt-6 td.name {padding-left: 8em;}
140 tr.project.idnt-6 td.name {padding-left: 8em;}
141 tr.project.idnt-7 td.name {padding-left: 9.5em;}
141 tr.project.idnt-7 td.name {padding-left: 9.5em;}
142 tr.project.idnt-8 td.name {padding-left: 11em;}
142 tr.project.idnt-8 td.name {padding-left: 11em;}
143 tr.project.idnt-9 td.name {padding-left: 12.5em;}
143 tr.project.idnt-9 td.name {padding-left: 12.5em;}
144
144
145 tr.issue { text-align: center; white-space: nowrap; }
145 tr.issue { text-align: center; white-space: nowrap; }
146 tr.issue td.subject, tr.issue td.category, td.assigned_to, tr.issue td.string, tr.issue td.text { white-space: normal; }
146 tr.issue td.subject, tr.issue td.category, td.assigned_to, tr.issue td.string, tr.issue td.text { white-space: normal; }
147 tr.issue td.subject { text-align: left; }
147 tr.issue td.subject { text-align: left; }
148 tr.issue td.done_ratio table.progress { margin-left:auto; margin-right: auto;}
148 tr.issue td.done_ratio table.progress { margin-left:auto; margin-right: auto;}
149
149
150 tr.issue.idnt td.subject a {background: url(../images/bullet_arrow_right.png) no-repeat 0 50%; padding-left: 16px;}
150 tr.issue.idnt td.subject a {background: url(../images/bullet_arrow_right.png) no-repeat 0 50%; padding-left: 16px;}
151 tr.issue.idnt-1 td.subject {padding-left: 0.5em;}
151 tr.issue.idnt-1 td.subject {padding-left: 0.5em;}
152 tr.issue.idnt-2 td.subject {padding-left: 2em;}
152 tr.issue.idnt-2 td.subject {padding-left: 2em;}
153 tr.issue.idnt-3 td.subject {padding-left: 3.5em;}
153 tr.issue.idnt-3 td.subject {padding-left: 3.5em;}
154 tr.issue.idnt-4 td.subject {padding-left: 5em;}
154 tr.issue.idnt-4 td.subject {padding-left: 5em;}
155 tr.issue.idnt-5 td.subject {padding-left: 6.5em;}
155 tr.issue.idnt-5 td.subject {padding-left: 6.5em;}
156 tr.issue.idnt-6 td.subject {padding-left: 8em;}
156 tr.issue.idnt-6 td.subject {padding-left: 8em;}
157 tr.issue.idnt-7 td.subject {padding-left: 9.5em;}
157 tr.issue.idnt-7 td.subject {padding-left: 9.5em;}
158 tr.issue.idnt-8 td.subject {padding-left: 11em;}
158 tr.issue.idnt-8 td.subject {padding-left: 11em;}
159 tr.issue.idnt-9 td.subject {padding-left: 12.5em;}
159 tr.issue.idnt-9 td.subject {padding-left: 12.5em;}
160
160
161 tr.entry { border: 1px solid #f8f8f8; }
161 tr.entry { border: 1px solid #f8f8f8; }
162 tr.entry td { white-space: nowrap; }
162 tr.entry td { white-space: nowrap; }
163 tr.entry td.filename { width: 30%; }
163 tr.entry td.filename { width: 30%; }
164 tr.entry td.filename_no_report { width: 70%; }
164 tr.entry td.filename_no_report { width: 70%; }
165 tr.entry td.size { text-align: right; font-size: 90%; }
165 tr.entry td.size { text-align: right; font-size: 90%; }
166 tr.entry td.revision, tr.entry td.author { text-align: center; }
166 tr.entry td.revision, tr.entry td.author { text-align: center; }
167 tr.entry td.age { text-align: right; }
167 tr.entry td.age { text-align: right; }
168 tr.entry.file td.filename a { margin-left: 16px; }
168 tr.entry.file td.filename a { margin-left: 16px; }
169 tr.entry.file td.filename_no_report a { margin-left: 16px; }
169 tr.entry.file td.filename_no_report a { margin-left: 16px; }
170
170
171 tr span.expander {background-image: url(../images/bullet_toggle_plus.png); padding-left: 8px; margin-left: 0; cursor: pointer;}
171 tr span.expander {background-image: url(../images/bullet_toggle_plus.png); padding-left: 8px; margin-left: 0; cursor: pointer;}
172 tr.open span.expander {background-image: url(../images/bullet_toggle_minus.png);}
172 tr.open span.expander {background-image: url(../images/bullet_toggle_minus.png);}
173
173
174 tr.changeset { height: 20px }
174 tr.changeset { height: 20px }
175 tr.changeset ul, ol { margin-top: 0px; margin-bottom: 0px; }
175 tr.changeset ul, ol { margin-top: 0px; margin-bottom: 0px; }
176 tr.changeset td.revision_graph { width: 15%; background-color: #fffffb; }
176 tr.changeset td.revision_graph { width: 15%; background-color: #fffffb; }
177 tr.changeset td.author { text-align: center; width: 15%; white-space:nowrap;}
177 tr.changeset td.author { text-align: center; width: 15%; white-space:nowrap;}
178 tr.changeset td.committed_on { text-align: center; width: 15%; white-space:nowrap;}
178 tr.changeset td.committed_on { text-align: center; width: 15%; white-space:nowrap;}
179 tr.changeset td.comments_nowrap { width: 45%; white-space:nowrap;}
179 tr.changeset td.comments_nowrap { width: 45%; white-space:nowrap;}
180
180
181 table.files tr.file td { text-align: center; }
181 table.files tr.file td { text-align: center; }
182 table.files tr.file td.filename { text-align: left; padding-left: 24px; }
182 table.files tr.file td.filename { text-align: left; padding-left: 24px; }
183 table.files tr.file td.digest { font-size: 80%; }
183 table.files tr.file td.digest { font-size: 80%; }
184
184
185 table.members td.roles, table.memberships td.roles { width: 45%; }
185 table.members td.roles, table.memberships td.roles { width: 45%; }
186
186
187 tr.message { height: 2.6em; }
187 tr.message { height: 2.6em; }
188 tr.message td.subject { padding-left: 20px; }
188 tr.message td.subject { padding-left: 20px; }
189 tr.message td.created_on { white-space: nowrap; }
189 tr.message td.created_on { white-space: nowrap; }
190 tr.message td.last_message { font-size: 80%; white-space: nowrap; }
190 tr.message td.last_message { font-size: 80%; white-space: nowrap; }
191 tr.message.locked td.subject { background: url(../images/locked.png) no-repeat 0 1px; }
191 tr.message.locked td.subject { background: url(../images/locked.png) no-repeat 0 1px; }
192 tr.message.sticky td.subject { background: url(../images/bullet_go.png) no-repeat 0 1px; font-weight: bold; }
192 tr.message.sticky td.subject { background: url(../images/bullet_go.png) no-repeat 0 1px; font-weight: bold; }
193
193
194 tr.version.closed, tr.version.closed a { color: #999; }
194 tr.version.closed, tr.version.closed a { color: #999; }
195 tr.version td.name { padding-left: 20px; }
195 tr.version td.name { padding-left: 20px; }
196 tr.version.shared td.name { background: url(../images/link.png) no-repeat 0% 70%; }
196 tr.version.shared td.name { background: url(../images/link.png) no-repeat 0% 70%; }
197 tr.version td.date, tr.version td.status, tr.version td.sharing { text-align: center; white-space:nowrap; }
197 tr.version td.date, tr.version td.status, tr.version td.sharing { text-align: center; white-space:nowrap; }
198
198
199 tr.user td { width:13%; }
199 tr.user td { width:13%; }
200 tr.user td.email { width:18%; }
200 tr.user td.email { width:18%; }
201 tr.user td { white-space: nowrap; }
201 tr.user td { white-space: nowrap; }
202 tr.user.locked, tr.user.registered { color: #aaa; }
202 tr.user.locked, tr.user.registered { color: #aaa; }
203 tr.user.locked a, tr.user.registered a { color: #aaa; }
203 tr.user.locked a, tr.user.registered a { color: #aaa; }
204
204
205 tr.wiki-page-version td.updated_on, tr.wiki-page-version td.author {text-align:center;}
205 tr.wiki-page-version td.updated_on, tr.wiki-page-version td.author {text-align:center;}
206
206
207 tr.time-entry { text-align: center; white-space: nowrap; }
207 tr.time-entry { text-align: center; white-space: nowrap; }
208 tr.time-entry td.subject, tr.time-entry td.comments { text-align: left; white-space: normal; }
208 tr.time-entry td.subject, tr.time-entry td.comments { text-align: left; white-space: normal; }
209 td.hours { text-align: right; font-weight: bold; padding-right: 0.5em; }
209 td.hours { text-align: right; font-weight: bold; padding-right: 0.5em; }
210 td.hours .hours-dec { font-size: 0.9em; }
210 td.hours .hours-dec { font-size: 0.9em; }
211
211
212 table.plugins td { vertical-align: middle; }
212 table.plugins td { vertical-align: middle; }
213 table.plugins td.configure { text-align: right; padding-right: 1em; }
213 table.plugins td.configure { text-align: right; padding-right: 1em; }
214 table.plugins span.name { font-weight: bold; display: block; margin-bottom: 6px; }
214 table.plugins span.name { font-weight: bold; display: block; margin-bottom: 6px; }
215 table.plugins span.description { display: block; font-size: 0.9em; }
215 table.plugins span.description { display: block; font-size: 0.9em; }
216 table.plugins span.url { display: block; font-size: 0.9em; }
216 table.plugins span.url { display: block; font-size: 0.9em; }
217
217
218 table.list tbody tr.group td { padding: 0.8em 0 0.5em 0.3em; font-weight: bold; border-bottom: 1px solid #ccc; }
218 table.list tbody tr.group td { padding: 0.8em 0 0.5em 0.3em; font-weight: bold; border-bottom: 1px solid #ccc; }
219 table.list tbody tr.group span.count { color: #aaa; font-size: 80%; }
219 table.list tbody tr.group span.count { color: #aaa; font-size: 80%; }
220 tr.group a.toggle-all { color: #aaa; font-size: 80%; font-weight: normal; display:none;}
220 tr.group a.toggle-all { color: #aaa; font-size: 80%; font-weight: normal; display:none;}
221 tr.group:hover a.toggle-all { display:inline;}
221 tr.group:hover a.toggle-all { display:inline;}
222 a.toggle-all:hover {text-decoration:none;}
222 a.toggle-all:hover {text-decoration:none;}
223
223
224 table.list tbody tr:hover { background-color:#ffffdd; }
224 table.list tbody tr:hover { background-color:#ffffdd; }
225 table.list tbody tr.group:hover { background-color:inherit; }
225 table.list tbody tr.group:hover { background-color:inherit; }
226 table td {padding:2px;}
226 table td {padding:2px;}
227 table p {margin:0;}
227 table p {margin:0;}
228 .odd {background-color:#f6f7f8;}
228 .odd {background-color:#f6f7f8;}
229 .even {background-color: #fff;}
229 .even {background-color: #fff;}
230
230
231 a.sort { padding-right: 16px; background-position: 100% 50%; background-repeat: no-repeat; }
231 a.sort { padding-right: 16px; background-position: 100% 50%; background-repeat: no-repeat; }
232 a.sort.asc { background-image: url(../images/sort_asc.png); }
232 a.sort.asc { background-image: url(../images/sort_asc.png); }
233 a.sort.desc { background-image: url(../images/sort_desc.png); }
233 a.sort.desc { background-image: url(../images/sort_desc.png); }
234
234
235 table.attributes { width: 100% }
235 table.attributes { width: 100% }
236 table.attributes th { vertical-align: top; text-align: left; }
236 table.attributes th { vertical-align: top; text-align: left; }
237 table.attributes td { vertical-align: top; }
237 table.attributes td { vertical-align: top; }
238
238
239 table.boards a.board, h3.comments { background: url(../images/comment.png) no-repeat 0% 50%; padding-left: 20px; }
239 table.boards a.board, h3.comments { background: url(../images/comment.png) no-repeat 0% 50%; padding-left: 20px; }
240
240
241 td.center {text-align:center;}
241 td.center {text-align:center;}
242
242
243 h3.version { background: url(../images/package.png) no-repeat 0% 50%; padding-left: 20px; }
243 h3.version { background: url(../images/package.png) no-repeat 0% 50%; padding-left: 20px; }
244
244
245 div.issues h3 { background: url(../images/ticket.png) no-repeat 0% 50%; padding-left: 20px; }
245 div.issues h3 { background: url(../images/ticket.png) no-repeat 0% 50%; padding-left: 20px; }
246 div.members h3 { background: url(../images/group.png) no-repeat 0% 50%; padding-left: 20px; }
246 div.members h3 { background: url(../images/group.png) no-repeat 0% 50%; padding-left: 20px; }
247 div.news h3 { background: url(../images/news.png) no-repeat 0% 50%; padding-left: 20px; }
247 div.news h3 { background: url(../images/news.png) no-repeat 0% 50%; padding-left: 20px; }
248 div.projects h3 { background: url(../images/projects.png) no-repeat 0% 50%; padding-left: 20px; }
248 div.projects h3 { background: url(../images/projects.png) no-repeat 0% 50%; padding-left: 20px; }
249
249
250 #watchers ul {margin: 0; padding: 0;}
250 #watchers ul {margin: 0; padding: 0;}
251 #watchers li {list-style-type:none;margin: 0px 2px 0px 0px; padding: 0px 0px 0px 0px;}
251 #watchers li {list-style-type:none;margin: 0px 2px 0px 0px; padding: 0px 0px 0px 0px;}
252 #watchers select {width: 95%; display: block;}
252 #watchers select {width: 95%; display: block;}
253 #watchers a.delete {opacity: 0.4;}
253 #watchers a.delete {opacity: 0.4;}
254 #watchers a.delete:hover {opacity: 1;}
254 #watchers a.delete:hover {opacity: 1;}
255 #watchers img.gravatar {margin: 0 4px 2px 0;}
255 #watchers img.gravatar {margin: 0 4px 2px 0;}
256
256
257 .highlight { background-color: #FCFD8D;}
257 .highlight { background-color: #FCFD8D;}
258 .highlight.token-1 { background-color: #faa;}
258 .highlight.token-1 { background-color: #faa;}
259 .highlight.token-2 { background-color: #afa;}
259 .highlight.token-2 { background-color: #afa;}
260 .highlight.token-3 { background-color: #aaf;}
260 .highlight.token-3 { background-color: #aaf;}
261
261
262 .box{
262 .box{
263 padding:6px;
263 padding:6px;
264 margin-bottom: 10px;
264 margin-bottom: 10px;
265 background-color:#f6f6f6;
265 background-color:#f6f6f6;
266 color:#505050;
266 color:#505050;
267 line-height:1.5em;
267 line-height:1.5em;
268 border: 1px solid #e4e4e4;
268 border: 1px solid #e4e4e4;
269 }
269 }
270
270
271 div.square {
271 div.square {
272 border: 1px solid #999;
272 border: 1px solid #999;
273 float: left;
273 float: left;
274 margin: .3em .4em 0 .4em;
274 margin: .3em .4em 0 .4em;
275 overflow: hidden;
275 overflow: hidden;
276 width: .6em; height: .6em;
276 width: .6em; height: .6em;
277 }
277 }
278 .contextual {float:right; white-space: nowrap; line-height:1.4em;margin-top:5px; padding-left: 10px; font-size:0.9em;}
278 .contextual {float:right; white-space: nowrap; line-height:1.4em;margin-top:5px; padding-left: 10px; font-size:0.9em;}
279 .contextual input, .contextual select {font-size:0.9em;}
279 .contextual input, .contextual select {font-size:0.9em;}
280 .message .contextual { margin-top: 0; }
280 .message .contextual { margin-top: 0; }
281
281
282 .splitcontentleft{float:left; width:49%;}
282 .splitcontentleft{float:left; width:49%;}
283 .splitcontentright{float:right; width:49%;}
283 .splitcontentright{float:right; width:49%;}
284 form {display: inline;}
284 form {display: inline;}
285 input, select {vertical-align: middle; margin-top: 1px; margin-bottom: 1px;}
285 input, select {vertical-align: middle; margin-top: 1px; margin-bottom: 1px;}
286 fieldset {border: 1px solid #e4e4e4; margin:0;}
286 fieldset {border: 1px solid #e4e4e4; margin:0;}
287 legend {color: #484848;}
287 legend {color: #484848;}
288 hr { width: 100%; height: 1px; background: #ccc; border: 0;}
288 hr { width: 100%; height: 1px; background: #ccc; border: 0;}
289 blockquote { font-style: italic; border-left: 3px solid #e0e0e0; padding-left: 0.6em; margin-left: 2.4em;}
289 blockquote { font-style: italic; border-left: 3px solid #e0e0e0; padding-left: 0.6em; margin-left: 2.4em;}
290 blockquote blockquote { margin-left: 0;}
290 blockquote blockquote { margin-left: 0;}
291 acronym { border-bottom: 1px dotted; cursor: help; }
291 acronym { border-bottom: 1px dotted; cursor: help; }
292 textarea.wiki-edit { width: 99%; }
292 textarea.wiki-edit { width: 99%; }
293 li p {margin-top: 0;}
293 li p {margin-top: 0;}
294 div.issue {background:#ffffdd; padding:6px; margin-bottom:6px;border: 1px solid #d7d7d7;}
294 div.issue {background:#ffffdd; padding:6px; margin-bottom:6px;border: 1px solid #d7d7d7;}
295 p.breadcrumb { font-size: 0.9em; margin: 4px 0 4px 0;}
295 p.breadcrumb { font-size: 0.9em; margin: 4px 0 4px 0;}
296 p.subtitle { font-size: 0.9em; margin: -6px 0 12px 0; font-style: italic; }
296 p.subtitle { font-size: 0.9em; margin: -6px 0 12px 0; font-style: italic; }
297 p.footnote { font-size: 0.9em; margin-top: 0px; margin-bottom: 0px; }
297 p.footnote { font-size: 0.9em; margin-top: 0px; margin-bottom: 0px; }
298
298
299 div.issue div.subject div div { padding-left: 16px; }
299 div.issue div.subject div div { padding-left: 16px; }
300 div.issue div.subject p {margin: 0; margin-bottom: 0.1em; font-size: 90%; color: #999;}
300 div.issue div.subject p {margin: 0; margin-bottom: 0.1em; font-size: 90%; color: #999;}
301 div.issue div.subject>div>p { margin-top: 0.5em; }
301 div.issue div.subject>div>p { margin-top: 0.5em; }
302 div.issue div.subject h3 {margin: 0; margin-bottom: 0.1em;}
302 div.issue div.subject h3 {margin: 0; margin-bottom: 0.1em;}
303 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;}
303 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;}
304 div.issue .next-prev-links {color:#999;}
304 div.issue .next-prev-links {color:#999;}
305 div.issue table.attributes th {width:22%;}
305 div.issue table.attributes th {width:22%;}
306 div.issue table.attributes td {width:28%;}
306 div.issue table.attributes td {width:28%;}
307
307
308 #issue_tree table.issues, #relations table.issues { border: 0; }
308 #issue_tree table.issues, #relations table.issues { border: 0; }
309 #issue_tree td.checkbox, #relations td.checkbox {display:none;}
309 #issue_tree td.checkbox, #relations td.checkbox {display:none;}
310 #relations td.buttons {padding:0;}
310 #relations td.buttons {padding:0;}
311
311
312 fieldset.collapsible { border-width: 1px 0 0 0; font-size: 0.9em; }
312 fieldset.collapsible { border-width: 1px 0 0 0; font-size: 0.9em; }
313 fieldset.collapsible legend { padding-left: 16px; background: url(../images/arrow_expanded.png) no-repeat 0% 40%; cursor:pointer; }
313 fieldset.collapsible legend { padding-left: 16px; background: url(../images/arrow_expanded.png) no-repeat 0% 40%; cursor:pointer; }
314 fieldset.collapsible.collapsed legend { background-image: url(../images/arrow_collapsed.png); }
314 fieldset.collapsible.collapsed legend { background-image: url(../images/arrow_collapsed.png); }
315
315
316 fieldset#date-range p { margin: 2px 0 2px 0; }
316 fieldset#date-range p { margin: 2px 0 2px 0; }
317 fieldset#filters table { border-collapse: collapse; }
317 fieldset#filters table { border-collapse: collapse; }
318 fieldset#filters table td { padding: 0; vertical-align: middle; }
318 fieldset#filters table td { padding: 0; vertical-align: middle; }
319 fieldset#filters tr.filter { height: 2em; }
319 fieldset#filters tr.filter { height: 2em; }
320 fieldset#filters td.field { width:200px; }
320 fieldset#filters td.field { width:200px; }
321 fieldset#filters td.operator { width:170px; }
321 fieldset#filters td.operator { width:170px; }
322 fieldset#filters td.values { white-space:nowrap; }
322 fieldset#filters td.values { white-space:nowrap; }
323 fieldset#filters td.values select {min-width:130px;}
323 fieldset#filters td.values select {min-width:130px;}
324 fieldset#filters td.values img { vertical-align: middle; margin-left:1px; }
324 fieldset#filters td.values img { vertical-align: middle; margin-left:1px; }
325 fieldset#filters td.add-filter { text-align: right; vertical-align: top; }
325 fieldset#filters td.add-filter { text-align: right; vertical-align: top; }
326 .buttons { font-size: 0.9em; margin-bottom: 1.4em; margin-top: 1em; }
326 .buttons { font-size: 0.9em; margin-bottom: 1.4em; margin-top: 1em; }
327
327
328 div#issue-changesets {float:right; width:45%; margin-left: 1em; margin-bottom: 1em; background: #fff; padding-left: 1em; font-size: 90%;}
328 div#issue-changesets {float:right; width:45%; margin-left: 1em; margin-bottom: 1em; background: #fff; padding-left: 1em; font-size: 90%;}
329 div#issue-changesets div.changeset { padding: 4px;}
329 div#issue-changesets div.changeset { padding: 4px;}
330 div#issue-changesets div.changeset { border-bottom: 1px solid #ddd; }
330 div#issue-changesets div.changeset { border-bottom: 1px solid #ddd; }
331 div#issue-changesets p { margin-top: 0; margin-bottom: 1em;}
331 div#issue-changesets p { margin-top: 0; margin-bottom: 1em;}
332
332
333 div#activity dl, #search-results { margin-left: 2em; }
333 div#activity dl, #search-results { margin-left: 2em; }
334 div#activity dd, #search-results dd { margin-bottom: 1em; padding-left: 18px; font-size: 0.9em; }
334 div#activity dd, #search-results dd { margin-bottom: 1em; padding-left: 18px; font-size: 0.9em; }
335 div#activity dt, #search-results dt { margin-bottom: 0px; padding-left: 20px; line-height: 18px; background-position: 0 50%; background-repeat: no-repeat; }
335 div#activity dt, #search-results dt { margin-bottom: 0px; padding-left: 20px; line-height: 18px; background-position: 0 50%; background-repeat: no-repeat; }
336 div#activity dt.me .time { border-bottom: 1px solid #999; }
336 div#activity dt.me .time { border-bottom: 1px solid #999; }
337 div#activity dt .time { color: #777; font-size: 80%; }
337 div#activity dt .time { color: #777; font-size: 80%; }
338 div#activity dd .description, #search-results dd .description { font-style: italic; }
338 div#activity dd .description, #search-results dd .description { font-style: italic; }
339 div#activity span.project:after, #search-results span.project:after { content: " -"; }
339 div#activity span.project:after, #search-results span.project:after { content: " -"; }
340 div#activity dd span.description, #search-results dd span.description { display:block; color: #808080; }
340 div#activity dd span.description, #search-results dd span.description { display:block; color: #808080; }
341
341
342 #search-results dd { margin-bottom: 1em; padding-left: 20px; margin-left:0px; }
342 #search-results dd { margin-bottom: 1em; padding-left: 20px; margin-left:0px; }
343
343
344 div#search-results-counts {float:right;}
344 div#search-results-counts {float:right;}
345 div#search-results-counts ul { margin-top: 0.5em; }
345 div#search-results-counts ul { margin-top: 0.5em; }
346 div#search-results-counts li { list-style-type:none; float: left; margin-left: 1em; }
346 div#search-results-counts li { list-style-type:none; float: left; margin-left: 1em; }
347
347
348 dt.issue { background-image: url(../images/ticket.png); }
348 dt.issue { background-image: url(../images/ticket.png); }
349 dt.issue-edit { background-image: url(../images/ticket_edit.png); }
349 dt.issue-edit { background-image: url(../images/ticket_edit.png); }
350 dt.issue-closed { background-image: url(../images/ticket_checked.png); }
350 dt.issue-closed { background-image: url(../images/ticket_checked.png); }
351 dt.issue-note { background-image: url(../images/ticket_note.png); }
351 dt.issue-note { background-image: url(../images/ticket_note.png); }
352 dt.changeset { background-image: url(../images/changeset.png); }
352 dt.changeset { background-image: url(../images/changeset.png); }
353 dt.news { background-image: url(../images/news.png); }
353 dt.news { background-image: url(../images/news.png); }
354 dt.message { background-image: url(../images/message.png); }
354 dt.message { background-image: url(../images/message.png); }
355 dt.reply { background-image: url(../images/comments.png); }
355 dt.reply { background-image: url(../images/comments.png); }
356 dt.wiki-page { background-image: url(../images/wiki_edit.png); }
356 dt.wiki-page { background-image: url(../images/wiki_edit.png); }
357 dt.attachment { background-image: url(../images/attachment.png); }
357 dt.attachment { background-image: url(../images/attachment.png); }
358 dt.document { background-image: url(../images/document.png); }
358 dt.document { background-image: url(../images/document.png); }
359 dt.project { background-image: url(../images/projects.png); }
359 dt.project { background-image: url(../images/projects.png); }
360 dt.time-entry { background-image: url(../images/time.png); }
360 dt.time-entry { background-image: url(../images/time.png); }
361
361
362 #search-results dt.issue.closed { background-image: url(../images/ticket_checked.png); }
362 #search-results dt.issue.closed { background-image: url(../images/ticket_checked.png); }
363
363
364 div#roadmap .related-issues { margin-bottom: 1em; }
364 div#roadmap .related-issues { margin-bottom: 1em; }
365 div#roadmap .related-issues td.checkbox { display: none; }
365 div#roadmap .related-issues td.checkbox { display: none; }
366 div#roadmap .wiki h1:first-child { display: none; }
366 div#roadmap .wiki h1:first-child { display: none; }
367 div#roadmap .wiki h1 { font-size: 120%; }
367 div#roadmap .wiki h1 { font-size: 120%; }
368 div#roadmap .wiki h2 { font-size: 110%; }
368 div#roadmap .wiki h2 { font-size: 110%; }
369 body.controller-versions.action-show div#roadmap .related-issues {width:70%;}
369 body.controller-versions.action-show div#roadmap .related-issues {width:70%;}
370
370
371 div#version-summary { float:right; width:28%; margin-left: 16px; margin-bottom: 16px; background-color: #fff; }
371 div#version-summary { float:right; width:28%; margin-left: 16px; margin-bottom: 16px; background-color: #fff; }
372 div#version-summary fieldset { margin-bottom: 1em; }
372 div#version-summary fieldset { margin-bottom: 1em; }
373 div#version-summary fieldset.time-tracking table { width:100%; }
373 div#version-summary fieldset.time-tracking table { width:100%; }
374 div#version-summary th, div#version-summary td.total-hours { text-align: right; }
374 div#version-summary th, div#version-summary td.total-hours { text-align: right; }
375
375
376 table#time-report td.hours, table#time-report th.period, table#time-report th.total { text-align: right; padding-right: 0.5em; }
376 table#time-report td.hours, table#time-report th.period, table#time-report th.total { text-align: right; padding-right: 0.5em; }
377 table#time-report tbody tr.subtotal { font-style: italic; color:#777;}
377 table#time-report tbody tr.subtotal { font-style: italic; color:#777;}
378 table#time-report tbody tr.subtotal td.hours { color:#b0b0b0; }
378 table#time-report tbody tr.subtotal td.hours { color:#b0b0b0; }
379 table#time-report tbody tr.total { font-weight: bold; background-color:#EEEEEE; border-top:1px solid #e4e4e4;}
379 table#time-report tbody tr.total { font-weight: bold; background-color:#EEEEEE; border-top:1px solid #e4e4e4;}
380 table#time-report .hours-dec { font-size: 0.9em; }
380 table#time-report .hours-dec { font-size: 0.9em; }
381
381
382 div.wiki-page .contextual a {opacity: 0.4}
382 div.wiki-page .contextual a {opacity: 0.4}
383 div.wiki-page .contextual a:hover {opacity: 1}
383 div.wiki-page .contextual a:hover {opacity: 1}
384
384
385 form .attributes select { width: 60%; }
385 form .attributes select { width: 60%; }
386 input#issue_subject { width: 99%; }
386 input#issue_subject { width: 99%; }
387 select#issue_done_ratio { width: 95px; }
387 select#issue_done_ratio { width: 95px; }
388
388
389 ul.projects { margin: 0; padding-left: 1em; }
389 ul.projects { margin: 0; padding-left: 1em; }
390 ul.projects.root { margin: 0; padding: 0; }
390 ul.projects.root { margin: 0; padding: 0; }
391 ul.projects ul.projects { border-left: 3px solid #e0e0e0; }
391 ul.projects ul.projects { border-left: 3px solid #e0e0e0; }
392 ul.projects li.root { list-style-type:none; margin-bottom: 1em; }
392 ul.projects li.root { list-style-type:none; margin-bottom: 1em; }
393 ul.projects li.child { list-style-type:none; margin-top: 1em;}
393 ul.projects li.child { list-style-type:none; margin-top: 1em;}
394 ul.projects div.root a.project { font-family: "Trebuchet MS", Verdana, sans-serif; font-weight: bold; font-size: 16px; margin: 0 0 10px 0; }
394 ul.projects div.root a.project { font-family: "Trebuchet MS", Verdana, sans-serif; font-weight: bold; font-size: 16px; margin: 0 0 10px 0; }
395 .my-project { padding-left: 18px; background: url(../images/fav.png) no-repeat 0 50%; }
395 .my-project { padding-left: 18px; background: url(../images/fav.png) no-repeat 0 50%; }
396
396
397 #tracker_project_ids ul { margin: 0; padding-left: 1em; }
397 #tracker_project_ids ul { margin: 0; padding-left: 1em; }
398 #tracker_project_ids li { list-style-type:none; }
398 #tracker_project_ids li { list-style-type:none; }
399
399
400 ul.properties {padding:0; font-size: 0.9em; color: #777;}
400 ul.properties {padding:0; font-size: 0.9em; color: #777;}
401 ul.properties li {list-style-type:none;}
401 ul.properties li {list-style-type:none;}
402 ul.properties li span {font-style:italic;}
402 ul.properties li span {font-style:italic;}
403
403
404 .total-hours { font-size: 110%; font-weight: bold; }
404 .total-hours { font-size: 110%; font-weight: bold; }
405 .total-hours span.hours-int { font-size: 120%; }
405 .total-hours span.hours-int { font-size: 120%; }
406
406
407 .autoscroll {overflow-x: auto; padding:1px; margin-bottom: 1.2em;}
407 .autoscroll {overflow-x: auto; padding:1px; margin-bottom: 1.2em;}
408 #user_login, #user_firstname, #user_lastname, #user_mail, #my_account_form select, #user_form select, #user_identity_url { width: 90%; }
408 #user_login, #user_firstname, #user_lastname, #user_mail, #my_account_form select, #user_form select, #user_identity_url { width: 90%; }
409
409
410 #workflow_copy_form select { width: 200px; }
410 #workflow_copy_form select { width: 200px; }
411
411
412 textarea#custom_field_possible_values {width: 99%}
412 textarea#custom_field_possible_values {width: 99%}
413 input#content_comments {width: 99%}
413 input#content_comments {width: 99%}
414
414
415 .pagination {font-size: 90%}
415 .pagination {font-size: 90%}
416 p.pagination {margin-top:8px;}
416 p.pagination {margin-top:8px;}
417
417
418 /***** Tabular forms ******/
418 /***** Tabular forms ******/
419 .tabular p{
419 .tabular p{
420 margin: 0;
420 margin: 0;
421 padding: 3px 0 3px 0;
421 padding: 3px 0 3px 0;
422 padding-left: 180px; /* width of left column containing the label elements */
422 padding-left: 180px; /* width of left column containing the label elements */
423 min-height: 1.8em;
423 min-height: 1.8em;
424 clear:left;
424 clear:left;
425 }
425 }
426
426
427 html>body .tabular p {overflow:hidden;}
427 html>body .tabular p {overflow:hidden;}
428
428
429 .tabular label{
429 .tabular label{
430 font-weight: bold;
430 font-weight: bold;
431 float: left;
431 float: left;
432 text-align: right;
432 text-align: right;
433 /* width of left column */
433 /* width of left column */
434 margin-left: -180px;
434 margin-left: -180px;
435 /* width of labels. Should be smaller than left column to create some right margin */
435 /* width of labels. Should be smaller than left column to create some right margin */
436 width: 175px;
436 width: 175px;
437 }
437 }
438
438
439 .tabular label.floating{
439 .tabular label.floating{
440 font-weight: normal;
440 font-weight: normal;
441 margin-left: 0px;
441 margin-left: 0px;
442 text-align: left;
442 text-align: left;
443 width: 270px;
443 width: 270px;
444 }
444 }
445
445
446 .tabular label.block{
446 .tabular label.block{
447 font-weight: normal;
447 font-weight: normal;
448 margin-left: 0px !important;
448 margin-left: 0px !important;
449 text-align: left;
449 text-align: left;
450 float: none;
450 float: none;
451 display: block;
451 display: block;
452 width: auto;
452 width: auto;
453 }
453 }
454
454
455 .tabular label.inline{
455 .tabular label.inline{
456 float:none;
456 float:none;
457 margin-left: 5px !important;
457 margin-left: 5px !important;
458 width: auto;
458 width: auto;
459 }
459 }
460
460
461 label.no-css {
461 label.no-css {
462 font-weight: inherit;
462 font-weight: inherit;
463 float:none;
463 float:none;
464 text-align:left;
464 text-align:left;
465 margin-left:0px;
465 margin-left:0px;
466 width:auto;
466 width:auto;
467 }
467 }
468 input#time_entry_comments { width: 90%;}
468 input#time_entry_comments { width: 90%;}
469
469
470 #preview fieldset {margin-top: 1em; background: url(../images/draft.png)}
470 #preview fieldset {margin-top: 1em; background: url(../images/draft.png)}
471
471
472 .tabular.settings p{ padding-left: 300px; }
472 .tabular.settings p{ padding-left: 300px; }
473 .tabular.settings label{ margin-left: -300px; width: 295px; }
473 .tabular.settings label{ margin-left: -300px; width: 295px; }
474 .tabular.settings textarea { width: 99%; }
474 .tabular.settings textarea { width: 99%; }
475
475
476 .settings.enabled_scm table {width:100%}
476 .settings.enabled_scm table {width:100%}
477 .settings.enabled_scm td.scm_name{ font-weight: bold; }
477 .settings.enabled_scm td.scm_name{ font-weight: bold; }
478
478
479 fieldset.settings label { display: block; }
479 fieldset.settings label { display: block; }
480 fieldset#notified_events .parent { padding-left: 20px; }
480 fieldset#notified_events .parent { padding-left: 20px; }
481
481
482 .required {color: #bb0000;}
482 .required {color: #bb0000;}
483 .summary {font-style: italic;}
483 .summary {font-style: italic;}
484
484
485 #attachments_fields input.description {margin-left: 8px; width:340px;}
485 #attachments_fields input.description {margin-left: 8px; width:340px;}
486 #attachments_fields span {display:block; white-space:nowrap;}
486 #attachments_fields span {display:block; white-space:nowrap;}
487 #attachments_fields img {vertical-align: middle;}
487 #attachments_fields img {vertical-align: middle;}
488
488
489 div.attachments { margin-top: 12px; }
489 div.attachments { margin-top: 12px; }
490 div.attachments p { margin:4px 0 2px 0; }
490 div.attachments p { margin:4px 0 2px 0; }
491 div.attachments img { vertical-align: middle; }
491 div.attachments img { vertical-align: middle; }
492 div.attachments span.author { font-size: 0.9em; color: #888; }
492 div.attachments span.author { font-size: 0.9em; color: #888; }
493
493
494 p.other-formats { text-align: right; font-size:0.9em; color: #666; }
494 p.other-formats { text-align: right; font-size:0.9em; color: #666; }
495 .other-formats span + span:before { content: "| "; }
495 .other-formats span + span:before { content: "| "; }
496
496
497 a.atom { background: url(../images/feed.png) no-repeat 1px 50%; padding: 2px 0px 3px 16px; }
497 a.atom { background: url(../images/feed.png) no-repeat 1px 50%; padding: 2px 0px 3px 16px; }
498
498
499 em.info {font-style:normal;font-size:90%;color:#888;display:block;}
500
499 /* Project members tab */
501 /* Project members tab */
500 div#tab-content-members .splitcontentleft, div#tab-content-memberships .splitcontentleft, div#tab-content-users .splitcontentleft { width: 64% }
502 div#tab-content-members .splitcontentleft, div#tab-content-memberships .splitcontentleft, div#tab-content-users .splitcontentleft { width: 64% }
501 div#tab-content-members .splitcontentright, div#tab-content-memberships .splitcontentright, div#tab-content-users .splitcontentright { width: 34% }
503 div#tab-content-members .splitcontentright, div#tab-content-memberships .splitcontentright, div#tab-content-users .splitcontentright { width: 34% }
502 div#tab-content-members fieldset, div#tab-content-memberships fieldset, div#tab-content-users fieldset { padding:1em; margin-bottom: 1em; }
504 div#tab-content-members fieldset, div#tab-content-memberships fieldset, div#tab-content-users fieldset { padding:1em; margin-bottom: 1em; }
503 div#tab-content-members fieldset legend, div#tab-content-memberships fieldset legend, div#tab-content-users fieldset legend { font-weight: bold; }
505 div#tab-content-members fieldset legend, div#tab-content-memberships fieldset legend, div#tab-content-users fieldset legend { font-weight: bold; }
504 div#tab-content-members fieldset label, div#tab-content-memberships fieldset label, div#tab-content-users fieldset label { display: block; }
506 div#tab-content-members fieldset label, div#tab-content-memberships fieldset label, div#tab-content-users fieldset label { display: block; }
505 div#tab-content-members fieldset div, div#tab-content-users fieldset div { max-height: 400px; overflow:auto; }
507 div#tab-content-members fieldset div, div#tab-content-users fieldset div { max-height: 400px; overflow:auto; }
506
508
507 #users_for_watcher {height: 200px; overflow:auto;}
509 #users_for_watcher {height: 200px; overflow:auto;}
508 #users_for_watcher label {display: block;}
510 #users_for_watcher label {display: block;}
509
511
510 table.members td.group { padding-left: 20px; background: url(../images/group.png) no-repeat 0% 50%; }
512 table.members td.group { padding-left: 20px; background: url(../images/group.png) no-repeat 0% 50%; }
511
513
512 input#principal_search, input#user_search {width:100%}
514 input#principal_search, input#user_search {width:100%}
513
515
514 * html div#tab-content-members fieldset div { height: 450px; }
516 * html div#tab-content-members fieldset div { height: 450px; }
515
517
516 /***** Flash & error messages ****/
518 /***** Flash & error messages ****/
517 #errorExplanation, div.flash, .nodata, .warning {
519 #errorExplanation, div.flash, .nodata, .warning {
518 padding: 4px 4px 4px 30px;
520 padding: 4px 4px 4px 30px;
519 margin-bottom: 12px;
521 margin-bottom: 12px;
520 font-size: 1.1em;
522 font-size: 1.1em;
521 border: 2px solid;
523 border: 2px solid;
522 }
524 }
523
525
524 div.flash {margin-top: 8px;}
526 div.flash {margin-top: 8px;}
525
527
526 div.flash.error, #errorExplanation {
528 div.flash.error, #errorExplanation {
527 background: url(../images/exclamation.png) 8px 50% no-repeat;
529 background: url(../images/exclamation.png) 8px 50% no-repeat;
528 background-color: #ffe3e3;
530 background-color: #ffe3e3;
529 border-color: #dd0000;
531 border-color: #dd0000;
530 color: #880000;
532 color: #880000;
531 }
533 }
532
534
533 div.flash.notice {
535 div.flash.notice {
534 background: url(../images/true.png) 8px 5px no-repeat;
536 background: url(../images/true.png) 8px 5px no-repeat;
535 background-color: #dfffdf;
537 background-color: #dfffdf;
536 border-color: #9fcf9f;
538 border-color: #9fcf9f;
537 color: #005f00;
539 color: #005f00;
538 }
540 }
539
541
540 div.flash.warning {
542 div.flash.warning {
541 background: url(../images/warning.png) 8px 5px no-repeat;
543 background: url(../images/warning.png) 8px 5px no-repeat;
542 background-color: #FFEBC1;
544 background-color: #FFEBC1;
543 border-color: #FDBF3B;
545 border-color: #FDBF3B;
544 color: #A6750C;
546 color: #A6750C;
545 text-align: left;
547 text-align: left;
546 }
548 }
547
549
548 .nodata, .warning {
550 .nodata, .warning {
549 text-align: center;
551 text-align: center;
550 background-color: #FFEBC1;
552 background-color: #FFEBC1;
551 border-color: #FDBF3B;
553 border-color: #FDBF3B;
552 color: #A6750C;
554 color: #A6750C;
553 }
555 }
554
556
555 span.error {padding-left:20px; background:url(../images/exclamation.png) no-repeat 0 50%;}
557 span.error {padding-left:20px; background:url(../images/exclamation.png) no-repeat 0 50%;}
556
558
557 #errorExplanation ul { font-size: 0.9em;}
559 #errorExplanation ul { font-size: 0.9em;}
558 #errorExplanation h2, #errorExplanation p { display: none; }
560 #errorExplanation h2, #errorExplanation p { display: none; }
559
561
560 /***** Ajax indicator ******/
562 /***** Ajax indicator ******/
561 #ajax-indicator {
563 #ajax-indicator {
562 position: absolute; /* fixed not supported by IE */
564 position: absolute; /* fixed not supported by IE */
563 background-color:#eee;
565 background-color:#eee;
564 border: 1px solid #bbb;
566 border: 1px solid #bbb;
565 top:35%;
567 top:35%;
566 left:40%;
568 left:40%;
567 width:20%;
569 width:20%;
568 font-weight:bold;
570 font-weight:bold;
569 text-align:center;
571 text-align:center;
570 padding:0.6em;
572 padding:0.6em;
571 z-index:100;
573 z-index:100;
572 opacity: 0.5;
574 opacity: 0.5;
573 }
575 }
574
576
575 html>body #ajax-indicator { position: fixed; }
577 html>body #ajax-indicator { position: fixed; }
576
578
577 #ajax-indicator span {
579 #ajax-indicator span {
578 background-position: 0% 40%;
580 background-position: 0% 40%;
579 background-repeat: no-repeat;
581 background-repeat: no-repeat;
580 background-image: url(../images/loading.gif);
582 background-image: url(../images/loading.gif);
581 padding-left: 26px;
583 padding-left: 26px;
582 vertical-align: bottom;
584 vertical-align: bottom;
583 }
585 }
584
586
585 /***** Calendar *****/
587 /***** Calendar *****/
586 table.cal {border-collapse: collapse; width: 100%; margin: 0px 0 6px 0;border: 1px solid #d7d7d7;}
588 table.cal {border-collapse: collapse; width: 100%; margin: 0px 0 6px 0;border: 1px solid #d7d7d7;}
587 table.cal thead th {width: 14%; background-color:#EEEEEE; padding: 4px; }
589 table.cal thead th {width: 14%; background-color:#EEEEEE; padding: 4px; }
588 table.cal thead th.week-number {width: auto;}
590 table.cal thead th.week-number {width: auto;}
589 table.cal tbody tr {height: 100px;}
591 table.cal tbody tr {height: 100px;}
590 table.cal td {border: 1px solid #d7d7d7; vertical-align: top; font-size: 0.9em;}
592 table.cal td {border: 1px solid #d7d7d7; vertical-align: top; font-size: 0.9em;}
591 table.cal td.week-number { background-color:#EEEEEE; padding: 4px; border:none; font-size: 1em;}
593 table.cal td.week-number { background-color:#EEEEEE; padding: 4px; border:none; font-size: 1em;}
592 table.cal td p.day-num {font-size: 1.1em; text-align:right;}
594 table.cal td p.day-num {font-size: 1.1em; text-align:right;}
593 table.cal td.odd p.day-num {color: #bbb;}
595 table.cal td.odd p.day-num {color: #bbb;}
594 table.cal td.today {background:#ffffdd;}
596 table.cal td.today {background:#ffffdd;}
595 table.cal td.today p.day-num {font-weight: bold;}
597 table.cal td.today p.day-num {font-weight: bold;}
596 table.cal .starting a, p.cal.legend .starting {background: url(../images/bullet_go.png) no-repeat -1px -2px; padding-left:16px;}
598 table.cal .starting a, p.cal.legend .starting {background: url(../images/bullet_go.png) no-repeat -1px -2px; padding-left:16px;}
597 table.cal .ending a, p.cal.legend .ending {background: url(../images/bullet_end.png) no-repeat -1px -2px; padding-left:16px;}
599 table.cal .ending a, p.cal.legend .ending {background: url(../images/bullet_end.png) no-repeat -1px -2px; padding-left:16px;}
598 table.cal .starting.ending a, p.cal.legend .starting.ending {background: url(../images/bullet_diamond.png) no-repeat -1px -2px; padding-left:16px;}
600 table.cal .starting.ending a, p.cal.legend .starting.ending {background: url(../images/bullet_diamond.png) no-repeat -1px -2px; padding-left:16px;}
599 p.cal.legend span {display:block;}
601 p.cal.legend span {display:block;}
600
602
601 /***** Tooltips ******/
603 /***** Tooltips ******/
602 .tooltip{position:relative;z-index:24;}
604 .tooltip{position:relative;z-index:24;}
603 .tooltip:hover{z-index:25;color:#000;}
605 .tooltip:hover{z-index:25;color:#000;}
604 .tooltip span.tip{display: none; text-align:left;}
606 .tooltip span.tip{display: none; text-align:left;}
605
607
606 div.tooltip:hover span.tip{
608 div.tooltip:hover span.tip{
607 display:block;
609 display:block;
608 position:absolute;
610 position:absolute;
609 top:12px; left:24px; width:270px;
611 top:12px; left:24px; width:270px;
610 border:1px solid #555;
612 border:1px solid #555;
611 background-color:#fff;
613 background-color:#fff;
612 padding: 4px;
614 padding: 4px;
613 font-size: 0.8em;
615 font-size: 0.8em;
614 color:#505050;
616 color:#505050;
615 }
617 }
616
618
617 /***** Progress bar *****/
619 /***** Progress bar *****/
618 table.progress {
620 table.progress {
619 border-collapse: collapse;
621 border-collapse: collapse;
620 border-spacing: 0pt;
622 border-spacing: 0pt;
621 empty-cells: show;
623 empty-cells: show;
622 text-align: center;
624 text-align: center;
623 float:left;
625 float:left;
624 margin: 1px 6px 1px 0px;
626 margin: 1px 6px 1px 0px;
625 }
627 }
626
628
627 table.progress td { height: 1em; }
629 table.progress td { height: 1em; }
628 table.progress td.closed { background: #BAE0BA none repeat scroll 0%; }
630 table.progress td.closed { background: #BAE0BA none repeat scroll 0%; }
629 table.progress td.done { background: #D3EDD3 none repeat scroll 0%; }
631 table.progress td.done { background: #D3EDD3 none repeat scroll 0%; }
630 table.progress td.todo { background: #eee none repeat scroll 0%; }
632 table.progress td.todo { background: #eee none repeat scroll 0%; }
631 p.pourcent {font-size: 80%;}
633 p.pourcent {font-size: 80%;}
632 p.progress-info {clear: left; font-size: 80%; margin-top:-4px; color:#777;}
634 p.progress-info {clear: left; font-size: 80%; margin-top:-4px; color:#777;}
633
635
634 #roadmap table.progress td { height: 1.2em; }
636 #roadmap table.progress td { height: 1.2em; }
635 /***** Tabs *****/
637 /***** Tabs *****/
636 #content .tabs {height: 2.6em; margin-bottom:1.2em; position:relative; overflow:hidden;}
638 #content .tabs {height: 2.6em; margin-bottom:1.2em; position:relative; overflow:hidden;}
637 #content .tabs ul {margin:0; position:absolute; bottom:0; padding-left:0.5em; width: 2000px; border-bottom: 1px solid #bbbbbb;}
639 #content .tabs ul {margin:0; position:absolute; bottom:0; padding-left:0.5em; width: 2000px; border-bottom: 1px solid #bbbbbb;}
638 #content .tabs ul li {
640 #content .tabs ul li {
639 float:left;
641 float:left;
640 list-style-type:none;
642 list-style-type:none;
641 white-space:nowrap;
643 white-space:nowrap;
642 margin-right:4px;
644 margin-right:4px;
643 background:#fff;
645 background:#fff;
644 position:relative;
646 position:relative;
645 margin-bottom:-1px;
647 margin-bottom:-1px;
646 }
648 }
647 #content .tabs ul li a{
649 #content .tabs ul li a{
648 display:block;
650 display:block;
649 font-size: 0.9em;
651 font-size: 0.9em;
650 text-decoration:none;
652 text-decoration:none;
651 line-height:1.3em;
653 line-height:1.3em;
652 padding:4px 6px 4px 6px;
654 padding:4px 6px 4px 6px;
653 border: 1px solid #ccc;
655 border: 1px solid #ccc;
654 border-bottom: 1px solid #bbbbbb;
656 border-bottom: 1px solid #bbbbbb;
655 background-color: #f6f6f6;
657 background-color: #f6f6f6;
656 color:#999;
658 color:#999;
657 font-weight:bold;
659 font-weight:bold;
658 border-top-left-radius:3px;
660 border-top-left-radius:3px;
659 border-top-right-radius:3px;
661 border-top-right-radius:3px;
660 }
662 }
661
663
662 #content .tabs ul li a:hover {
664 #content .tabs ul li a:hover {
663 background-color: #ffffdd;
665 background-color: #ffffdd;
664 text-decoration:none;
666 text-decoration:none;
665 }
667 }
666
668
667 #content .tabs ul li a.selected {
669 #content .tabs ul li a.selected {
668 background-color: #fff;
670 background-color: #fff;
669 border: 1px solid #bbbbbb;
671 border: 1px solid #bbbbbb;
670 border-bottom: 1px solid #fff;
672 border-bottom: 1px solid #fff;
671 color:#444;
673 color:#444;
672 }
674 }
673
675
674 #content .tabs ul li a.selected:hover {
676 #content .tabs ul li a.selected:hover {
675 background-color: #fff;
677 background-color: #fff;
676 }
678 }
677
679
678 div.tabs-buttons { position:absolute; right: 0; width: 48px; height: 24px; background: white; bottom: 0; border-bottom: 1px solid #bbbbbb; }
680 div.tabs-buttons { position:absolute; right: 0; width: 48px; height: 24px; background: white; bottom: 0; border-bottom: 1px solid #bbbbbb; }
679
681
680 button.tab-left, button.tab-right {
682 button.tab-left, button.tab-right {
681 font-size: 0.9em;
683 font-size: 0.9em;
682 cursor: pointer;
684 cursor: pointer;
683 height:24px;
685 height:24px;
684 border: 1px solid #ccc;
686 border: 1px solid #ccc;
685 border-bottom: 1px solid #bbbbbb;
687 border-bottom: 1px solid #bbbbbb;
686 position:absolute;
688 position:absolute;
687 padding:4px;
689 padding:4px;
688 width: 20px;
690 width: 20px;
689 bottom: -1px;
691 bottom: -1px;
690 }
692 }
691
693
692 button.tab-left {
694 button.tab-left {
693 right: 20px;
695 right: 20px;
694 background: #eeeeee url(../images/bullet_arrow_left.png) no-repeat 50% 50%;
696 background: #eeeeee url(../images/bullet_arrow_left.png) no-repeat 50% 50%;
695 border-top-left-radius:3px;
697 border-top-left-radius:3px;
696 }
698 }
697
699
698 button.tab-right {
700 button.tab-right {
699 right: 0;
701 right: 0;
700 background: #eeeeee url(../images/bullet_arrow_right.png) no-repeat 50% 50%;
702 background: #eeeeee url(../images/bullet_arrow_right.png) no-repeat 50% 50%;
701 border-top-right-radius:3px;
703 border-top-right-radius:3px;
702 }
704 }
703
705
704 /***** Auto-complete *****/
706 /***** Auto-complete *****/
705 div.autocomplete {
707 div.autocomplete {
706 position:absolute;
708 position:absolute;
707 width:400px;
709 width:400px;
708 margin:0;
710 margin:0;
709 padding:0;
711 padding:0;
710 }
712 }
711 div.autocomplete ul {
713 div.autocomplete ul {
712 list-style-type:none;
714 list-style-type:none;
713 margin:0;
715 margin:0;
714 padding:0;
716 padding:0;
715 }
717 }
716 div.autocomplete ul li {
718 div.autocomplete ul li {
717 list-style-type:none;
719 list-style-type:none;
718 display:block;
720 display:block;
719 margin:-1px 0 0 0;
721 margin:-1px 0 0 0;
720 padding:2px;
722 padding:2px;
721 cursor:pointer;
723 cursor:pointer;
722 font-size: 90%;
724 font-size: 90%;
723 border: 1px solid #ccc;
725 border: 1px solid #ccc;
724 border-left: 1px solid #ccc;
726 border-left: 1px solid #ccc;
725 border-right: 1px solid #ccc;
727 border-right: 1px solid #ccc;
726 background-color:white;
728 background-color:white;
727 }
729 }
728 div.autocomplete ul li.selected { background-color: #ffb;}
730 div.autocomplete ul li.selected { background-color: #ffb;}
729 div.autocomplete ul li span.informal {
731 div.autocomplete ul li span.informal {
730 font-size: 80%;
732 font-size: 80%;
731 color: #aaa;
733 color: #aaa;
732 }
734 }
733
735
734 #parent_issue_candidates ul li {width: 500px;}
736 #parent_issue_candidates ul li {width: 500px;}
735 #related_issue_candidates ul li {width: 500px;}
737 #related_issue_candidates ul li {width: 500px;}
736
738
737 /***** Diff *****/
739 /***** Diff *****/
738 .diff_out { background: #fcc; }
740 .diff_out { background: #fcc; }
739 .diff_out span { background: #faa; }
741 .diff_out span { background: #faa; }
740 .diff_in { background: #cfc; }
742 .diff_in { background: #cfc; }
741 .diff_in span { background: #afa; }
743 .diff_in span { background: #afa; }
742
744
743 .text-diff {
745 .text-diff {
744 padding: 1em;
746 padding: 1em;
745 background-color:#f6f6f6;
747 background-color:#f6f6f6;
746 color:#505050;
748 color:#505050;
747 border: 1px solid #e4e4e4;
749 border: 1px solid #e4e4e4;
748 }
750 }
749
751
750 /***** Wiki *****/
752 /***** Wiki *****/
751 div.wiki table {
753 div.wiki table {
752 border: 1px solid #505050;
754 border: 1px solid #505050;
753 border-collapse: collapse;
755 border-collapse: collapse;
754 margin-bottom: 1em;
756 margin-bottom: 1em;
755 }
757 }
756
758
757 div.wiki table, div.wiki td, div.wiki th {
759 div.wiki table, div.wiki td, div.wiki th {
758 border: 1px solid #bbb;
760 border: 1px solid #bbb;
759 padding: 4px;
761 padding: 4px;
760 }
762 }
761
763
762 div.wiki .external {
764 div.wiki .external {
763 background-position: 0% 60%;
765 background-position: 0% 60%;
764 background-repeat: no-repeat;
766 background-repeat: no-repeat;
765 padding-left: 12px;
767 padding-left: 12px;
766 background-image: url(../images/external.png);
768 background-image: url(../images/external.png);
767 }
769 }
768
770
769 div.wiki a.new {
771 div.wiki a.new {
770 color: #b73535;
772 color: #b73535;
771 }
773 }
772
774
773 div.wiki ul, div.wiki ol {margin-bottom:1em;}
775 div.wiki ul, div.wiki ol {margin-bottom:1em;}
774
776
775 div.wiki pre {
777 div.wiki pre {
776 margin: 1em 1em 1em 1.6em;
778 margin: 1em 1em 1em 1.6em;
777 padding: 2px 2px 2px 0;
779 padding: 2px 2px 2px 0;
778 background-color: #fafafa;
780 background-color: #fafafa;
779 border: 1px solid #dadada;
781 border: 1px solid #dadada;
780 width:auto;
782 width:auto;
781 overflow-x: auto;
783 overflow-x: auto;
782 overflow-y: hidden;
784 overflow-y: hidden;
783 }
785 }
784
786
785 div.wiki ul.toc {
787 div.wiki ul.toc {
786 background-color: #ffffdd;
788 background-color: #ffffdd;
787 border: 1px solid #e4e4e4;
789 border: 1px solid #e4e4e4;
788 padding: 4px;
790 padding: 4px;
789 line-height: 1.2em;
791 line-height: 1.2em;
790 margin-bottom: 12px;
792 margin-bottom: 12px;
791 margin-right: 12px;
793 margin-right: 12px;
792 margin-left: 0;
794 margin-left: 0;
793 display: table
795 display: table
794 }
796 }
795 * html div.wiki ul.toc { width: 50%; } /* IE6 doesn't autosize div */
797 * html div.wiki ul.toc { width: 50%; } /* IE6 doesn't autosize div */
796
798
797 div.wiki ul.toc.right { float: right; margin-left: 12px; margin-right: 0; width: auto; }
799 div.wiki ul.toc.right { float: right; margin-left: 12px; margin-right: 0; width: auto; }
798 div.wiki ul.toc.left { float: left; margin-right: 12px; margin-left: 0; width: auto; }
800 div.wiki ul.toc.left { float: left; margin-right: 12px; margin-left: 0; width: auto; }
799 div.wiki ul.toc ul { margin: 0; padding: 0; }
801 div.wiki ul.toc ul { margin: 0; padding: 0; }
800 div.wiki ul.toc li { list-style-type:none; margin: 0;}
802 div.wiki ul.toc li { list-style-type:none; margin: 0;}
801 div.wiki ul.toc li li { margin-left: 1.5em; }
803 div.wiki ul.toc li li { margin-left: 1.5em; }
802 div.wiki ul.toc li li li { font-size: 0.8em; }
804 div.wiki ul.toc li li li { font-size: 0.8em; }
803
805
804 div.wiki ul.toc a {
806 div.wiki ul.toc a {
805 font-size: 0.9em;
807 font-size: 0.9em;
806 font-weight: normal;
808 font-weight: normal;
807 text-decoration: none;
809 text-decoration: none;
808 color: #606060;
810 color: #606060;
809 }
811 }
810 div.wiki ul.toc a:hover { color: #c61a1a; text-decoration: underline;}
812 div.wiki ul.toc a:hover { color: #c61a1a; text-decoration: underline;}
811
813
812 a.wiki-anchor { display: none; margin-left: 6px; text-decoration: none; }
814 a.wiki-anchor { display: none; margin-left: 6px; text-decoration: none; }
813 a.wiki-anchor:hover { color: #aaa !important; text-decoration: none; }
815 a.wiki-anchor:hover { color: #aaa !important; text-decoration: none; }
814 h1:hover a.wiki-anchor, h2:hover a.wiki-anchor, h3:hover a.wiki-anchor { display: inline; color: #ddd; }
816 h1:hover a.wiki-anchor, h2:hover a.wiki-anchor, h3:hover a.wiki-anchor { display: inline; color: #ddd; }
815
817
816 div.wiki img { vertical-align: middle; }
818 div.wiki img { vertical-align: middle; }
817
819
818 /***** My page layout *****/
820 /***** My page layout *****/
819 .block-receiver {
821 .block-receiver {
820 border:1px dashed #c0c0c0;
822 border:1px dashed #c0c0c0;
821 margin-bottom: 20px;
823 margin-bottom: 20px;
822 padding: 15px 0 15px 0;
824 padding: 15px 0 15px 0;
823 }
825 }
824
826
825 .mypage-box {
827 .mypage-box {
826 margin:0 0 20px 0;
828 margin:0 0 20px 0;
827 color:#505050;
829 color:#505050;
828 line-height:1.5em;
830 line-height:1.5em;
829 }
831 }
830
832
831 .handle {
833 .handle {
832 cursor: move;
834 cursor: move;
833 }
835 }
834
836
835 a.close-icon {
837 a.close-icon {
836 display:block;
838 display:block;
837 margin-top:3px;
839 margin-top:3px;
838 overflow:hidden;
840 overflow:hidden;
839 width:12px;
841 width:12px;
840 height:12px;
842 height:12px;
841 background-repeat: no-repeat;
843 background-repeat: no-repeat;
842 cursor:pointer;
844 cursor:pointer;
843 background-image:url('../images/close.png');
845 background-image:url('../images/close.png');
844 }
846 }
845
847
846 a.close-icon:hover {
848 a.close-icon:hover {
847 background-image:url('../images/close_hl.png');
849 background-image:url('../images/close_hl.png');
848 }
850 }
849
851
850 /***** Gantt chart *****/
852 /***** Gantt chart *****/
851 .gantt_hdr {
853 .gantt_hdr {
852 position:absolute;
854 position:absolute;
853 top:0;
855 top:0;
854 height:16px;
856 height:16px;
855 border-top: 1px solid #c0c0c0;
857 border-top: 1px solid #c0c0c0;
856 border-bottom: 1px solid #c0c0c0;
858 border-bottom: 1px solid #c0c0c0;
857 border-right: 1px solid #c0c0c0;
859 border-right: 1px solid #c0c0c0;
858 text-align: center;
860 text-align: center;
859 overflow: hidden;
861 overflow: hidden;
860 }
862 }
861
863
862 .gantt_subjects { font-size: 0.8em; }
864 .gantt_subjects { font-size: 0.8em; }
863 .gantt_subjects div { line-height:16px;height:16px;overflow:hidden;white-space:nowrap;text-overflow: ellipsis; }
865 .gantt_subjects div { line-height:16px;height:16px;overflow:hidden;white-space:nowrap;text-overflow: ellipsis; }
864
866
865 .task {
867 .task {
866 position: absolute;
868 position: absolute;
867 height:8px;
869 height:8px;
868 font-size:0.8em;
870 font-size:0.8em;
869 color:#888;
871 color:#888;
870 padding:0;
872 padding:0;
871 margin:0;
873 margin:0;
872 line-height:16px;
874 line-height:16px;
873 white-space:nowrap;
875 white-space:nowrap;
874 }
876 }
875
877
876 .task.label {width:100%;}
878 .task.label {width:100%;}
877 .task.label.project, .task.label.version { font-weight: bold; }
879 .task.label.project, .task.label.version { font-weight: bold; }
878
880
879 .task_late { background:#f66 url(../images/task_late.png); border: 1px solid #f66; }
881 .task_late { background:#f66 url(../images/task_late.png); border: 1px solid #f66; }
880 .task_done { background:#00c600 url(../images/task_done.png); border: 1px solid #00c600; }
882 .task_done { background:#00c600 url(../images/task_done.png); border: 1px solid #00c600; }
881 .task_todo { background:#aaa url(../images/task_todo.png); border: 1px solid #aaa; }
883 .task_todo { background:#aaa url(../images/task_todo.png); border: 1px solid #aaa; }
882
884
883 .task_todo.parent { background: #888; border: 1px solid #888; height: 3px;}
885 .task_todo.parent { background: #888; border: 1px solid #888; height: 3px;}
884 .task_late.parent, .task_done.parent { height: 3px;}
886 .task_late.parent, .task_done.parent { height: 3px;}
885 .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;}
887 .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;}
886 .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;}
888 .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;}
887
889
888 .version.task_late { background:#f66 url(../images/milestone_late.png); border: 1px solid #f66; height: 2px; margin-top: 3px;}
890 .version.task_late { background:#f66 url(../images/milestone_late.png); border: 1px solid #f66; height: 2px; margin-top: 3px;}
889 .version.task_done { background:#00c600 url(../images/milestone_done.png); border: 1px solid #00c600; height: 2px; margin-top: 3px;}
891 .version.task_done { background:#00c600 url(../images/milestone_done.png); border: 1px solid #00c600; height: 2px; margin-top: 3px;}
890 .version.task_todo { background:#fff url(../images/milestone_todo.png); border: 1px solid #fff; height: 2px; margin-top: 3px;}
892 .version.task_todo { background:#fff url(../images/milestone_todo.png); border: 1px solid #fff; height: 2px; margin-top: 3px;}
891 .version.marker { background-image:url(../images/version_marker.png); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; }
893 .version.marker { background-image:url(../images/version_marker.png); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; }
892
894
893 .project.task_late { background:#f66 url(../images/milestone_late.png); border: 1px solid #f66; height: 2px; margin-top: 3px;}
895 .project.task_late { background:#f66 url(../images/milestone_late.png); border: 1px solid #f66; height: 2px; margin-top: 3px;}
894 .project.task_done { background:#00c600 url(../images/milestone_done.png); border: 1px solid #00c600; height: 2px; margin-top: 3px;}
896 .project.task_done { background:#00c600 url(../images/milestone_done.png); border: 1px solid #00c600; height: 2px; margin-top: 3px;}
895 .project.task_todo { background:#fff url(../images/milestone_todo.png); border: 1px solid #fff; height: 2px; margin-top: 3px;}
897 .project.task_todo { background:#fff url(../images/milestone_todo.png); border: 1px solid #fff; height: 2px; margin-top: 3px;}
896 .project.marker { background-image:url(../images/project_marker.png); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; }
898 .project.marker { background-image:url(../images/project_marker.png); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; }
897
899
898 .version-behind-schedule a, .issue-behind-schedule a {color: #f66914;}
900 .version-behind-schedule a, .issue-behind-schedule a {color: #f66914;}
899 .version-overdue a, .issue-overdue a, .project-overdue a {color: #f00;}
901 .version-overdue a, .issue-overdue a, .project-overdue a {color: #f00;}
900
902
901 /***** Icons *****/
903 /***** Icons *****/
902 .icon {
904 .icon {
903 background-position: 0% 50%;
905 background-position: 0% 50%;
904 background-repeat: no-repeat;
906 background-repeat: no-repeat;
905 padding-left: 20px;
907 padding-left: 20px;
906 padding-top: 2px;
908 padding-top: 2px;
907 padding-bottom: 3px;
909 padding-bottom: 3px;
908 }
910 }
909
911
910 .icon-add { background-image: url(../images/add.png); }
912 .icon-add { background-image: url(../images/add.png); }
911 .icon-edit { background-image: url(../images/edit.png); }
913 .icon-edit { background-image: url(../images/edit.png); }
912 .icon-copy { background-image: url(../images/copy.png); }
914 .icon-copy { background-image: url(../images/copy.png); }
913 .icon-duplicate { background-image: url(../images/duplicate.png); }
915 .icon-duplicate { background-image: url(../images/duplicate.png); }
914 .icon-del { background-image: url(../images/delete.png); }
916 .icon-del { background-image: url(../images/delete.png); }
915 .icon-move { background-image: url(../images/move.png); }
917 .icon-move { background-image: url(../images/move.png); }
916 .icon-save { background-image: url(../images/save.png); }
918 .icon-save { background-image: url(../images/save.png); }
917 .icon-cancel { background-image: url(../images/cancel.png); }
919 .icon-cancel { background-image: url(../images/cancel.png); }
918 .icon-multiple { background-image: url(../images/table_multiple.png); }
920 .icon-multiple { background-image: url(../images/table_multiple.png); }
919 .icon-folder { background-image: url(../images/folder.png); }
921 .icon-folder { background-image: url(../images/folder.png); }
920 .open .icon-folder { background-image: url(../images/folder_open.png); }
922 .open .icon-folder { background-image: url(../images/folder_open.png); }
921 .icon-package { background-image: url(../images/package.png); }
923 .icon-package { background-image: url(../images/package.png); }
922 .icon-user { background-image: url(../images/user.png); }
924 .icon-user { background-image: url(../images/user.png); }
923 .icon-projects { background-image: url(../images/projects.png); }
925 .icon-projects { background-image: url(../images/projects.png); }
924 .icon-help { background-image: url(../images/help.png); }
926 .icon-help { background-image: url(../images/help.png); }
925 .icon-attachment { background-image: url(../images/attachment.png); }
927 .icon-attachment { background-image: url(../images/attachment.png); }
926 .icon-history { background-image: url(../images/history.png); }
928 .icon-history { background-image: url(../images/history.png); }
927 .icon-time { background-image: url(../images/time.png); }
929 .icon-time { background-image: url(../images/time.png); }
928 .icon-time-add { background-image: url(../images/time_add.png); }
930 .icon-time-add { background-image: url(../images/time_add.png); }
929 .icon-stats { background-image: url(../images/stats.png); }
931 .icon-stats { background-image: url(../images/stats.png); }
930 .icon-warning { background-image: url(../images/warning.png); }
932 .icon-warning { background-image: url(../images/warning.png); }
931 .icon-fav { background-image: url(../images/fav.png); }
933 .icon-fav { background-image: url(../images/fav.png); }
932 .icon-fav-off { background-image: url(../images/fav_off.png); }
934 .icon-fav-off { background-image: url(../images/fav_off.png); }
933 .icon-reload { background-image: url(../images/reload.png); }
935 .icon-reload { background-image: url(../images/reload.png); }
934 .icon-lock { background-image: url(../images/locked.png); }
936 .icon-lock { background-image: url(../images/locked.png); }
935 .icon-unlock { background-image: url(../images/unlock.png); }
937 .icon-unlock { background-image: url(../images/unlock.png); }
936 .icon-checked { background-image: url(../images/true.png); }
938 .icon-checked { background-image: url(../images/true.png); }
937 .icon-details { background-image: url(../images/zoom_in.png); }
939 .icon-details { background-image: url(../images/zoom_in.png); }
938 .icon-report { background-image: url(../images/report.png); }
940 .icon-report { background-image: url(../images/report.png); }
939 .icon-comment { background-image: url(../images/comment.png); }
941 .icon-comment { background-image: url(../images/comment.png); }
940 .icon-summary { background-image: url(../images/lightning.png); }
942 .icon-summary { background-image: url(../images/lightning.png); }
941 .icon-server-authentication { background-image: url(../images/server_key.png); }
943 .icon-server-authentication { background-image: url(../images/server_key.png); }
942 .icon-issue { background-image: url(../images/ticket.png); }
944 .icon-issue { background-image: url(../images/ticket.png); }
943 .icon-zoom-in { background-image: url(../images/zoom_in.png); }
945 .icon-zoom-in { background-image: url(../images/zoom_in.png); }
944 .icon-zoom-out { background-image: url(../images/zoom_out.png); }
946 .icon-zoom-out { background-image: url(../images/zoom_out.png); }
945 .icon-passwd { background-image: url(../images/textfield_key.png); }
947 .icon-passwd { background-image: url(../images/textfield_key.png); }
946
948
947 .icon-file { background-image: url(../images/files/default.png); }
949 .icon-file { background-image: url(../images/files/default.png); }
948 .icon-file.text-plain { background-image: url(../images/files/text.png); }
950 .icon-file.text-plain { background-image: url(../images/files/text.png); }
949 .icon-file.text-x-c { background-image: url(../images/files/c.png); }
951 .icon-file.text-x-c { background-image: url(../images/files/c.png); }
950 .icon-file.text-x-csharp { background-image: url(../images/files/csharp.png); }
952 .icon-file.text-x-csharp { background-image: url(../images/files/csharp.png); }
951 .icon-file.text-x-java { background-image: url(../images/files/java.png); }
953 .icon-file.text-x-java { background-image: url(../images/files/java.png); }
952 .icon-file.text-x-javascript { background-image: url(../images/files/js.png); }
954 .icon-file.text-x-javascript { background-image: url(../images/files/js.png); }
953 .icon-file.text-x-php { background-image: url(../images/files/php.png); }
955 .icon-file.text-x-php { background-image: url(../images/files/php.png); }
954 .icon-file.text-x-ruby { background-image: url(../images/files/ruby.png); }
956 .icon-file.text-x-ruby { background-image: url(../images/files/ruby.png); }
955 .icon-file.text-xml { background-image: url(../images/files/xml.png); }
957 .icon-file.text-xml { background-image: url(../images/files/xml.png); }
956 .icon-file.text-css { background-image: url(../images/files/css.png); }
958 .icon-file.text-css { background-image: url(../images/files/css.png); }
957 .icon-file.text-html { background-image: url(../images/files/html.png); }
959 .icon-file.text-html { background-image: url(../images/files/html.png); }
958 .icon-file.image-gif { background-image: url(../images/files/image.png); }
960 .icon-file.image-gif { background-image: url(../images/files/image.png); }
959 .icon-file.image-jpeg { background-image: url(../images/files/image.png); }
961 .icon-file.image-jpeg { background-image: url(../images/files/image.png); }
960 .icon-file.image-png { background-image: url(../images/files/image.png); }
962 .icon-file.image-png { background-image: url(../images/files/image.png); }
961 .icon-file.image-tiff { background-image: url(../images/files/image.png); }
963 .icon-file.image-tiff { background-image: url(../images/files/image.png); }
962 .icon-file.application-pdf { background-image: url(../images/files/pdf.png); }
964 .icon-file.application-pdf { background-image: url(../images/files/pdf.png); }
963 .icon-file.application-zip { background-image: url(../images/files/zip.png); }
965 .icon-file.application-zip { background-image: url(../images/files/zip.png); }
964 .icon-file.application-x-gzip { background-image: url(../images/files/zip.png); }
966 .icon-file.application-x-gzip { background-image: url(../images/files/zip.png); }
965
967
966 img.gravatar {
968 img.gravatar {
967 padding: 2px;
969 padding: 2px;
968 border: solid 1px #d5d5d5;
970 border: solid 1px #d5d5d5;
969 background: #fff;
971 background: #fff;
970 vertical-align: middle;
972 vertical-align: middle;
971 }
973 }
972
974
973 div.issue img.gravatar {
975 div.issue img.gravatar {
974 float: left;
976 float: left;
975 margin: 0 6px 0 0;
977 margin: 0 6px 0 0;
976 padding: 5px;
978 padding: 5px;
977 }
979 }
978
980
979 div.issue table img.gravatar {
981 div.issue table img.gravatar {
980 height: 14px;
982 height: 14px;
981 width: 14px;
983 width: 14px;
982 padding: 2px;
984 padding: 2px;
983 float: left;
985 float: left;
984 margin: 0 0.5em 0 0;
986 margin: 0 0.5em 0 0;
985 }
987 }
986
988
987 h2 img.gravatar {
989 h2 img.gravatar {
988 margin: -2px 4px -4px 0;
990 margin: -2px 4px -4px 0;
989 }
991 }
990
992
991 h3 img.gravatar {
993 h3 img.gravatar {
992 margin: -4px 4px -4px 0;
994 margin: -4px 4px -4px 0;
993 }
995 }
994
996
995 h4 img.gravatar {
997 h4 img.gravatar {
996 margin: -6px 4px -4px 0;
998 margin: -6px 4px -4px 0;
997 }
999 }
998
1000
999 td.username img.gravatar {
1001 td.username img.gravatar {
1000 margin: 0 0.5em 0 0;
1002 margin: 0 0.5em 0 0;
1001 vertical-align: top;
1003 vertical-align: top;
1002 }
1004 }
1003
1005
1004 #activity dt img.gravatar {
1006 #activity dt img.gravatar {
1005 float: left;
1007 float: left;
1006 margin: 0 1em 1em 0;
1008 margin: 0 1em 1em 0;
1007 }
1009 }
1008
1010
1009 /* Used on 12px Gravatar img tags without the icon background */
1011 /* Used on 12px Gravatar img tags without the icon background */
1010 .icon-gravatar {
1012 .icon-gravatar {
1011 float: left;
1013 float: left;
1012 margin-right: 4px;
1014 margin-right: 4px;
1013 }
1015 }
1014
1016
1015 #activity dt,
1017 #activity dt,
1016 .journal {
1018 .journal {
1017 clear: left;
1019 clear: left;
1018 }
1020 }
1019
1021
1020 .journal-link {
1022 .journal-link {
1021 float: right;
1023 float: right;
1022 }
1024 }
1023
1025
1024 h2 img { vertical-align:middle; }
1026 h2 img { vertical-align:middle; }
1025
1027
1026 .hascontextmenu { cursor: context-menu; }
1028 .hascontextmenu { cursor: context-menu; }
1027
1029
1028 /***** Media print specific styles *****/
1030 /***** Media print specific styles *****/
1029 @media print {
1031 @media print {
1030 #top-menu, #header, #main-menu, #sidebar, #footer, .contextual, .other-formats { display:none; }
1032 #top-menu, #header, #main-menu, #sidebar, #footer, .contextual, .other-formats { display:none; }
1031 #main { background: #fff; }
1033 #main { background: #fff; }
1032 #content { width: 99%; margin: 0; padding: 0; border: 0; background: #fff; overflow: visible !important;}
1034 #content { width: 99%; margin: 0; padding: 0; border: 0; background: #fff; overflow: visible !important;}
1033 #wiki_add_attachment { display:none; }
1035 #wiki_add_attachment { display:none; }
1034 .hide-when-print { display: none; }
1036 .hide-when-print { display: none; }
1035 .autoscroll {overflow-x: visible;}
1037 .autoscroll {overflow-x: visible;}
1036 table.list {margin-top:0.5em;}
1038 table.list {margin-top:0.5em;}
1037 table.list th, table.list td {border: 1px solid #aaa;}
1039 table.list th, table.list td {border: 1px solid #aaa;}
1038 }
1040 }
1039
1041
1040 /* Accessibility specific styles */
1042 /* Accessibility specific styles */
1041 .hidden-for-sighted {
1043 .hidden-for-sighted {
1042 position:absolute;
1044 position:absolute;
1043 left:-10000px;
1045 left:-10000px;
1044 top:auto;
1046 top:auto;
1045 width:1px;
1047 width:1px;
1046 height:1px;
1048 height:1px;
1047 overflow:hidden;
1049 overflow:hidden;
1048 }
1050 }
General Comments 0
You need to be logged in to leave comments. Login now