зеркало из https://github.com/mozilla/pjs.git
back out fix for 169481 deleting msgs in threaded view messages up indentation, until I can completely fix it r/sr/a=sspitzer
This commit is contained in:
Родитель
348e5dba28
Коммит
b78a0cf153
|
@ -576,25 +576,29 @@ NS_IMETHODIMP nsMsgThreadedDBView::OnParentChanged (nsMsgKey aKeyChanged, nsMsgK
|
|||
{
|
||||
// we need to adjust the level of the hdr whose parent changed, and invalidate that row,
|
||||
// iff we're in threaded mode.
|
||||
if (m_viewFlags & nsMsgViewFlagsType::kThreadedDisplay)
|
||||
if (PR_FALSE && m_viewFlags & nsMsgViewFlagsType::kThreadedDisplay)
|
||||
{
|
||||
nsMsgViewIndex parentIndex = FindViewIndex(newParent);
|
||||
if (parentIndex != nsMsgViewIndex_None)
|
||||
nsMsgViewIndex childIndex = FindViewIndex(aKeyChanged);
|
||||
if (childIndex != nsMsgViewIndex_None)
|
||||
{
|
||||
nsMsgViewIndex childIndex = FindViewIndex(aKeyChanged);
|
||||
if (childIndex != nsMsgViewIndex_None)
|
||||
{
|
||||
PRInt32 levelChanged = m_levels[childIndex];
|
||||
m_levels[childIndex] = m_levels[parentIndex] + 1;
|
||||
for (nsMsgViewIndex viewIndex = childIndex + 1; viewIndex < GetSize() && m_levels[viewIndex] > levelChanged; viewIndex++)
|
||||
{
|
||||
m_levels[viewIndex] = m_levels[viewIndex] - 1;
|
||||
NoteChange(viewIndex, 1, nsMsgViewNotificationCode::changed);
|
||||
}
|
||||
NoteChange(childIndex, 1, nsMsgViewNotificationCode::changed);
|
||||
}
|
||||
nsMsgViewIndex parentIndex = FindViewIndex(newParent);
|
||||
PRInt32 newParentLevel = (parentIndex == nsMsgViewIndex_None) ? -1 : m_levels[parentIndex];
|
||||
nsMsgViewIndex oldParentIndex = FindViewIndex(oldParent);
|
||||
PRInt32 oldParentLevel = (oldParentIndex != nsMsgViewIndex_None || newParent == nsMsgKey_None)
|
||||
? m_levels[oldParentIndex] : -1 ;
|
||||
PRInt32 levelChanged = m_levels[childIndex];
|
||||
PRInt32 parentDelta = oldParentLevel - newParentLevel;
|
||||
m_levels[childIndex] = (newParent == nsMsgKey_None) ? 0 : newParentLevel + 1;
|
||||
if (parentDelta > 0)
|
||||
{
|
||||
for (nsMsgViewIndex viewIndex = childIndex + 1; viewIndex < GetSize() && m_levels[viewIndex] > levelChanged; viewIndex++)
|
||||
{
|
||||
m_levels[viewIndex] = m_levels[viewIndex] - parentDelta;
|
||||
NoteChange(viewIndex, 1, nsMsgViewNotificationCode::changed);
|
||||
}
|
||||
}
|
||||
NoteChange(childIndex, 1, nsMsgViewNotificationCode::changed);
|
||||
}
|
||||
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче