Hi Curtis, Thanks for the review. > Hi Edwin. > > I really like the hanging indent presentation. Thanks for choosing to work on > the wrapping issue. I think the CSS needs tuning: > http://people.canonical.com/~curtis/clipped-icons.png shows the clipped icons. > I am not sure if we need to increase the padding of the
  • or if we need to > increase the line-height of the . I fixed the icon clipping, and I tested browser font sizes from 9pt to 16pt. > style.css is deprecated (We should have started removing it this release, but > oopses got in the way). Your changes should be in style-3.0.css. We do not > write styles for ids because they are harder to reuse. I like this CSS rule > and am sure we can use it elsewhere. Change the rule to work with a class or > element. For example, if you use `.side a.sprite` you will fix subscribers > lists too! (The 'Launchpad code reviewers from Canonical' subscriber to this > review will probably be easier to read if it was a hanging indent.) I wasted a bunch of time trying to come up with a universal rule. I got it to work perfectly on the source package page, but it caused the bugtask index page to go haywire. I added a css class called "vertical", since I realized that the indentation to the left of the the icon is really only beneficial when the sprite links are in columns. > Is it possible to change DistributionSourcePackageActionMenu.links to a tuple > instead of a list? Fixed. Incremental diff: {{{ === modified file 'lib/canonical/launchpad/icing/style-3-0.css' --- lib/canonical/launchpad/icing/style-3-0.css 2009-10-24 16:58:01 +0000 +++ lib/canonical/launchpad/icing/style-3-0.css 2009-10-29 21:32:09 +0000 @@ -999,3 +999,163 @@ vertical-align: middle; padding: 1em 1em 1em 0; } + +/* == Sprites == */ +.sprite { + padding: 2px 0 5px 18px; + line-height: 18px; +} +.vertical .sprite { + /* XXX: EdwinGrubbs 2009-10-29 bug=463032 + The reduced padding is only necessary to prevent parts of the + adjacent sprites in the consolidated image from appearing + when the line wraps and the default font size is 16. + */ + padding-bottom: 0px; + display: inline-block; + min-height: 16px; +} +.vertical .sprite:first-line { + line-height: 12px; +} +.sprite-after {padding: 2px 18px 0 0;} + +/* XXX: EdwinGrubbs 2009-07-27 bug=405476 + * Override the .yui-picker-results style, so that the next icon + * in the sprite file won't appear for tall list items. + */ +.yui-picker-results li.sprite { + padding:2px 0 0 18px; + white-space: nowrap; + overflow: hidden; +} + +.add {background:url(icon-sprites) 0 0 no-repeat;} +.edit {background:url(icon-sprites) 0 -32px no-repeat;} +.remove {background:url(icon-sprites) 0 -64px no-repeat;} +.info {background:url(icon-sprites) 0 -96px no-repeat;} +.question {background:url(icon-sprites) 0 -128px no-repeat;} +.download-icon {background:url(icon-sprites) 0 -160px no-repeat;} +.download {background:url(icon-sprites) 0 -160px no-repeat;} +.search-icon {background:url(icon-sprites) 0 -187px no-repeat;} +.no {background:url(icon-sprites) 0 -224px no-repeat;} +.yes {background:url(icon-sprites) 0 -256px no-repeat;} +.crowd {background:url(icon-sprites) 0 -288px no-repeat;} +.person {background:url(icon-sprites) 0 -320px no-repeat;} +.person-tabs {background:url(icon-sprites) 5px -314px no-repeat;} +.person-badge {background:url(icon-sprites) 0 -352px no-repeat;} +.team {background:url(icon-sprites) 0 -384px no-repeat;} +.team-badge {background:url(icon-sprites) 0 -416px no-repeat;} +.arrowRight {background:url(icon-sprites) 0 -448px no-repeat;} +.treeCollapsed {background:url(icon-sprites) 0 -480px no-repeat;} +.treeExpanded {background:url(icon-sprites) 0 -512px no-repeat;} +.branch, .bzr-favicon {background:url(icon-sprites) 0 -544px no-repeat;} +.bzr-favicon {background:url(icon-sprites) 5px -538px no-repeat;} +.distribution {background:url(icon-sprites) 0 -576px no-repeat;} +.package-source {background:url(icon-sprites) 0 -608px no-repeat;} +.milestone {background:url(icon-sprites) 0 -640px no-repeat;} +.language {background:url(icon-sprites) 0 -672px no-repeat;} +.external-link {background:url(icon-sprites) 0 -704px no-repeat;} +.mail {background:url(icon-sprites) 0 -736px no-repeat;} +.cve {background:url(icon-sprites) 0 -768px no-repeat;} +.cves {float: right; text-align: right;} +.bug {background:url(icon-sprites) 0 -800px no-repeat;} +.bug-critical {background:url(icon-sprites) 0 -832px no-repeat;} +.bug-high {background:url(icon-sprites) 0 -864px no-repeat;} +.bug-medium {background:url(icon-sprites) 0 -896px no-repeat;} +.bug-low {background:url(icon-sprites) 0 -928px no-repeat;} +.bug-wishlist {background:url(icon-sprites) 0 -960px no-repeat;} +.blueprint {background:url(icon-sprites) 0 -992px no-repeat;} +.blueprint-essential {background:url(icon-sprites) 0 -1024px no-repeat;} +.blueprint-high {background:url(icon-sprites) 0 -1056px no-repeat;} +.blueprint-medium {background:url(icon-sprites) 0 -1088px no-repeat;} +.blueprint-low {background:url(icon-sprites) 0 -1120px no-repeat;} +.blueprint-undefined {background:url(icon-sprites) 0 -1152px no-repeat;} +.blueprint-not {background:url(icon-sprites) 0 -1184px no-repeat;} +.rss {background:url(icon-sprites) 0 -1216px no-repeat;} +.ubuntu-logo {background:url(icon-sprites-2) 0 0px no-repeat;} +.person-inactive {background:url(icon-sprites-2) 0 -32px no-repeat;} +.person-inactive-badge {background:url(icon-sprites-2) 0 -64px no-repeat;} +.mentoring {background:url(icon-sprites-2) 0 -96px no-repeat;} +.undecided {background:url(icon-sprites-2) 0 -128px no-repeat;} +.error {background:url(icon-sprites-2) 0 -160px no-repeat;} +.cancel {background:url(icon-sprites-2) 0 -192px no-repeat;} +.confirm {background:url(icon-sprites-2) 0 -224px no-repeat;} +.flame {background:url(icon-sprites-2) 0 -256px no-repeat;} +.bug-undecided {background:url(icon-sprites-2) 0 -288px no-repeat;} +.bug-remote {background:url(icon-sprites-2) 0 -320px no-repeat;} +.bug-unknown {background:url(icon-sprites-2) 0 -352px no-repeat;} +.bug-dupe {background:url(icon-sprites-2) 0 -384px no-repeat;} +.bug-tracker {background:url(icon-sprites-2) 0 -416px no-repeat;} +.package-binary {background:url(icon-sprites-2) 0 -448px no-repeat;} +.retry {background:url(icon-sprites-2) 0 -480px no-repeat;} +.distribution-badge {background:url(icon-sprites-2) 0 -512px no-repeat;} +.project-badge {background:url(icon-sprites-2) 0 -544px no-repeat;} +.project {background:url(icon-sprites-2) 0 -576px no-repeat;} +.product-badge {background:url(icon-sprites-2) 0 -608px no-repeat;} +.product {background:url(icon-sprites-2) 0 -640px no-repeat;} +.read-only {background:url(icon-sprites-2) 0 -672px no-repeat;} +.warning-icon, .security {background:url(icon-sprites-2) 0 -704px no-repeat;} +.private {background:url(icon-sprites-2) 0 -736px no-repeat;} +.meeting {background:url(icon-sprites-2) 0 -768px no-repeat;} +.translate-icon {background:url(icon-sprites-2) 0 -800px no-repeat;} +.translation-file {background:url(icon-sprites-2) 0 -832px no-repeat;} +.translation-template {background:url(icon-sprites-2) 0 -864px no-repeat;} +.trash-icon {background:url(icon-sprites-2) 0 -896px no-repeat;} +.stop {background:url(icon-sprites-2) 0 -928px no-repeat;} +.list {background:url(icon-sprites-2) 0 -992px no-repeat;} +.bullet {background:url(icon-sprites-2) 0 -1024px no-repeat;} +.zoom-in {background:url(icon-sprites-2) 0 -1056px no-repeat;} +.zoom-out {background:url(icon-sprites-2) 0 -1088px no-repeat;} +.architecture {background:url(icon-sprites-2) 0 -1120px no-repeat;} +.ppa-icon {background:url(icon-sprites-2) 0 -1147px no-repeat;} +.ppa-icon-inactive {background:url(icon-sprites-2) 0 -1171px no-repeat;} + +.bug-status-expand {background:url(icon-sprites-3) 0 -10px no-repeat;} +.merge-proposal { + background:url(icon-sprites-3) 0 -46px no-repeat; + padding-left: 22px} +.build-superseded {background:url(icon-sprites-3) 0 -80px no-repeat;} +.build-sucess {background:url(icon-sprites-3) 0 -112px no-repeat;} +.build-needed {background:url(icon-sprites-3) 0 -144px no-repeat;} +.build-failure {background:url(icon-sprites-3) 0 -176px no-repeat;} +.build-depwait {background:url(icon-sprites-3) 0 -208px no-repeat;} +.arrowUp {background:url(icon-sprites-3) 0 -240px no-repeat;} +.arrowDown {background:url(icon-sprites-3) 0 -256px no-repeat;} +.arrowStart {background:url(icon-sprites-3) 0 -288px no-repeat;} +.arrowEnd {background:url(icon-sprites-3) 0 -304px no-repeat;} +.arrowTop {background:url(icon-sprites-3) 0 -328px no-repeat;} +.arrowBottom {background:url(icon-sprites-3) 0 -356px no-repeat;} +.arrowLeft {background:url(icon-sprites-3) 0 -384px no-repeat;} +.bluebar {background:url(icon-sprites-3) 0 -416px repeat-x;} +.redbar {background:url(icon-sprites-3) 0 -505px repeat-x;} +.greenbar {background:url(icon-sprites-3) 0 -446px repeat-x;} +.purplebar {background:url(icon-sprites-3) 0 -476px repeat-x;} +.favorite-yes {background:url(icon-sprites-3) 0 -530px no-repeat;} + +/*large*/ +.large-branch {background:url(icon-sprites-large) 0 0 no-repeat;} +.large-warning {background:url(icon-sprites-large) 0 -48px no-repeat;} +.large-crowd {background:url(icon-sprites-large) 0 -96px no-repeat;} +.large-download {background:url(icon-sprites-large) 0 -144px no-repeat;} +.large-error {background:url(icon-sprites-large) 0 -144px no-repeat;} +.large-flame {background:url(icon-sprites-large) 0 -192px no-repeat;} +.large-download {background:url(icon-sprites-large) 0 -240px no-repeat;} +.large-info {background:url(icon-sprites-large) 0 -288px no-repeat;} +.large-launchpad {background:url(icon-sprites-large) 0 -336px no-repeat;} +.large-mentoring {background:url(icon-sprites-large) 0 -384px no-repeat;} +.large-proposal {background:url(icon-sprites-large) 0 -432px no-repeat;} +.large-trash {background:url(icon-sprites-large) 0 -480px no-repeat;} +.large-private {background:url(icon-sprites-large) 0 -528px no-repeat;} + +/*logo*/ +.logo-launchpad {background:url(icon-sprites-logo) 0 0 no-repeat;} +.logo-distribution {background:url(icon-sprites-logo) 0 -80px no-repeat;} +.logo-project {background:url(icon-sprites-logo) 0 -160px no-repeat;} +.logo-product {background:url(icon-sprites-logo) 0 -240 no-repeat;} +.logo-person {background:url(icon-sprites-logo) 0 -320 no-repeat;} +.logo-inactive {background:url(icon-sprites-logo-2) 0 0 no-repeat;} +.logo-team {background:url(icon-sprites-logo-2) 0 -80px no-repeat;} +.logo-meeting {background:url(icon-sprites-logo-2) 0 -160px no-repeat;} +.logo-flame {background:url(icon-sprites-logo-2) 0 -240 no-repeat;} +.logo-trash {background:url(icon-sprites-logo-2) 0 -320 no-repeat;} === modified file 'lib/canonical/launchpad/icing/style.css' --- lib/canonical/launchpad/icing/style.css 2009-10-28 00:19:46 +0000 +++ lib/canonical/launchpad/icing/style.css 2009-10-29 19:11:58 +0000 @@ -34,9 +34,6 @@ /* == Sprites == */ -#subscribers-direct a, #portlet-subscribers a, #subscribers-indirect a, .bug-branch-summary { - line-height: 1.4em; -} ul.breadcrumbs a.bzr-favicon, ul.breadcrumbs a.person-tabs { padding: 8px 18px 0 23px; } @@ -52,156 +49,6 @@ } span.invisible-link {display:none;} span.invisible {left:-9999em;display:block;} -.sprite { - padding:2px 0 0 18px; -} -#global-actions a.sprite { - background-position: 0 0.3em; - display: inline-block; -} -.sprite-after {padding: 2px 18px 0 0;} - -/* XXX: EdwinGrubbs 2009-07-27 bug=405476 - * Override the .yui-picker-results style, so that the next icon - * in the sprite file won't appear for tall list items. - */ -.yui-picker-results li.sprite { - padding:2px 0 0 18px; - white-space: nowrap; - overflow: hidden; -} - -.add {background:url(icon-sprites) 0 0 no-repeat;} -.edit {background:url(icon-sprites) 0 -32px no-repeat;} -.remove {background:url(icon-sprites) 0 -64px no-repeat;} -.info {background:url(icon-sprites) 0 -96px no-repeat;} -.question {background:url(icon-sprites) 0 -128px no-repeat;} -.download-icon {background:url(icon-sprites) 0 -160px no-repeat;} -.download {background:url(icon-sprites) 0 -160px no-repeat;} -.search-icon {background:url(icon-sprites) 0 -187px no-repeat;} -.no {background:url(icon-sprites) 0 -224px no-repeat;} -.yes {background:url(icon-sprites) 0 -256px no-repeat;} -.crowd {background:url(icon-sprites) 0 -288px no-repeat;} -.person {background:url(icon-sprites) 0 -320px no-repeat;} -.person-tabs {background:url(icon-sprites) 5px -314px no-repeat;} -.person-badge {background:url(icon-sprites) 0 -352px no-repeat;} -.team {background:url(icon-sprites) 0 -384px no-repeat;} -.team-badge {background:url(icon-sprites) 0 -416px no-repeat;} -.arrowRight {background:url(icon-sprites) 0 -448px no-repeat;} -.treeCollapsed {background:url(icon-sprites) 0 -480px no-repeat;} -.treeExpanded {background:url(icon-sprites) 0 -512px no-repeat;} -.branch, .bzr-favicon {background:url(icon-sprites) 0 -544px no-repeat;} -.bzr-favicon {background:url(icon-sprites) 5px -538px no-repeat;} -.distribution {background:url(icon-sprites) 0 -576px no-repeat;} -.package-source {background:url(icon-sprites) 0 -608px no-repeat;} -.milestone {background:url(icon-sprites) 0 -640px no-repeat;} -.language {background:url(icon-sprites) 0 -672px no-repeat;} -.external-link {background:url(icon-sprites) 0 -704px no-repeat;} -.mail {background:url(icon-sprites) 0 -736px no-repeat;} -.cve {background:url(icon-sprites) 0 -768px no-repeat;} -.cves {float: right; text-align: right;} -.bug {background:url(icon-sprites) 0 -800px no-repeat;} -.bug-critical {background:url(icon-sprites) 0 -832px no-repeat;} -.bug-high {background:url(icon-sprites) 0 -864px no-repeat;} -.bug-medium {background:url(icon-sprites) 0 -896px no-repeat;} -.bug-low {background:url(icon-sprites) 0 -928px no-repeat;} -.bug-wishlist {background:url(icon-sprites) 0 -960px no-repeat;} -.blueprint {background:url(icon-sprites) 0 -992px no-repeat;} -.blueprint-essential {background:url(icon-sprites) 0 -1024px no-repeat;} -.blueprint-high {background:url(icon-sprites) 0 -1056px no-repeat;} -.blueprint-medium {background:url(icon-sprites) 0 -1088px no-repeat;} -.blueprint-low {background:url(icon-sprites) 0 -1120px no-repeat;} -.blueprint-undefined {background:url(icon-sprites) 0 -1152px no-repeat;} -.blueprint-not {background:url(icon-sprites) 0 -1184px no-repeat;} -.rss {background:url(icon-sprites) 0 -1216px no-repeat;} -.ubuntu-logo {background:url(icon-sprites-2) 0 0px no-repeat;} -.person-inactive {background:url(icon-sprites-2) 0 -32px no-repeat;} -.person-inactive-badge {background:url(icon-sprites-2) 0 -64px no-repeat;} -.mentoring {background:url(icon-sprites-2) 0 -96px no-repeat;} -.undecided {background:url(icon-sprites-2) 0 -128px no-repeat;} -.error {background:url(icon-sprites-2) 0 -160px no-repeat;} -.cancel {background:url(icon-sprites-2) 0 -192px no-repeat;} -.confirm {background:url(icon-sprites-2) 0 -224px no-repeat;} -.flame {background:url(icon-sprites-2) 0 -256px no-repeat;} -.bug-undecided {background:url(icon-sprites-2) 0 -288px no-repeat;} -.bug-remote {background:url(icon-sprites-2) 0 -320px no-repeat;} -.bug-unknown {background:url(icon-sprites-2) 0 -352px no-repeat;} -.bug-dupe {background:url(icon-sprites-2) 0 -384px no-repeat;} -.bug-tracker {background:url(icon-sprites-2) 0 -416px no-repeat;} -.package-binary {background:url(icon-sprites-2) 0 -448px no-repeat;} -.retry {background:url(icon-sprites-2) 0 -480px no-repeat;} -.distribution-badge {background:url(icon-sprites-2) 0 -512px no-repeat;} -.project-badge {background:url(icon-sprites-2) 0 -544px no-repeat;} -.project {background:url(icon-sprites-2) 0 -576px no-repeat;} -.product-badge {background:url(icon-sprites-2) 0 -608px no-repeat;} -.product {background:url(icon-sprites-2) 0 -640px no-repeat;} -.read-only {background:url(icon-sprites-2) 0 -672px no-repeat;} -.warning-icon, .security {background:url(icon-sprites-2) 0 -704px no-repeat;} -.private {background:url(icon-sprites-2) 0 -736px no-repeat;} -.meeting {background:url(icon-sprites-2) 0 -768px no-repeat;} -.translate-icon {background:url(icon-sprites-2) 0 -800px no-repeat;} -.translation-file {background:url(icon-sprites-2) 0 -832px no-repeat;} -.translation-template {background:url(icon-sprites-2) 0 -864px no-repeat;} -.trash-icon {background:url(icon-sprites-2) 0 -896px no-repeat;} -.stop {background:url(icon-sprites-2) 0 -928px no-repeat;} -.list {background:url(icon-sprites-2) 0 -992px no-repeat;} -.bullet {background:url(icon-sprites-2) 0 -1024px no-repeat;} -.zoom-in {background:url(icon-sprites-2) 0 -1056px no-repeat;} -.zoom-out {background:url(icon-sprites-2) 0 -1088px no-repeat;} -.architecture {background:url(icon-sprites-2) 0 -1120px no-repeat;} -.ppa-icon {background:url(icon-sprites-2) 0 -1147px no-repeat;} -.ppa-icon-inactive {background:url(icon-sprites-2) 0 -1171px no-repeat;} - -.bug-status-expand {background:url(icon-sprites-3) 0 -10px no-repeat;} -.merge-proposal { - background:url(icon-sprites-3) 0 -46px no-repeat; - padding-left: 22px} -.build-superseded {background:url(icon-sprites-3) 0 -80px no-repeat;} -.build-sucess {background:url(icon-sprites-3) 0 -112px no-repeat;} -.build-needed {background:url(icon-sprites-3) 0 -144px no-repeat;} -.build-failure {background:url(icon-sprites-3) 0 -176px no-repeat;} -.build-depwait {background:url(icon-sprites-3) 0 -208px no-repeat;} -.arrowUp {background:url(icon-sprites-3) 0 -240px no-repeat;} -.arrowDown {background:url(icon-sprites-3) 0 -256px no-repeat;} -.arrowStart {background:url(icon-sprites-3) 0 -288px no-repeat;} -.arrowEnd {background:url(icon-sprites-3) 0 -304px no-repeat;} -.arrowTop {background:url(icon-sprites-3) 0 -328px no-repeat;} -.arrowBottom {background:url(icon-sprites-3) 0 -356px no-repeat;} -.arrowLeft {background:url(icon-sprites-3) 0 -384px no-repeat;} -.bluebar {background:url(icon-sprites-3) 0 -416px repeat-x;} -.redbar {background:url(icon-sprites-3) 0 -505px repeat-x;} -.greenbar {background:url(icon-sprites-3) 0 -446px repeat-x;} -.purplebar {background:url(icon-sprites-3) 0 -476px repeat-x;} -.favorite-yes {background:url(icon-sprites-3) 0 -530px no-repeat;} - -/*large*/ -.large-branch {background:url(icon-sprites-large) 0 0 no-repeat;} -.large-warning {background:url(icon-sprites-large) 0 -48px no-repeat;} -.large-crowd {background:url(icon-sprites-large) 0 -96px no-repeat;} -.large-download {background:url(icon-sprites-large) 0 -144px no-repeat;} -.large-error {background:url(icon-sprites-large) 0 -144px no-repeat;} -.large-flame {background:url(icon-sprites-large) 0 -192px no-repeat;} -.large-download {background:url(icon-sprites-large) 0 -240px no-repeat;} -.large-info {background:url(icon-sprites-large) 0 -288px no-repeat;} -.large-launchpad {background:url(icon-sprites-large) 0 -336px no-repeat;} -.large-mentoring {background:url(icon-sprites-large) 0 -384px no-repeat;} -.large-proposal {background:url(icon-sprites-large) 0 -432px no-repeat;} -.large-trash {background:url(icon-sprites-large) 0 -480px no-repeat;} -.large-private {background:url(icon-sprites-large) 0 -528px no-repeat;} - -/*logo*/ -.logo-launchpad {background:url(icon-sprites-logo) 0 0 no-repeat;} -.logo-distribution {background:url(icon-sprites-logo) 0 -80px no-repeat;} -.logo-project {background:url(icon-sprites-logo) 0 -160px no-repeat;} -.logo-product {background:url(icon-sprites-logo) 0 -240 no-repeat;} -.logo-person {background:url(icon-sprites-logo) 0 -320 no-repeat;} -.logo-inactive {background:url(icon-sprites-logo-2) 0 0 no-repeat;} -.logo-team {background:url(icon-sprites-logo-2) 0 -80px no-repeat;} -.logo-meeting {background:url(icon-sprites-logo-2) 0 -160px no-repeat;} -.logo-flame {background:url(icon-sprites-logo-2) 0 -240 no-repeat;} -.logo-trash {background:url(icon-sprites-logo-2) 0 -320 no-repeat;} - - /* == Things browsers should do but don't == */ @@ -1459,11 +1306,6 @@ padding-left: 18px; } -a.info { - background: url('/@@/info') no-repeat scroll left center; - padding-left: 18px; -} - /* == Application-specific styles == */ #application-footer strong {font-weight: normal;} === modified file 'lib/lp/app/templates/navigationmenu-actions.pt' --- lib/lp/app/templates/navigationmenu-actions.pt 2009-08-06 19:14:40 +0000 +++ lib/lp/app/templates/navigationmenu-actions.pt 2009-10-29 21:00:47 +0000 @@ -1,7 +1,7 @@
    • === modified file 'lib/lp/bugs/templates/bug-portlet-actions.pt' --- lib/lp/bugs/templates/bug-portlet-actions.pt 2009-09-22 10:52:10 +0000 +++ lib/lp/bugs/templates/bug-portlet-actions.pt 2009-10-29 21:06:43 +0000 @@ -3,7 +3,7 @@ xmlns:metal="http://xml.zope.org/namespaces/metal" xmlns:i18n="http://xml.zope.org/namespaces/i18n" id="portlet-actions" - class="portlet" + class="portlet vertical" tal:define="context_menu context/menu:context" >
      === modified file 'lib/lp/bugs/templates/bug-portlet-specs.pt' --- lib/lp/bugs/templates/bug-portlet-specs.pt 2009-09-10 20:18:28 +0000 +++ lib/lp/bugs/templates/bug-portlet-specs.pt 2009-10-29 21:07:44 +0000 @@ -2,7 +2,7 @@ xmlns:tal="http://xml.zope.org/namespaces/tal" xmlns:metal="http://xml.zope.org/namespaces/metal" xmlns:i18n="http://xml.zope.org/namespaces/i18n" - class="portlet" id="portlet-blueprints" + class="portlet vertical" id="portlet-blueprints" tal:condition="context/specifications">

      Related blueprints

        === modified file 'lib/lp/bugs/templates/bug-portlet-subscribers.pt' --- lib/lp/bugs/templates/bug-portlet-subscribers.pt 2009-07-17 17:59:07 +0000 +++ lib/lp/bugs/templates/bug-portlet-subscribers.pt 2009-10-29 21:05:20 +0000 @@ -2,7 +2,7 @@ xmlns:tal="http://xml.zope.org/namespaces/tal" xmlns:metal="http://xml.zope.org/namespaces/metal" xmlns:i18n="http://xml.zope.org/namespaces/i18n" - class="portlet" + class="portlet vertical" id="portlet-subscribers" metal:define-macro="custom" > === modified file 'lib/lp/registry/browser/distributionsourcepackage.py' --- lib/lp/registry/browser/distributionsourcepackage.py 2009-10-28 00:19:46 +0000 +++ lib/lp/registry/browser/distributionsourcepackage.py 2009-10-29 21:47:15 +0000 @@ -171,7 +171,7 @@ usedfor = IDistributionSourcePackageActionMenu facet = 'overview' title = 'Actions' - links = ['publishing_history', 'change_log', 'subscribe', 'edit'] + links = ('publishing_history', 'change_log', 'subscribe', 'edit') def publishing_history(self): text = 'View full publishing history' }}}