コード例 #1
0
UnicodeString TCopyParamType::GetLogStr() const
{
  wchar_t CaseC[] = L"NULFS";
  wchar_t ModeC[] = L"BAM";
  wchar_t ResumeC[] = L"YSN";
  // OpenArray (ARRAYOFCONST) supports only up to 19 arguments, so we had to split it
  return
   FORMAT(
     L"  PrTime: %s%s; PrRO: %s; Rght: %s; PrR: %s (%s); FnCs: %c; RIC: %c; "
        L"Resume: %c (%d); CalcS: %s; Mask: %s\n",
      BooleanToEngStr(GetPreserveTime()).c_str(),
      UnicodeString(GetPreserveTime() && GetPreserveTimeDirs() ? L"+Dirs" : L"").c_str(),
      BooleanToEngStr(GetPreserveReadOnly()).c_str(),
      GetRights().GetText().c_str(),
      BooleanToEngStr(GetPreserveRights()).c_str(),
      BooleanToEngStr(GetIgnorePermErrors()).c_str(),
      CaseC[GetFileNameCase()],
      CharToHex(GetInvalidCharsReplacement()).c_str(),
      ResumeC[GetResumeSupport()],
      (int)GetResumeThreshold(),
      BooleanToEngStr(GetCalculateSize()).c_str(),
      GetFileMask().c_str()) +
    FORMAT(
      L"  TM: %c; ClAr: %s; RemEOF: %s; RemBOM: %s; CPS: %u; NewerOnly: %s; InclM: %s; ResumeL: %d\n"
      L"  AscM: %s\n",
       ModeC[GetTransferMode()],
       BooleanToEngStr(GetClearArchive()).c_str(),
       BooleanToEngStr(GetRemoveCtrlZ()).c_str(),
       BooleanToEngStr(GetRemoveBOM()).c_str(),
       int(GetCPSLimit()),
       BooleanToEngStr(GetNewerOnly()).c_str(),
       GetIncludeFileMask().GetMasks().c_str(),
       ((FTransferSkipList.get() != nullptr) ? FTransferSkipList->GetCount() : 0) + (!FTransferResumeFile.IsEmpty() ? 1 : 0),
       GetAsciiFileMask().GetMasks().c_str());
}
コード例 #2
0
ファイル: C4FileSelDlg.cpp プロジェクト: ev1313/yaC
C4FileSelDlg::ListItem *C4FileSelDlg::CreateListItem(const char *szFilename) {
  // Default list item
  if (szFilename)
    return new DefaultListItem(szFilename, !!GetFileMask(), IsMultiSelection(),
                               IsItemGrayed(szFilename), GetFileItemIcon());
  else
    return new DefaultListItem(NULL, false, IsMultiSelection(), false,
                               GetFileItemIcon());
}
コード例 #3
0
//---------------------------------------------------------------------------
void __fastcall TCopyDialog::SetDirectory(UnicodeString value)
{
  if (!value.IsEmpty())
  {
    value = RemotePaths() ?
      UnicodeString(UnixIncludeTrailingBackslash(value)) : IncludeTrailingBackslash(value);
  }
  DirectoryEdit->Text = value + GetFileMask();
}
コード例 #4
0
//---------------------------------------------------------------------------
TGUICopyParamType __fastcall TCopyDialog::GetParams()
{
  // overwrites TCopyParamType fields only
  FParams = FCopyParams;
  FParams.FileMask = GetFileMask();
  FParams.Queue = QueueCheck2->Checked;
  FParams.QueueIndividually = QueueIndividuallyCheck->Checked;
  return FParams;
}
コード例 #5
0
UnicodeString TCopyParamType::ChangeFileName(const UnicodeString & AFileName,
  TOperationSide Side, bool FirstLevel) const
{
  UnicodeString FileName = AFileName;
  if (FirstLevel)
  {
    FileName = MaskFileName(FileName, GetFileMask());
  }
  switch (GetFileNameCase())
  {
    case ncUpperCase:
      FileName = FileName.UpperCase();
      break;
    case ncLowerCase:
      FileName = FileName.LowerCase();
      break;
    case ncFirstUpperCase:
      FileName = FileName.SubString(1, 1).UpperCase() +
        FileName.SubString(2, FileName.Length() - 1).LowerCase();
      break;
    case ncLowerCaseShort:
      if ((FileName.Length() <= 12) && (FileName.Pos(L".") <= 9) &&
          (FileName == FileName.UpperCase()))
      {
        FileName = FileName.LowerCase();
      }
      break;
    case ncNoChange:
    default:
      /*nothing*/
      break;
  }
  if (Side == osRemote)
  {
    FileName = ValidLocalFileName(FileName);
  }
  else
  {
    FileName = RestoreChars(FileName);
  }
  return FileName;
}
コード例 #6
0
ファイル: C4FileSelDlg.cpp プロジェクト: ev1313/yaC
void C4FileSelDlg::UpdateFileList() {
  BeginFileListUpdate();
  // reload files
  C4GUI::Element *pEl;
  while (pEl = pFileListBox->GetFirst()) delete pEl;
  // file items
  StdStrBuf sSearch;
  const char *szFileMask = GetFileMask();
  for (DirectoryIterator iter(sPath.getData()); *iter; ++iter)
    if (!szFileMask || WildcardListMatch(szFileMask, *iter))
      pFileListBox->AddElement(CreateListItem(*iter));
  // none-item?
  if (HasNoneItem()) {
    pFileListBox->AddElement(CreateListItem(NULL));
  }
  // list now done
  EndFileListUpdate();
  // path into title
  const char *szPath = sPath.getData();
  SetTitle(*szPath ? FormatString("%s [%s]", sTitle.getData(), szPath).getData()
                   : sTitle.getData());
  // initial no-selection
  UpdateSelection();
}