| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 | 
							- //---------------------------------------------------------------------------
 
- #include <vcl.h>
 
- #pragma hdrstop
 
- #include <Common.h>
 
- #include <FileMasks.h>
 
- #include <CoreMain.h>
 
- #include <TextsWin.h>
 
- #include <HelpWin.h>
 
- #include <Tools.h>
 
- #include <VCLCommon.h>
 
- #include "SelectMask.h"
 
- #include "WinConfiguration.h"
 
- //---------------------------------------------------------------------------
 
- #pragma package(smart_init)
 
- #pragma link "HistoryComboBox"
 
- #ifndef NO_RESOURCES
 
- #pragma resource "*.dfm"
 
- #endif
 
- //---------------------------------------------------------------------------
 
- bool __fastcall DoSelectMaskDialog(TCustomDirView * Parent, bool Select,
 
-   TFileFilter * Filter, TConfiguration * Configuration)
 
- {
 
-   bool Result;
 
-   TSelectMaskDialog * Dialog = new TSelectMaskDialog(Application);
 
-   try
 
-   {
 
-     Dialog->Init(Select ? TSelectMaskDialog::smSelect : TSelectMaskDialog::smDeselect, Parent);
 
-     DefaultFileFilter(*Filter);
 
-     TWinConfiguration * WinConfiguration = DebugNotNull(dynamic_cast<TWinConfiguration *>(Configuration));
 
-     Filter->Masks = WinConfiguration->SelectMask;
 
-     Filter->Directories = WinConfiguration->SelectDirectories;
 
-     Dialog->FileFilter = *Filter;
 
-     Result = Dialog->Execute();
 
-     if (Result)
 
-     {
 
-       *Filter = Dialog->FileFilter;
 
-       WinConfiguration->SelectMask = Filter->Masks;
 
-       WinConfiguration->SelectDirectories = Filter->Directories;
 
-     }
 
-   }
 
-   __finally
 
-   {
 
-     delete Dialog;
 
-   }
 
-   return Result;
 
- }
 
- //---------------------------------------------------------------------------
 
- bool __fastcall DoFilterMaskDialog(TCustomDirView * Parent,
 
-   TFileFilter * Filter)
 
- {
 
-   bool Result;
 
-   TSelectMaskDialog * Dialog = new TSelectMaskDialog(Application);
 
-   try
 
-   {
 
-     Dialog->Init(TSelectMaskDialog::smFilter, Parent);
 
-     Dialog->FileFilter = *Filter;
 
-     Result = Dialog->Execute();
 
-     if (Result)
 
-     {
 
-       *Filter = Dialog->FileFilter;
 
-     }
 
-   }
 
-   __finally
 
-   {
 
-     delete Dialog;
 
-   }
 
-   return Result;
 
- }
 
- //---------------------------------------------------------------------------
 
- __fastcall TSelectMaskDialog::TSelectMaskDialog(TComponent* Owner)
 
-         : TForm(Owner)
 
- {
 
-   DefaultFileFilter(FFileFilter);
 
-   SetFileFilter(FFileFilter);
 
-   UseSystemSettings(this);
 
-   HintLabel(HintText,
 
-     FORMAT(L"%s\n \n%s\n \n%s\n \n%s", (LoadStr(MASK_HINT2), LoadStr(FILE_MASK_EX_HINT),
 
-       LoadStr(COMBINING_MASKS_HINT), LoadStr(MASK_HELP))));
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TSelectMaskDialog::Init(TMode Mode, TControl * Parent)
 
- {
 
-   int CaptionStr;
 
-   switch (Mode)
 
-   {
 
-     case smSelect:
 
-       CaptionStr = SELECT_MASK_SELECT_CAPTION;
 
-       ClearButton->Hide();
 
-       break;
 
-     case smDeselect:
 
-       CaptionStr = SELECT_MASK_DESELECT_CAPTION;
 
-       ClearButton->Hide();
 
-       break;
 
-     case smFilter:
 
-       CaptionStr = FILTER_MASK_CAPTION;
 
-       ApplyToDirectoriesCheck->Hide();
 
-       HelpKeyword = HELP_FILTER;
 
-       break;
 
-   }
 
-   Caption = LoadStr(CaptionStr);
 
-   FParent = Parent;
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TSelectMaskDialog::FormCloseQuery(TObject * /*Sender*/,
 
-   bool & /*CanClose*/)
 
- {
 
-   if (ModalResult == DefaultResult(this))
 
-   {
 
-     if (MaskEdit->Focused())
 
-     {
 
-       MaskEditExit(NULL);
 
-     }
 
-   }
 
- }
 
- //---------------------------------------------------------------------------
 
- bool __fastcall TSelectMaskDialog::Execute()
 
- {
 
-   MaskEdit->Items = WinConfiguration->History[L"Mask"];
 
-   ActiveControl = MaskEdit;
 
-   bool Result = (ShowModal() == DefaultResult(this));
 
-   if (Result)
 
-   {
 
-     MaskEdit->SaveToHistory();
 
-     WinConfiguration->History[L"Mask"] = MaskEdit->Items;
 
-   }
 
-   return Result;
 
- } /* TSelectMaskDialog::Execute */
 
- //---------------------------------------------------------------------------
 
- void __fastcall TSelectMaskDialog::SetFileFilter(TFileFilter value)
 
- {
 
-   FFileFilter = value;
 
-   ApplyToDirectoriesCheck->Checked = FFileFilter.Directories;
 
-   MaskEdit->Text = FFileFilter.Masks;
 
- } /* TSelectMaskDialog::SetFileFilter */
 
- //---------------------------------------------------------------------------
 
- TFileFilter __fastcall TSelectMaskDialog::GetFileFilter()
 
- {
 
-   TFileFilter Result = FFileFilter;
 
-   Result.Directories = ApplyToDirectoriesCheck->Checked;
 
-   Result.Masks = MaskEdit->Text;
 
-   return Result;
 
- } /* TSelectMaskDialog::GetFileFilter */
 
- //---------------------------------------------------------------------------
 
- void __fastcall TSelectMaskDialog::MaskEditExit(TObject * /*Sender*/)
 
- {
 
-   ValidateMaskEdit(MaskEdit);
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TSelectMaskDialog::HelpButtonClick(TObject * /*Sender*/)
 
- {
 
-   FormHelp(this);
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TSelectMaskDialog::ClearButtonClick(TObject * /*Sender*/)
 
- {
 
-   MaskEdit->Text = L"";
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TSelectMaskDialog::FormShow(TObject * /*Sender*/)
 
- {
 
-   InstallPathWordBreakProc(MaskEdit);
 
-   // Only now it is scaled
 
-   CenterFormOn(this, FParent);
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TSelectMaskDialog::MaskButtonClick(TObject * /*Sender*/)
 
- {
 
-   TFileMasks Masks = MaskEdit->Text;
 
-   if (DoEditMaskDialog(Masks))
 
-   {
 
-     MaskEdit->Text = Masks.Masks;
 
-   }
 
- }
 
- //---------------------------------------------------------------------------
 
 
  |