зеркало из https://github.com/mozilla/pjs.git
Bug 410358 - use nsTArray in nsTreeBodyFrame. r+sr=neil, a=stuart
This commit is contained in:
Родитель
aae4646d3a
Коммит
498dc4f671
|
@ -2660,7 +2660,7 @@ nsTreeBodyFrame::HandleEvent(nsPresContext* aPresContext,
|
|||
PRInt32 parentIndex;
|
||||
nsresult rv = mView->GetParentIndex(mSlots->mDropRow, &parentIndex);
|
||||
while (NS_SUCCEEDED(rv) && parentIndex >= 0) {
|
||||
mSlots->mValueArray.RemoveValue(parentIndex);
|
||||
mSlots->mArray.RemoveElement(parentIndex);
|
||||
rv = mView->GetParentIndex(parentIndex, &parentIndex);
|
||||
}
|
||||
|
||||
|
@ -2689,7 +2689,7 @@ nsTreeBodyFrame::HandleEvent(nsPresContext* aPresContext,
|
|||
mSlots->mTimer = nsnull;
|
||||
}
|
||||
|
||||
if (mSlots->mValueArray.Count()) {
|
||||
if (!mSlots->mArray.IsEmpty()) {
|
||||
// Close all spring loaded folders except the drop folder.
|
||||
CreateTimer(nsILookAndFeel::eMetric_TreeCloseDelay,
|
||||
CloseCallback, nsITimer::TYPE_ONE_SHOT,
|
||||
|
@ -4285,7 +4285,7 @@ nsTreeBodyFrame::OpenCallback(nsITimer *aTimer, void *aClosure)
|
|||
self->mSlots->mTimer = nsnull;
|
||||
|
||||
if (self->mSlots->mDropRow >= 0) {
|
||||
self->mSlots->mValueArray.AppendValue(self->mSlots->mDropRow);
|
||||
self->mSlots->mArray.AppendElement(self->mSlots->mDropRow);
|
||||
self->mView->ToggleOpenState(self->mSlots->mDropRow);
|
||||
}
|
||||
}
|
||||
|
@ -4299,11 +4299,11 @@ nsTreeBodyFrame::CloseCallback(nsITimer *aTimer, void *aClosure)
|
|||
aTimer->Cancel();
|
||||
self->mSlots->mTimer = nsnull;
|
||||
|
||||
for (PRInt32 i = self->mSlots->mValueArray.Count() - 1; i >= 0; i--) {
|
||||
for (PRUint32 i = self->mSlots->mArray.Length(); i--; ) {
|
||||
if (self->mView)
|
||||
self->mView->ToggleOpenState(self->mSlots->mValueArray[i]);
|
||||
self->mSlots->mValueArray.RemoveValueAt(i);
|
||||
self->mView->ToggleOpenState(self->mSlots->mArray[i]);
|
||||
}
|
||||
self->mSlots->mArray.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
#include "nsITimer.h"
|
||||
#include "nsIReflowCallback.h"
|
||||
#include "nsILookAndFeel.h"
|
||||
#include "nsValueArray.h"
|
||||
#include "nsTArray.h"
|
||||
#include "nsTreeStyleCache.h"
|
||||
#include "nsTreeColumns.h"
|
||||
#include "nsTreeImageListener.h"
|
||||
|
@ -492,8 +492,7 @@ protected: // Data Members
|
|||
|
||||
class Slots {
|
||||
public:
|
||||
Slots()
|
||||
: mValueArray(~PRInt32(0)) {
|
||||
Slots() {
|
||||
}
|
||||
|
||||
~Slots() {
|
||||
|
@ -524,8 +523,8 @@ protected: // Data Members
|
|||
// Timer for opening/closing spring loaded folders or scrolling the tree.
|
||||
nsCOMPtr<nsITimer> mTimer;
|
||||
|
||||
// A value array used to keep track of all spring loaded folders.
|
||||
nsValueArray mValueArray;
|
||||
// An array used to keep track of all spring loaded folders.
|
||||
nsTArray<PRInt32> mArray;
|
||||
};
|
||||
|
||||
Slots* mSlots;
|
||||
|
|
Загрузка…
Ссылка в новой задаче