replaced edit icon Unicode char with an SVG icon - fixes #805

Fri, 20 Feb 2026 15:27:09 +0100

author
Mike Becker <universe@uap-core.de>
date
Fri, 20 Feb 2026 15:27:09 +0100
changeset 412
e0119fb1b442
parent 411
568aff1e5d13
child 413
0523585f1742

replaced edit icon Unicode char with an SVG icon - fixes #805

src/main/kotlin/de/uapcore/lightpit/Constants.kt file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/changelogs/changelog-de.jspf file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/changelogs/changelog.jspf file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/components.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/issue-view.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/projects.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/users.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/variants.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/versions.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jspf/navmenu.jspf file | annotate | diff | comparison | revisions
src/main/webapp/edit.svg file | annotate | diff | comparison | revisions
src/main/webapp/lightpit.css file | annotate | diff | comparison | revisions
src/main/webapp/projects.css file | annotate | diff | comparison | revisions
--- a/src/main/kotlin/de/uapcore/lightpit/Constants.kt	Thu Feb 19 17:48:07 2026 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/Constants.kt	Fri Feb 20 15:27:09 2026 +0100
@@ -27,9 +27,9 @@
 
 object Constants {
     /**
-     * A data in yyyy-mm-dd format to identify the release.
+     * A date in yyyy-mm-dd format to identify the release.
      */
-    const val VERSION_DATE = "2026-01-06"
+    const val VERSION_DATE = "2026-02-20"
 
     /**
      * The path where the JSP files reside.
--- a/src/main/webapp/WEB-INF/changelogs/changelog-de.jspf	Thu Feb 19 17:48:07 2026 +0100
+++ b/src/main/webapp/WEB-INF/changelogs/changelog-de.jspf	Fri Feb 20 15:27:09 2026 +0100
@@ -40,7 +40,8 @@
     <li>Die Standardkategorie für neue Vorgänge in veröffentlichten Versionen ist nun "Fehler" anstelle von "Feature".</li>
     <li>Die Links zu den Varianten in der Vorgangsansicht wechseln nun lediglich die geöffnete Variante, anstatt zur Vorgangsliste zurückzukehren.</li>
     <li>Die erzeugten URLs für Filter und Sortierung sind nun deutlich schlanker (diese Änderung ist komplett abwärtskompatibel).</li>
-    <li>Positionen der Schaltflächen unterhalb der Vorgangsfilter getauscht, um Konsistent mit allen anderen Schaltflächen in der Anwendung zu sein.</li>
+    <li>Positionen der Schaltflächen unterhalb der Vorgangsfilter getauscht, um konsistent mit allen anderen Schaltflächen in der Anwendung zu sein.</li>
+    <li>Die Unicode-Bleistift-Icons sind nun durch richtige SVG Icons ersetzt.</li>
     <li>Fehlerhafte Delta-Anzeige in RSS-Feeds behoben.</li>
     <li>Ungefiltertes HTML aus Vorgangsbeschreibungen in RSS-Feeds behoben.</li>
     <li>Vorgänge können nicht länger mit sich selbst verlinkt werden.</li>
--- a/src/main/webapp/WEB-INF/changelogs/changelog.jspf	Thu Feb 19 17:48:07 2026 +0100
+++ b/src/main/webapp/WEB-INF/changelogs/changelog.jspf	Fri Feb 20 15:27:09 2026 +0100
@@ -40,7 +40,8 @@
     <li>Change that the default category for new issues in released versions is Bug instead of Feature.</li>
     <li>Change that the variant links in the issue view now stay within the issue and only switch the opened variant.</li>
     <li>Change the default filter and sort URLs to be less verbose (fully backwards compatible).</li>
-    <li>Switch position of Apply and Remove buttons below the filter to be in line with the design rule that submit buttons are always right aligned.</li>
+    <li>Change positions of Apply and Remove buttons below the filter to be in line with the design rule that submit buttons are always right aligned.</li>
+    <li>Change edit pencil icons from a font-dependent Unicode character to an SVG icon.</li>
     <li>Fix wrong diffs in RSS feed.</li>
     <li>Fix unescaped HTML in RSS feed.</li>
     <li>Fix that issues could relate to themselves.</li>
--- a/src/main/webapp/WEB-INF/jsp/components.jsp	Thu Feb 19 17:48:07 2026 +0100
+++ b/src/main/webapp/WEB-INF/jsp/components.jsp	Fri Feb 20 15:27:09 2026 +0100
@@ -72,7 +72,7 @@
     <tbody>
         <c:forEach var="componentInfo" items="${viewmodel.componentInfos}" >
         <tr>
-            <td rowspan="2" style="width: 2em;"><a href="./projects/${project.node}/components/${componentInfo.component.node}/edit">&#x270e;</a></td>
+            <td rowspan="2" style="min-width: 2em;"><a class="edit-icon" href="./projects/${project.node}/components/${componentInfo.component.node}/edit"></a></td>
             <td rowspan="2">
                 <div class="navmenu-icon" style="background-color: ${componentInfo.component.color}"></div>
                 <a href="./projects/${project.node}/issues/-/${componentInfo.component.node}/-/"
--- a/src/main/webapp/WEB-INF/jsp/issue-view.jsp	Thu Feb 19 17:48:07 2026 +0100
+++ b/src/main/webapp/WEB-INF/jsp/issue-view.jsp	Fri Feb 20 15:27:09 2026 +0100
@@ -368,7 +368,7 @@
                     </a>
                 </c:if>
                 <c:if test="${comment.author eq viewmodel.authenticatedUser}">
-                    <a class="comment-edit-icon" onclick="showCommentEditor(${comment.id})">&#x270e;</a>
+                    <a class="edit-icon" onclick="showCommentEditor(${comment.id})"></a>
                 </c:if>
             </c:if>
             <c:if test="${empty comment.author}">
--- a/src/main/webapp/WEB-INF/jsp/projects.jsp	Thu Feb 19 17:48:07 2026 +0100
+++ b/src/main/webapp/WEB-INF/jsp/projects.jsp	Fri Feb 20 15:27:09 2026 +0100
@@ -68,7 +68,7 @@
         <c:forEach var="projectInfo" items="${viewmodel.projects}">
             <c:set var="project" scope="page" value="${projectInfo.project}"/>
             <tr class="nowrap">
-                <td style="width: 2em;"><a href="./projects/${project.node}/edit">&#x270e;</a></td>
+                <td style="min-width: 2em;"><a class="edit-icon" href="./projects/${project.node}/edit"></a></td>
                 <td><a href="./projects/${project.node}"><c:out value="${project.name}"/></a>
                 </td>
                 <td>
--- a/src/main/webapp/WEB-INF/jsp/users.jsp	Thu Feb 19 17:48:07 2026 +0100
+++ b/src/main/webapp/WEB-INF/jsp/users.jsp	Fri Feb 20 15:27:09 2026 +0100
@@ -67,7 +67,7 @@
         <tbody>
         <c:forEach var="userdata" items="${viewmodel.users}">
             <tr>
-                <td><a href="./users/${userdata.user.id}/edit">&#x270e;</a></td>
+                <td style="min-width: 2em;"><a class="edit-icon" href="./users/${userdata.user.id}/edit"></a></td>
                 <td><c:out value="${userdata.user.displayname}"/></td>
                 <td class="hright"><a href="./issues/?filter=u.${userdata.user.id}&filter=s.0">${userdata.issueSummary.open}</a></td>
                 <td class="hright"><a href="./issues/?filter=u.${userdata.user.id}&filter=s.1">${userdata.issueSummary.active}</a></td>
--- a/src/main/webapp/WEB-INF/jsp/variants.jsp	Thu Feb 19 17:48:07 2026 +0100
+++ b/src/main/webapp/WEB-INF/jsp/variants.jsp	Fri Feb 20 15:27:09 2026 +0100
@@ -72,7 +72,7 @@
     <tbody>
         <c:forEach var="variantInfo" items="${viewmodel.variantInfos}" >
         <tr>
-            <td rowspan="2" style="width: 2em;"><a href="./projects/${project.node}/variants/${variantInfo.variant.node}/edit">&#x270e;</a></td>
+            <td rowspan="2" style="min-width: 2em;"><a class="edit-icon" href="./projects/${project.node}/variants/${variantInfo.variant.node}/edit"></a></td>
             <td rowspan="2">
                 <div class="navmenu-icon" style="background-color: ${variantInfo.variant.color}"></div>
                 <a href="./projects/${project.node}/issues/-/-/${variantInfo.variant.node}/"
--- a/src/main/webapp/WEB-INF/jsp/versions.jsp	Thu Feb 19 17:48:07 2026 +0100
+++ b/src/main/webapp/WEB-INF/jsp/versions.jsp	Fri Feb 20 15:27:09 2026 +0100
@@ -78,8 +78,7 @@
     <tbody>
     <c:forEach var="versionInfo" items="${viewmodel.versionInfos}">
         <tr>
-            <td rowspan="2" style="width: 2em;"><a
-                    href="./projects/${project.node}/versions/${versionInfo.version.node}/edit">&#x270e;</a></td>
+            <td rowspan="2" style="min-width: 2em;"><a class="edit-icon" href="./projects/${project.node}/versions/${versionInfo.version.node}/edit"></a></td>
             <td rowspan="2">
                 <a href="./projects/${project.node}/issues/${versionInfo.version.node}/-/-/">
                     <c:out value="${versionInfo.version.name}"/>
--- a/src/main/webapp/WEB-INF/jspf/navmenu.jspf	Thu Feb 19 17:48:07 2026 +0100
+++ b/src/main/webapp/WEB-INF/jspf/navmenu.jspf	Fri Feb 20 15:27:09 2026 +0100
@@ -52,9 +52,7 @@
             </c:if>
         </a>
         <c:if test="${not empty entry.editHref}">
-            <span class="edit-icon-container">
-                <a class="onhover-edit-icon" href="${entry.editHref}">&#x270e;</a>
-            </span>
+            <a class="edit-icon" href="${entry.editHref}"></a>
         </c:if>
     </div>
 </c:forEach>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/webapp/edit.svg	Fri Feb 20 15:27:09 2026 +0100
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
+     id="edit" fill="#000000" height="64" width="64" viewBox="0 0 64 64">
+    <path id="path"
+          d="M 13.51075,0 57.2445,43.733875 64,64 43.734,57.2445 0,13.51075 Z M 27.021375,18.914875 24.31925,21.617 50.17025,47.468125 52.872375,44.766 Z M 55.0585,56.9915 56.991375,55.058625 54.7395,48.30325 48.303125,54.739625 Z M 44.766125,52.872375 47.46825,50.17025 21.617125,24.319125 18.915,27.02125 Z m -28.55325,-28.553 8.1065,-8.1065 -2.702125,-2.702125 -8.1065,8.1065 z M 18.915125,10.8085 13.510875,5.404125 5.40425,13.51075 10.808625,18.915 Z"
+    />
+</svg>
--- a/src/main/webapp/lightpit.css	Thu Feb 19 17:48:07 2026 +0100
+++ b/src/main/webapp/lightpit.css	Fri Feb 20 15:27:09 2026 +0100
@@ -59,6 +59,25 @@
     color: #1c204e;
 }
 
+.edit-icon {
+    margin-left: 1ex;
+    margin-right: 1ex;
+}
+
+.edit-icon::before {
+    display: inline-block;
+    width: .8em;
+    height: .8em;
+    margin: 0;
+    padding: 0;
+    content: '';
+    mask-image: url('edit.svg');
+    mask-size: contain;
+    mask-repeat: no-repeat;
+    mask-position: center;
+    background-color: currentColor;
+}
+
 textarea, input, button, select {
     font-family: inherit;
     font-size: inherit;
@@ -130,17 +149,11 @@
     border-bottom-color: #d7d7df;
 }
 
-#sideMenu .menuEntry .edit-icon-container {
-    width: .9em;
-    height: .9em;
-    display: inline-block;
-}
-
-#sideMenu .menuEntry .onhover-edit-icon {
+#sideMenu .menuEntry .edit-icon {
     display: none;
 }
 
-#sideMenu .menuEntry:hover .onhover-edit-icon {
+#sideMenu .menuEntry:hover .edit-icon {
     display: initial;
 }
 
--- a/src/main/webapp/projects.css	Thu Feb 19 17:48:07 2026 +0100
+++ b/src/main/webapp/projects.css	Fri Feb 20 15:27:09 2026 +0100
@@ -165,10 +165,6 @@
     color: inherit;
 }
 
-.comment-edit-icon {
-    margin-left: 1ex;
-}
-
 span.comment-edit-info {
     margin-left: 1ex;
     color: #556080;

mercurial