Use the same 250ms when waiting for slow-clicks for starting
the edit label process in wxTreeCtrl and wxListCtrl. Take icon size in the first column into account when shwoing text control. Only activate label editing when clicked on the first label, not somewhere else git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@47097 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -2449,10 +2449,24 @@ wxRect wxListMainWindow::GetLineLabelRect(size_t line) const
|
||||
if ( !InReportView() )
|
||||
return GetLine(line)->m_gi->m_rectLabel;
|
||||
|
||||
int image_x = 0;
|
||||
wxListLineData *data = GetLine(line);
|
||||
wxListItemDataList::compatibility_iterator node = data->m_items.GetFirst();
|
||||
if (node)
|
||||
{
|
||||
wxListItemData *item = node->GetData();
|
||||
if ( item->HasImage() )
|
||||
{
|
||||
int ix, iy;
|
||||
GetImageSize( item->GetImage(), ix, iy );
|
||||
image_x = 3 + ix + IMAGE_MARGIN_IN_REPORT_MODE;
|
||||
}
|
||||
}
|
||||
|
||||
wxRect rect;
|
||||
rect.x = HEADER_OFFSET_X;
|
||||
rect.x = image_x + HEADER_OFFSET_X;
|
||||
rect.y = GetLineY(line);
|
||||
rect.width = GetColumnWidth(0);
|
||||
rect.width = GetColumnWidth(0) - image_x;
|
||||
rect.height = GetLineHeight();
|
||||
|
||||
return rect;
|
||||
@@ -3142,7 +3156,15 @@ void wxListMainWindow::OnMouse( wxMouseEvent &event )
|
||||
(hitResult == wxLIST_HITTEST_ONITEMLABEL) &&
|
||||
HasFlag(wxLC_EDIT_LABELS) )
|
||||
{
|
||||
m_renameTimer->Start( 100, true );
|
||||
if (InReportView())
|
||||
{
|
||||
wxRect label = GetLineLabelRect( current );
|
||||
if (label.Contains( x, y ))
|
||||
m_renameTimer->Start( 250, true );
|
||||
|
||||
}
|
||||
else
|
||||
m_renameTimer->Start( 250, true );
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user