|
|
@@ -19,61 +19,40 @@
|
|
|
#pragma resource "*.dfm"
|
|
|
#endif
|
|
|
//---------------------------------------------------------------------------
|
|
|
-bool __fastcall DoSelectMaskDialog(TCustomDirView * Parent, bool Select,
|
|
|
- TFileFilter * Filter, TConfiguration * Configuration)
|
|
|
+bool __fastcall DoSelectMaskDialog(TControl * Parent, bool Select, TFileFilter & Filter)
|
|
|
{
|
|
|
- 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
|
|
|
+ std::unique_ptr<TSelectMaskDialog> Dialog(new TSelectMaskDialog(Application));
|
|
|
+ Dialog->Init((Select ? TSelectMaskDialog::smSelect : TSelectMaskDialog::smDeselect), Parent);
|
|
|
+ DefaultFileFilter(Filter);
|
|
|
+ Filter.Masks = WinConfiguration->SelectMask;
|
|
|
+ Filter.Directories = WinConfiguration->SelectDirectories;
|
|
|
+ bool Result = Dialog->Execute(Filter);
|
|
|
+ if (Result)
|
|
|
{
|
|
|
- delete Dialog;
|
|
|
+ WinConfiguration->SelectMask = Filter.Masks;
|
|
|
+ WinConfiguration->SelectDirectories = Filter.Directories;
|
|
|
}
|
|
|
return Result;
|
|
|
}
|
|
|
//---------------------------------------------------------------------------
|
|
|
-bool __fastcall DoFilterMaskDialog(TCustomDirView * Parent,
|
|
|
- TFileFilter * Filter)
|
|
|
+bool __fastcall DoFilterMaskDialog(TControl * Parent, UnicodeString & Mask)
|
|
|
{
|
|
|
- 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
|
|
|
+ TFileFilter Filter;
|
|
|
+ DefaultFileFilter(Filter);
|
|
|
+ Filter.Masks = Mask;
|
|
|
+ std::unique_ptr<TSelectMaskDialog> Dialog(new TSelectMaskDialog(Application));
|
|
|
+ Dialog->Init(TSelectMaskDialog::smFilter, Parent);
|
|
|
+ bool Result = Dialog->Execute(Filter);
|
|
|
+ if (Result)
|
|
|
{
|
|
|
- delete Dialog;
|
|
|
+ Mask = Filter.Masks;
|
|
|
}
|
|
|
return Result;
|
|
|
}
|
|
|
//---------------------------------------------------------------------------
|
|
|
-__fastcall TSelectMaskDialog::TSelectMaskDialog(TComponent* Owner)
|
|
|
- : TForm(Owner)
|
|
|
+__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),
|
|
|
@@ -105,8 +84,7 @@ void __fastcall TSelectMaskDialog::Init(TMode Mode, TControl * Parent)
|
|
|
FParent = Parent;
|
|
|
}
|
|
|
//---------------------------------------------------------------------------
|
|
|
-void __fastcall TSelectMaskDialog::FormCloseQuery(TObject * /*Sender*/,
|
|
|
- bool & /*CanClose*/)
|
|
|
+void __fastcall TSelectMaskDialog::FormCloseQuery(TObject *, bool & DebugUsedArg(CanClose))
|
|
|
{
|
|
|
if (ModalResult == DefaultResult(this))
|
|
|
{
|
|
|
@@ -117,8 +95,10 @@ void __fastcall TSelectMaskDialog::FormCloseQuery(TObject * /*Sender*/,
|
|
|
}
|
|
|
}
|
|
|
//---------------------------------------------------------------------------
|
|
|
-bool __fastcall TSelectMaskDialog::Execute()
|
|
|
+bool __fastcall TSelectMaskDialog::Execute(TFileFilter & FileFilter)
|
|
|
{
|
|
|
+ ApplyToDirectoriesCheck->Checked = FileFilter.Directories;
|
|
|
+ MaskEdit->Text = FileFilter.Masks;
|
|
|
MaskEdit->Items = WinConfiguration->History[L"Mask"];
|
|
|
ActiveControl = MaskEdit;
|
|
|
bool Result = (ShowModal() == DefaultResult(this));
|
|
|
@@ -126,24 +106,11 @@ bool __fastcall TSelectMaskDialog::Execute()
|
|
|
{
|
|
|
MaskEdit->SaveToHistory();
|
|
|
WinConfiguration->History[L"Mask"] = MaskEdit->Items;
|
|
|
+ FileFilter.Directories = ApplyToDirectoriesCheck->Checked;
|
|
|
+ FileFilter.Masks = MaskEdit->Text;
|
|
|
}
|
|
|
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*/)
|
|
|
{
|