Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/elfmz/far2l.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelfmz <fenix1905@tut.by>2022-01-18 13:36:50 +0300
committerelfmz <fenix1905@tut.by>2022-01-18 13:36:50 +0300
commit18ea56688fc8c997828410662e41746933953f00 (patch)
tree9dafa0527c4173383fa47f6727764a86e5b471f4 /far2l/src/plug
parent0e9b63001c330bf3bd21f993cf3f773986f1c6b7 (diff)
refactor recent changes
Diffstat (limited to 'far2l/src/plug')
-rw-r--r--far2l/src/plug/plugapi.cpp30
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) );