mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
UPD: Operations viewer: put free operations always at the top.
This commit is contained in:
parent
6f9022095d
commit
4ea5860252
1 changed files with 29 additions and 19 deletions
|
|
@ -804,28 +804,13 @@ begin
|
|||
end;
|
||||
|
||||
procedure TfrmViewOperations.UpdateItems;
|
||||
var
|
||||
OperIndex, QueueIndex: Integer;
|
||||
Queue: TOperationsManagerQueue;
|
||||
OpManItem: TOperationsManagerItem;
|
||||
Item: TViewBaseItem;
|
||||
QueueNode, OperNode: TTreeNode;
|
||||
begin
|
||||
tvOperations.Items.Clear;
|
||||
for QueueIndex := 0 to OperationsManager.QueuesCount - 1 do
|
||||
procedure AddOperations(Queue: TOperationsManagerQueue; QueueNode: TTreeNode);
|
||||
var
|
||||
OperIndex: Integer;
|
||||
OpManItem: TOperationsManagerItem;
|
||||
OperNode: TTreeNode;
|
||||
Item: TViewBaseItem;
|
||||
begin
|
||||
Queue := OperationsManager.QueueByIndex[QueueIndex];
|
||||
if Queue.Identifier = FreeOperationsQueueId then
|
||||
// Add free operations directly at root node.
|
||||
QueueNode := nil
|
||||
else
|
||||
begin
|
||||
QueueNode := tvOperations.Items.Add(nil, '');
|
||||
Item := TViewQueueItem.Create(QueueNode, Queue.Identifier);
|
||||
QueueNode.Data := Item;
|
||||
QueueNode.Height := Item.GetHeight(tvOperations.Canvas);
|
||||
end;
|
||||
|
||||
for OperIndex := 0 to Queue.Count - 1 do
|
||||
begin
|
||||
OpManItem := Queue.Items[OperIndex];
|
||||
|
|
@ -837,6 +822,31 @@ begin
|
|||
Item.OnClick := @OnOperationItemClick;
|
||||
end;
|
||||
end;
|
||||
var
|
||||
QueueIndex: Integer;
|
||||
Queue: TOperationsManagerQueue;
|
||||
QueueNode: TTreeNode;
|
||||
Item: TViewBaseItem;
|
||||
begin
|
||||
tvOperations.Items.Clear;
|
||||
|
||||
// First add all free operations.
|
||||
Queue := OperationsManager.QueueByIdentifier[FreeOperationsQueueId];
|
||||
if Assigned(Queue) then
|
||||
AddOperations(Queue, nil);
|
||||
|
||||
for QueueIndex := 0 to OperationsManager.QueuesCount - 1 do
|
||||
begin
|
||||
Queue := OperationsManager.QueueByIndex[QueueIndex];
|
||||
if Queue.Identifier <> FreeOperationsQueueId then
|
||||
begin
|
||||
QueueNode := tvOperations.Items.AddChild(nil, '');
|
||||
Item := TViewQueueItem.Create(QueueNode, Queue.Identifier);
|
||||
QueueNode.Data := Item;
|
||||
QueueNode.Height := Item.GetHeight(tvOperations.Canvas);
|
||||
AddOperations(Queue, QueueNode);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmViewOperations.UpdateView(Operation: TFileSourceOperation;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue