mirror of https://gitlab.com/basile.b/dexed.git
todolist column can be sorted
This commit is contained in:
parent
9df88278a0
commit
78318f90a7
|
@ -95,6 +95,7 @@ inherited CETodoListWidget: TCETodoListWidget
|
|||
Width = 75
|
||||
end>
|
||||
ReadOnly = True
|
||||
SortType = stText
|
||||
TabOrder = 1
|
||||
ViewStyle = vsReport
|
||||
end
|
||||
|
|
|
@ -91,6 +91,8 @@ type
|
|||
procedure procOutputDbg(sender: TObject);
|
||||
procedure clearTodoList;
|
||||
procedure fillTodoList;
|
||||
procedure lstItemsColumnClick(Sender : TObject; Column : TListColumn);
|
||||
procedure lstItemsCompare(Sender : TObject; item1, item2: TListItem;Data : Integer; var Compare : Integer);
|
||||
procedure lstItemsDoubleClick(sender: TObject);
|
||||
procedure btnRefreshClick(sender: TObject);
|
||||
procedure filterItems(sender: TObject);
|
||||
|
@ -175,6 +177,8 @@ begin
|
|||
fTodos := TTodoItems.Create(self);
|
||||
lstItems.OnDblClick := @lstItemsDoubleClick;
|
||||
btnRefresh.OnClick := @btnRefreshClick;
|
||||
lstItems.OnColumnClick:= @lstItemsColumnClick;
|
||||
lstItems.OnCompare := @lstItemsCompare;
|
||||
fAutoRefresh := true;
|
||||
mnuAutoRefresh.Checked := true;
|
||||
// http://bugs.freepascal.org/view.php?id=27137
|
||||
|
@ -471,6 +475,45 @@ begin
|
|||
fDoc.SelectLine;
|
||||
end;
|
||||
|
||||
procedure TCETodoListWidget.lstItemsColumnClick(Sender : TObject; Column :
|
||||
TListColumn);
|
||||
var
|
||||
curr: TListItem;
|
||||
begin
|
||||
if lstItems.Selected = nil then exit;
|
||||
curr := lstItems.Selected;
|
||||
//
|
||||
if lstItems.SortDirection = sdAscending then
|
||||
lstItems.SortDirection := sdDescending
|
||||
else lstItems.SortDirection := sdAscending;
|
||||
lstItems.SortColumn := Column.Index;
|
||||
lstItems.Selected := nil;
|
||||
lstItems.Selected := curr;
|
||||
lstItems.Update;
|
||||
end;
|
||||
|
||||
procedure TCETodoListWidget.lstItemsCompare(Sender : TObject; item1, item2:
|
||||
TListItem;Data : Integer; var Compare : Integer);
|
||||
var
|
||||
txt1, txt2: string;
|
||||
col: Integer;
|
||||
begin
|
||||
txt1 := '';
|
||||
txt2 := '';
|
||||
col := lstItems.SortColumn;
|
||||
if col = 0 then
|
||||
begin
|
||||
txt1 := item1.Caption;
|
||||
txt2 := item2.Caption;
|
||||
end else
|
||||
begin
|
||||
if col < item1.SubItems.Count then txt1 := item1.SubItems.Strings[col];
|
||||
if col < item2.SubItems.Count then txt2 := item2.SubItems.Strings[col];
|
||||
end;
|
||||
Compare := AnsiCompareStr(txt1, txt2);
|
||||
if lstItems.SortDirection = sdDescending then Compare := -Compare;
|
||||
end;
|
||||
|
||||
procedure TCETodoListWidget.btnRefreshClick(sender: TObject);
|
||||
begin
|
||||
callToolProcess;
|
||||
|
|
Loading…
Reference in New Issue