diff --git a/app/helpers/context_menus_helper.rb b/app/helpers/context_menus_helper.rb index e3cf728..45b411d 100644 --- a/app/helpers/context_menus_helper.rb +++ b/app/helpers/context_menus_helper.rb @@ -21,7 +21,7 @@ module ContextMenusHelper def context_menu_link(name, url, options={}) options[:class] ||= '' if options.delete(:selected) - options[:class] << ' icon-checked disabled' + options[:class] << ' icon icon-checked disabled' options[:disabled] = true end if options.delete(:disabled) diff --git a/app/views/context_menus/issues.html.erb b/app/views/context_menus/issues.html.erb index 94bb3ea..f5b0170 100644 --- a/app/views/context_menus/issues.html.erb +++ b/app/views/context_menus/issues.html.erb @@ -3,10 +3,10 @@ <% if @issue -%>
  • <%= context_menu_link l(:button_edit), edit_issue_path(@issue), - :class => 'icon-edit', :disabled => !@can[:edit] %>
  • + :class => 'icon icon-edit', :disabled => !@can[:edit] %> <% else %>
  • <%= context_menu_link l(:button_edit), bulk_edit_issues_path(:ids => @issue_ids), - :class => 'icon-edit', :disabled => !@can[:edit] %>
  • + :class => 'icon icon-edit', :disabled => !@can[:edit] %> <% end %> <% if @allowed_statuses.present? %> @@ -124,7 +124,7 @@
  • <%= context_menu_link l(:button_add), new_watchers_path(:object_type => 'issue', :object_id => @issue_ids), :remote => true, - :class => 'icon-add' %>
  • + :class => 'icon icon-add' %> <% end %> @@ -135,22 +135,22 @@ <% unless @issue %>
  • <%= context_menu_link l(:button_filter), _project_issues_path(@project, :set_filter => 1, :status_id => "*", :issue_id => @issue_ids.join(",")), - :class => 'icon-list' %>
  • + :class => 'icon icon-list' %> <% end %> <% if @issue.present? %> <% if @can[:log_time] -%>
  • <%= context_menu_link l(:button_log_time), new_issue_time_entry_path(@issue), - :class => 'icon-time-add' %>
  • + :class => 'icon icon-time-add' %> <% end %>
  • <%= context_menu_link l(:button_copy), project_copy_issue_path(@project, @issue), - :class => 'icon-copy', :disabled => !@can[:copy] %>
  • + :class => 'icon icon-copy', :disabled => !@can[:copy] %> <% else %>
  • <%= context_menu_link l(:button_copy), bulk_edit_issues_path(:ids => @issue_ids, :copy => '1'), - :class => 'icon-copy', :disabled => !@can[:copy] %>
  • + :class => 'icon icon-copy', :disabled => !@can[:copy] %> <% end %>
  • <%= context_menu_link l(:button_delete), issues_path(:ids => @issue_ids, :back_url => @back), - :method => :delete, :data => {:confirm => issues_destroy_confirmation_message(@issues)}, :class => 'icon-del', :disabled => !@can[:delete] %>
  • + :method => :delete, :data => {:confirm => issues_destroy_confirmation_message(@issues)}, :class => 'icon icon-del', :disabled => !@can[:delete] %> <%= call_hook(:view_issues_context_menu_end, {:issues => @issues, :can => @can, :back => @back }) %> diff --git a/public/fonts/font-awesome/FontAwesome.otf b/public/fonts/font-awesome/FontAwesome.otf new file mode 100644 index 0000000..d4de13e Binary files /dev/null and b/public/fonts/font-awesome/FontAwesome.otf differ diff --git a/public/fonts/font-awesome/fontawesome-webfont.eot b/public/fonts/font-awesome/fontawesome-webfont.eot new file mode 100644 index 0000000..c7b00d2 Binary files /dev/null and b/public/fonts/font-awesome/fontawesome-webfont.eot differ diff --git a/public/fonts/font-awesome/fontawesome-webfont.svg b/public/fonts/font-awesome/fontawesome-webfont.svg new file mode 100644 index 0000000..8b66187 --- /dev/null +++ b/public/fonts/font-awesome/fontawesome-webfont.svg @@ -0,0 +1,685 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/fonts/font-awesome/fontawesome-webfont.ttf b/public/fonts/font-awesome/fontawesome-webfont.ttf new file mode 100644 index 0000000..f221e50 Binary files /dev/null and b/public/fonts/font-awesome/fontawesome-webfont.ttf differ diff --git a/public/fonts/font-awesome/fontawesome-webfont.woff b/public/fonts/font-awesome/fontawesome-webfont.woff new file mode 100644 index 0000000..6e7483c Binary files /dev/null and b/public/fonts/font-awesome/fontawesome-webfont.woff differ diff --git a/public/fonts/font-awesome/fontawesome-webfont.woff2 b/public/fonts/font-awesome/fontawesome-webfont.woff2 new file mode 100644 index 0000000..7eb74fd Binary files /dev/null and b/public/fonts/font-awesome/fontawesome-webfont.woff2 differ diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index da7fc29..853e4ba 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -1,3 +1,14 @@ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/font-awesome/fontawesome-webfont.eot?v=4.6.3'); + src: url('../fonts/font-awesome/fontawesome-webfont.eot?#iefix&v=4.6.3') format('embedded-opentype'), + url('../fonts/font-awesome/fontawesome-webfont.woff2?v=4.6.3') format('woff2'), + url('../fonts/font-awesome/fontawesome-webfont.woff?v=4.6.3') format('woff'), + url('../fonts/font-awesome/fontawesome-webfont.ttf?v=4.6.3') format('truetype'), + url('../fonts/font-awesome/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} html {overflow-y:scroll;} body { font-family: Verdana, sans-serif; font-size: 12px; color:#333; margin: 0; padding: 0; min-width: 900px; } @@ -1133,15 +1144,17 @@ a.close-icon:hover {background-image:url('../images/close_hl.png');} /***** Icons *****/ .icon { - background-position: 0% 50%; - background-repeat: no-repeat; - padding-left: 20px; - padding-top: 2px; - padding-bottom: 3px; +} +.icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: 14px; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + padding-right: 3px; } .icon-only { - background-position: 0% 50%; - background-repeat: no-repeat; padding-left: 16px; display: inline-block; width: 0; @@ -1152,79 +1165,92 @@ a.close-icon:hover {background-image:url('../images/close_hl.png');} font-size: 8px; vertical-align: text-bottom; } -.icon-only::after { +.icon-only:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: 14px; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + margin-left: -14px; + margin-right: 2px; +} +.icon-only:after { content: " "; } -.icon-add { background-image: url(../images/add.png); } -.icon-edit { background-image: url(../images/edit.png); } -.icon-copy { background-image: url(../images/copy.png); } -.icon-duplicate { background-image: url(../images/duplicate.png); } -.icon-del { background-image: url(../images/delete.png); } -.icon-move { background-image: url(../images/move.png); } -.icon-save { background-image: url(../images/save.png); } -.icon-cancel { background-image: url(../images/cancel.png); } -.icon-multiple { background-image: url(../images/table_multiple.png); } -.icon-folder { background-image: url(../images/folder.png); } -.open .icon-folder { background-image: url(../images/folder_open.png); } -.icon-package { background-image: url(../images/package.png); } -.icon-user { background-image: url(../images/user.png); } -.icon-projects { background-image: url(../images/projects.png); } -.icon-help { background-image: url(../images/help.png); } -.icon-attachment { background-image: url(../images/attachment.png); } -.icon-history { background-image: url(../images/history.png); } -.icon-time { background-image: url(../images/time.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/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); } -.icon-summary { background-image: url(../images/lightning.png); } -.icon-server-authentication { background-image: url(../images/server_key.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-list { background-image: url(../images/text_list_bullets.png); } - -.icon-file { background-image: url(../images/files/default.png); } -.icon-file.text-plain { background-image: url(../images/files/text.png); } -.icon-file.text-x-c { background-image: url(../images/files/c.png); } -.icon-file.text-x-csharp { background-image: url(../images/files/csharp.png); } -.icon-file.text-x-java { background-image: url(../images/files/java.png); } -.icon-file.text-x-javascript { background-image: url(../images/files/js.png); } -.icon-file.text-x-php { background-image: url(../images/files/php.png); } -.icon-file.text-x-ruby { background-image: url(../images/files/ruby.png); } -.icon-file.text-xml { background-image: url(../images/files/xml.png); } -.icon-file.text-css { background-image: url(../images/files/css.png); } -.icon-file.text-html { background-image: url(../images/files/html.png); } -.icon-file.image-gif { background-image: url(../images/files/image.png); } -.icon-file.image-jpeg { background-image: url(../images/files/image.png); } -.icon-file.image-png { background-image: url(../images/files/image.png); } -.icon-file.image-tiff { background-image: url(../images/files/image.png); } -.icon-file.application-pdf { background-image: url(../images/files/pdf.png); } -.icon-file.application-zip { background-image: url(../images/files/zip.png); } -.icon-file.application-x-gzip { background-image: url(../images/files/zip.png); } +.icon-add:before { /* fa-plus-circle */ content: "\f055"; } +.icon-edit:before { /* fa-pencil */ content: "\f040"; } +.icon-copy:before { /* fa-clone */ content: "\f24d"; } +.icon-duplicate:before { /* fa-files-o */ content: "\f0c5"; } +.icon-del:before { /* fa-trash */ content: "\f1f8"; } +.icon-move:before { /* fa-share-square-o */ content: "\f045"; } +.icon-save:before { /* fa-floppy-o */ content: "\f0c7"; } +.icon-cancel:before { /* fa-reply */ content: "\f112"; } +.icon-multiple:before { /* fa-upload */ content: "\f093"; } +.icon-folder:before { /* fa-folder */ content: "\f07b"; } +.open .icon-folder:before { /* fa-folder-o */ content: "\f07c" } +.icon-package:before { /* fa-cube */ content: "\f1b2"; } +.icon-user:before { /* fa-user */ content: "\f007"; } +.icon-projects:before { /* fa-cubes */ content: "\f1b3"; } +.icon-help:before { /* fa-question-circle */ content: "\f059"; } +.icon-attachment:before { /* fa-paperclip */ content: "\f0c6"; } +.icon-history:before { /* fa-history */ content: "\f1da"; } +.icon-time-add:before, .icon-time:before { /* fa-clock-o */ content: "\f017"; } +.icon-stats:before { /* fa-bar-chart-o */ content: "\f080" } +.icon-warning:before { /* fa-warning */ content: "\f071"; color: #A6750C; } +.icon-error:before { /* fa-warning */ content: "\f071"; color: #EC0B19; } +.icon-fav:before { /* fa-star */ content: "\f005"; } +.icon-fav-off:before { /* fa-star-o */ content: "\f006"; } +.icon-reload:before { /* fa-refresh */ content: "\f021"; } +.icon-lock:before { /* fa-lock */ content: "\f023"; } +.icon-unlock:before { /* fa-unlock-alt */ content: "\f13e"; } +.icon-checked:before { /* fa-check */ content: "\f00c"; } +.icon-details:before { /* fa-search-plus */ content: "\f00e"; } +.icon-report:before { /* fa-table */ content: "\f0ce"; } +.icon-comment:before { /* fa-comment-o */ content: "\f0e5"; } +.icon-summary:before { /* fa-table */ content: "\f0ce"; } + +.icon-server-authentication:before { /* fa-key */ content: "\f084"; } +.icon-issue:before { /* fa-sticky-note */ content: "\f249"; } +.icon-zoom-in:before { /* fa-search-plus */ content: "\f00e"; } +.icon-zoom-out:before { /* fa-search-minus */ content: "\f010"; } +.icon-magnifier:before { /* fa-search */ content: "\f002"; } +.icon-passwd:before { /* fa-key */ content: "\f084"; } +.icon-test:before { /* fa-arrow-right */ content: "\f061"; } +.icon-email-disabled:before { /* fa-envelope-o */ content: "\f003"; } +.icon-email:before, .icon-email-add:before { /* fa-envelope */ content: "\f0e0"; } +.icon-move-up:before { /* fa-angle-up */ content: "\f106" } +.icon-move-top:before { /* fa-angle-double-up */ content: "\f102"; } +.icon-move-down:before { /* fa-angle-down */ content: "\f107"; } +.icon-move-bottom:before { /* fa-angle-double-down */ content: "\f103"; } +.icon-ok:before { /* fa-check */ content: "\f00c"; color: #55AC4F; } +.icon-not-ok:before { /* fa-close */ content: "\f00d"; color: #EC0B19; } +.icon-link-break:before { /* fa-chain-broken */ content: "\f127"; } +.icon-list:before { /* fa-list-ul */ content: "\f0ca"; } + + +.icon-file:before { /* fa-file-o */ content: "\f016"; } +.icon-file.text-plain:before { /* fa-file-text-o */ content: "\f0f6"; } + +.icon-file.text-x-c:before, +.icon-file.text-x-csharp:before, +.icon-file.text-x-java:before, +.icon-file.text-x-javascript:before, +.icon-file.application-javascript:before, +.icon-file.text-x-php:before, +.icon-file.text-x-ruby:before, +.icon-file.text-css:before, +.icon-file.text-html:before, +.icon-file.text-xml:before { /* fa-file-code-o */ content: "\f1c9"; } + +.icon-file.image-gif:before, +.icon-file.image-jpeg:before, +.icon-file.image-png:before, +.icon-file.image-tiff:before { /* fa-file-image-o */ content: "\f1c5"; } +.icon-file.application-pdf:before { /* fa-file-pdf-o */ content: "\f1c1"; } +.icon-file.application-zip:before, +.icon-file.application-x-gzip:before { /* fa-file-archive-o */ content: "\f1c6"; } .sort-handle { width:16px; height:16px; background:url(../images/reorder.png) no-repeat 0 50%; cursor:move; } .sort-handle.ajax-loading { background-image: url(../images/loading.gif); } diff --git a/public/stylesheets/context_menu.css b/public/stylesheets/context_menu.css index 2b97993..c19d229 100644 --- a/public/stylesheets/context_menu.css +++ b/public/stylesheets/context_menu.css @@ -48,7 +48,6 @@ #context-menu li.folder:hover { z-index:40; } #context-menu ul ul, #context-menu li:hover ul ul { display:none; } #context-menu li:hover ul, #context-menu li:hover li:hover ul { display:block; } -#context-menu a.icon-checked {background: url(../images/toggle_check.png) no-repeat 3px 40%;} /* selected element */ .context-menu-selection { background-color:#507AAA !important; color:#f8f8f8 !important; }