Skip to content

Commit

Permalink
Merge pull request #35 from Greybird/JENKINS-6936
Browse files Browse the repository at this point in the history
[JENKINS-6936] Use dedicated claim icon everywhere
  • Loading branch information
Greybird committed Dec 24, 2017
2 parents af607db + 4868701 commit 743fc96
Show file tree
Hide file tree
Showing 13 changed files with 83 additions and 45 deletions.
28 changes: 28 additions & 0 deletions src/main/java/hudson/plugins/claim/ClaimPlugin.java
@@ -0,0 +1,28 @@
package hudson.plugins.claim;

import hudson.Plugin;
import org.jenkins.ui.icon.Icon;
import org.jenkins.ui.icon.IconSet;

public class ClaimPlugin extends Plugin {
@Override
public void start() throws Exception {
super.start();
IconSet.icons.addIcon(
new Icon("icon-claim-claim icon-sm",
"plugin/claim/images/16x16/claim.png",
Icon.ICON_SMALL_STYLE));
IconSet.icons.addIcon(
new Icon("icon-claim-claim icon-md",
"plugin/claim/images/24x24/claim.png",
Icon.ICON_MEDIUM_STYLE));
IconSet.icons.addIcon(
new Icon("icon-claim-claim icon-lg",
"plugin/claim/images/32x32/claim.png",
Icon.ICON_LARGE_STYLE));
IconSet.icons.addIcon(
new Icon("icon-claim-claim icon-xlg",
"plugin/claim/images/48x48/claim.png",
Icon.ICON_XLARGE_STYLE));
}
}
24 changes: 21 additions & 3 deletions src/main/java/hudson/plugins/claim/ClaimedBuildsReport.java
Expand Up @@ -11,16 +11,34 @@
import java.util.List;
import jenkins.model.Jenkins;

import org.apache.commons.jelly.JellyContext;
import org.jenkins.ui.icon.Icon;
import org.jenkins.ui.icon.IconSet;
import org.jenkins.ui.icon.IconSpec;
import org.kohsuke.stapler.Stapler;

@Extension
public class ClaimedBuildsReport implements RootAction {
public class ClaimedBuildsReport implements RootAction, IconSpec {

public ClaimedBuildsReport() {
}

@Override
public String getIconClassName() {
return "icon-claim-claim";
}

public String getIconFileName() {
return "/plugin/claim/icons/claim-24x24.png";
String iconClassName = getIconClassName();
if (iconClassName != null) {
Icon icon = IconSet.icons.getIconByClassSpec(iconClassName + " icon-md");
if (icon != null) {
JellyContext ctx = new JellyContext();
ctx.setVariable("resURL", Stapler.getCurrentRequest().getContextPath() + Jenkins.RESOURCE_PATH);
return icon.getQualifiedUrl(ctx);
}
}
return null;
}

public String getUrlName() {
Expand All @@ -41,7 +59,7 @@ public Run getFirstFail(Run r) {
public String getClaimantText(Run r) {
ClaimBuildAction claim = r.getAction(ClaimBuildAction.class);
if (claim == null || !claim.isClaimed()) {
return Messages.ClaimedBuildsReport_ClaimantText_unclimed();
return Messages.ClaimedBuildsReport_ClaimantText_unclaimed();
}
String reason = claim.getReason();
if (reason != null) {
Expand Down
@@ -1,16 +1,12 @@
<?jelly escape-by-default='true'?>
<j:jelly xmlns:j="jelly:core">
<j:jelly xmlns:j="jelly:core" xmlns:l="/lib/layout">
<j:if test="${it.claimed}">
<j:choose>
<j:when test="${it.reason != null}">
<img width="16" height="16"
title="${%claimed.reason(it.claimedByName,it.reason)}"
src="${imagesURL}/16x16/lock.gif"/>
<l:icon class="icon-claim-claim icon-sm" title="${%claimed.reason(it.claimedByName,it.reason)}"/>
</j:when>
<j:otherwise>
<img width="16" height="16"
title="${%claimed(it.claimedBy)}"
src="${imagesURL}/16x16/lock.gif"/>
<l:icon class="icon-claim-claim icon-sm" title="${%claimed(it.claimedBy)}"/>
</j:otherwise>
</j:choose>
</j:if>
Expand Down
Expand Up @@ -28,7 +28,7 @@
}
</script>

<t:summary icon="${rootUrl}/plugin/claim/icons/claim-48x48.png">
<t:summary icon="icon-claim-claim">
<j:choose>
<j:when test="${it.isClaimedByMe()}">
<p>
Expand Down
52 changes: 24 additions & 28 deletions src/main/resources/hudson/plugins/claim/ClaimColumn/column.jelly
Expand Up @@ -27,34 +27,30 @@ THE SOFTWARE.
<td>
<j:forEach var="action" items="${it.getAction(job)}">
<j:choose>
<j:when test="${action.claim.reason != null}">
<j:choose>
<j:when test="${action.claim.claimedBy.equals(action.claim.assignedBy)}">
<img width="16" height="16"
title="${%climed.reason(action.combinationName,action.claim.claimedBy,action.claim.reason)}"
src="${imagesURL}/16x16/lock.gif"/>
</j:when>
<j:otherwise>
<img width="16" height="16"
title="${%assigned.reason(action.claim.claimedBy,action.claim.assignedBy,action.claim.reason)}"
src="${imagesURL}/16x16/lock.gif"/>
</j:otherwise>
</j:choose>
</j:when>
<j:otherwise>
<j:choose>
<j:when test="${action.claim.claimedBy.equals(action.claim.assignedBy)}">
<img width="16" height="16"
title="${%climed(action.combinationName,action.claim.claimedBy)}"
src="${imagesURL}/16x16/lock.gif"/>
</j:when>
<j:otherwise>
<img width="16" height="16"
title="${%climed(action.claim.claimedBy,action.claim.assignedBy)}"
src="${imagesURL}/16x16/lock.gif"/>
</j:otherwise>
</j:choose>
</j:otherwise>
<j:when test="${action.claim.reason != null}">
<j:choose>
<j:when test="${action.claim.claimedBy.equals(action.claim.assignedBy)}">
<l:icon class="icon-claim-claim ${subIconSizeClass}"
title="${%claimed.reason(action.combinationName,action.claim.claimedBy,action.claim.reason)}"/>
</j:when>
<j:otherwise>
<l:icon class="icon-claim-claim ${subIconSizeClass}"
title="${%assigned.reason(action.claim.claimedBy,action.claim.assignedBy,action.claim.reason)}"/>
</j:otherwise>
</j:choose>
</j:when>
<j:otherwise>
<j:choose>
<j:when test="${action.claim.claimedBy.equals(action.claim.assignedBy)}">
<l:icon class="icon-claim-claim ${subIconSizeClass}"
title="${%claimed(action.combinationName,action.claim.claimedBy)}"/>
</j:when>
<j:otherwise>
<l:icon class="icon-claim-claim ${subIconSizeClass}"
title="$${%claimed(action.claim.claimedBy,action.claim.assignedBy)}"/>
</j:otherwise>
</j:choose>
</j:otherwise>
</j:choose>
</j:forEach>
</td>
Expand Down
@@ -1,4 +1,4 @@
climed.reason={0} Claimed by {1}. Reason: {2}
claimed.reason={0} Claimed by {1}. Reason: {2}
assigned.reason=Assigned to {0} by {1}. Reason: {2}
climed={0} Claimed by {1}.
claimed={0} Claimed by {1}.
assigned=Assigned to {0} by {1}
Expand Up @@ -20,5 +20,5 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.

climed.reason={0} \u7531 {1} \u8a8d\u5e33\u3002\u539f\u56e0: {2}
climed={0} \u7531 {1} \u8a8d\u5e33\u3002
claimed.reason={0} \u7531 {1} \u8a8d\u5e33\u3002\u539f\u56e0: {2}
claimed={0} \u7531 {1} \u8a8d\u5e33\u3002
Expand Up @@ -5,7 +5,7 @@ ClaimColumn.ColumnCaption=Claim
ClaimColumn.DisplayName=Claim

ClaimedBuildsReport.DisplayName=Claim Report
ClaimedBuildsReport.ClaimantText.unclimed=unclaimed
ClaimedBuildsReport.ClaimantText.unclaimed=unclaimed
ClaimedBuildsReport.ClaimantText.claimedWithReason=assigned to {0} by {2} because: {1}
ClaimedBuildsReport.ClaimantText.claimed=assigned to {0} by {1}

Expand Down
Expand Up @@ -27,7 +27,7 @@ ClaimColumn.ColumnCaption=\u8a8d\u5e33
ClaimColumn.DisplayName=\u8a8d\u5e33

ClaimedBuildsReport.DisplayName=\u8a8d\u5e33\u5831\u544a
ClaimedBuildsReport.ClaimantText.unclimed=\u6c92\u4eba\u8a8d\u5e33
ClaimedBuildsReport.ClaimantText.unclaimed=\u6c92\u4eba\u8a8d\u5e33
ClaimedBuildsReport.ClaimantText.claimedWithReason=\u7531 {0} \u8a8d\u5e33\uff0c\u539f\u56e0: {1}
ClaimedBuildsReport.ClaimantText.claimed=\u7531 {0} \u8a8d\u5e33

Expand Down
Binary file added src/main/webapp/images/16x16/claim.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
Binary file added src/main/webapp/images/32x32/claim.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes

0 comments on commit 743fc96

Please sign in to comment.