Project

General

Profile

Patch #43206 » 0001-Add-legacy-icons-compat.css-legacy-icons-compatibili.patch

Go MAEDA, 2025-10-31 10:34

View differences:

app/assets/stylesheets/legacy-icons-compat.css
1
/**
2
 * Redmine - project management software
3
 * Copyright (C) 2006-  Jean-Philippe Lang
4
 * This code is released under the GNU General Public License.
5
 */
6

  
7
/*
8
   legacy-icons-compat.css - Legacy Icons Compatibility Stylesheet
9

  
10
   This file provides compatibility styles for legacy raster icons that
11
   were removed in Redmine 7.0. It is intended for third-party plugins
12
   that have not yet migrated to SVG icons.
13

  
14
   To restore the appearance of legacy icons, import this CSS file in
15
   your plugin's stylesheet:
16

  
17
   ```
18
   @import url('/legacy-icons-compat.css');
19
   ```
20

  
21
   Please note that this compatibility file will be removed in a future
22
   version of Redmine.
23
*/
24

  
25
.icon:not(:has(svg)) {
26
  background-position: 0% 50%;
27
  background-repeat: no-repeat;
28
  padding-left: 20px;
29
}
30
.icon-only:not(:has(svg)) {
31
  background-position: 0% 50%;
32
  background-repeat: no-repeat;
33
  padding-left: 16px;
34
  display: inline-block;
35
  width: 0;
36
  height: 16px;
37
  overflow: hidden;
38
  padding-top: 0;
39
  padding-bottom: 0;
40
  font-size: 0.5rem;
41
  vertical-align: middle;
42
}
43
.icon-only:not(:has(svg))::after {
44
  content: "\a0";
45
}
46

  
47
.icon-add:not(:has(svg)) { background-image: url(/add.png); }
48
.icon-edit:not(:has(svg)) { background-image: url(/edit.png); }
49
.icon-copy:not(:has(svg)) { background-image: url(/copy.png); }
50
.icon-duplicate { background-image: url(/duplicate.png); }
51
.icon-del:not(:has(svg)) { background-image: url(/delete.png); }
52
.icon-move:not(:has(svg)) { background-image: url(/move.png); }
53
.icon-save:not(:has(svg)) { background-image: url(/save.png); }
54
.icon-download:not(:has(svg)) { background-image: url(/download.png); }
55
.icon-cancel:not(:has(svg)) { background-image: url(/cancel.png); }
56
.icon-multiple:not(:has(svg)) { background-image: url(/table_multiple.png); }
57
.icon-folder:not(:has(svg)) { background-image: url(/folder.png); }
58
.open .icon-folder:not(:has(svg)) { background-image: url(/folder_open.png); }
59
.icon-package:not(:has(svg)) { background-image: url(/package.png); }
60
.icon-user:not(:has(svg)) { background-image: url(/user.png); }
61
.icon-project:not(:has(svg)), .icon-projects:not(:has(svg)) { background-image: url(/projects.png); }
62
.icon-help:not(:has(svg)) { background-image: url(/help.png); }
63
.icon-attachment:not(:has(svg)) { background-image: url(/attachment.png); }
64
.icon-history:not(:has(svg)) { background-image: url(/history.png); }
65
.icon-time-entry:not(:has(svg)), .icon-time:not(:has(svg))  { background-image: url(/time.png); }
66
.icon-time-add:not(:has(svg)) { background-image: url(/time_add.png); }
67
.icon-stats:not(:has(svg)) { background-image: url(/stats.png); }
68
.icon-warning:not(:has(svg)) { background-image: url(/warning.png); }
69
.icon-error:not(:has(svg)) { background-image: url(/exclamation.png); }
70
.icon-fav:not(:has(svg))  { background-image: url(/fav.png); }
71
.icon-fav-off:not(:has(svg))  { background-image: url(/fav_off.png); }
72
.icon-reload:not(:has(svg)) { background-image: url(/reload.png); }
73
.icon-lock:not(:has(svg)), .icon-locked:not(:has(svg))  { background-image: url(/locked.png); }
74
.icon-unlock:not(:has(svg)) { background-image: url(/unlock.png); }
75
.icon-checked:not(:has(svg)) { background-image: url(/toggle_check.png); }
76
.icon-report { background-image: url(/report.png); }
77
.icon-comment:not(:has(svg)), .icon-comments:not(:has(svg)) { background-image: url(/comment.png); }
78
.icon-summary:not(:has(svg)) { background-image: url(/lightning.png); }
79
.icon-server-authentication:not(:has(svg)) { background-image: url(/server_key.png); }
80
.icon-issue:not(:has(svg)) { background-image: url(/ticket.png); }
81
.icon-zoom-in:not(:has(svg)) { background-image: url(/zoom_in.png); }
82
.icon-zoom-out:not(:has(svg)) { background-image: url(/zoom_out.png); }
83
.icon-magnifier { background-image: url(/magnifier.png); }
84
.icon-passwd:not(:has(svg)) { background-image: url(/textfield_key.png); }
85
.icon-arrow-right, .icon-test:not(:has(svg)), .icon-sticky:not(:has(svg)) { background-image: url(/bullet_go.png); }
86
.icon-email:not(:has(svg)) { background-image: url(/email.png); }
87
.icon-email-disabled:not(:has(svg)) { background-image: url(/email_disabled.png); }
88
.icon-email-add:not(:has(svg)) { background-image: url(/email_add.png); }
89
.icon-ok:not(:has(svg)) { background-image: url(/true.png); }
90
.icon-not-ok:not(svg) { background-image: url(/false.png); }
91
.icon-link-break:not(:has(svg)) { background-image: url(/link_break.png); }
92
.icon-list:not(:has(svg)) { background-image: url(/text_list_bullets.png); }
93
.icon-close:not(:has(svg)) { background-image: url(/close.png); }
94
.icon-close:hover:not(:has(svg)) { background-image: url(/close_hl.png); }
95
.icon-settings:not(:has(svg)) { background-image: url(/changeset.png); }
96
.icon-group:not(:has(svg)),.icon-groupnonmember:not(:has(svg)), .icon-groupanonymous:not(:has(svg)) { background-image: url(/group.png); }
97
.icon-roles:not(:has(svg)) { background-image: url(/database_key.png); }
98
.icon-issue-edit:not(:has(svg)) { background-image: url(/ticket_edit.png); }
99
.icon-workflows:not(:has(svg)) { background-image: url(/ticket_go.png); }
100
.icon-custom-fields:not(:has(svg)) { background-image: url(/textfield.png); }
101
.icon-plugins:not(:has(svg)) { background-image: url(/plugin.png); }
102
.icon-news:not(:has(svg)) { background-image: url(/news.png); }
103
.icon-issue-closed:not(:has(svg)) { background-image: url(/ticket_checked.png); }
104
.icon-issue-note:not(:has(svg)) { background-image: url(/ticket_note.png); }
105
.icon-changeset:not(:has(svg)) { background-image: url(/changeset.png); }
106
.icon-message:not(:has(svg)) { background-image: url(/message.png); }
107
.icon-reply:not(:has(svg)) { background-image: url(/comments.png); }
108
.icon-wiki-page:not(:has(svg)) { background-image: url(/wiki_edit.png); }
109
.icon-document:not(:has(svg)) { background-image: url(/document.png); }
110
.icon-add-bullet:not(:has(svg)) { background-image: url(/bullet_add.png); }
111
.icon-shared:not(:has(svg)) { background-image: url(/link.png); }
112
.icon-actions:not(:has(svg)) { background-image: url(/3_bullets.png); }
113
.icon-sort-handle:not(:has(svg)) { background-image: url(/reorder.png); }
114
.icon-expanded:not(:has(svg)) { background-image: url(/arrow_down.png); }
115
.icon-collapsed:not(:has(svg)) { background-image: url(/arrow_right.png); }
116
.icon-bookmark:not(:has(svg)) { background-image: url(/tag_blue_delete.png); }
117
.icon-bookmark-off:not(:has(svg)) { background-image: url(/tag_blue_add.png); }
118
.icon-bookmarked-project:not(:has(svg)) { background-image: url(/tag_blue.png); }
119
.icon-sorted-asc:not(:has(svg)) { background-image: url(/arrow_down.png); }
120
.icon-sorted-desc:not(:has(svg)) { background-image: url(/arrow_up.png); }
121
.icon-toggle-plus:not(:has(svg)) { background-image: url(/bullet_toggle_plus.png) }
122
.icon-toggle-minus:not(:has(svg)) { background-image: url(/bullet_toggle_minus.png) }
123
.icon-clear-query:not(:has(svg)) { background-image: url(/close_hl.png); }
124
.icon-import:not(:has(svg)) { background-image: url(/database_go.png); }
125

  
126
.icon-file:not(:has(svg)) { background-image: url(/files/default.png); }
127
.icon-file.text-plain:not(:has(svg)) { background-image: url(/files/text.png); }
128
.icon-file.text-x-c:not(:has(svg)) { background-image: url(/files/c.png); }
129
.icon-file.text-x-csharp:not(:has(svg)) { background-image: url(/files/csharp.png); }
130
.icon-file.text-x-java:not(:has(svg)) { background-image: url(/files/java.png); }
131
.icon-file.application-javascript:not(:has(svg)) { background-image: url(/files/js.png); }
132
.icon-file.text-x-php:not(:has(svg)) { background-image: url(/files/php.png); }
133
.icon-file.text-x-ruby:not(:has(svg)) { background-image: url(/files/ruby.png); }
134
.icon-file.text-xml:not(:has(svg)) { background-image: url(/files/xml.png); }
135
.icon-file.text-css:not(:has(svg)) { background-image: url(/files/css.png); }
136
.icon-file.text-html:not(:has(svg)) { background-image: url(/files/html.png); }
137
.icon-file.image-gif:not(:has(svg)) { background-image: url(/files/image.png); }
138
.icon-file.image-jpeg:not(:has(svg)) { background-image: url(/files/image.png); }
139
.icon-file.image-png:not(:has(svg)) { background-image: url(/files/image.png); }
140
.icon-file.image-tiff:not(:has(svg)) { background-image: url(/files/image.png); }
141
.icon-file.application-pdf:not(:has(svg)) { background-image: url(/files/pdf.png); }
142
.icon-file.application-zip:not(:has(svg)) { background-image: url(/files/zip.png); }
143
.icon-file.application-gzip:not(:has(svg)) { background-image: url(/files/zip.png); }
144
.icon-copy-link:not(:has(svg)) { background-image: url(/copy_link.png); }
(5-5/5)