diff --git a/core/src/main/java/hudson/PluginManager.java b/core/src/main/java/hudson/PluginManager.java index b0b3a520f5..caead938c1 100644 --- a/core/src/main/java/hudson/PluginManager.java +++ b/core/src/main/java/hudson/PluginManager.java @@ -233,6 +233,7 @@ public abstract class PluginManager extends AbstractModelObject { stop(); // disable all plugins since classloading from them can lead to StackOverflow throw e; // let Hudson fail } + Collections.sort(plugins); } }); diff --git a/core/src/main/java/hudson/PluginWrapper.java b/core/src/main/java/hudson/PluginWrapper.java index 4f665e4a58..b637c3720f 100644 --- a/core/src/main/java/hudson/PluginWrapper.java +++ b/core/src/main/java/hudson/PluginWrapper.java @@ -1,7 +1,8 @@ /* * The MIT License * - * Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi, Yahoo! Inc., Erik Ramfelt, Tom Huybrechts + * Copyright (c) 2004-2010, Sun Microsystems, Inc., Kohsuke Kawaguchi, + * Yahoo! Inc., Erik Ramfelt, Tom Huybrechts * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -67,7 +68,7 @@ import org.kohsuke.stapler.HttpResponses; * * @author Kohsuke Kawaguchi */ -public final class PluginWrapper { +public final class PluginWrapper implements Comparable { /** * {@link PluginManager} to which this belongs to. */ @@ -441,6 +442,13 @@ public final class PluginWrapper { return getUpdateInfo()!=null; } + /** + * Sort by short name. + */ + public int compareTo(PluginWrapper pw) { + return shortName.compareToIgnoreCase(pw.shortName); + } + // // // Action methods diff --git a/core/src/main/resources/hudson/PluginManager/table.jelly b/core/src/main/resources/hudson/PluginManager/table.jelly index 567199f922..bda2d65ab0 100644 --- a/core/src/main/resources/hudson/PluginManager/table.jelly +++ b/core/src/main/resources/hudson/PluginManager/table.jelly @@ -49,6 +49,12 @@ THE SOFTWARE. } } } + function showhideCategory(col) { + var row = col.parentNode.nextSibling; + var newDisplay = row && row.style.display == 'none' ? '' : 'none'; + for (; row && row.cells.length > 1; row = row.nextSibling) + row.style.display = newDisplay; + } // ]]>
@@ -56,7 +62,8 @@ THE SOFTWARE. - @@ -72,7 +79,7 @@ THE SOFTWARE. - + diff --git a/war/resources/css/style.css b/war/resources/css/style.css index 9aed42b1a2..a58267bae8 100644 --- a/war/resources/css/style.css +++ b/war/resources/css/style.css @@ -714,8 +714,8 @@ TABLE.fingerprint-in-build TD { border-top: none; } -#plugins tr:hover { - background-color: #eeeee8; +#pluginsAdv tr:hover { + background-color: inherit; } #plugins tr.already-upgraded {
${%Install} ${%Name}
${thisCat}${thisCat}