Landing bookmarks branch. Everything except mozilla/xpfe

Bug 196756 - Meta bug for major architectural changes in bookmarks code
r=jag, sr=bryner
This commit is contained in:
varga%netscape.com 2003-03-25 04:44:31 +00:00
Родитель d9f1bb225c
Коммит 906bfa1fa3
14 изменённых файлов: 114 добавлений и 58 удалений

Просмотреть файл

@ -191,17 +191,8 @@ XUL_ATOM(columns, "columns")
XUL_ATOM(row, "row") XUL_ATOM(row, "row")
XUL_ATOM(column, "column") XUL_ATOM(column, "column")
// toolbar & toolbar d&d atoms
XUL_ATOM(ddDropLocation, "dd-droplocation")
XUL_ATOM(ddDropLocationCoord, "dd-droplocationcoord")
XUL_ATOM(ddDropOn, "dd-dropon")
XUL_ATOM(ddTriggerRepaintSorted, "dd-triggerrepaintsorted")
XUL_ATOM(ddTriggerRepaintRestore, "dd-triggerrepaintrestore")
XUL_ATOM(ddTriggerRepaint, "dd-triggerrepaint")
XUL_ATOM(ddNoDropBetweenRows, "dd-nodropbetweenrows")
XUL_ATOM(container, "container") XUL_ATOM(container, "container")
XUL_ATOM(leaf,"leaf") XUL_ATOM(leaf,"leaf")
XUL_ATOM(ddDragDropArea, "dragdroparea")
XUL_ATOM(widget, "widget") XUL_ATOM(widget, "widget")
XUL_ATOM(window, "window") XUL_ATOM(window, "window")

Просмотреть файл

@ -865,8 +865,8 @@ nsXULTreeBuilder::ToggleOpenState(PRInt32 aIndex)
} }
if (mPersistStateStore) { if (mPersistStateStore) {
nsTreeRows::iterator iter = mRows[aIndex]; PRBool isOpen;
PRBool isOpen = iter->mContainerState == nsTreeRows::eContainerState_Open; IsContainerOpen(aIndex, &isOpen);
nsIRDFResource* container = GetResourceFor(aIndex); nsIRDFResource* container = GetResourceFor(aIndex);
if (! container) if (! container)
@ -1178,13 +1178,7 @@ nsXULTreeBuilder::ReplaceMatch(nsIRDFResource* aMember,
// Use the persist store to remember if the container // Use the persist store to remember if the container
// is open or closed. // is open or closed.
PRBool open = PR_FALSE; PRBool open = PR_FALSE;
IsContainerOpen(row, &open);
if (mPersistStateStore)
mPersistStateStore->HasAssertion(container,
nsXULContentUtils::NC_open,
nsXULContentUtils::true_,
PR_TRUE,
&open);
// If it's open, make sure that we've got a subtree structure ready. // If it's open, make sure that we've got a subtree structure ready.
if (open) if (open)

Просмотреть файл

@ -32,7 +32,7 @@
<script type="application/x-javascript" src="chrome://communicator/content/contentAreaDD.js"/> <script type="application/x-javascript" src="chrome://communicator/content/contentAreaDD.js"/>
<script type="application/x-javascript" src="chrome://global/content/nsTransferable.js"/> <script type="application/x-javascript" src="chrome://global/content/nsTransferable.js"/>
<script type="application/x-javascript" src="chrome://communicator/content/contentAreaClick.js"/> <script type="application/x-javascript" src="chrome://communicator/content/contentAreaClick.js"/>
<script type="application/x-javascript" src="chrome://communicator/content/bookmarks/bookmarksOverlay.js"/> <script type="application/x-javascript" src="chrome://communicator/content/bookmarks/bookmarks.js"/>
<script type="application/x-javascript" src="chrome://communicator/content/findUtils.js"/> <script type="application/x-javascript" src="chrome://communicator/content/findUtils.js"/>
<script type="application/x-javascript" src="chrome://global/content/nsJSSupportsUtils.js"/> <script type="application/x-javascript" src="chrome://global/content/nsJSSupportsUtils.js"/>

Просмотреть файл

@ -1314,12 +1314,14 @@ nsIBox::AddCSSMinSize(nsBoxLayoutState& aState, nsIBox* aBox, nsSize& aSize)
display->mAppearance, &size, &canOverride); display->mAppearance, &size, &canOverride);
float p2t; float p2t;
aState.GetPresContext()->GetScaledPixelsToTwips(&p2t); aState.GetPresContext()->GetScaledPixelsToTwips(&p2t);
aSize.width = NSIntPixelsToTwips(size.width, p2t); if (size.width) {
aSize.height = NSIntPixelsToTwips(size.height, p2t); aSize.width = NSIntPixelsToTwips(size.width, p2t);
if (aSize.width)
widthSet = PR_TRUE; widthSet = PR_TRUE;
if (aSize.height) }
if (size.height) {
aSize.height = NSIntPixelsToTwips(size.height, p2t);
heightSet = PR_TRUE; heightSet = PR_TRUE;
}
} }
} }
} }

Просмотреть файл

@ -422,7 +422,7 @@ nsTreeBodyFrame::Init(nsIPresContext* aPresContext, nsIContent* aContent,
} }
NS_IMETHODIMP NS_IMETHODIMP
nsTreeBodyFrame::GetPrefSize(nsBoxLayoutState& aBoxLayoutState, nsSize& aSize) nsTreeBodyFrame::GetMinSize(nsBoxLayoutState& aBoxLayoutState, nsSize& aSize)
{ {
EnsureView(); EnsureView();
@ -441,8 +441,10 @@ nsTreeBodyFrame::GetPrefSize(nsBoxLayoutState& aBoxLayoutState, nsSize& aSize)
desiredRows = size.ToInteger(&err); desiredRows = size.ToInteger(&err);
mHasFixedRowCount = PR_TRUE; mHasFixedRowCount = PR_TRUE;
mPageCount = desiredRows; mPageCount = desiredRows;
} else }
else {
desiredRows = 1; desiredRows = 1;
}
} else { } else {
// tree // tree
aSize.width = 0; aSize.width = 0;
@ -453,15 +455,17 @@ nsTreeBodyFrame::GetPrefSize(nsBoxLayoutState& aBoxLayoutState, nsSize& aSize)
desiredRows = rows.ToInteger(&err); desiredRows = rows.ToInteger(&err);
mHasFixedRowCount = PR_TRUE; mHasFixedRowCount = PR_TRUE;
mPageCount = desiredRows; mPageCount = desiredRows;
} else }
else {
desiredRows = 0; desiredRows = 0;
}
} }
aSize.height = mRowHeight * desiredRows; aSize.height = mRowHeight * desiredRows;
AddBorderAndPadding(aSize); AddBorderAndPadding(aSize);
AddInset(aSize); AddInset(aSize);
nsIBox::AddCSSPrefSize(aBoxLayoutState, this, aSize); nsIBox::AddCSSMinSize(aBoxLayoutState, this, aSize);
return NS_OK; return NS_OK;
} }
@ -2324,6 +2328,32 @@ nsTreeBodyFrame::PaintRow(PRInt32 aRowIndex,
if (isSeparator) { if (isSeparator) {
// The row is a separator. Paint only a double horizontal line. // The row is a separator. Paint only a double horizontal line.
// Find the primary cell.
nscoord currX, primaryX1, primaryX2;
currX = primaryX1 = primaryX2 = rowRect.x;
for (nsTreeColumn* currCol = mColumns; currCol && currX < mInnerBox.x+mInnerBox.width;
currCol = currCol->GetNext()) {
if (currCol->IsPrimary()) {
nsRect cellRect(currX, rowRect.y, currCol->GetWidth(), rowRect.height);
PRInt32 overflow = cellRect.x+cellRect.width-(mInnerBox.x+mInnerBox.width);
if (overflow > 0)
cellRect.width -= overflow;
nsRect dirtyRect;
if (dirtyRect.IntersectRect(aDirtyRect, cellRect))
PaintCell(aRowIndex, currCol, cellRect, aPresContext, aRenderingContext, aDirtyRect, primaryX2);
primaryX1 = currX;
PRInt32 level;
mView->GetLevel(aRowIndex, &level);
if (level == 0) {
primaryX1 += mIndentation;
}
break;
}
currX += currCol->GetWidth();
}
// Resolve style for the separator. // Resolve style for the separator.
nsStyleContext* separatorContext = GetPseudoStyleContext(nsCSSAnonBoxes::moztreeseparator); nsStyleContext* separatorContext = GetPseudoStyleContext(nsCSSAnonBoxes::moztreeseparator);
PRBool useTheme = PR_FALSE; PRBool useTheme = PR_FALSE;
@ -2336,9 +2366,17 @@ nsTreeBodyFrame::PaintRow(PRInt32 aRowIndex,
} }
// use -moz-appearance if provided. // use -moz-appearance if provided.
if ( useTheme ) if (useTheme) {
theme->DrawWidgetBackground(&aRenderingContext, this, if (primaryX1 > rowRect.x) {
displayData->mAppearance, rowRect, aDirtyRect); // XXX We should draw the left side of the native separator here.
// The problem is that Mac native theme implementation is too smart
// and draws a vertical line if the separator is too narrow.
}
rowRect.width -= primaryX2 - rowRect.x;
rowRect.x = primaryX2;
theme->DrawWidgetBackground(&aRenderingContext, this,
displayData->mAppearance, rowRect, aDirtyRect);
}
else { else {
// Get border style // Get border style
const nsStyleBorder* borderStyle = (const nsStyleBorder*)separatorContext->GetStyleData(eStyleStruct_Border); const nsStyleBorder* borderStyle = (const nsStyleBorder*)separatorContext->GetStyleData(eStyleStruct_Border);
@ -2356,7 +2394,10 @@ nsTreeBodyFrame::PaintRow(PRInt32 aRowIndex,
style = borderStyle->GetBorderStyle(side); style = borderStyle->GetBorderStyle(side);
aRenderingContext.SetLineStyle(ConvertBorderStyleToLineStyle(style)); aRenderingContext.SetLineStyle(ConvertBorderStyleToLineStyle(style));
aRenderingContext.DrawLine(rowRect.x, currY, rowRect.x + rowRect.width, currY); if (primaryX1 > rowRect.x) {
aRenderingContext.DrawLine(rowRect.x, currY, primaryX1, currY);
}
aRenderingContext.DrawLine(primaryX2, currY, rowRect.x + rowRect.width, currY);
side = NS_SIDE_BOTTOM; side = NS_SIDE_BOTTOM;
currY += 16; currY += 16;
@ -2376,8 +2417,9 @@ nsTreeBodyFrame::PaintRow(PRInt32 aRowIndex,
if (overflow > 0) if (overflow > 0)
cellRect.width -= overflow; cellRect.width -= overflow;
nsRect dirtyRect; nsRect dirtyRect;
nscoord dummy;
if (dirtyRect.IntersectRect(aDirtyRect, cellRect)) if (dirtyRect.IntersectRect(aDirtyRect, cellRect))
PaintCell(aRowIndex, currCol, cellRect, aPresContext, aRenderingContext, aDirtyRect); PaintCell(aRowIndex, currCol, cellRect, aPresContext, aRenderingContext, aDirtyRect, dummy);
currX += currCol->GetWidth(); currX += currCol->GetWidth();
} }
} }
@ -2391,7 +2433,8 @@ nsTreeBodyFrame::PaintCell(PRInt32 aRowIndex,
const nsRect& aCellRect, const nsRect& aCellRect,
nsIPresContext* aPresContext, nsIPresContext* aPresContext,
nsIRenderingContext& aRenderingContext, nsIRenderingContext& aRenderingContext,
const nsRect& aDirtyRect) const nsRect& aDirtyRect,
nscoord& aCurrX)
{ {
if (aCellRect.width == 0) if (aCellRect.width == 0)
return NS_OK; // Don't paint cells in hidden columns. return NS_OK; // Don't paint cells in hidden columns.
@ -2539,7 +2582,7 @@ nsTreeBodyFrame::PaintCell(PRInt32 aRowIndex,
if (dirtyRect.IntersectRect(aDirtyRect, elementRect)) { if (dirtyRect.IntersectRect(aDirtyRect, elementRect)) {
switch (aColumn->GetType()) { switch (aColumn->GetType()) {
case nsTreeColumn::eText: case nsTreeColumn::eText:
PaintText(aRowIndex, aColumn, elementRect, aPresContext, aRenderingContext, aDirtyRect); PaintText(aRowIndex, aColumn, elementRect, aPresContext, aRenderingContext, aDirtyRect, currX);
break; break;
case nsTreeColumn::eCheckbox: case nsTreeColumn::eCheckbox:
PaintCheckbox(aRowIndex, aColumn, elementRect, aPresContext, aRenderingContext, aDirtyRect); PaintCheckbox(aRowIndex, aColumn, elementRect, aPresContext, aRenderingContext, aDirtyRect);
@ -2554,7 +2597,7 @@ nsTreeBodyFrame::PaintCell(PRInt32 aRowIndex,
break; break;
case nsITreeView::progressNone: case nsITreeView::progressNone:
default: default:
PaintText(aRowIndex, aColumn, elementRect, aPresContext, aRenderingContext, aDirtyRect); PaintText(aRowIndex, aColumn, elementRect, aPresContext, aRenderingContext, aDirtyRect, currX);
break; break;
} }
break; break;
@ -2562,6 +2605,8 @@ nsTreeBodyFrame::PaintCell(PRInt32 aRowIndex,
} }
} }
aCurrX = currX;
return NS_OK; return NS_OK;
} }
@ -2767,7 +2812,8 @@ nsTreeBodyFrame::PaintText(PRInt32 aRowIndex,
const nsRect& aTextRect, const nsRect& aTextRect,
nsIPresContext* aPresContext, nsIPresContext* aPresContext,
nsIRenderingContext& aRenderingContext, nsIRenderingContext& aRenderingContext,
const nsRect& aDirtyRect) const nsRect& aDirtyRect,
nscoord& aCurrX)
{ {
// Now obtain the text for our cell. // Now obtain the text for our cell.
nsAutoString text; nsAutoString text;
@ -2922,6 +2968,11 @@ nsTreeBodyFrame::PaintText(PRInt32 aRowIndex,
aRenderingContext.GetWidth(text, width); aRenderingContext.GetWidth(text, width);
textRect.width = width; textRect.width = width;
// Subtract out the remaining width.
nsRect copyRect(textRect);
copyRect.Inflate(textMargin);
aCurrX += copyRect.width;
textRect.Inflate(bp); textRect.Inflate(bp);
PaintBackgroundLayer(textContext, aPresContext, aRenderingContext, textRect, aDirtyRect); PaintBackgroundLayer(textContext, aPresContext, aRenderingContext, textRect, aDirtyRect);

Просмотреть файл

@ -247,7 +247,7 @@ public:
NS_DECL_NSITREEBOXOBJECT NS_DECL_NSITREEBOXOBJECT
// nsIBox // nsIBox
NS_IMETHOD GetPrefSize(nsBoxLayoutState& aBoxLayoutState, nsSize& aSize); NS_IMETHOD GetMinSize(nsBoxLayoutState& aBoxLayoutState, nsSize& aSize);
NS_IMETHOD SetBounds(nsBoxLayoutState& aBoxLayoutState, const nsRect& aRect); NS_IMETHOD SetBounds(nsBoxLayoutState& aBoxLayoutState, const nsRect& aRect);
// nsIReflowCallback // nsIReflowCallback
@ -295,7 +295,8 @@ public:
const nsRect& aCellRect, const nsRect& aCellRect,
nsIPresContext* aPresContext, nsIPresContext* aPresContext,
nsIRenderingContext& aRenderingContext, nsIRenderingContext& aRenderingContext,
const nsRect& aDirtyRect); const nsRect& aDirtyRect,
nscoord& aCurrX);
// This method paints the twisty inside a cell in the primary column of an tree. // This method paints the twisty inside a cell in the primary column of an tree.
nsresult PaintTwisty(PRInt32 aRowIndex, nsresult PaintTwisty(PRInt32 aRowIndex,
@ -323,7 +324,8 @@ public:
const nsRect& aTextRect, const nsRect& aTextRect,
nsIPresContext* aPresContext, nsIPresContext* aPresContext,
nsIRenderingContext& aRenderingContext, nsIRenderingContext& aRenderingContext,
const nsRect& aDirtyRect); const nsRect& aDirtyRect,
nscoord& aCurrX);
// This method paints the checkbox inside a particular cell of the tree. // This method paints the checkbox inside a particular cell of the tree.
nsresult PaintCheckbox(PRInt32 aRowIndex, nsresult PaintCheckbox(PRInt32 aRowIndex,

Просмотреть файл

@ -501,16 +501,6 @@ function DragOverAddressListTree(event)
// XXX add support for other flavors here // XXX add support for other flavors here
if (dragSession.isDataFlavorSupported("text/x-moz-address")) { if (dragSession.isDataFlavorSupported("text/x-moz-address")) {
validFlavor = true;
}
// touch the attribute on the rowgroup to trigger the repaint with the drop feedback.
if (validFlavor)
{
//XXX this is really slow and likes to refresh N times per second.
var rowGroup = event.target.parentNode.parentNode;
if (rowGroup)
rowGroup.setAttribute ( "dd-triggerrepaint", 0 );
dragSession.canDrop = true; dragSession.canDrop = true;
} }
} }

Просмотреть файл

@ -44,7 +44,7 @@ Rights Reserved.
<script src="chrome://messenger/content/commandglue.js"/> <script src="chrome://messenger/content/commandglue.js"/>
<script src="chrome://messenger/content/mail-offline.js"/> <script src="chrome://messenger/content/mail-offline.js"/>
<script type="application/x-javascript" src="chrome://communicator/content/findUtils.js"/> <script type="application/x-javascript" src="chrome://communicator/content/findUtils.js"/>
<script type="application/x-javascript" src="chrome://communicator/content/bookmarks/bookmarksOverlay.js"/> <script type="application/x-javascript" src="chrome://communicator/content/bookmarks/bookmarks.js"/>
<script type="application/x-javascript" src="chrome://communicator/content/printing.js"/> <script type="application/x-javascript" src="chrome://communicator/content/printing.js"/>
<stringbundleset id="stringbundleset"> <stringbundleset id="stringbundleset">

Просмотреть файл

@ -206,7 +206,7 @@ jar:resource:///chrome/toolkit.jar!/content/global/bindings/outliner.xml
jar:resource:///chrome/en-US.jar!/locale/en-US/navigator/navigator.properties jar:resource:///chrome/en-US.jar!/locale/en-US/navigator/navigator.properties
jar:resource:///chrome/en-win.jar!/locale/en-US/navigator-platform/navigator.properties jar:resource:///chrome/en-win.jar!/locale/en-US/navigator-platform/navigator.properties
jar:resource:///chrome/en-US.jar!/locale/en-US/necko/necko.properties jar:resource:///chrome/en-US.jar!/locale/en-US/necko/necko.properties
jar:resource:///chrome/en-US.jar!/locale/en-US/communicator/bookmarks/bookmark.properties jar:resource:///chrome/en-US.jar!/locale/en-US/communicator/bookmarks/bookmarks.properties
jar:resource:///chrome/en-win.jar!/locale/en-US/global-platform/platformKeys.properties jar:resource:///chrome/en-win.jar!/locale/en-US/global-platform/platformKeys.properties
jar:resource:///chrome/en-US.jar!/locale/en-US/communicator/utilityOverlay.properties jar:resource:///chrome/en-US.jar!/locale/en-US/communicator/utilityOverlay.properties
jar:resource:///chrome/US.jar!/locale/US/navigator-region/region.properties jar:resource:///chrome/US.jar!/locale/US/navigator-region/region.properties

Просмотреть файл

@ -15,23 +15,23 @@ Do Not Edit! -->
<HR> <HR>
<DT><H3 ADD_DATE="961099767" LAST_MODIFIED="0">Mozilla Project</H3> <DT><H3 ADD_DATE="961099767" LAST_MODIFIED="0">Mozilla Project</H3>
<DL><p> <DL><p>
<DT><H3 ADD_DATE="961099767" LAST_MODIFIED="0" ID="NC:BookmarksRoot#$7a37f5df">mozilla.org</H3> <DT><H3 ADD_DATE="961099767" LAST_MODIFIED="0">mozilla.org</H3>
<DL><p> <DL><p>
<DT><A HREF="http://www.mozilla.org/" ADD_DATE="961099870" LAST_VISIT="0" LAST_MODIFIED="0" LAST_CHARSET="ISO-8859-1">The Mozilla Organization</A> <DT><A HREF="http://www.mozilla.org/" ADD_DATE="961099870" LAST_VISIT="0" LAST_MODIFIED="0" LAST_CHARSET="ISO-8859-1">The Mozilla Organization</A>
<DT><A HREF="http://www.mozilla.org/status/" ADD_DATE="961099993" LAST_VISIT="0" LAST_MODIFIED="0" LAST_CHARSET="ISO-8859-1">Weekly Status Update</A> <DT><A HREF="http://www.mozilla.org/status/" ADD_DATE="961099993" LAST_VISIT="0" LAST_MODIFIED="0" LAST_CHARSET="ISO-8859-1">Weekly Status Update</A>
<DT><A HREF="http://www.mozilla.org/feedback.html" ADD_DATE="961100017" LAST_VISIT="0" LAST_MODIFIED="0" LAST_CHARSET="ISO-8859-1">Feedback</A> <DT><A HREF="http://www.mozilla.org/feedback.html" ADD_DATE="961100017" LAST_VISIT="0" LAST_MODIFIED="0" LAST_CHARSET="ISO-8859-1">Feedback</A>
</DL><p> </DL><p>
<DT><H3 ADD_DATE="961102203" LAST_MODIFIED="0" ID="NC:BookmarksRoot#$b742f58">Developer Information</H3> <DT><H3 ADD_DATE="961102203" LAST_MODIFIED="0">Developer Information</H3>
<DL><p> <DL><p>
<DT><A HREF="http://www.mozilla.org/get-involved.html" ADD_DATE="961102879">Getting Involved</A> <DT><A HREF="http://www.mozilla.org/get-involved.html" ADD_DATE="961102879">Getting Involved</A>
<DT><A HREF="http://www.mozilla.org/docs/" ADD_DATE="961102901">Documentation</A> <DT><A HREF="http://www.mozilla.org/docs/" ADD_DATE="961102901">Documentation</A>
<DT><A HREF="http://www.mozilla.org/source.html" ADD_DATE="961105505" LAST_VISIT="0" LAST_MODIFIED="0" LAST_CHARSET="ISO-8859-1">Download Source Code</A> <DT><A HREF="http://www.mozilla.org/source.html" ADD_DATE="961105505" LAST_VISIT="0" LAST_MODIFIED="0" LAST_CHARSET="ISO-8859-1">Download Source Code</A>
<DT><H3 ADD_DATE="961102925" LAST_MODIFIED="0" ID="NC:BookmarksRoot#$b742f59">Standards</H3> <DT><H3 ADD_DATE="961102925" LAST_MODIFIED="0">Standards</H3>
<DL><p> <DL><p>
<DT><A HREF="http://www.w3c.org/" ADD_DATE="961102978">World Wide Web Consortium</A> <DT><A HREF="http://www.w3c.org/" ADD_DATE="961102978">World Wide Web Consortium</A>
<DT><A HREF="http://www.faqs.org/rfcs/" ADD_DATE="961104168">RFC Archive</A> <DT><A HREF="http://www.faqs.org/rfcs/" ADD_DATE="961104168">RFC Archive</A>
</DL><p> </DL><p>
<DT><H3 ADD_DATE="961103100" LAST_MODIFIED="0" ID="NC:BookmarksRoot#$b742f5b">User interface design</H3> <DT><H3 ADD_DATE="961103100" LAST_MODIFIED="0">User interface design</H3>
<DL><p> <DL><p>
<DT><A HREF="http://developer.apple.com/techpubs/mac/HIGuidelines/HIGuidelines-2.html" ADD_DATE="961104987">Macintosh Human Interface Guidelines</A> <DT><A HREF="http://developer.apple.com/techpubs/mac/HIGuidelines/HIGuidelines-2.html" ADD_DATE="961104987">Macintosh Human Interface Guidelines</A>
<DT><A HREF="http://www-3.ibm.com/ibm/easy/eou_ext.nsf/Publish/561" ADD_DATE="961105043">IBM/Ease of Use/Design</A> <DT><A HREF="http://www-3.ibm.com/ibm/easy/eou_ext.nsf/Publish/561" ADD_DATE="961105043">IBM/Ease of Use/Design</A>
@ -39,21 +39,21 @@ Do Not Edit! -->
<DT><A HREF="http://developer.kde.org/documentation/standards/kde/style/basics/" ADD_DATE="961105043">KDE User Interface Guidelines</A> <DT><A HREF="http://developer.kde.org/documentation/standards/kde/style/basics/" ADD_DATE="961105043">KDE User Interface Guidelines</A>
</DL><p> </DL><p>
</DL><p> </DL><p>
<DT><H3 ADD_DATE="961105105" LAST_MODIFIED="0" ID="NC:BookmarksRoot#$b8619366">Webtools</H3> <DT><H3 ADD_DATE="961105105" LAST_MODIFIED="0">Webtools</H3>
<DL><p> <DL><p>
<DT><A HREF="http://lxr.mozilla.org/" ADD_DATE="961105149" LAST_VISIT="0" LAST_MODIFIED="0" LAST_CHARSET="ISO-8859-1">lxr - Mozilla Cross-Reference</A> <DT><A HREF="http://lxr.mozilla.org/" ADD_DATE="961105149" LAST_VISIT="0" LAST_MODIFIED="0" LAST_CHARSET="ISO-8859-1">lxr - Mozilla Cross-Reference</A>
<DT><A HREF="http://bonsai.mozilla.org/" ADD_DATE="961105218" LAST_MODIFIED="0">bonsai - CVS Tree Control</A> <DT><A HREF="http://bonsai.mozilla.org/" ADD_DATE="961105218" LAST_MODIFIED="0">bonsai - CVS Tree Control</A>
<DT><A HREF="http://tinderbox.mozilla.org/showbuilds.cgi" ADD_DATE="961105359">tinderbox - Tree Status</A> <DT><A HREF="http://tinderbox.mozilla.org/showbuilds.cgi" ADD_DATE="961105359">tinderbox - Tree Status</A>
<DT><A HREF="http://bugzilla.mozilla.org/" ADD_DATE="961105401">bugzilla - Bug-Tracking System</A> <DT><A HREF="http://bugzilla.mozilla.org/" ADD_DATE="961105401">bugzilla - Bug-Tracking System</A>
</DL><p> </DL><p>
<DT><H3 ADD_DATE="961111855" LAST_MODIFIED="0" ID="NC:BookmarksRoot#$ebf1a63">Community</H3> <DT><H3 ADD_DATE="961111855" LAST_MODIFIED="0">Community</H3>
<DL><p> <DL><p>
<DT><A HREF="http://www.mozilla.org/community.html" ADD_DATE="961111887" LAST_VISIT="0" LAST_MODIFIED="0">Newsgroups</A> <DT><A HREF="http://www.mozilla.org/community.html" ADD_DATE="961111887" LAST_VISIT="0" LAST_MODIFIED="0">Newsgroups</A>
<DT><A HREF="http://www.mozillazine.org/" ADD_DATE="961111887" LAST_VISIT="0" LAST_MODIFIED="0" LAST_CHARSET="ISO-8859-1">MozillaZine</A> <DT><A HREF="http://www.mozillazine.org/" ADD_DATE="961111887" LAST_VISIT="0" LAST_MODIFIED="0" LAST_CHARSET="ISO-8859-1">MozillaZine</A>
<DT><A HREF="http://www.mozdev.org/" ADD_DATE="961112176" LAST_VISIT="0" LAST_MODIFIED="0" LAST_CHARSET="ISO-8859-1">Alphanumerica's Mozilla Development Projects</A> <DT><A HREF="http://www.mozdev.org/" ADD_DATE="961112176" LAST_VISIT="0" LAST_MODIFIED="0" LAST_CHARSET="ISO-8859-1">Alphanumerica's Mozilla Development Projects</A>
<DT><A HREF="http://www.gerbilbox.com/newzilla/" ADD_DATE="961112731">NewZilla - the Unofficial Netscape 6 and Mozilla FAQ</A> <DT><A HREF="http://www.gerbilbox.com/newzilla/" ADD_DATE="961112731">NewZilla - the Unofficial Netscape 6 and Mozilla FAQ</A>
</DL><p> </DL><p>
<DT><H3 ADD_DATE="961106554" LAST_MODIFIED="0" ID="NC:BookmarksRoot#$ebf1a62">Third-Party Tools</H3> <DT><H3 ADD_DATE="961106554" LAST_MODIFIED="0">Third-Party Tools</H3>
<DL><p> <DL><p>
<DT><A HREF="http://aphrodite.mozdev.org/total_recall.html" ADD_DATE="961106831">Crash Recovery - Alphanumerica's Total Recall</A> <DT><A HREF="http://aphrodite.mozdev.org/total_recall.html" ADD_DATE="961106831">Crash Recovery - Alphanumerica's Total Recall</A>
</DL><p> </DL><p>

Просмотреть файл

@ -87,3 +87,16 @@ treechildren:-moz-tree-twisty(group,hidetwisty) {
treechildren:-moz-tree-image(Name, container, group) { treechildren:-moz-tree-image(Name, container, group) {
list-style-image: url("chrome://communicator/skin/bookmarks/bookmark-group.gif"); list-style-image: url("chrome://communicator/skin/bookmarks/bookmark-group.gif");
} }
treechildren:-moz-tree-image(Name, separator) {
list-style-image: none;
}
treechildren:-moz-tree-cell-text(Name, separator) {
color: ThreeDShadow;
margin: 0px 5px 0px 5px;
}
treechildren:-moz-tree-cell-text(Name, separator, selected, focus) {
color: HighlightText;
}

Просмотреть файл

@ -71,3 +71,16 @@ treechildren:-moz-tree-twisty(group, hidetwisty) {
treechildren:-moz-tree-image(Name, container, group) { treechildren:-moz-tree-image(Name, container, group) {
list-style-image: url("chrome://communicator/skin/bookmarks/bookmark-group.gif"); list-style-image: url("chrome://communicator/skin/bookmarks/bookmark-group.gif");
} }
treechildren:-moz-tree-image(Name, separator) {
list-style-image: none;
}
treechildren:-moz-tree-cell-text(Name, separator) {
color: #808080;
margin: 0px 5px 0px 5px;
}
treechildren:-moz-tree-cell-text(Name, separator, selected, focus) {
color: #FFFFFF;
}