//--------------------------------------------------------------------------- void __fastcall TFileFindDialog::FileFound(TTerminal * /*Terminal*/, const UnicodeString FileName, const TRemoteFile * AFile, bool & Cancel) { TListItem * Item = FileView->Items->Add(); TRemoteFile * File = AFile->Duplicate(true); Item->Data = File; Item->ImageIndex = File->IconIndex; UnicodeString Caption = File->FileName; if (File->IsDirectory) { Caption = UnixIncludeTrailingBackslash(Caption); } Item->Caption = Caption; UnicodeString Directory = UnixExtractFilePath(File->FullFileName); if (AnsiSameText(FDirectory, Directory.SubString(1, FDirectory.Length()))) { Directory[1] = L'.'; Directory.Delete(2, FDirectory.Length() - 1); } else { assert(false); } Item->SubItems->Add(Directory); if (File->IsDirectory) { Item->SubItems->Add(L""); } else { Item->SubItems->Add( FormatBytes(File->Size, WinConfiguration->FormatSizeBytes, WinConfiguration->FormatSizeBytes)); } Item->SubItems->Add(UserModificationStr(File->Modification, File->ModificationFmt)); UpdateControls(); Cancel = (FState == ffAborting); Application->ProcessMessages(); }
//--------------------------------------------------------------------------- void __fastcall TSynchronizeChecklistDialog::LoadItem(TListItem * Item) { UnicodeString S; const TSynchronizeChecklist::TItem * ChecklistItem = FChecklist->Item[Item->Index]; Item->Data = const_cast<TSynchronizeChecklist::TItem *>(ChecklistItem); Item->Checked = ChecklistItem->Checked; if (ChecklistItem->ImageIndex >= 0) { Item->ImageIndex = ChecklistItem->ImageIndex; } else { Item->ImageIndex = FakeFileImageIndex(ChecklistItem->GetFileName(), FLAGMASK(ChecklistItem->IsDirectory, FILE_ATTRIBUTE_DIRECTORY)); } S = ChecklistItem->GetFileName(); if (ChecklistItem->IsDirectory) { S = IncludeTrailingBackslash(S); } Item->Caption = S; if (ChecklistItem->Action == TSynchronizeChecklist::saDeleteRemote) { Item->SubItems->Add(L""); Item->SubItems->Add(L""); Item->SubItems->Add(L""); } else { S = ChecklistItem->Local.Directory; if (AnsiSameText(FLocalDirectory, S.SubString(1, FLocalDirectory.Length()))) { S[1] = L'.'; S.Delete(2, FLocalDirectory.Length() - 1); } else { assert(false); } Item->SubItems->Add(S); if (ChecklistItem->Action == TSynchronizeChecklist::saDownloadNew) { Item->SubItems->Add(L""); Item->SubItems->Add(L""); } else { if (ChecklistItem->IsDirectory) { Item->SubItems->Add(L""); } else { Item->SubItems->Add( FormatBytes(ChecklistItem->Local.Size, WinConfiguration->FormatSizeBytes, WinConfiguration->FormatSizeBytes)); } Item->SubItems->Add(UserModificationStr(ChecklistItem->Local.Modification, ChecklistItem->Local.ModificationFmt)); } } Item->SubItems->Add(L""); if (ChecklistItem->Action == TSynchronizeChecklist::saDeleteLocal) { Item->SubItems->Add(L""); Item->SubItems->Add(L""); Item->SubItems->Add(L""); } else { S = ChecklistItem->Remote.Directory; if (AnsiSameText(FRemoteDirectory, S.SubString(1, FRemoteDirectory.Length()))) { S[1] = L'.'; S.Delete(2, FRemoteDirectory.Length() - 1); } else { assert(false); } Item->SubItems->Add(S); if (ChecklistItem->Action == TSynchronizeChecklist::saUploadNew) { Item->SubItems->Add(L""); Item->SubItems->Add(L""); } else { if (ChecklistItem->IsDirectory) { Item->SubItems->Add(L""); } else { Item->SubItems->Add( FormatBytes(ChecklistItem->Remote.Size, WinConfiguration->FormatSizeBytes, WinConfiguration->FormatSizeBytes)); } Item->SubItems->Add(UserModificationStr(ChecklistItem->Remote.Modification, ChecklistItem->Remote.ModificationFmt)); } } }