diff options
author | elfmz <fenix1905@tut.by> | 2022-01-18 13:36:50 +0300 |
---|---|---|
committer | elfmz <fenix1905@tut.by> | 2022-01-18 13:36:50 +0300 |
commit | 18ea56688fc8c997828410662e41746933953f00 (patch) | |
tree | 9dafa0527c4173383fa47f6727764a86e5b471f4 /far2l/src/plug | |
parent | 0e9b63001c330bf3bd21f993cf3f773986f1c6b7 (diff) |
refactor recent changes
Diffstat (limited to 'far2l/src/plug')
-rw-r--r-- | far2l/src/plug/plugapi.cpp | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/far2l/src/plug/plugapi.cpp b/far2l/src/plug/plugapi.cpp index 6a616926..1a464e74 100644 --- a/far2l/src/plug/plugapi.cpp +++ b/far2l/src/plug/plugapi.cpp @@ -2001,6 +2001,21 @@ void WINAPI FarFreePluginDirList(PluginPanelItem *PanelItem, int ItemsNumber) free(PanelItem); } +static void ApplyViewerDeleteOnClose(FileViewer *Viewer, const wchar_t *FileName, DWORD Flags) +{ + /* $ 14.06.2002 IS + Обработка VF_DELETEONLYFILEONCLOSE - этот флаг имеет более низкий + приоритет по сравнению с VF_DELETEONCLOSE + */ + if ((Flags & (VF_DELETEONCLOSE | VF_DELETEONLYFILEONCLOSE)) != 0 && FileName && *FileName) + { + FARString strFullFileName; + ConvertNameToFull(FileName, strFullFileName); + Viewer->SetFileHolder( + std::make_shared<TempFileHolder>(strFullFileName, (Flags & VF_DELETEONCLOSE) != 0)); + } +} + static int FarViewerSynched(const wchar_t *FileName,const wchar_t *Title, int X1,int Y1,int X2, int Y2,DWORD Flags, UINT CodePage) { @@ -2024,13 +2039,7 @@ static int FarViewerSynched(const wchar_t *FileName,const wchar_t *Title, if (!Viewer) return FALSE; - /* $ 14.06.2002 IS - Обработка VF_DELETEONLYFILEONCLOSE - этот флаг имеет более низкий - приоритет по сравнению с VF_DELETEONCLOSE - */ - if (Flags & (VF_DELETEONCLOSE|VF_DELETEONLYFILEONCLOSE)) - Viewer->SetTempViewName(FileName,(Flags&VF_DELETEONCLOSE)?TRUE:FALSE); - + ApplyViewerDeleteOnClose(Viewer, FileName, Flags); Viewer->SetEnableF6((Flags & VF_ENABLE_F6) ); /* $ 21.05.2002 SKV @@ -2058,12 +2067,7 @@ static int FarViewerSynched(const wchar_t *FileName,const wchar_t *Title, FrameManager->ExecuteModal(); FrameManager->ExitModalEV(); - /* $ 14.06.2002 IS - Обработка VF_DELETEONLYFILEONCLOSE - этот флаг имеет более низкий - приоритет по сравнению с VF_DELETEONCLOSE - */ - if (Flags & (VF_DELETEONCLOSE|VF_DELETEONLYFILEONCLOSE)) - Viewer.SetTempViewName(FileName,(Flags&VF_DELETEONCLOSE)?TRUE:FALSE); + ApplyViewerDeleteOnClose(&Viewer, FileName, Flags); Viewer.SetEnableF6((Flags & VF_ENABLE_F6) ); |