Merge lp:~edwin-grubbs/launchpad/bug-437184-publishing-history-link into lp:launchpad

Proposed by Edwin Grubbs
Status: Merged
Approved by: Curtis Hovey
Approved revision: no longer in the source branch.
Merged at revision: not available
Proposed branch: lp:~edwin-grubbs/launchpad/bug-437184-publishing-history-link
Merge into: lp:launchpad
Diff against target: 455 lines
9 files modified
lib/canonical/launchpad/icing/style-3-0.css (+160/-0)
lib/canonical/launchpad/icing/style.css (+0/-152)
lib/lp/app/templates/navigationmenu-actions.pt (+1/-1)
lib/lp/bugs/templates/bug-portlet-actions.pt (+1/-1)
lib/lp/bugs/templates/bug-portlet-specs.pt (+1/-1)
lib/lp/bugs/templates/bug-portlet-subscribers.pt (+1/-1)
lib/lp/registry/browser/distributionsourcepackage.py (+5/-1)
lib/lp/registry/stories/distribution/xx-distribution-packages.txt (+4/-4)
lib/lp/registry/templates/distributionsourcepackage-index.pt (+0/-4)
To merge this branch: bzr merge lp:~edwin-grubbs/launchpad/bug-437184-publishing-history-link
Reviewer Review Type Date Requested Status
Curtis Hovey (community) code an ui Approve
Canonical Launchpad Engineering code Pending
Review via email: mp+14059@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Edwin Grubbs (edwin-grubbs) wrote :

Summary
-------

Moved the "View full publishing history" link into the action menu.

Added css to indent the link text so that it doesn't end up below
the icon when it wraps.

Tests
-----

./bin/test -vv -t xx-distribution-packages.txt

Demo and Q/A
------------

* Open https://launchpad.dev/ubuntu/+source/mozilla-firefox/

Revision history for this message
Curtis Hovey (sinzui) wrote :

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 <li> or if we need to increase the line-height of the <a>.

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.)

Is it possible to change DistributionSourcePackageActionMenu.links to a tuple instead of a list?

review: Needs Fixing (code an ui)
Revision history for this message
Edwin Grubbs (edwin-grubbs) wrote :
Download full text (22.3 KiB)

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 <li> or if we need to
> increase the line-height of the <a>.

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...

Revision history for this message
Curtis Hovey (sinzui) wrote :

Thank you very much for the CSS clean up. This looks good to land.

review: Approve (code an ui)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== 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:51:15 +0000
@@ -999,3 +999,163 @@
999 vertical-align: middle;999 vertical-align: middle;
1000 padding: 1em 1em 1em 0;1000 padding: 1em 1em 1em 0;
1001}1001}
1002
1003/* == Sprites == */
1004.sprite {
1005 padding: 2px 0 5px 18px;
1006 line-height: 18px;
1007}
1008.vertical .sprite {
1009 /* XXX: EdwinGrubbs 2009-10-29 bug=463032
1010 The reduced padding is only necessary to prevent parts of the
1011 adjacent sprites in the consolidated image from appearing
1012 when the line wraps and the default font size is 16.
1013 */
1014 padding-bottom: 0px;
1015 display: inline-block;
1016 min-height: 16px;
1017}
1018.vertical .sprite:first-line {
1019 line-height: 12px;
1020}
1021.sprite-after {padding: 2px 18px 0 0;}
1022
1023/* XXX: EdwinGrubbs 2009-07-27 bug=405476
1024 * Override the .yui-picker-results style, so that the next icon
1025 * in the sprite file won't appear for tall list items.
1026 */
1027.yui-picker-results li.sprite {
1028 padding:2px 0 0 18px;
1029 white-space: nowrap;
1030 overflow: hidden;
1031}
1032
1033.add {background:url(icon-sprites) 0 0 no-repeat;}
1034.edit {background:url(icon-sprites) 0 -32px no-repeat;}
1035.remove {background:url(icon-sprites) 0 -64px no-repeat;}
1036.info {background:url(icon-sprites) 0 -96px no-repeat;}
1037.question {background:url(icon-sprites) 0 -128px no-repeat;}
1038.download-icon {background:url(icon-sprites) 0 -160px no-repeat;}
1039.download {background:url(icon-sprites) 0 -160px no-repeat;}
1040.search-icon {background:url(icon-sprites) 0 -187px no-repeat;}
1041.no {background:url(icon-sprites) 0 -224px no-repeat;}
1042.yes {background:url(icon-sprites) 0 -256px no-repeat;}
1043.crowd {background:url(icon-sprites) 0 -288px no-repeat;}
1044.person {background:url(icon-sprites) 0 -320px no-repeat;}
1045.person-tabs {background:url(icon-sprites) 5px -314px no-repeat;}
1046.person-badge {background:url(icon-sprites) 0 -352px no-repeat;}
1047.team {background:url(icon-sprites) 0 -384px no-repeat;}
1048.team-badge {background:url(icon-sprites) 0 -416px no-repeat;}
1049.arrowRight {background:url(icon-sprites) 0 -448px no-repeat;}
1050.treeCollapsed {background:url(icon-sprites) 0 -480px no-repeat;}
1051.treeExpanded {background:url(icon-sprites) 0 -512px no-repeat;}
1052.branch, .bzr-favicon {background:url(icon-sprites) 0 -544px no-repeat;}
1053.bzr-favicon {background:url(icon-sprites) 5px -538px no-repeat;}
1054.distribution {background:url(icon-sprites) 0 -576px no-repeat;}
1055.package-source {background:url(icon-sprites) 0 -608px no-repeat;}
1056.milestone {background:url(icon-sprites) 0 -640px no-repeat;}
1057.language {background:url(icon-sprites) 0 -672px no-repeat;}
1058.external-link {background:url(icon-sprites) 0 -704px no-repeat;}
1059.mail {background:url(icon-sprites) 0 -736px no-repeat;}
1060.cve {background:url(icon-sprites) 0 -768px no-repeat;}
1061.cves {float: right; text-align: right;}
1062.bug {background:url(icon-sprites) 0 -800px no-repeat;}
1063.bug-critical {background:url(icon-sprites) 0 -832px no-repeat;}
1064.bug-high {background:url(icon-sprites) 0 -864px no-repeat;}
1065.bug-medium {background:url(icon-sprites) 0 -896px no-repeat;}
1066.bug-low {background:url(icon-sprites) 0 -928px no-repeat;}
1067.bug-wishlist {background:url(icon-sprites) 0 -960px no-repeat;}
1068.blueprint {background:url(icon-sprites) 0 -992px no-repeat;}
1069.blueprint-essential {background:url(icon-sprites) 0 -1024px no-repeat;}
1070.blueprint-high {background:url(icon-sprites) 0 -1056px no-repeat;}
1071.blueprint-medium {background:url(icon-sprites) 0 -1088px no-repeat;}
1072.blueprint-low {background:url(icon-sprites) 0 -1120px no-repeat;}
1073.blueprint-undefined {background:url(icon-sprites) 0 -1152px no-repeat;}
1074.blueprint-not {background:url(icon-sprites) 0 -1184px no-repeat;}
1075.rss {background:url(icon-sprites) 0 -1216px no-repeat;}
1076.ubuntu-logo {background:url(icon-sprites-2) 0 0px no-repeat;}
1077.person-inactive {background:url(icon-sprites-2) 0 -32px no-repeat;}
1078.person-inactive-badge {background:url(icon-sprites-2) 0 -64px no-repeat;}
1079.mentoring {background:url(icon-sprites-2) 0 -96px no-repeat;}
1080.undecided {background:url(icon-sprites-2) 0 -128px no-repeat;}
1081.error {background:url(icon-sprites-2) 0 -160px no-repeat;}
1082.cancel {background:url(icon-sprites-2) 0 -192px no-repeat;}
1083.confirm {background:url(icon-sprites-2) 0 -224px no-repeat;}
1084.flame {background:url(icon-sprites-2) 0 -256px no-repeat;}
1085.bug-undecided {background:url(icon-sprites-2) 0 -288px no-repeat;}
1086.bug-remote {background:url(icon-sprites-2) 0 -320px no-repeat;}
1087.bug-unknown {background:url(icon-sprites-2) 0 -352px no-repeat;}
1088.bug-dupe {background:url(icon-sprites-2) 0 -384px no-repeat;}
1089.bug-tracker {background:url(icon-sprites-2) 0 -416px no-repeat;}
1090.package-binary {background:url(icon-sprites-2) 0 -448px no-repeat;}
1091.retry {background:url(icon-sprites-2) 0 -480px no-repeat;}
1092.distribution-badge {background:url(icon-sprites-2) 0 -512px no-repeat;}
1093.project-badge {background:url(icon-sprites-2) 0 -544px no-repeat;}
1094.project {background:url(icon-sprites-2) 0 -576px no-repeat;}
1095.product-badge {background:url(icon-sprites-2) 0 -608px no-repeat;}
1096.product {background:url(icon-sprites-2) 0 -640px no-repeat;}
1097.read-only {background:url(icon-sprites-2) 0 -672px no-repeat;}
1098.warning-icon, .security {background:url(icon-sprites-2) 0 -704px no-repeat;}
1099.private {background:url(icon-sprites-2) 0 -736px no-repeat;}
1100.meeting {background:url(icon-sprites-2) 0 -768px no-repeat;}
1101.translate-icon {background:url(icon-sprites-2) 0 -800px no-repeat;}
1102.translation-file {background:url(icon-sprites-2) 0 -832px no-repeat;}
1103.translation-template {background:url(icon-sprites-2) 0 -864px no-repeat;}
1104.trash-icon {background:url(icon-sprites-2) 0 -896px no-repeat;}
1105.stop {background:url(icon-sprites-2) 0 -928px no-repeat;}
1106.list {background:url(icon-sprites-2) 0 -992px no-repeat;}
1107.bullet {background:url(icon-sprites-2) 0 -1024px no-repeat;}
1108.zoom-in {background:url(icon-sprites-2) 0 -1056px no-repeat;}
1109.zoom-out {background:url(icon-sprites-2) 0 -1088px no-repeat;}
1110.architecture {background:url(icon-sprites-2) 0 -1120px no-repeat;}
1111.ppa-icon {background:url(icon-sprites-2) 0 -1147px no-repeat;}
1112.ppa-icon-inactive {background:url(icon-sprites-2) 0 -1171px no-repeat;}
1113
1114.bug-status-expand {background:url(icon-sprites-3) 0 -10px no-repeat;}
1115.merge-proposal {
1116 background:url(icon-sprites-3) 0 -46px no-repeat;
1117 padding-left: 22px}
1118.build-superseded {background:url(icon-sprites-3) 0 -80px no-repeat;}
1119.build-sucess {background:url(icon-sprites-3) 0 -112px no-repeat;}
1120.build-needed {background:url(icon-sprites-3) 0 -144px no-repeat;}
1121.build-failure {background:url(icon-sprites-3) 0 -176px no-repeat;}
1122.build-depwait {background:url(icon-sprites-3) 0 -208px no-repeat;}
1123.arrowUp {background:url(icon-sprites-3) 0 -240px no-repeat;}
1124.arrowDown {background:url(icon-sprites-3) 0 -256px no-repeat;}
1125.arrowStart {background:url(icon-sprites-3) 0 -288px no-repeat;}
1126.arrowEnd {background:url(icon-sprites-3) 0 -304px no-repeat;}
1127.arrowTop {background:url(icon-sprites-3) 0 -328px no-repeat;}
1128.arrowBottom {background:url(icon-sprites-3) 0 -356px no-repeat;}
1129.arrowLeft {background:url(icon-sprites-3) 0 -384px no-repeat;}
1130.bluebar {background:url(icon-sprites-3) 0 -416px repeat-x;}
1131.redbar {background:url(icon-sprites-3) 0 -505px repeat-x;}
1132.greenbar {background:url(icon-sprites-3) 0 -446px repeat-x;}
1133.purplebar {background:url(icon-sprites-3) 0 -476px repeat-x;}
1134.favorite-yes {background:url(icon-sprites-3) 0 -530px no-repeat;}
1135
1136/*large*/
1137.large-branch {background:url(icon-sprites-large) 0 0 no-repeat;}
1138.large-warning {background:url(icon-sprites-large) 0 -48px no-repeat;}
1139.large-crowd {background:url(icon-sprites-large) 0 -96px no-repeat;}
1140.large-download {background:url(icon-sprites-large) 0 -144px no-repeat;}
1141.large-error {background:url(icon-sprites-large) 0 -144px no-repeat;}
1142.large-flame {background:url(icon-sprites-large) 0 -192px no-repeat;}
1143.large-download {background:url(icon-sprites-large) 0 -240px no-repeat;}
1144.large-info {background:url(icon-sprites-large) 0 -288px no-repeat;}
1145.large-launchpad {background:url(icon-sprites-large) 0 -336px no-repeat;}
1146.large-mentoring {background:url(icon-sprites-large) 0 -384px no-repeat;}
1147.large-proposal {background:url(icon-sprites-large) 0 -432px no-repeat;}
1148.large-trash {background:url(icon-sprites-large) 0 -480px no-repeat;}
1149.large-private {background:url(icon-sprites-large) 0 -528px no-repeat;}
1150
1151/*logo*/
1152.logo-launchpad {background:url(icon-sprites-logo) 0 0 no-repeat;}
1153.logo-distribution {background:url(icon-sprites-logo) 0 -80px no-repeat;}
1154.logo-project {background:url(icon-sprites-logo) 0 -160px no-repeat;}
1155.logo-product {background:url(icon-sprites-logo) 0 -240 no-repeat;}
1156.logo-person {background:url(icon-sprites-logo) 0 -320 no-repeat;}
1157.logo-inactive {background:url(icon-sprites-logo-2) 0 0 no-repeat;}
1158.logo-team {background:url(icon-sprites-logo-2) 0 -80px no-repeat;}
1159.logo-meeting {background:url(icon-sprites-logo-2) 0 -160px no-repeat;}
1160.logo-flame {background:url(icon-sprites-logo-2) 0 -240 no-repeat;}
1161.logo-trash {background:url(icon-sprites-logo-2) 0 -320 no-repeat;}
10021162
=== modified file 'lib/canonical/launchpad/icing/style.css'
--- lib/canonical/launchpad/icing/style.css 2009-10-16 20:16:34 +0000
+++ lib/canonical/launchpad/icing/style.css 2009-10-29 21:51:15 +0000
@@ -34,9 +34,6 @@
3434
35/* == Sprites == */35/* == Sprites == */
3636
37#subscribers-direct a, #portlet-subscribers a, #subscribers-indirect a, .bug-branch-summary {
38 line-height: 1.4em;
39}
40ul.breadcrumbs a.bzr-favicon, ul.breadcrumbs a.person-tabs {37ul.breadcrumbs a.bzr-favicon, ul.breadcrumbs a.person-tabs {
41 padding: 8px 18px 0 23px;38 padding: 8px 18px 0 23px;
42}39}
@@ -52,150 +49,6 @@
52}49}
53span.invisible-link {display:none;}50span.invisible-link {display:none;}
54span.invisible {left:-9999em;display:block;}51span.invisible {left:-9999em;display:block;}
55.sprite {padding:2px 0 0 18px;}
56.sprite-after {padding: 2px 18px 0 0;}
57
58/* XXX: EdwinGrubbs 2009-07-27 bug=405476
59 * Override the .yui-picker-results style, so that the next icon
60 * in the sprite file won't appear for tall list items.
61 */
62.yui-picker-results li.sprite {
63 padding:2px 0 0 18px;
64 white-space: nowrap;
65 overflow: hidden;
66}
67
68.add {background:url(icon-sprites) 0 0 no-repeat;}
69.edit {background:url(icon-sprites) 0 -32px no-repeat;}
70.remove {background:url(icon-sprites) 0 -64px no-repeat;}
71.info {background:url(icon-sprites) 0 -96px no-repeat;}
72.question {background:url(icon-sprites) 0 -128px no-repeat;}
73.download-icon {background:url(icon-sprites) 0 -160px no-repeat;}
74.download {background:url(icon-sprites) 0 -160px no-repeat;}
75.search-icon {background:url(icon-sprites) 0 -187px no-repeat;}
76.no {background:url(icon-sprites) 0 -224px no-repeat;}
77.yes {background:url(icon-sprites) 0 -256px no-repeat;}
78.crowd {background:url(icon-sprites) 0 -288px no-repeat;}
79.person {background:url(icon-sprites) 0 -320px no-repeat;}
80.person-tabs {background:url(icon-sprites) 5px -314px no-repeat;}
81.person-badge {background:url(icon-sprites) 0 -352px no-repeat;}
82.team {background:url(icon-sprites) 0 -384px no-repeat;}
83.team-badge {background:url(icon-sprites) 0 -416px no-repeat;}
84.arrowRight {background:url(icon-sprites) 0 -448px no-repeat;}
85.treeCollapsed {background:url(icon-sprites) 0 -480px no-repeat;}
86.treeExpanded {background:url(icon-sprites) 0 -512px no-repeat;}
87.branch, .bzr-favicon {background:url(icon-sprites) 0 -544px no-repeat;}
88.bzr-favicon {background:url(icon-sprites) 5px -538px no-repeat;}
89.distribution {background:url(icon-sprites) 0 -576px no-repeat;}
90.package-source {background:url(icon-sprites) 0 -608px no-repeat;}
91.milestone {background:url(icon-sprites) 0 -640px no-repeat;}
92.language {background:url(icon-sprites) 0 -672px no-repeat;}
93.external-link {background:url(icon-sprites) 0 -704px no-repeat;}
94.mail {background:url(icon-sprites) 0 -736px no-repeat;}
95.cve {background:url(icon-sprites) 0 -768px no-repeat;}
96.cves {float: right; text-align: right;}
97.bug {background:url(icon-sprites) 0 -800px no-repeat;}
98.bug-critical {background:url(icon-sprites) 0 -832px no-repeat;}
99.bug-high {background:url(icon-sprites) 0 -864px no-repeat;}
100.bug-medium {background:url(icon-sprites) 0 -896px no-repeat;}
101.bug-low {background:url(icon-sprites) 0 -928px no-repeat;}
102.bug-wishlist {background:url(icon-sprites) 0 -960px no-repeat;}
103.blueprint {background:url(icon-sprites) 0 -992px no-repeat;}
104.blueprint-essential {background:url(icon-sprites) 0 -1024px no-repeat;}
105.blueprint-high {background:url(icon-sprites) 0 -1056px no-repeat;}
106.blueprint-medium {background:url(icon-sprites) 0 -1088px no-repeat;}
107.blueprint-low {background:url(icon-sprites) 0 -1120px no-repeat;}
108.blueprint-undefined {background:url(icon-sprites) 0 -1152px no-repeat;}
109.blueprint-not {background:url(icon-sprites) 0 -1184px no-repeat;}
110.rss {background:url(icon-sprites) 0 -1216px no-repeat;}
111.ubuntu-logo {background:url(icon-sprites-2) 0 0px no-repeat;}
112.person-inactive {background:url(icon-sprites-2) 0 -32px no-repeat;}
113.person-inactive-badge {background:url(icon-sprites-2) 0 -64px no-repeat;}
114.mentoring {background:url(icon-sprites-2) 0 -96px no-repeat;}
115.undecided {background:url(icon-sprites-2) 0 -128px no-repeat;}
116.error {background:url(icon-sprites-2) 0 -160px no-repeat;}
117.cancel {background:url(icon-sprites-2) 0 -192px no-repeat;}
118.confirm {background:url(icon-sprites-2) 0 -224px no-repeat;}
119.flame {background:url(icon-sprites-2) 0 -256px no-repeat;}
120.bug-undecided {background:url(icon-sprites-2) 0 -288px no-repeat;}
121.bug-remote {background:url(icon-sprites-2) 0 -320px no-repeat;}
122.bug-unknown {background:url(icon-sprites-2) 0 -352px no-repeat;}
123.bug-dupe {background:url(icon-sprites-2) 0 -384px no-repeat;}
124.bug-tracker {background:url(icon-sprites-2) 0 -416px no-repeat;}
125.package-binary {background:url(icon-sprites-2) 0 -448px no-repeat;}
126.retry {background:url(icon-sprites-2) 0 -480px no-repeat;}
127.distribution-badge {background:url(icon-sprites-2) 0 -512px no-repeat;}
128.project-badge {background:url(icon-sprites-2) 0 -544px no-repeat;}
129.project {background:url(icon-sprites-2) 0 -576px no-repeat;}
130.product-badge {background:url(icon-sprites-2) 0 -608px no-repeat;}
131.product {background:url(icon-sprites-2) 0 -640px no-repeat;}
132.read-only {background:url(icon-sprites-2) 0 -672px no-repeat;}
133.warning-icon, .security {background:url(icon-sprites-2) 0 -704px no-repeat;}
134.private {background:url(icon-sprites-2) 0 -736px no-repeat;}
135.meeting {background:url(icon-sprites-2) 0 -768px no-repeat;}
136.translate-icon {background:url(icon-sprites-2) 0 -800px no-repeat;}
137.translation-file {background:url(icon-sprites-2) 0 -832px no-repeat;}
138.translation-template {background:url(icon-sprites-2) 0 -864px no-repeat;}
139.trash-icon {background:url(icon-sprites-2) 0 -896px no-repeat;}
140.stop {background:url(icon-sprites-2) 0 -928px no-repeat;}
141.list {background:url(icon-sprites-2) 0 -992px no-repeat;}
142.bullet {background:url(icon-sprites-2) 0 -1024px no-repeat;}
143.zoom-in {background:url(icon-sprites-2) 0 -1056px no-repeat;}
144.zoom-out {background:url(icon-sprites-2) 0 -1088px no-repeat;}
145.architecture {background:url(icon-sprites-2) 0 -1120px no-repeat;}
146.ppa-icon {background:url(icon-sprites-2) 0 -1147px no-repeat;}
147.ppa-icon-inactive {background:url(icon-sprites-2) 0 -1171px no-repeat;}
148
149.bug-status-expand {background:url(icon-sprites-3) 0 -10px no-repeat;}
150.merge-proposal {
151 background:url(icon-sprites-3) 0 -46px no-repeat;
152 padding-left: 22px}
153.build-superseded {background:url(icon-sprites-3) 0 -80px no-repeat;}
154.build-sucess {background:url(icon-sprites-3) 0 -112px no-repeat;}
155.build-needed {background:url(icon-sprites-3) 0 -144px no-repeat;}
156.build-failure {background:url(icon-sprites-3) 0 -176px no-repeat;}
157.build-depwait {background:url(icon-sprites-3) 0 -208px no-repeat;}
158.arrowUp {background:url(icon-sprites-3) 0 -240px no-repeat;}
159.arrowDown {background:url(icon-sprites-3) 0 -256px no-repeat;}
160.arrowStart {background:url(icon-sprites-3) 0 -288px no-repeat;}
161.arrowEnd {background:url(icon-sprites-3) 0 -304px no-repeat;}
162.arrowTop {background:url(icon-sprites-3) 0 -328px no-repeat;}
163.arrowBottom {background:url(icon-sprites-3) 0 -356px no-repeat;}
164.arrowLeft {background:url(icon-sprites-3) 0 -384px no-repeat;}
165.bluebar {background:url(icon-sprites-3) 0 -416px repeat-x;}
166.redbar {background:url(icon-sprites-3) 0 -505px repeat-x;}
167.greenbar {background:url(icon-sprites-3) 0 -446px repeat-x;}
168.purplebar {background:url(icon-sprites-3) 0 -476px repeat-x;}
169.favorite-yes {background:url(icon-sprites-3) 0 -530px no-repeat;}
170
171/*large*/
172.large-branch {background:url(icon-sprites-large) 0 0 no-repeat;}
173.large-warning {background:url(icon-sprites-large) 0 -48px no-repeat;}
174.large-crowd {background:url(icon-sprites-large) 0 -96px no-repeat;}
175.large-download {background:url(icon-sprites-large) 0 -144px no-repeat;}
176.large-error {background:url(icon-sprites-large) 0 -144px no-repeat;}
177.large-flame {background:url(icon-sprites-large) 0 -192px no-repeat;}
178.large-download {background:url(icon-sprites-large) 0 -240px no-repeat;}
179.large-info {background:url(icon-sprites-large) 0 -288px no-repeat;}
180.large-launchpad {background:url(icon-sprites-large) 0 -336px no-repeat;}
181.large-mentoring {background:url(icon-sprites-large) 0 -384px no-repeat;}
182.large-proposal {background:url(icon-sprites-large) 0 -432px no-repeat;}
183.large-trash {background:url(icon-sprites-large) 0 -480px no-repeat;}
184.large-private {background:url(icon-sprites-large) 0 -528px no-repeat;}
185
186/*logo*/
187.logo-launchpad {background:url(icon-sprites-logo) 0 0 no-repeat;}
188.logo-distribution {background:url(icon-sprites-logo) 0 -80px no-repeat;}
189.logo-project {background:url(icon-sprites-logo) 0 -160px no-repeat;}
190.logo-product {background:url(icon-sprites-logo) 0 -240 no-repeat;}
191.logo-person {background:url(icon-sprites-logo) 0 -320 no-repeat;}
192.logo-inactive {background:url(icon-sprites-logo-2) 0 0 no-repeat;}
193.logo-team {background:url(icon-sprites-logo-2) 0 -80px no-repeat;}
194.logo-meeting {background:url(icon-sprites-logo-2) 0 -160px no-repeat;}
195.logo-flame {background:url(icon-sprites-logo-2) 0 -240 no-repeat;}
196.logo-trash {background:url(icon-sprites-logo-2) 0 -320 no-repeat;}
197
198
19952
200/* == Things browsers should do but don't == */53/* == Things browsers should do but don't == */
20154
@@ -1453,11 +1306,6 @@
1453 padding-left: 18px;1306 padding-left: 18px;
1454}1307}
14551308
1456a.info {
1457 background: url('/@@/info') no-repeat scroll left center;
1458 padding-left: 18px;
1459}
1460
1461/* == Application-specific styles == */1309/* == Application-specific styles == */
14621310
1463#application-footer strong {font-weight: normal;}1311#application-footer strong {font-weight: normal;}
14641312
=== 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:51:15 +0000
@@ -1,7 +1,7 @@
1<div1<div
2 xmlns:tal="http://xml.zope.org/namespaces/tal"2 xmlns:tal="http://xml.zope.org/namespaces/tal"
3 xmlns:i18n="http://xml.zope.org/namespaces/i18n"3 xmlns:i18n="http://xml.zope.org/namespaces/i18n"
4 id="global-actions" class="portlet"4 id="global-actions" class="portlet vertical"
5 tal:condition="view/enabled_links">5 tal:condition="view/enabled_links">
6 <ul>6 <ul>
7 <li tal:repeat="link view/enabled_links">7 <li tal:repeat="link view/enabled_links">
88
=== 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:51:15 +0000
@@ -3,7 +3,7 @@
3 xmlns:metal="http://xml.zope.org/namespaces/metal"3 xmlns:metal="http://xml.zope.org/namespaces/metal"
4 xmlns:i18n="http://xml.zope.org/namespaces/i18n"4 xmlns:i18n="http://xml.zope.org/namespaces/i18n"
5 id="portlet-actions"5 id="portlet-actions"
6 class="portlet"6 class="portlet vertical"
7 tal:define="context_menu context/menu:context"7 tal:define="context_menu context/menu:context"
8>8>
9 <div id="duplicate-actions">9 <div id="duplicate-actions">
1010
=== 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:51:15 +0000
@@ -2,7 +2,7 @@
2 xmlns:tal="http://xml.zope.org/namespaces/tal"2 xmlns:tal="http://xml.zope.org/namespaces/tal"
3 xmlns:metal="http://xml.zope.org/namespaces/metal"3 xmlns:metal="http://xml.zope.org/namespaces/metal"
4 xmlns:i18n="http://xml.zope.org/namespaces/i18n"4 xmlns:i18n="http://xml.zope.org/namespaces/i18n"
5 class="portlet" id="portlet-blueprints"5 class="portlet vertical" id="portlet-blueprints"
6 tal:condition="context/specifications">6 tal:condition="context/specifications">
7 <h2>Related blueprints</h2>7 <h2>Related blueprints</h2>
8 <ul>8 <ul>
99
=== 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:51:15 +0000
@@ -2,7 +2,7 @@
2 xmlns:tal="http://xml.zope.org/namespaces/tal"2 xmlns:tal="http://xml.zope.org/namespaces/tal"
3 xmlns:metal="http://xml.zope.org/namespaces/metal"3 xmlns:metal="http://xml.zope.org/namespaces/metal"
4 xmlns:i18n="http://xml.zope.org/namespaces/i18n"4 xmlns:i18n="http://xml.zope.org/namespaces/i18n"
5 class="portlet"5 class="portlet vertical"
6 id="portlet-subscribers"6 id="portlet-subscribers"
7 metal:define-macro="custom"7 metal:define-macro="custom"
8>8>
99
=== modified file 'lib/lp/registry/browser/distributionsourcepackage.py'
--- lib/lp/registry/browser/distributionsourcepackage.py 2009-10-24 16:58:01 +0000
+++ lib/lp/registry/browser/distributionsourcepackage.py 2009-10-29 21:51:15 +0000
@@ -171,7 +171,11 @@
171 usedfor = IDistributionSourcePackageActionMenu171 usedfor = IDistributionSourcePackageActionMenu
172 facet = 'overview'172 facet = 'overview'
173 title = 'Actions'173 title = 'Actions'
174 links = ['change_log', 'subscribe', 'edit']174 links = ('publishing_history', 'change_log', 'subscribe', 'edit')
175
176 def publishing_history(self):
177 text = 'View full publishing history'
178 return Link('+publishinghistory', text, icon="info")
175179
176 def change_log(self):180 def change_log(self):
177 text = 'View full change log'181 text = 'View full change log'
178182
=== modified file 'lib/lp/registry/stories/distribution/xx-distribution-packages.txt'
--- lib/lp/registry/stories/distribution/xx-distribution-packages.txt 2009-09-23 14:58:12 +0000
+++ lib/lp/registry/stories/distribution/xx-distribution-packages.txt 2009-10-29 21:51:15 +0000
@@ -303,6 +303,7 @@
303303
304 >>> print extract_text(304 >>> print extract_text(
305 ... find_tag_by_id(user_browser.contents, 'global-actions'))305 ... find_tag_by_id(user_browser.contents, 'global-actions'))
306 View full publishing history
306 View full change log307 View full change log
307 Subscribe to bug mail308 Subscribe to bug mail
308309
@@ -558,11 +559,10 @@
558Publishing History559Publishing History
559------------------560------------------
560561
561Users can inspect the full publishing history by clicking on a link at562Users can inspect the full publishing history by clicking on a link in
562the bottom of the 'packages_list' section in the distribution source563the action menu on the the distribution source package index page.
563package index page.
564564
565 >>> anon_browser.getLink('See full publishing history').click()565 >>> anon_browser.getLink('View full publishing history').click()
566566
567The full publishing history is presented in a new page, with the567The full publishing history is presented in a new page, with the
568appropriate title and main heading, but preserving the distribution568appropriate title and main heading, but preserving the distribution
569569
=== modified file 'lib/lp/registry/templates/distributionsourcepackage-index.pt'
--- lib/lp/registry/templates/distributionsourcepackage-index.pt 2009-10-23 12:53:21 +0000
+++ lib/lp/registry/templates/distributionsourcepackage-index.pt 2009-10-29 21:51:15 +0000
@@ -219,10 +219,6 @@
219 tal:content="string:LP.client.cache['archive_context_url'] = '${archive/fmt:url}';"></script>219 tal:content="string:LP.client.cache['archive_context_url'] = '${archive/fmt:url}';"></script>
220 <metal:js use-macro="archive/@@+macros/expandable-table-js"/>220 <metal:js use-macro="archive/@@+macros/expandable-table-js"/>
221221
222 <p style="float:right; padding-top:1em">
223 <a href="+publishinghistory">See full publishing history</a>
224 </p>
225
226 </div>222 </div>
227223
228 <div class="yui-u">224 <div class="yui-u">