ArrayCtrl::ColumnSortFindKey - when array is sorted by clicking header column, cursor is restored on line with previous GetKey

git-svn-id: svn://ultimatepp.org/upp/trunk@835 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2009-02-03 16:40:26 +00:00
parent e5a83130d9
commit 1bfd40f1fd
3 changed files with 10 additions and 12 deletions

View file

@ -2128,6 +2128,7 @@ void ArrayCtrl::Sort(int from, int count, const ArrayCtrl::Order& order) {
void ArrayCtrl::ColumnSort(int column, const ValueOrder& order)
{
Value key = GetKey();
CHECK(KillCursor());
ClearCache();
Vector<Value> hv;
@ -2137,6 +2138,8 @@ void ArrayCtrl::ColumnSort(int column, const ValueOrder& order)
SortB(GetStableSortOrder(hv, order));
Refresh();
SyncInfo();
if(columnsortfindkey)
FindSetCursor(key);
}
void ArrayCtrl::SetSortColumn(int ii, bool desc)
@ -2308,6 +2311,7 @@ void ArrayCtrl::Reset() {
sortcolumn = -1;
allsorting = false;
acceptingrow = 0;
columnsortfindkey = false;
linecy = Draw::GetStdFontCy();
Clear();
sb.SetLine(linecy);