| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 | 
							- //---------------------------------------------------------------------------
 
- #include <vcl.h>
 
- #pragma hdrstop
 
- #include <Common.h>
 
- #include <FileMasks.h>
 
- #include <CoreMain.h>
 
- #include <TextsWin.h>
 
- #include <Tools.h>
 
- #include <VCLCommon.h>
 
- #include "EditMask.h"
 
- #include "WinConfiguration.h"
 
- //---------------------------------------------------------------------------
 
- #pragma package(smart_init)
 
- #ifndef NO_RESOURCES
 
- #pragma resource "*.dfm"
 
- #endif
 
- //---------------------------------------------------------------------------
 
- bool __fastcall DoEditMaskDialog(TFileMasks & Mask)
 
- {
 
-   bool Result;
 
-   TEditMaskDialog * Dialog = new TEditMaskDialog(GetFormOwner());
 
-   try
 
-   {
 
-     Result = Dialog->Execute(Mask);
 
-   }
 
-   __finally
 
-   {
 
-     delete Dialog;
 
-   }
 
-   return Result;
 
- }
 
- //---------------------------------------------------------------------------
 
- __fastcall TEditMaskDialog::TEditMaskDialog(TComponent* Owner)
 
-         : TForm(Owner)
 
- {
 
-   FChanging = false;
 
-   UseSystemSettings(this);
 
-   HintLabel(MaskHintText,
 
-     FORMAT(L"%s\n \n%s\n \n%s\n \n%s", (LoadStr(MASK_HINT2), LoadStr(FILE_MASK_EX_HINT), LoadStr(PATH_MASK_HINT2), LoadStr(MASK_HELP))));
 
-   ReadOnlyControl(MaskMemo);
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TEditMaskDialog::FormCloseQuery(TObject * /*Sender*/,
 
-   bool & /*CanClose*/)
 
- {
 
-   if (ModalResult == DefaultResult(this))
 
-   {
 
-     ExitActiveControl(this);
 
-   }
 
- }
 
- //---------------------------------------------------------------------------
 
- bool __fastcall TEditMaskDialog::Execute(TFileMasks & Mask)
 
- {
 
-   LoadFileMasks(Mask);
 
-   bool Result = (ShowModal() == DefaultResult(this));
 
-   if (Result)
 
-   {
 
-     SaveFileMasks(Mask);
 
-   }
 
-   return Result;
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TEditMaskDialog::LoadFileMasks(const TFileMasks & Mask)
 
- {
 
-   LoadFileMasks(IncludeFileMasksMemo, Mask.IncludeFileMasksStr);
 
-   LoadFileMasks(ExcludeFileMasksMemo, Mask.ExcludeFileMasksStr);
 
-   LoadFileMasks(IncludeDirectoryMasksMemo, Mask.IncludeDirectoryMasksStr);
 
-   LoadFileMasks(ExcludeDirectoryMasksMemo, Mask.ExcludeDirectoryMasksStr);
 
-   UpdateControls();
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TEditMaskDialog::LoadFileMasks(TMemo * Memo, TStrings * MasksStr)
 
- {
 
-   Memo->Lines = MasksStr;
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TEditMaskDialog::SaveFileMasks(TFileMasks & Mask)
 
- {
 
-   TStrings * IncludeFileMasks = NULL;
 
-   TStrings * ExcludeFileMasks = NULL;
 
-   TStrings * IncludeDirectoryMasks = NULL;
 
-   TStrings * ExcludeDirectoryMasks = NULL;
 
-   try
 
-   {
 
-     IncludeFileMasks = GetUnwrappedMemoLines(IncludeFileMasksMemo);
 
-     ExcludeFileMasks = GetUnwrappedMemoLines(ExcludeFileMasksMemo);
 
-     IncludeDirectoryMasks = GetUnwrappedMemoLines(IncludeDirectoryMasksMemo);
 
-     ExcludeDirectoryMasks = GetUnwrappedMemoLines(ExcludeDirectoryMasksMemo);
 
-     Mask =
 
-       TFileMasks::ComposeMaskStr(
 
-         IncludeFileMasks, ExcludeFileMasks,
 
-         IncludeDirectoryMasks, ExcludeDirectoryMasks);
 
-   }
 
-   __finally
 
-   {
 
-     delete IncludeFileMasks;
 
-     delete ExcludeFileMasks;
 
-     delete IncludeDirectoryMasks;
 
-     delete ExcludeDirectoryMasks;
 
-   }
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TEditMaskDialog::HelpButtonClick(TObject * /*Sender*/)
 
- {
 
-   FormHelp(this);
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TEditMaskDialog::ClearButtonClick(TObject * /*Sender*/)
 
- {
 
-   IncludeFileMasksMemo->Clear();
 
-   ExcludeFileMasksMemo->Clear();
 
-   IncludeDirectoryMasksMemo->Clear();
 
-   ExcludeDirectoryMasksMemo->Clear();
 
-   ExcludeDirectoryAllCheck->Checked = false;
 
-   UpdateControls();
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TEditMaskDialog::FileMasksMemoExit(TObject *Sender)
 
- {
 
-   ValidateMaskEdit(dynamic_cast<TMemo *>(Sender), false);
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TEditMaskDialog::DirectoryMasksMemoExit(TObject *Sender)
 
- {
 
-   ValidateMaskEdit(dynamic_cast<TMemo *>(Sender), true);
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TEditMaskDialog::ControlChange(TObject * /*Sender*/)
 
- {
 
-   UpdateControls();
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TEditMaskDialog::UpdateControls()
 
- {
 
-   try
 
-   {
 
-     TFileMasks Mask;
 
-     SaveFileMasks(Mask);
 
-     MaskMemo->Lines->Text = Mask.Masks;
 
-   }
 
-   catch(EFileMasksException & E)
 
-   {
 
-     MaskMemo->Lines->Text = E.Message;
 
-   }
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TEditMaskDialog::FormKeyDown(
 
-   TObject * Sender, WORD & Key, TShiftState Shift)
 
- {
 
-   MemoKeyDown(Sender, Key, Shift);
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TEditMaskDialog::FormShow(TObject * /*Sender*/)
 
- {
 
-   InstallPathWordBreakProc(IncludeFileMasksMemo);
 
-   InstallPathWordBreakProc(ExcludeFileMasksMemo);
 
-   InstallPathWordBreakProc(IncludeDirectoryMasksMemo);
 
-   InstallPathWordBreakProc(ExcludeDirectoryMasksMemo);
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TEditMaskDialog::ExcludeDirectoryAllCheckClick(TObject * /*Sender*/)
 
- {
 
-   if (!FChanging)
 
-   {
 
-     TAutoFlag Flag(FChanging);
 
-     if (ExcludeDirectoryAllCheck->Checked)
 
-     {
 
-       FExcludeDirectoryMasks = ExcludeDirectoryMasksMemo->Lines->Text;
 
-       ExcludeDirectoryMasksMemo->Lines->Text = L"*";
 
-     }
 
-     else
 
-     {
 
-       ExcludeDirectoryMasksMemo->Lines->Text = FExcludeDirectoryMasks;
 
-     }
 
-   }
 
-   UpdateControls();
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TEditMaskDialog::ExcludeDirectoryMasksMemoChange(TObject * /*Sender*/)
 
- {
 
-   if (!FChanging)
 
-   {
 
-     TAutoFlag Flag(FChanging);
 
-     UnicodeString Mask = ExcludeDirectoryMasksMemo->Lines->Text.Trim();
 
-     ExcludeDirectoryAllCheck->Checked = (Mask == L"*") || (Mask == L"*/");
 
-   }
 
-   UpdateControls();
 
- }
 
- //---------------------------------------------------------------------------
 
 
  |