|
|
@@ -14565,6 +14565,7 @@ begin
|
|
|
RealICQContacterTreeView.OnHeadImageMouseLeave := NodeOnHeadImageMouseLeave;
|
|
|
RealICQContacterTreeView.AdjustPosition := False;
|
|
|
RealICQContacterTreeView.AutoChangeOnlineNumeric := False;
|
|
|
+ RealICQContacterTreeView.AutoCalculate := False;
|
|
|
if not AFinded then
|
|
|
begin
|
|
|
RealICQContacterTreeView.HideSystemScrollBar;
|
|
|
@@ -14754,18 +14755,13 @@ begin
|
|
|
for iLoop := RealICQClient.MoreUsers.Count - 1 downto 0 do
|
|
|
begin
|
|
|
RealICQUser := RealICQClient.MoreUsers.Objects[iLoop] as TRealICQUser;
|
|
|
- ItemIndex := RealICQContacterTreeView.EmployeeItems.IndexOf(RealICQUser.LoginName);
|
|
|
- if ItemIndex >= 0 then
|
|
|
- begin
|
|
|
- Employee := RealICQContacterTreeView.EmployeeItems.Objects[ItemIndex] as TRealICQEmployee;
|
|
|
- UpdateEmployeeNode(Employee, RealICQUser, False);
|
|
|
- Continue;
|
|
|
- end;
|
|
|
|
|
|
ItemIndex := RealICQContacterTreeView.BranchItems.IndexOf(RealICQUser.BranchID);
|
|
|
if ItemIndex < 0 then
|
|
|
Continue;
|
|
|
-
|
|
|
+ ItemIndex := RealICQContacterTreeView.EmployeeItems.IndexOf(RealICQUser.LoginName);
|
|
|
+ if ItemIndex >= 0 then
|
|
|
+ RealICQContacterTreeView.EmployeeItems.Delete(ItemIndex);
|
|
|
Employee := TRealICQEmployee.Create(RealICQUser.LoginName);
|
|
|
Employee.BranchID := RealICQUser.BranchID;
|
|
|
Employee.HasAddFreindButton := True;
|
|
|
@@ -14777,29 +14773,29 @@ begin
|
|
|
RealICQContacterTreeView.AddEmployee(Employee);
|
|
|
|
|
|
UpdateEmployeeNode(Employee, RealICQUser, False);
|
|
|
- ParentNode := Employee.Node.Parent;
|
|
|
- while ParentNode <> nil do
|
|
|
- begin
|
|
|
- TmpBranch := ParentNode.Data;
|
|
|
- TmpBranch.EmployeeCount := TmpBranch.EmployeeCount - 1;
|
|
|
- if (Employee.LoginState <> stOffline) and (Employee.LoginState <> stHidden) then
|
|
|
- TmpBranch.OnlineEmployee := TmpBranch.OnlineEmployee - 1;
|
|
|
- ParentNode := ParentNode.Parent;
|
|
|
- end;
|
|
|
-
|
|
|
- if Assigned(Employee.Node.Parent) then
|
|
|
- begin
|
|
|
- UpdateEmployeeNode(Employee, RealICQUser, False);
|
|
|
- if (not Assigned(Employee.Node.Parent.Parent)) and (Employee.LoginState <> stOffline) and (Employee.LoginState <> stHidden) then
|
|
|
- begin
|
|
|
- TmpBranch := Employee.Node.Parent.data;
|
|
|
- TmpBranch.OnlineEmployee := TmpBranch.OnlineEmployee - 1;
|
|
|
- TmpBranch.EmployeeCount := TmpBranch.EmployeeCount - 1;
|
|
|
- TmpBranch.Update;
|
|
|
- end;
|
|
|
- end
|
|
|
- else
|
|
|
- FreeAndNil(Employee);
|
|
|
+// ParentNode := Employee.Node.Parent;
|
|
|
+// while ParentNode <> nil do
|
|
|
+// begin
|
|
|
+// TmpBranch := ParentNode.Data;
|
|
|
+// TmpBranch.EmployeeCount := TmpBranch.EmployeeCount - 1;
|
|
|
+// if (Employee.LoginState <> stOffline) and (Employee.LoginState <> stHidden) then
|
|
|
+// TmpBranch.OnlineEmployee := TmpBranch.OnlineEmployee - 1;
|
|
|
+// ParentNode := ParentNode.Parent;
|
|
|
+// end;
|
|
|
+
|
|
|
+// if Assigned(Employee.Node.Parent) then
|
|
|
+// begin
|
|
|
+// UpdateEmployeeNode(Employee, RealICQUser, False);
|
|
|
+// if (not Assigned(Employee.Node.Parent.Parent)) and (Employee.LoginState <> stOffline) and (Employee.LoginState <> stHidden) then
|
|
|
+// begin
|
|
|
+// TmpBranch := Employee.Node.Parent.data;
|
|
|
+// TmpBranch.OnlineEmployee := TmpBranch.OnlineEmployee - 1;
|
|
|
+// TmpBranch.EmployeeCount := TmpBranch.EmployeeCount - 1;
|
|
|
+// TmpBranch.Update;
|
|
|
+// end;
|
|
|
+// end
|
|
|
+// else
|
|
|
+// FreeAndNil(Employee);
|
|
|
end;
|
|
|
{$endregion}
|
|
|
|