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; }