From 666e7447a736c16d973255a722e659050d94dacc Mon Sep 17 00:00:00 2001 From: Daniel Ritz Date: Sat, 9 Jan 2016 18:13:18 +0100 Subject: [PATCH] Replace uses of image_tag() with CSS * Replace image_tag() with CSS classes * Create some CSS classes where necessary * Change "check all" positioned on the right in "Trackers -> Summary" and "Roles -> Permissions report" instead of left like in "Worfklow" * Add missing title attribute in a few places * Makes some lines shorter while at it --- app/helpers/application_helper.rb | 34 +++++++++++++----------- app/helpers/email_addresses_helper.rb | 12 ++++----- app/helpers/issues_helper.rb | 9 +++---- app/helpers/journals_helper.rb | 12 ++++++--- app/helpers/watchers_helper.rb | 6 +++-- app/views/admin/info.html.erb | 3 +-- app/views/admin/plugins.html.erb | 4 +-- app/views/attachments/_links.html.erb | 26 ++++++++++-------- app/views/issues/_attributes.html.erb | 12 ++++++--- app/views/issues/_relations.html.erb | 6 +++-- app/views/messages/show.html.erb | 16 ++++++----- app/views/my/blocks/_timelog.html.erb | 13 ++++----- app/views/news/show.html.erb | 6 +++-- app/views/reports/issue_report.html.erb | 35 ++++++++++++++++++++----- app/views/repositories/_related_issues.html.erb | 6 +++-- app/views/roles/permissions.html.erb | 12 ++++++--- app/views/settings/_repositories.html.erb | 15 +++++------ app/views/timelog/_list.html.erb | 14 +++++----- app/views/trackers/fields.html.erb | 15 ++++++----- app/views/workflows/_form.html.erb | 15 ++++++----- app/views/workflows/edit.html.erb | 4 +-- app/views/workflows/index.html.erb | 4 ++- app/views/workflows/permissions.html.erb | 4 +-- public/stylesheets/application.css | 26 +++++++++++++++--- test/functional/issues_controller_test.rb | 4 +-- test/unit/helpers/application_helper_test.rb | 4 +-- 26 files changed, 198 insertions(+), 119 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 8865bc8..12dccea 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -454,18 +454,18 @@ module ApplicationHelper end def reorder_links(name, url, method = :post) - link_to(image_tag('2uparrow.png', :alt => l(:label_sort_highest)), - url.merge({"#{name}[move_to]" => 'highest'}), - :method => method, :title => l(:label_sort_highest)) + - link_to(image_tag('1uparrow.png', :alt => l(:label_sort_higher)), - url.merge({"#{name}[move_to]" => 'higher'}), - :method => method, :title => l(:label_sort_higher)) + - link_to(image_tag('1downarrow.png', :alt => l(:label_sort_lower)), - url.merge({"#{name}[move_to]" => 'lower'}), - :method => method, :title => l(:label_sort_lower)) + - link_to(image_tag('2downarrow.png', :alt => l(:label_sort_lowest)), - url.merge({"#{name}[move_to]" => 'lowest'}), - :method => method, :title => l(:label_sort_lowest)) + link_to('', + url.merge({"#{name}[move_to]" => 'highest'}), :method => method, + :title => l(:label_sort_highest), :class => 'icon-only icon-move-top') + + link_to('', + url.merge({"#{name}[move_to]" => 'higher'}), :method => method, + :title => l(:label_sort_higher), :class => 'icon-only icon-move-up') + + link_to('', + url.merge({"#{name}[move_to]" => 'lower'}), :method => method, + :title => l(:label_sort_lower), :class => 'icon-only icon-move-down') + + link_to('', + url.merge({"#{name}[move_to]" => 'lowest'}), :method => method, + :title => l(:label_sort_lowest), :class => 'icon-only icon-move-bottom') end def breadcrumb(*args) @@ -887,7 +887,8 @@ module ApplicationHelper @current_section += 1 if @current_section > 1 content_tag('div', - link_to(image_tag('edit.png'), options[:edit_section_links].merge(:section => @current_section)), + link_to('', options[:edit_section_links].merge(:section => @current_section), + :class => 'icon-only icon-edit'), :class => 'contextual', :title => l(:button_edit_section), :id => "section-#{@current_section}") + heading.html_safe @@ -1098,9 +1099,10 @@ module ApplicationHelper end def toggle_checkboxes_link(selector) - link_to_function image_tag('toggle_check.png'), + link_to_function '', "toggleCheckboxesBySelector('#{selector}')", - :title => "#{l(:button_check_all)} / #{l(:button_uncheck_all)}" + :title => "#{l(:button_check_all)} / #{l(:button_uncheck_all)}", + :class => 'toggle-checkboxes' end def progress_bar(pcts, options={}) @@ -1122,7 +1124,7 @@ module ApplicationHelper def checked_image(checked=true) if checked - @checked_image_tag ||= image_tag('toggle_check.png') + @checked_image_tag ||= content_tag(:span, nil, :class => 'icon-only icon-checked') end end diff --git a/app/helpers/email_addresses_helper.rb b/app/helpers/email_addresses_helper.rb index f397e99..c30aaa6 100644 --- a/app/helpers/email_addresses_helper.rb +++ b/app/helpers/email_addresses_helper.rb @@ -22,17 +22,17 @@ module EmailAddressesHelper # Returns a link to enable or disable notifications for the address def toggle_email_address_notify_link(address) if address.notify? - link_to image_tag('email.png'), + link_to '', user_email_address_path(address.user, address, :notify => '0'), - :method => :put, + :method => :put, :remote => true, :title => l(:label_disable_notifications), - :remote => true + :class => 'icon icon-email' else - link_to image_tag('email_disabled.png'), + link_to '', user_email_address_path(address.user, address, :notify => '1'), - :method => :put, + :method => :put, :remote => true, :title => l(:label_enable_notifications), - :remote => true + :class => 'icon icon-email-disabled' end end end diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb index 497bea3..9d123ca 100644 --- a/app/helpers/issues_helper.rb +++ b/app/helpers/issues_helper.rb @@ -442,11 +442,10 @@ module IssuesHelper # Link to the attachment if it has not been removed value = link_to_attachment(atta, :download => true, :only_path => options[:only_path]) if options[:only_path] != false && atta.is_text? - value += link_to( - image_tag('magnifier.png'), - :controller => 'attachments', :action => 'show', - :id => atta, :filename => atta.filename - ) + value += link_to('', + { :controller => 'attachments', :action => 'show', + :id => atta, :filename => atta.filename }, + :class => 'icon icon-magnifier') end else value = content_tag("i", h(value)) if value diff --git a/app/helpers/journals_helper.rb b/app/helpers/journals_helper.rb index d6d6ec4..4e9fd38 100644 --- a/app/helpers/journals_helper.rb +++ b/app/helpers/journals_helper.rb @@ -30,14 +30,18 @@ module JournalsHelper editable = User.current.logged? && (User.current.allowed_to?(:edit_issue_notes, issue.project) || (journal.user == User.current && User.current.allowed_to?(:edit_own_issue_notes, issue.project))) links = [] if !journal.notes.blank? - links << link_to(image_tag('comment.png'), + links << link_to('', {:controller => 'journals', :action => 'new', :id => issue, :journal_id => journal}, :remote => true, :method => 'post', - :title => l(:button_quote)) if options[:reply_links] - links << link_to_in_place_notes_editor(image_tag('edit.png'), "journal-#{journal.id}-notes", + :title => l(:button_quote), + :class => 'icon-only icon-comment' + ) if options[:reply_links] + links << link_to_in_place_notes_editor('', "journal-#{journal.id}-notes", { :controller => 'journals', :action => 'edit', :id => journal, :format => 'js' }, - :title => l(:button_edit)) if editable + :title => l(:button_edit), + :class => 'icon-only icon-edit' + ) if editable end content << content_tag('div', links.join(' ').html_safe, :class => 'contextual') unless links.empty? content << textilizable(journal, :notes) diff --git a/app/helpers/watchers_helper.rb b/app/helpers/watchers_helper.rb index 4bf6424..9a5de74 100644 --- a/app/helpers/watchers_helper.rb +++ b/app/helpers/watchers_helper.rb @@ -58,8 +58,10 @@ module WatchersHelper :object_id => object.id, :user_id => user} s << ' ' - s << link_to(image_tag('delete.png'), url, - :remote => true, :method => 'delete', :class => "delete") + s << link_to('', url, + :remote => true, :method => 'delete', + :class => "delete icon-only icon-del", + :title => l(:button_delete)) end content << content_tag('li', s, :class => "user-#{user.id}") end diff --git a/app/views/admin/info.html.erb b/app/views/admin/info.html.erb index 14d33ba..2be1d28 100644 --- a/app/views/admin/info.html.erb +++ b/app/views/admin/info.html.erb @@ -6,8 +6,7 @@ <% @checklist.each do |label, result| %> <%= label.is_a?(Symbol) ? l(label) : label %> - <%= image_tag((result ? 'true.png' : 'exclamation.png'), - :style => "vertical-align:bottom;") %> + <% end %> diff --git a/app/views/admin/plugins.html.erb b/app/views/admin/plugins.html.erb index 47c1dfa..020dbc8 100644 --- a/app/views/admin/plugins.html.erb +++ b/app/views/admin/plugins.html.erb @@ -36,7 +36,7 @@ $(document).ready(function(){ $("table.plugins td.version span").addClass("unknown"); $.each(data, function(plugin_id, plugin_data){ var s = $("tr#plugin-"+plugin_id+" td.version span"); - s.removeClass("icon-checked icon-warning unknown"); + s.removeClass("icon-ok icon-warning unknown"); if (plugin_data.url) { if (s.parent("a").length>0) { s.unwrap(); @@ -45,7 +45,7 @@ $(document).ready(function(){ s.wrap($("").attr("href", plugin_data.url).attr("target", "_blank")); } if (plugin_data.c == s.text()) { - s.addClass("icon-checked"); + s.addClass("icon-ok"); } else if (plugin_data.c) { s.addClass("icon-warning"); s.attr("title", "<%= escape_javascript l(:label_latest_compatible_version) %>: "+plugin_data.c); diff --git a/app/views/attachments/_links.html.erb b/app/views/attachments/_links.html.erb index 0804b80..53324c2 100644 --- a/app/views/attachments/_links.html.erb +++ b/app/views/attachments/_links.html.erb @@ -1,24 +1,28 @@
- <%= link_to image_tag('edit.png'), - container_attachments_edit_path(container), - :title => l(:label_edit_attachments) if options[:editable] %> + <%= link_to('', + container_attachments_edit_path(container), + :title => l(:label_edit_attachments), + :class => 'icon-only icon-edit' + ) if options[:editable] %>
<% for attachment in attachments %>

<%= link_to_attachment attachment, :class => 'icon icon-attachment', :download => true -%> <% if attachment.is_text? %> - <%= link_to image_tag('magnifier.png'), - :controller => 'attachments', :action => 'show', - :id => attachment, :filename => attachment.filename %> + <%= link_to '', + { :controller => 'attachments', :action => 'show', + :id => attachment, :filename => attachment.filename }, + :class => 'icon icon-magnifier', + :title => l(:button_view) %> <% end %> <%= " - #{attachment.description}" unless attachment.description.blank? %> (<%= number_to_human_size attachment.filesize %>) <% if options[:deletable] %> - <%= link_to image_tag('delete.png'), attachment_path(attachment), - :data => {:confirm => l(:text_are_you_sure)}, - :method => :delete, - :class => 'delete', - :title => l(:button_delete) %> + <%= link_to '', attachment_path(attachment), + :data => {:confirm => l(:text_are_you_sure)}, + :method => :delete, + :class => 'delete icon-only icon-del', + :title => l(:button_delete) %> <% end %> <% if options[:author] %> <%= attachment.author %>, <%= format_time(attachment.created_on) %> diff --git a/app/views/issues/_attributes.html.erb b/app/views/issues/_attributes.html.erb index 07b863c..f0a9890 100644 --- a/app/views/issues/_attributes.html.erb +++ b/app/views/issues/_attributes.html.erb @@ -20,22 +20,26 @@ <% if @issue.safe_attribute?('category_id') && @issue.project.issue_categories.any? %>

<%= f.select :category_id, (@issue.project.issue_categories.collect {|c| [c.name, c.id]}), :include_blank => true, :required => @issue.required_attribute?('category_id') %> -<%= link_to(image_tag('add.png', :style => 'vertical-align: middle;'), +<%= link_to('', new_project_issue_category_path(@issue.project), :remote => true, :method => 'get', :title => l(:label_issue_category_new), - :tabindex => 200) if User.current.allowed_to?(:manage_categories, @issue.project) %>

+ :tabindex => 200, + :class => 'icon-only icon-add' + ) if User.current.allowed_to?(:manage_categories, @issue.project) %>

<% end %> <% if @issue.safe_attribute?('fixed_version_id') && @issue.assignable_versions.any? %>

<%= f.select :fixed_version_id, version_options_for_select(@issue.assignable_versions, @issue.fixed_version), :include_blank => true, :required => @issue.required_attribute?('fixed_version_id') %> -<%= link_to(image_tag('add.png', :style => 'vertical-align: middle;'), +<%= link_to('', new_project_version_path(@issue.project), :remote => true, :method => 'get', :title => l(:label_version_new), - :tabindex => 200) if User.current.allowed_to?(:manage_versions, @issue.project) %> + :tabindex => 200, + :class => 'icon-only icon-add' + ) if User.current.allowed_to?(:manage_versions, @issue.project) %>

<% end %>
diff --git a/app/views/issues/_relations.html.erb b/app/views/issues/_relations.html.erb index d3e7f4d..e57669c 100644 --- a/app/views/issues/_relations.html.erb +++ b/app/views/issues/_relations.html.erb @@ -19,12 +19,14 @@ <%= other_issue.status.name %> <%= format_date(other_issue.start_date) %> <%= format_date(other_issue.due_date) %> - <%= link_to image_tag('link_break.png'), + <%= link_to('', relation_path(relation), :remote => true, :method => :delete, :data => {:confirm => l(:text_are_you_sure)}, - :title => l(:label_relation_delete) if User.current.allowed_to?(:manage_issue_relations, @project) %> + :title => l(:label_relation_delete), + :class => 'icon-only icon-link-break' + ) if User.current.allowed_to?(:manage_issue_relations, @project) %> <% end %> diff --git a/app/views/messages/show.html.erb b/app/views/messages/show.html.erb index 23e6f02..60c7d5f 100644 --- a/app/views/messages/show.html.erb +++ b/app/views/messages/show.html.erb @@ -39,22 +39,26 @@
">
<%= link_to( - image_tag('comment.png'), + '', {:action => 'quote', :id => message}, :remote => true, :method => 'get', - :title => l(:button_quote)) if !@topic.locked? && authorize_for('messages', 'reply') %> + :title => l(:button_quote), + :class => 'icon icon-comment' + ) if !@topic.locked? && authorize_for('messages', 'reply') %> <%= link_to( - image_tag('edit.png'), + '', {:action => 'edit', :id => message}, - :title => l(:button_edit) + :title => l(:button_edit), + :class => 'icon icon-edit' ) if message.editable_by?(User.current) %> <%= link_to( - image_tag('delete.png'), + '', {:action => 'destroy', :id => message}, :method => :post, :data => {:confirm => l(:text_are_you_sure)}, - :title => l(:button_delete) + :title => l(:button_delete), + :class => 'icon icon-del' ) if message.destroyable_by?(User.current) %>

diff --git a/app/views/my/blocks/_timelog.html.erb b/app/views/my/blocks/_timelog.html.erb index 747039c..76b974e 100644 --- a/app/views/my/blocks/_timelog.html.erb +++ b/app/views/my/blocks/_timelog.html.erb @@ -42,12 +42,13 @@ entries_by_day = entries.group_by(&:spent_on) <%= html_hours("%.2f" % entry.hours) %> <% if entry.editable_by?(@user) -%> - <%= link_to image_tag('edit.png'), {:controller => 'timelog', :action => 'edit', :id => entry}, - :title => l(:button_edit) %> - <%= link_to image_tag('delete.png'), {:controller => 'timelog', :action => 'destroy', :id => entry}, - :data => {:confirm => l(:text_are_you_sure)}, - :method => :delete, - :title => l(:button_delete) %> + <%= link_to '', {:controller => 'timelog', :action => 'edit', :id => entry}, + :title => l(:button_edit), + :class => 'icon-only icon-edit' %> + <%= link_to '', {:controller => 'timelog', :action => 'destroy', :id => entry}, + :data => {:confirm => l(:text_are_you_sure)}, :method => :delete, + :title => l(:button_delete), + :class => 'icon-only icon-del' %> <% end -%> diff --git a/app/views/news/show.html.erb b/app/views/news/show.html.erb index c188d2e..008a075 100644 --- a/app/views/news/show.html.erb +++ b/app/views/news/show.html.erb @@ -36,8 +36,10 @@ <% @comments.each do |comment| %> <% next if comment.new_record? %>
- <%= link_to_if_authorized image_tag('delete.png'), {:controller => 'comments', :action => 'destroy', :id => @news, :comment_id => comment}, - :data => {:confirm => l(:text_are_you_sure)}, :method => :delete, :title => l(:button_delete) %> + <%= link_to_if_authorized '', {:controller => 'comments', :action => 'destroy', :id => @news, :comment_id => comment}, + :data => {:confirm => l(:text_are_you_sure)}, :method => :delete, + :title => l(:button_delete), + :class => 'icon-only icon-del' %>

<%= avatar(comment.author, :size => "24") %><%= authoring comment.created_on, comment.author %>

<%= textilizable(comment.comments) %> diff --git a/app/views/reports/issue_report.html.erb b/app/views/reports/issue_report.html.erb index d40841d..1cb3ccd 100644 --- a/app/views/reports/issue_report.html.erb +++ b/app/views/reports/issue_report.html.erb @@ -1,31 +1,52 @@

<%=l(:label_report_plural)%>

-

<%=l(:field_tracker)%>  <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'tracker') %>

+

+ <%=l(:field_tracker)%>  + <%= link_to '', project_issues_report_details_path(@project, :detail => 'tracker'), :class => 'icon-only icon-zoom-in' %> +

<%= render :partial => 'simple', :locals => { :data => @issues_by_tracker, :field_name => "tracker_id", :rows => @trackers } %>
-

<%=l(:field_priority)%>  <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'priority') %>

+

+ <%=l(:field_priority)%>  + <%= link_to '', project_issues_report_details_path(@project, :detail => 'priority'), :class => 'icon-only icon-zoom-in' %> +

<%= render :partial => 'simple', :locals => { :data => @issues_by_priority, :field_name => "priority_id", :rows => @priorities } %>
-

<%=l(:field_assigned_to)%>  <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'assigned_to') %>

+

+ <%=l(:field_assigned_to)%>  + <%= link_to '', project_issues_report_details_path(@project, :detail => 'assigned_to'), :class => 'icon-only icon-zoom-in' %> +

<%= render :partial => 'simple', :locals => { :data => @issues_by_assigned_to, :field_name => "assigned_to_id", :rows => @assignees } %>
-

<%=l(:field_author)%>  <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'author') %>

+

+ <%=l(:field_author)%>  + <%= link_to '', project_issues_report_details_path(@project, :detail => 'author'), :class => 'icon-only icon-zoom-in' %> +

<%= render :partial => 'simple', :locals => { :data => @issues_by_author, :field_name => "author_id", :rows => @authors } %>
<%= call_hook(:view_reports_issue_report_split_content_left, :project => @project) %>
-

<%=l(:field_version)%>  <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'version') %>

+

+ <%=l(:field_version)%>  + <%= link_to '', project_issues_report_details_path(@project, :detail => 'version'), :class => 'icon-only icon-zoom-in' %> +

<%= render :partial => 'simple', :locals => { :data => @issues_by_version, :field_name => "fixed_version_id", :rows => @versions } %>
<% if @project.children.any? %> -

<%=l(:field_subproject)%>  <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'subproject') %>

+

+ <%=l(:field_subproject)%>  + <%= link_to '', project_issues_report_details_path(@project, :detail => 'subproject'), :class => 'icon-only icon-zoom-in' %> +

<%= render :partial => 'simple', :locals => { :data => @issues_by_subproject, :field_name => "project_id", :rows => @subprojects } %>
<% end %> -

<%=l(:field_category)%>  <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'category') %>

+

+ <%=l(:field_category)%>  + <%= link_to '', project_issues_report_details_path(@project, :detail => 'category'), :class => 'icon-only icon-zoom-in' %> +

<%= render :partial => 'simple', :locals => { :data => @issues_by_category, :field_name => "category_id", :rows => @categories } %>
<%= call_hook(:view_reports_issue_report_split_content_right, :project => @project) %> diff --git a/app/views/repositories/_related_issues.html.erb b/app/views/repositories/_related_issues.html.erb index 649cc70..ea45391 100644 --- a/app/views/repositories/_related_issues.html.erb +++ b/app/views/repositories/_related_issues.html.erb @@ -11,14 +11,16 @@
    <% @changeset.issues.visible.each do |issue| %>
  • "><%= link_to_issue issue %> - <%= link_to(image_tag('link_break.png'), + <%= link_to('', {:controller => 'repositories', :action => 'remove_related_issue', :id => @project, :repository_id => @repository.identifier_param, :rev => @changeset.identifier, :issue_id => issue}, :remote => true, :method => :delete, :data => {:confirm => l(:text_are_you_sure)}, - :title => l(:label_relation_delete)) if manage_allowed %> + :title => l(:label_relation_delete), + :class => 'icon-only icon-link-break' + ) if manage_allowed %>
  • <% end %>
diff --git a/app/views/roles/permissions.html.erb b/app/views/roles/permissions.html.erb index cea4bd9..b403cff 100644 --- a/app/views/roles/permissions.html.erb +++ b/app/views/roles/permissions.html.erb @@ -9,9 +9,11 @@ <%=l(:label_permissions)%> <% @roles.each do |role| %> + <%= link_to_function('', + "toggleCheckboxesBySelector('input.role-#{role.id}')", + :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}", + :class => 'icon-only icon-checked') %> <%= content_tag(role.builtin? ? 'em' : 'span', role.name) %> - <%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('input.role-#{role.id}')", - :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %> <% end %> @@ -33,8 +35,10 @@ <% perms_by_module[mod].each do |permission| %> - <%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('.permission-#{permission.name} input')", - :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %> + <%= link_to_function('', + "toggleCheckboxesBySelector('.permission-#{permission.name} input')", + :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}", + :class => 'icon-only icon-checked') %> <%= l_or_humanize(permission.name, :prefix => 'permission_') %> <% @roles.each do |role| %> diff --git a/app/views/settings/_repositories.html.erb b/app/views/settings/_repositories.html.erb index b3c5b1b..bb7a237 100644 --- a/app/views/settings/_repositories.html.erb +++ b/app/views/settings/_repositories.html.erb @@ -23,12 +23,7 @@ <% if enabled %> - <%= - image_tag( - (scm_class.scm_available ? 'true.png' : 'exclamation.png'), - :style => "vertical-align:bottom;" - ) - %> + <%= scm_class.scm_command %> <% end %> @@ -124,7 +119,8 @@ ) %> - <%= link_to(image_tag('delete.png'), '#', :class => 'delete-commit-keywords') %> + <%= link_to('', '#', + :class => 'delete-commit-keywords icon-only icon-del') %> <% end %> @@ -133,7 +129,10 @@ <%= l(:text_comma_separated) %> - <%= link_to(image_tag('add.png'), '#', :class => 'add-commit-keywords') %> + + <%= link_to('', '#', + :class => 'add-commit-keywords icon-only icon-add') %> + diff --git a/app/views/timelog/_list.html.erb b/app/views/timelog/_list.html.erb index 7ec60cd..df497d4 100644 --- a/app/views/timelog/_list.html.erb +++ b/app/views/timelog/_list.html.erb @@ -21,12 +21,14 @@ <%= raw @query.inline_columns.map {|column| "#{column_content(column, entry)}"}.join %> <% if entry.editable_by?(User.current) -%> - <%= link_to image_tag('edit.png'), edit_time_entry_path(entry), - :title => l(:button_edit) %> - <%= link_to image_tag('delete.png'), time_entry_path(entry), - :data => {:confirm => l(:text_are_you_sure)}, - :method => :delete, - :title => l(:button_delete) %> + <%= link_to '', edit_time_entry_path(entry), + :title => l(:button_edit), + :class => 'icon icon-edit' %> + <%= link_to '', time_entry_path(entry), + :data => {:confirm => l(:text_are_you_sure)}, + :method => :delete, + :title => l(:button_delete), + :class => 'icon-only icon-del' %> <% end -%> diff --git a/app/views/trackers/fields.html.erb b/app/views/trackers/fields.html.erb index 285a01b..b53f1fa 100644 --- a/app/views/trackers/fields.html.erb +++ b/app/views/trackers/fields.html.erb @@ -9,9 +9,10 @@ <% @trackers.each do |tracker| %> + <%= link_to_function('', "toggleCheckboxesBySelector('input.tracker-#{tracker.id}')", + :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}", + :class => 'icon-only icon-checked') %> <%= tracker.name %> - <%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('input.tracker-#{tracker.id}')", - :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %> <% end %> @@ -26,8 +27,9 @@ <% Tracker::CORE_FIELDS.each do |field| %> "> - <%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('input.core-field-#{field}')", - :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %> + <%= link_to_function('', "toggleCheckboxesBySelector('input.core-field-#{field}')", + :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}", + :class => 'icon-only icon-checked') %> <%= l("field_#{field}".sub(/_id$/, '')) %> <% @trackers.each do |tracker| %> @@ -48,8 +50,9 @@ <% @custom_fields.each do |field| %> "> - <%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('input.custom-field-#{field.id}')", - :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %> + <%= link_to_function('', "toggleCheckboxesBySelector('input.custom-field-#{field.id}')", + :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}", + :class => 'icon-only icon-checked') %> <%= field.name %> <% @trackers.each do |tracker| %> diff --git a/app/views/workflows/_form.html.erb b/app/views/workflows/_form.html.erb index 76f6fef..9fb2705 100644 --- a/app/views/workflows/_form.html.erb +++ b/app/views/workflows/_form.html.erb @@ -2,8 +2,9 @@ - <%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('table.transitions-#{name} input')", - :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %> + <%= link_to_function('', "toggleCheckboxesBySelector('table.transitions-#{name} input')", + :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}", + :class => 'icon-only icon-checked') %> <%=l(:label_current_status)%> <%=l(:label_new_statuses_allowed)%> @@ -12,8 +13,9 @@ <% for new_status in @statuses %> - <%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('table.transitions-#{name} input.new-status-#{new_status.id}')", - :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %> + <%= link_to_function('', "toggleCheckboxesBySelector('table.transitions-#{name} input.new-status-#{new_status.id}')", + :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}", + :class => 'icon-only icon-checked') %> <%= new_status.name %> <% end %> @@ -24,8 +26,9 @@ <% next if old_status.nil? && name != 'always' %> "> - <%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('table.transitions-#{name} input.old-status-#{old_status.try(:id) || 0}')", - :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %> + <%= link_to_function('', "toggleCheckboxesBySelector('table.transitions-#{name} input.old-status-#{old_status.try(:id) || 0}')", + :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}", + :class => 'icon-only icon-checked') %> <%= old_status ? old_status.name : content_tag('em', l(:label_issue_new)) %> diff --git a/app/views/workflows/edit.html.erb b/app/views/workflows/edit.html.erb index ab9f72b..3eac0a3 100644 --- a/app/views/workflows/edit.html.erb +++ b/app/views/workflows/edit.html.erb @@ -16,12 +16,12 @@ - <%= image_tag 'bullet_toggle_plus.png' %> + - <%= image_tag 'bullet_toggle_plus.png' %> + <%= submit_tag l(:button_edit), :name => nil %> diff --git a/app/views/workflows/index.html.erb b/app/views/workflows/index.html.erb index 3ee55d1..1a07805 100644 --- a/app/views/workflows/index.html.erb +++ b/app/views/workflows/index.html.erb @@ -22,7 +22,9 @@ <% @roles.each do |role| -%> <% count = @workflow_counts[[tracker.id, role.id]] || 0 %> - <%= link_to((count > 0 ? count : image_tag('false.png')), {:action => 'edit', :role_id => role, :tracker_id => tracker}, :title => l(:button_edit)) %> + <%= link_to((count > 0 ? count : content_tag(:span, nil, :class => 'icon-only icon-not-ok')), + {:action => 'edit', :role_id => role, :tracker_id => tracker}, + :title => l(:button_edit)) %> <% end -%> diff --git a/app/views/workflows/permissions.html.erb b/app/views/workflows/permissions.html.erb index 0374021..3b8f84e 100644 --- a/app/views/workflows/permissions.html.erb +++ b/app/views/workflows/permissions.html.erb @@ -16,12 +16,12 @@ - <%= image_tag 'bullet_toggle_plus.png' %> + - <%= image_tag 'bullet_toggle_plus.png' %> + <%= submit_tag l(:button_edit), :name => nil %> diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index 2885920..1fa0f9b 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -124,6 +124,9 @@ a.collapsible {padding-left: 12px; background: url(../images/arrow_expanded.png) a.collapsible.collapsed {background: url(../images/arrow_collapsed.png) no-repeat -5px 40%;} a#toggle-completed-versions {color:#999;} + +a.toggle-checkboxes { margin-left: 5px; padding-left: 12px; background: url(../images/toggle_check.png) no-repeat 0% 50%; } + /***** Tables *****/ table.list { border: 1px solid #e4e4e4; border-collapse: collapse; width: 100%; margin-bottom: 4px; } table.list th { background-color:#EEEEEE; padding: 4px; white-space:nowrap; } @@ -291,7 +294,7 @@ div.news h3 { background: url(../images/news.png) no-repeat 0% 50%; padding-left div.projects h3 { background: url(../images/projects.png) no-repeat 0% 50%; padding-left: 20px; } #watchers select {width: 95%; display: block;} -#watchers a.delete {opacity: 0.4; vertical-align: middle;} +#watchers a.delete {opacity: 0.4; margin-left: 5px;} #watchers a.delete:hover {opacity: 1;} #watchers img.gravatar {margin: 0 4px 2px 0;} @@ -385,7 +388,7 @@ fieldset#filters td.values input {height:1em;} .add-filter {width:35%; float:right; text-align: right; vertical-align: top;} #issue_is_private_wrap {float:right; margin-right:1em;} -.toggle-multiselect {background: url(../images/bullet_toggle_plus.png) no-repeat 0% 40%; padding-left:8px; margin-left:0; cursor:pointer;} +.toggle-multiselect {background: url(../images/bullet_toggle_plus.png) no-repeat 0% 40%; padding-left:16px; margin-left:0; margin-right:5px; cursor:pointer;} .buttons { font-size: 0.9em; margin-bottom: 1.4em; margin-top: 1em; } div#issue-changesets {float:right; width:45%; margin-left: 1em; margin-bottom: 1em; background: #fff; padding-left: 1em; font-size: 90%;} @@ -455,6 +458,7 @@ div.wiki-page .contextual a {opacity: 0.4} div.wiki-page .contextual a:hover {opacity: 1} form .attributes select { width: 60%; } +form .attributes select + a.icon-only { vertical-align: middle; margin-left: 4px; } input#issue_subject, input#document_title { width: 99%; } select#issue_done_ratio { width: 95px; } @@ -1083,6 +1087,11 @@ a.close-icon:hover {background-image:url('../images/close_hl.png');} padding-top: 2px; padding-bottom: 3px; } +.icon-only { + background-position: 0% 50%; + background-repeat: no-repeat; + padding-left: 16px; +} .icon-add { background-image: url(../images/add.png); } .icon-edit { background-image: url(../images/edit.png); } @@ -1105,12 +1114,13 @@ a.close-icon:hover {background-image:url('../images/close_hl.png');} .icon-time-add { background-image: url(../images/time_add.png); } .icon-stats { background-image: url(../images/stats.png); } .icon-warning { background-image: url(../images/warning.png); } +.icon-error { background-image: url(../images/exclamation.png); } .icon-fav { background-image: url(../images/fav.png); } .icon-fav-off { background-image: url(../images/fav_off.png); } .icon-reload { background-image: url(../images/reload.png); } .icon-lock { background-image: url(../images/locked.png); } .icon-unlock { background-image: url(../images/unlock.png); } -.icon-checked { background-image: url(../images/true.png); } +.icon-checked { background-image: url(../images/toggle_check.png); } .icon-details { background-image: url(../images/zoom_in.png); } .icon-report { background-image: url(../images/report.png); } .icon-comment { background-image: url(../images/comment.png); } @@ -1119,9 +1129,19 @@ a.close-icon:hover {background-image:url('../images/close_hl.png');} .icon-issue { background-image: url(../images/ticket.png); } .icon-zoom-in { background-image: url(../images/zoom_in.png); } .icon-zoom-out { background-image: url(../images/zoom_out.png); } +.icon-magnifier { background-image: url(../images/magnifier.png); } .icon-passwd { background-image: url(../images/textfield_key.png); } .icon-test { background-image: url(../images/bullet_go.png); } +.icon-email { background-image: url(../images/email.png); } +.icon-email-disabled { background-image: url(../images/email_disabled.png); } .icon-email-add { background-image: url(../images/email_add.png); } +.icon-move-up { background-image: url(../images/1uparrow.png); } +.icon-move-top { background-image: url(../images/2uparrow.png); } +.icon-move-down { background-image: url(../images/1downarrow.png); } +.icon-move-bottom { background-image: url(../images/2downarrow.png); } +.icon-ok { background-image: url(../images/true.png); } +.icon-not-ok { background-image: url(../images/false.png); } +.icon-link-break { background-image: url(../images/link_break.png); } .icon-file { background-image: url(../images/files/default.png); } .icon-file.text-plain { background-image: url(../images/files/text.png); } diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index 8cbd99d..fdf1498 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -1424,7 +1424,7 @@ class IssuesControllerTest < ActionController::TestCase assert_select 'div#watchers ul' do assert_select 'li' do assert_select 'a[href="/users/2"]' - assert_select 'a img[alt=Delete]' + assert_select 'a[class*=delete]' end end end @@ -1441,7 +1441,7 @@ class IssuesControllerTest < ActionController::TestCase assert_select 'li' do assert_select 'img.gravatar' assert_select 'a[href="/users/2"]' - assert_select 'a img[alt=Delete]' + assert_select 'a[class*=delete]' end end end diff --git a/test/unit/helpers/application_helper_test.rb b/test/unit/helpers/application_helper_test.rb index 6b0d1c7..6c0d7ab 100644 --- a/test/unit/helpers/application_helper_test.rb +++ b/test/unit/helpers/application_helper_test.rb @@ -1243,14 +1243,14 @@ RAW # heading that contains inline code assert_match Regexp.new('
' + - 'Edit
' + + '
' + '' + '

Subtitle with inline code

'), result # last heading assert_match Regexp.new('
' + - 'Edit
' + + '
' + '' + '

Subtitle after pre tag

'), result -- 2.6.3