Merge lp:~michael.nelson/launchpad/3-0-menu into lp:launchpad

Proposed by Michael Nelson
Status: Merged
Merged at revision: not available
Proposed branch: lp:~michael.nelson/launchpad/3-0-menu
Merge into: lp:launchpad
Diff against target: None lines
To merge this branch: bzr merge lp:~michael.nelson/launchpad/3-0-menu
Reviewer Review Type Date Requested Status
Martin Albisetti (community) ui Approve
Eleanor Berger (community) Approve
Review via email: mp+9577@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Michael Nelson (michael.nelson) wrote :
Download full text (3.6 KiB)

= Summary =

This branch is a first implementation of Martin's new location-header +
navigation tabs (facets), the mockup of which can be seen at:

http://people.canonical.com/~michaeln/menu_3-0/0-LP_new_design_Bugs_v3.1-from-beuno.png

== Proposed fix ==

This branch removes the old facet tabs from base-layout.pt and adds in
their place a simple styled list via a macro.

Following are a few unresolved questions that I have regarding the design.

What happens for contexts that do not have an image:logo?
=========================================================
See source package screenshot at:
http://people.canonical.com/~michaeln/menu_3-0/2-DistroSourcepkg-with-disabled-tabs.png

IDistributionSourcePackage does not provide IHasLogo, so passes up to
the nearest object that does, which is the distribution.

Note: in this specific case we actually want to update
IDistributionSourcePackage to implement IHasLogo and use the logo of the
upstream project - if it has one.

Alignment of menu text when first tab is highlighted (Code)?
============================================================

The provided mockup has the text of the first tab aligned with the text
of the heading above, but does not specify what should be aligned when
the first tab is active (ie. still the text, or the border of the
highlight?).

As a last-minute decision, I've gone with aligning the text of the first
tab when it is not active, and the margin/highlight when it is, as shown
by the first two examples at:

http://people.canonical.com/~michaeln/menu_3-0/4-alignment-of-first-tab.png

The third example shows you the other alternative (aligning the text
even when the first tab is active). Let me know what you'd prefer.

The location-portlet now becomes the top-portlet
================================================

I'm assuming from the mockup that the location portlet will always be
the top portlet when it is present. That is, the first content below it
should be separated with a thin gray line (ie. a normal portlet).

If this is so, it'll mean updating the 3.0 design instructions as people
can simply add class="portlet" to their first main-area portlet.

Other unspecified design decisions
==================================

Hover behaviour
---------------
I've just used a lower-contrasting gray. See

http://people.canonical.com/~michaeln/menu_3-0/1-DistroSearch-with-hover.png

Another point (which I haven't got an image for, but you can see the
behaviour if you merge the branch) is hovering over the current selected
tab.

Disabled location tabs
----------------------
I've grayed them out as shown at:
 http://people.canonical.com/~michaeln/menu_3-0/2-DistroSourcepkg-with-disabled-tabs.png

edge/staging warning message
----------------------------
As I've only implemented the location header/nav, I have not moved it so
it will still appear under the current 'breadcrumb'-like structure at
the top of the page.

== Implementation details ==

== Tests ==

bin/test -vvt tests/base-layout.txt

== Demo and Q/A ==

= Launchpad lint =

Checking for conflicts. and issues in doctests and templates.
Running jslint, xmllint, pyflakes, and pylint.
Using normal rules.

Linting chan...

Read more...

Revision history for this message
Eleanor Berger (intellectronica) :
review: Approve
Revision history for this message
Martin Albisetti (beuno) wrote :
Download full text (3.4 KiB)

> What happens for contexts that do not have an image:logo?
> =========================================================
> See source package screenshot at:
> http://people.canonical.com/~michaeln/menu_3-0/2-DistroSourcepkg-with-
> disabled-tabs.png
>
> IDistributionSourcePackage does not provide IHasLogo, so passes up to
> the nearest object that does, which is the distribution.
>
> Note: in this specific case we actually want to update
> IDistributionSourcePackage to implement IHasLogo and use the logo of the
> upstream project - if it has one.

I think that we should always have a default Logo, and a plan to eventually show something meaningful there.

> Alignment of menu text when first tab is highlighted (Code)?
> ============================================================
>
> The provided mockup has the text of the first tab aligned with the text
> of the heading above, but does not specify what should be aligned when
> the first tab is active (ie. still the text, or the border of the
> highlight?).
>
> As a last-minute decision, I've gone with aligning the text of the first
> tab when it is not active, and the margin/highlight when it is, as shown
> by the first two examples at:
>
> http://people.canonical.com/~michaeln/menu_3-0/4-alignment-of-first-tab.png
>
> The third example shows you the other alternative (aligning the text
> even when the first tab is active). Let me know what you'd prefer.

I feel the third option is the best. Thank you so much for laying out my options so well :)

> The location-portlet now becomes the top-portlet
> ================================================
>
> I'm assuming from the mockup that the location portlet will always be
> the top portlet when it is present. That is, the first content below it
> should be separated with a thin gray line (ie. a normal portlet).
>
> If this is so, it'll mean updating the 3.0 design instructions as people
> can simply add class="portlet" to their first main-area portlet.

I don't quite understand what you mean by "location portlet".

> Other unspecified design decisions
> ==================================
>
> Hover behaviour
> ---------------
> I've just used a lower-contrasting gray. See
>
> http://people.canonical.com/~michaeln/menu_3-0/1-DistroSearch-with-hover.png
>
> Another point (which I haven't got an image for, but you can see the
> behaviour if you merge the branch) is hovering over the current selected
> tab.

Your instincts where right here. It's great as-is.

> Disabled location tabs
> ----------------------
> I've grayed them out as shown at:
> http://people.canonical.com/~michaeln/menu_3-0/2-DistroSourcepkg-with-
> disabled-tabs.png

Again, the right thing to do.

> edge/staging warning message
> ----------------------------
> As I've only implemented the location header/nav, I have not moved it so
> it will still appear under the current 'breadcrumb'-like structure at
> the top of the page.

I see you still haven't moved the breadcrumbs to beneath the title. To be honest, I don't know what to do with the edge notice, but I feel it's no longer as important to know about in which instance you are. It could very well be something th...

Read more...

review: Needs Information
Revision history for this message
Michael Nelson (michael.nelson) wrote :
Download full text (6.8 KiB)

> > What happens for contexts that do not have an image:logo?
> > =========================================================
> > See source package screenshot at:
> > http://people.canonical.com/~michaeln/menu_3-0/2-DistroSourcepkg-with-
> > disabled-tabs.png
> >
> > IDistributionSourcePackage does not provide IHasLogo, so passes up to
> > the nearest object that does, which is the distribution.
> >
> > Note: in this specific case we actually want to update
> > IDistributionSourcePackage to implement IHasLogo and use the logo of the
> > upstream project - if it has one.
>
> I think that we should always have a default Logo, and a plan to eventually
> show something meaningful there.

Yes, the tales logo formatter does this - it will display a default logo if it cannot find one for the given traversal path (ie. in the above example, if IDistribution did not provide IHasLogo, then a default logo would be displayed.

I'm not sure if you are saying that you'd prefer that the formatter didn't look up the traversal path (ie. if there is no logo for the IDistributionSourcePackage then it should just display the default logo, rather than looking to IDistribution first)? If so, then I think the wider implications of that change need to be considered (and I'd suggest it isn't part of this branch).

And to eventually get something meaningful here shouldn't be difficult as once the logos are displayed so visibly it will be up to the responsible teams to add IHasLogo support.

>
>
>
> > Alignment of menu text when first tab is highlighted (Code)?
> > ============================================================
> >
> > The provided mockup has the text of the first tab aligned with the text
> > of the heading above, but does not specify what should be aligned when
> > the first tab is active (ie. still the text, or the border of the
> > highlight?).
> >
> > As a last-minute decision, I've gone with aligning the text of the first
> > tab when it is not active, and the margin/highlight when it is, as shown
> > by the first two examples at:
> >
> > http://people.canonical.com/~michaeln/menu_3-0/4-alignment-of-first-tab.png
> >
> > The third example shows you the other alternative (aligning the text
> > even when the first tab is active). Let me know what you'd prefer.
>
> I feel the third option is the best. Thank you so much for laying out my
> options so well :)
>

No probs! I've pushed the change so the third option is used.

>
> > The location-portlet now becomes the top-portlet
> > ================================================
> >
> > I'm assuming from the mockup that the location portlet will always be
> > the top portlet when it is present. That is, the first content below it
> > should be separated with a thin gray line (ie. a normal portlet).
> >
> > If this is so, it'll mean updating the 3.0 design instructions as people
> > can simply add class="portlet" to their first main-area portlet.
>
> I don't quite understand what you mean by "location portlet".

OK, so perhaps another point should have been that I don't know how to refer to this block of heading+application/navigation/facet/tabs. I started refering to it as the "location portlet" ...

Read more...

Revision history for this message
Michael Nelson (michael.nelson) wrote :

Martin,

I've just been talking with Curtis - which has helped clarify a few issues. In particular, what I've referred to above as the 'location portlet' is really the 'pillar heading'. So I'll need to do a bit of a re-work to straighten things out.

I'll hopefully be able to push the changes tomorrow morning.

Revision history for this message
Martin Albisetti (beuno) wrote :

> I'm not sure if you are saying that you'd prefer that the formatter didn't
> look up the traversal path (ie. if there is no logo for the
> IDistributionSourcePackage then it should just display the default logo,
> rather than looking to IDistribution first)? If so, then I think the wider
> implications of that change need to be considered (and I'd suggest it isn't
> part of this branch).

No, I think the current behavior is good for now.

> > I see you still haven't moved the breadcrumbs to beneath the title.
>
> No, Julian mentioned the other day that I was only to do the nav, not the
> breadcrumbs. But even if you do want me to do those, I'd still prefer to do
> them as a separate branch - if that's ok?

It is. The breadcrumb issue is something separate from the UI. They need to be more detailed, and I'm going to work on that with Salgado.
If you can handle the UI, while I work out the technical details with Salgado, it would be great.

> This change will affect any page that uses the 3-0 templates (main_only,
> main_side, searchless, locationless.) So, I was wanting to check with Curtis,
> but I was planning on landing this change without updating any other templates
> (it just so happens that Curtis has already landed the searchless template
> changes such as the Distribution search that I used in the examples here and
> that you can see locally). I was under the impression (from Curtis' conversion
> page) that we cannot yet land any changes that update templates to 3-0? (see
> the section "There are some bugs that must be fixed before layouts changes can
> start" at the beginning of the page
> https://dev.launchpad.net/VersionThreeDotO/UI/Conversion)

Sounds good to me.

Revision history for this message
Michael Nelson (michael.nelson) wrote :

OK, I've updated this branch after talking with both Curtis and Martin.

The complete diff is: Diff: http://pastebin.ubuntu.com/247929/ (easier to read).

Changes
=======

1. I added a location_title formatter which, similar to the logo formatter, checks for the nearest IHasLogo implementer in the canonical url, and displays returns the title. This allows the location portlet to display the *person* who owns the PPA currently being browsed, like this:

http://people.canonical.com/~michaeln/menu_3-0/5-default-h2-location-heading.png

Note: when discussing this with Curtis, we had planned for this to be 'pillar_title', but I also understood that when viewing a PPA, the location should be the person, as shown in the image. Other options for the formatter would be 'piller_or_person_title' depending on what Curtis thinks.

2. I've ensured that if we cannot display a piller/person title (because there is no pillar or person present) then we display 'Launchpad' like this:

http://people.canonical.com/~michaeln/menu_3-0/6-no-location-default-launchpad.png

Note1: I assume 'Launchpad Home' will be disappearing, according to beuno' design?
Note2: The logo formatter already does this by default - so that didn't require any change.

Questions
=========

Now I'm left with the following question:

1. Why is the default heading used in the "heading" metal slot h2? Shouldn't it always be h1 (given that the heading in the location is always h2).

Note: I did do a revision where the location_title marked up the title with h1 or h2 depending on whether the current context itself implemented IHasLogo, but that didn't work for pages like:

http://people.canonical.com/~michaeln/menu_3-0/7-ubuntu-search.png

where the context *is* the ubuntu distribution, but we have an h1 heading related to search.

Thanks for your time!

Revision history for this message
Martin Albisetti (beuno) wrote :

Changes are awesome.

> Note1: I assume 'Launchpad Home' will be disappearing, according to beuno'
> design?

Yes.

> 1. Why is the default heading used in the "heading" metal slot h2? Shouldn't
> it always be h1 (given that the heading in the location is always h2).
>
> Note: I did do a revision where the location_title marked up the title with h1
> or h2 depending on whether the current context itself implemented IHasLogo,
> but that didn't work for pages like:
>
> http://people.canonical.com/~michaeln/menu_3-0/7-ubuntu-search.png
>
> where the context *is* the ubuntu distribution, but we have an h1 heading
> related to search.

I don't think I quite understand this, but if there's only one heading, then it should be h1

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

Hi Michael.

This is a good improvement. I think I have just as may questions as you. I do not think I have any answers. I think Martin needs to give some directions here.

Martin mentioned that the the Overview tab going away. I believe that will
cause havoc here. How do I get from translations to my profile? Do I
click on the icon or pillar title?

If overview is gone, how do we handle the Launchpad Home hack? I do not
think search is Launchpads root page. It is most like a collection such as
people/ and projects/. I guess my concern is about distinguishing the
launchpad application that is being used and our projects. They have the
same icons which confuses me. Is it possible to have a different icon
for the projects and the application?

I wonder what sprint looks like? It is the only non-pillar-person that
has logos. Since a sprint is antonymous from pillars and teams, it probably
should have an icon.

/me can see the PPA is private because the left margin has a stripe.

The default heading is a <h2> because we assume the <h1> is an exception.
The engineer and reviewer need to know when the template must pass a
<h1> to the heading slot because we are looking at the object itself. I
cannot explain this rule. This ws very frustrating for me. I gave up
working on this issue. Let me show you some examples that illustrate
my understanding:

    Distroseries Karmic (has bread crumbs):
        <title> Search packages in Ubuntu Karmic

        {@} Ubuntu Linux
        <h2> Karmic
             Ubuntu > Karmic

        <h1> Search packages in Karmic

    Project edit (no bread crumbs because this is the top):
        <title> Change Bazaar details

        {@} Bazaar Distributed Version Control
        <h2> Bazaar

        <h1> Change details <this is the form label>

    Project (no bread crumbs and pass a <h1>):
        <title> Bazaar Distributed Version Control

        {@} Bazaar Distributed Version Control
        <h1> Bazaar

    Team PPA history
        <title> Launchpad dependencies history

        {@} Canonical Launchpad Developers
        <h2> Launchpad dependencies
             launchpad developers > ppas

        <h1> Launchpad dependencies history

Revision history for this message
Michael Nelson (michael.nelson) wrote :
Download full text (4.3 KiB)

> Hi Michael.
>
> This is a good improvement. I think I have just as may questions as you. I do
> not think I have any answers. I think Martin needs to give some directions
> here.

Thanks for your time Curtis! Just to aid our call, here are some thoughts.

>
> Martin mentioned that the the Overview tab going away. I believe that will
> cause havoc here. How do I get from translations to my profile? Do I
> click on the icon or pillar title?

Yes, I have not done any removing - I was just noting that that's why my screenshot didn't look exactly like his mockup.

>
> If overview is gone, how do we handle the Launchpad Home hack? I do not
> think search is Launchpads root page. It is most like a collection such as
> people/ and projects/.

OK, I'm not sure I understand this point. Looking at:

http://people.canonical.com/~michaeln/menu_3-0/6-no-location-default-launchpad.png

which I assume would (currently in the branch) also apply to collections, could we not make the icon itself the link to Launchpad? (and if we wanted, also in other contexts, to the project/person etc.)

> I guess my concern is about distinguishing the
> launchpad application that is being used and our projects. They have the
> same icons which confuses me. Is it possible to have a different icon
> for the projects and the application?

Ah, I see the confusion. So it is really just an isolated case for the Launchpad project right? Hmm.. or maybe I've misunderstood?

>
> I wonder what sprint looks like? It is the only non-pillar-person that
> has logos. Since a sprint is antonymous from pillars and teams, it probably
> should have an icon.
>

Currently it would look something like this:
http://people.canonical.com/~michaeln/menu_3-0/11-sprint.png

> /me can see the PPA is private because the left margin has a stripe.
>
>
> The default heading is a <h2> because we assume the <h1> is an exception.
> The engineer and reviewer need to know when the template must pass a
> <h1> to the heading slot because we are looking at the object itself. I
> cannot explain this rule. This ws very frustrating for me. I gave up
> working on this issue. Let me show you some examples that illustrate
> my understanding:
>
> Distroseries Karmic (has bread crumbs):
> <title> Search packages in Ubuntu Karmic
>
> {@} Ubuntu Linux
> <h2> Karmic
> Ubuntu > Karmic
>
> <h1> Search packages in Karmic
>

OK, I don't think this one is an issue - it seems more like the heading just needs updating like this:

http://people.canonical.com/~michaeln/menu_3-0/8-distroseries-search-change.png

And to highlight why I thought the heading slot should default to h1, here's the example where we *would* use the default heading:

http://people.canonical.com/~michaeln/menu_3-0/9-distroseries-index.png

>
> Project edit (no bread crumbs because this is the top):
> <title> Change Bazaar details
>
> {@} Bazaar Distributed Version Control
> <h2> Bazaar
>
> <h1> Change details <this is the form label>

Similar to the distroseries search above, I'm not sure why the template wouldn't just override the heading slot with <h1> Change...

Read more...

Revision history for this message
Martin Albisetti (beuno) wrote :

On Wed, Aug 5, 2009 at 12:48 PM, Michael
Nelson<email address hidden> wrote:
> So here there is a small issue, in that I think the h1 heading will or should replicate the {@} <h2> Bazaar Distributed Version Control </h2>.
>
> Like this:
>
> http://people.canonical.com/~michaeln/menu_3-0/10-project-index.png

I this case, the title would be "Overview", in h2, like in the mock
up: https://devpad.canonical.com/~beuno/LP_new_design_Home.png

--
Martin

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-07-29 00:30:50 +0000
+++ lib/canonical/launchpad/icing/style-3-0.css 2009-08-03 10:51:41 +0000
@@ -372,6 +372,57 @@
372 padding-left: 1em;372 padding-left: 1em;
373 }373 }
374374
375/* == Location portlet heading styles */
376div.location-portlet img {
377 float: left;
378 margin: 0 1.5em 0 0;
379}
380div.location-portlet h1, div.location-portlet h2 {
381 padding-top: 0.1em;
382 margin-bottom: 0.8em;
383 color: #000000;
384 font-weight: bold;
385 clear: none;
386}
387div.location-portlet h1 {
388 margin-bottom: 0.2em;
389}
390
391/* === Location portlet tabs === */
392/* In most pages, we present a list of six application facets: */
393.location-portlet li {
394 display:inline;
395 list-style-type: none;
396}
397.location-portlet li a {
398 padding: 0.3em 0.5em;
399}
400/* The text of the first tab should align with the heading directly
401 above it - unless the first tab is active, in which case the highlight
402 (margin) should align instead */
403.location-portlet li:first-child a {
404 margin-left: -0.5em;
405}
406.location-portlet li:first-child.active a {
407 margin-left: 0
408}
409.location-portlet li a:link, .location-portlet li a:visited {
410 color: #000;
411 background-color: #fff;
412 text-decoration: none;
413}
414.location-portlet li.active a {
415 font-weight: bold;
416 color: #fff;
417 background-color: #747474;
418}
419.location-portlet li a:hover {
420 color: #000;
421 background-color: #f3f3f3;
422}
423.location-portlet li.disabled-tab {
424 color: #747474;
425}
375426
376/* Side content exceptions */427/* Side content exceptions */
377.side {428.side {
378429
=== modified file 'lib/canonical/launchpad/icing/style.css'
--- lib/canonical/launchpad/icing/style.css 2009-07-30 22:35:16 +0000
+++ lib/canonical/launchpad/icing/style.css 2009-08-03 07:22:41 +0000
@@ -798,6 +798,8 @@
798}798}
799799
800/* === Location application tabs === */800/* === Location application tabs === */
801/* NOTE: This whole section (everything for #lp-apps) can be removed once
802 * pages have updated to the 3.0 templates */
801/* In most pages, the location bar includes six centered application tabs: */803/* In most pages, the location bar includes six centered application tabs: */
802#lp-apps {804#lp-apps {
803 position: relative;805 position: relative;
804806
=== modified file 'lib/lp/app/browser/tests/base-layout.txt'
--- lib/lp/app/browser/tests/base-layout.txt 2009-07-31 22:34:24 +0000
+++ lib/lp/app/browser/tests/base-layout.txt 2009-08-03 09:34:26 +0000
@@ -46,13 +46,16 @@
46 <div id="locationbar"> ...46 <div id="locationbar"> ...
47 <form id="globalsearch" ...47 <form id="globalsearch" ...
48 <div id="lp-hierarchy" class="home">...48 <div id="lp-hierarchy" class="home">...
49 <div id="lp-apps" ...
50 <div class="yui-t4">49 <div class="yui-t4">
51 <div id="maincontent" class="yui-main">50 <div id="maincontent" class="yui-main">
52 <div class="yui-b" dir="ltr">51 <div class="yui-b" dir="ltr">
53 <h1>Heading</h1>52 <div class="location-portlet top-portlet">
54 <!-- future breadcrumb rule -->53 <img ...
55 <div class="top-portlet">54 <h1>Heading</h1>
55 <!-- Application Menu -->
56 <ul>...
57 </div>...
58 <div class="portlet">
56 <p class="registered">59 <p class="registered">
57 Registered on 2005-09-1660 Registered on 2005-09-16
58 by <a class="sprite team" href="#">Illuminati team</a>61 by <a class="sprite team" href="#">Illuminati team</a>
@@ -100,12 +103,15 @@
100 <div id="locationbar"> ...103 <div id="locationbar"> ...
101 <form id="globalsearch" ...104 <form id="globalsearch" ...
102 <div id="lp-hierarchy" class="home">...105 <div id="lp-hierarchy" class="home">...
103 <div id="lp-apps" ...
104 <div id="maincontent" class="yui-main">106 <div id="maincontent" class="yui-main">
105 <div class="yui-b" dir="ltr">107 <div class="yui-b" dir="ltr">
106 <h2>Waffles</h2>108 <div class="location-portlet top-portlet">
107 <!-- future breadcrumb rule -->109 <img ...
108 <div class="top-portlet">110 <h2>Waffles</h2>
111 <!-- Application Menu -->
112 <ul>...
113 </div>...
114 <div class="portlet">
109 <h1>Heading</h1>115 <h1>Heading</h1>
110 <p class="registered">116 <p class="registered">
111 Registered on 2005-09-16117 Registered on 2005-09-16
@@ -149,13 +155,16 @@
149 <div id="locationbar">155 <div id="locationbar">
150 <div id="logincontrol"><a href="...">Log in / Register</a></div>156 <div id="logincontrol"><a href="...">Log in / Register</a></div>
151 <div id="lp-hierarchy" class="home">...157 <div id="lp-hierarchy" class="home">...
152 <div id="lp-apps" ...
153 </div><!--id="locationbar"-->158 </div><!--id="locationbar"-->
154 <div id="maincontent" class="yui-main">159 <div id="maincontent" class="yui-main">
155 <div class="yui-b" dir="ltr">160 <div class="yui-b" dir="ltr">
156 <h2>Waffles</h2>161 <div class="location-portlet top-portlet">
157 <!-- future breadcrumb rule -->162 <img ...
158 <div class="top-portlet">163 <h2>Waffles</h2>
164 <!-- Application Menu -->
165 <ul>...
166 </div>...
167 <div class="portlet">
159 <h1>Heading</h1>168 <h1>Heading</h1>
160 <p class="registered">169 <p class="registered">
161 Registered on 2005-09-16170 Registered on 2005-09-16
162171
=== modified file 'lib/lp/app/browser/tests/testfiles/main-only.pt'
--- lib/lp/app/browser/tests/testfiles/main-only.pt 2009-07-31 22:34:24 +0000
+++ lib/lp/app/browser/tests/testfiles/main-only.pt 2009-08-03 07:22:41 +0000
@@ -13,7 +13,7 @@
1313
14 <body>14 <body>
15 <tal:main metal:fill-slot="main">15 <tal:main metal:fill-slot="main">
16 <div class="top-portlet">16 <div class="portlet">
17 <h1>Heading</h1>17 <h1>Heading</h1>
18 <p class="registered">18 <p class="registered">
19 Registered on 2005-09-1619 Registered on 2005-09-16
2020
=== modified file 'lib/lp/app/browser/tests/testfiles/main-side.pt'
--- lib/lp/app/browser/tests/testfiles/main-side.pt 2009-07-30 20:38:50 +0000
+++ lib/lp/app/browser/tests/testfiles/main-side.pt 2009-08-03 07:22:41 +0000
@@ -14,7 +14,7 @@
14 <body>14 <body>
15 <tal:heading metal:fill-slot="heading"><h1>Heading</h1></tal:heading>15 <tal:heading metal:fill-slot="heading"><h1>Heading</h1></tal:heading>
16 <tal:main metal:fill-slot="main">16 <tal:main metal:fill-slot="main">
17 <div class="top-portlet">17 <div class="portlet">
18 <p class="registered">18 <p class="registered">
19 Registered on 2005-09-1619 Registered on 2005-09-16
20 by <a class="sprite team" href="#">Illuminati team</a>20 by <a class="sprite team" href="#">Illuminati team</a>
2121
=== modified file 'lib/lp/app/browser/tests/testfiles/searchless.pt'
--- lib/lp/app/browser/tests/testfiles/searchless.pt 2009-07-31 22:34:24 +0000
+++ lib/lp/app/browser/tests/testfiles/searchless.pt 2009-08-03 07:22:41 +0000
@@ -13,7 +13,7 @@
1313
14 <body>14 <body>
15 <tal:main metal:fill-slot="main">15 <tal:main metal:fill-slot="main">
16 <div class="top-portlet">16 <div class="portlet">
17 <h1>Heading</h1>17 <h1>Heading</h1>
18 <p class="registered">18 <p class="registered">
19 Registered on 2005-09-1619 Registered on 2005-09-16
2020
=== modified file 'lib/lp/app/templates/base-layout-macros.pt'
--- lib/lp/app/templates/base-layout-macros.pt 2009-07-17 17:59:07 +0000
+++ lib/lp/app/templates/base-layout-macros.pt 2009-08-03 09:54:53 +0000
@@ -297,4 +297,35 @@
297 </script>297 </script>
298</metal:lp-client-cache>298</metal:lp-client-cache>
299299
300
301<metal:location-tabs define-macro="location-tabs">
302 <!-- Application Menu -->
303 <ul
304 tal:condition="view/macro:pagehas/applicationtabs"
305 tal:define="facetmenu view/menu:facet">
306 <tal:facet repeat="link facetmenu">
307 <li
308 tal:condition="python: link.enabled and link.selected"
309 tal:attributes="title link/summary; class string:${link/name} active"
310 ><a
311 tal:condition="link/linked"
312 tal:attributes="href link/url"
313 tal:content="structure link/escapedtext" /></li>
314 <li
315 tal:condition="python: link.enabled and not link.selected"
316 tal:attributes="title link/summary; class link/name"
317 ><a
318 tal:condition="link/enabled"
319 tal:attributes="href link/url"
320 tal:content="structure link/escapedtext"
321 /></li>
322 <li
323 tal:condition="not:link/enabled"
324 tal:attributes="class string:${link/name} disabled-tab"
325 ><tal:disabled-link-text
326 tal:content="link/escapedtext" /></li>
327 </tal:facet>
328 </ul>
329</metal:location-tabs>
330
300</macros>331</macros>
301332
=== modified file 'lib/lp/app/templates/base-layout.pt'
--- lib/lp/app/templates/base-layout.pt 2009-07-31 22:34:24 +0000
+++ lib/lp/app/templates/base-layout.pt 2009-08-03 09:54:53 +0000
@@ -88,36 +88,6 @@
88 <input type="search" id="search-text" name="field.text" />88 <input type="search" id="search-text" name="field.text" />
89 </form>89 </form>
90 <tal:hierarchy replace="structure context/@@+hierarchy" />90 <tal:hierarchy replace="structure context/@@+hierarchy" />
91 <div id="lp-apps" class="clearfix"
92 tal:condition="view/macro:pagehas/applicationtabs"
93 tal:define="facetmenu view/menu:facet">
94 <!-- :-) --><tal:facet repeat="link facetmenu">
95 <span
96 tal:condition="python: link.enabled and link.selected"
97 tal:attributes="title link/summary; class string:${link/name} active"
98 ><strong
99 tal:condition="not:link/linked"
100 tal:content="structure link/escapedtext"
101 /><a
102 tal:condition="link/linked"
103 tal:attributes="href link/url"
104 tal:content="structure link/escapedtext" /></span>
105 <span
106 tal:condition="python: link.enabled and not link.selected"
107 tal:attributes="title link/summary; class link/name"
108 ><a
109 tal:condition="link/enabled"
110 tal:attributes="href link/url"
111 tal:content="structure link/escapedtext"
112 /></span>
113 <span
114 tal:condition="not:link/enabled"
115 tal:attributes="class string:${link/name} disabled-tab"
116 ><strong
117 tal:content="structure link/escapedtext" /></span>
118 <small tal:condition="not:repeat/link/end"> / </small>
119 </tal:facet>
120 </div>
121 </div><!--id="locationbar"-->91 </div><!--id="locationbar"-->
12292
123 <tal:maintenance replace="structure context/@@+maintenancemessage" />93 <tal:maintenance replace="structure context/@@+maintenancemessage" />
@@ -136,15 +106,16 @@
136 lang view/lang|default_language|default;106 lang view/lang|default_language|default;
137 xml:lang view/lang|default_language|default;107 xml:lang view/lang|default_language|default;
138 dir view/dir|string:ltr">108 dir view/dir|string:ltr">
139 <tal:location condition="view/macro:pagehas/applicationtabs">109 <div class="location-portlet top-portlet"
110 tal:condition="view/macro:pagehas/applicationtabs">
111 <span tal:replace="structure context/image:logo"></span>
140 <h2112 <h2
141 tal:condition="context/title|nothing"113 tal:condition="context/title|nothing"
142 tal:content="context/title"114 tal:content="context/title"
143 metal:define-slot="heading" />115 metal:define-slot="heading" />
144 <tal:breadcrumbs>116 <metal:heading_nav use-macro="
145 <!-- future breadcrumb rule -->117 context/@@+base-layout-macros/location-tabs"/>
146 </tal:breadcrumbs>118 </div>
147 </tal:location>
148 <metal:main define-slot="main" />119 <metal:main define-slot="main" />
149 </div><!-- yui-b -->120 </div><!-- yui-b -->
150 </div><!-- yui-main -->121 </div><!-- yui-main -->
151122
=== modified file 'lib/lp/registry/templates/distribution-search.pt'
--- lib/lp/registry/templates/distribution-search.pt 2009-07-31 22:34:24 +0000
+++ lib/lp/registry/templates/distribution-search.pt 2009-08-03 07:22:41 +0000
@@ -9,7 +9,7 @@
9 <body>9 <body>
1010
11<div metal:fill-slot="main">11<div metal:fill-slot="main">
12 <div class="top-portlet">12 <div class="portlet">
13 <h1>Search packages in <tal:title replace="context/title" /></h1>13 <h1>Search packages in <tal:title replace="context/title" /></h1>
14 <form name="search" method="GET">14 <form name="search" method="GET">
15 <div>15 <div>