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

github.com/kornelski/7z.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Pavlov <ipavlov@users.sourceforge.net>2009-08-17 04:00:00 +0400
committerKornel LesiƄski <kornel@geekhood.net>2016-05-28 02:16:00 +0300
commitc99f3ebdd639c2adb03d8b44001b10af18516504 (patch)
tree92aaf34e5edbd7287c3f55037190da75ab0a8000 /CPP/7zip/UI/Far
parent829409452d85cd6dd9dfc9151f109d6e13a2bb1c (diff)
9.06 beta
Diffstat (limited to 'CPP/7zip/UI/Far')
-rwxr-xr-xCPP/7zip/UI/Far/FarUtils.cpp30
-rwxr-xr-xCPP/7zip/UI/Far/FarUtils.h2
-rwxr-xr-xCPP/7zip/UI/Far/Main.cpp101
-rwxr-xr-xCPP/7zip/UI/Far/Plugin.cpp59
-rwxr-xr-xCPP/7zip/UI/Far/Plugin.h49
-rwxr-xr-xCPP/7zip/UI/Far/PluginDelete.cpp26
-rwxr-xr-xCPP/7zip/UI/Far/PluginRead.cpp4
-rwxr-xr-xCPP/7zip/UI/Far/PluginWrite.cpp21
-rwxr-xr-xCPP/7zip/UI/Far/makefile1
9 files changed, 105 insertions, 188 deletions
diff --git a/CPP/7zip/UI/Far/FarUtils.cpp b/CPP/7zip/UI/Far/FarUtils.cpp
index e06bfe3e..01de0233 100755
--- a/CPP/7zip/UI/Far/FarUtils.cpp
+++ b/CPP/7zip/UI/Far/FarUtils.cpp
@@ -2,13 +2,13 @@
#include "StdAfx.h"
-#include "FarUtils.h"
-#include "Common/DynamicBuffer.h"
#include "Common/StringConvert.h"
-#include "Windows/Defs.h"
+
#include "Windows/Console.h"
#include "Windows/Error.h"
+#include "FarUtils.h"
+
using namespace NWindows;
namespace NFar {
@@ -16,12 +16,12 @@ namespace NFar {
CStartupInfo g_StartupInfo;
void CStartupInfo::Init(const PluginStartupInfo &pluginStartupInfo,
- const CSysString &pliginNameForRegestry)
+ const CSysString &pluginNameForRegestry)
{
m_Data = pluginStartupInfo;
- m_RegistryPath = pluginStartupInfo.RootKey;
- m_RegistryPath += '\\';
- m_RegistryPath += pliginNameForRegestry;
+ m_RegistryPath = GetSystemString(pluginStartupInfo.RootKey);
+ m_RegistryPath += TEXT('\\');
+ m_RegistryPath += pluginNameForRegestry;
}
const char *CStartupInfo::GetMsgString(int messageId)
@@ -164,7 +164,7 @@ void CStartupInfo::RestoreScreen(HANDLE handle)
m_Data.RestoreScreen(handle);
}
-const char kRegestryKeyDelimiter = '\'';
+const TCHAR kRegestryKeyDelimiter = TEXT('\'');
CSysString CStartupInfo::GetFullKeyName(const CSysString &keyName) const
{
@@ -355,8 +355,8 @@ int CStartupInfo::Menu(
item.Checked = 0;
item.Separator = 0;
item.Selected = (i == selectedItem);
- AString reducedString = items[i].Left(sizeof(item.Text) / sizeof(item.Text[0]) - 1);
- MyStringCopy(item.Text, (const char *)reducedString);
+ CSysString reducedString = items[i].Left(sizeof(item.Text) / sizeof(item.Text[0]) - 1);
+ MyStringCopy(item.Text, (const char *)GetOemString(reducedString));
farMenuItems.Add(item);
}
return Menu(flags, title, helpTopic, &farMenuItems.Front(), farMenuItems.Size());
@@ -396,7 +396,7 @@ static AString DWORDToString(DWORD number)
void PrintErrorMessage(const char *message, int code)
{
- CSysString tmp = message;
+ AString tmp = message;
tmp += " #";
tmp += DWORDToString(code);
g_StartupInfo.ShowMessage(tmp);
@@ -404,7 +404,7 @@ void PrintErrorMessage(const char *message, int code)
void PrintErrorMessage(const char *message, const char *text)
{
- CSysString tmp = message;
+ AString tmp = message;
tmp += ":\n";
tmp += text;
g_StartupInfo.ShowMessageLines(tmp);
@@ -442,10 +442,10 @@ bool WasEscPressed()
void ShowErrorMessage(DWORD errorCode)
{
- AString message;
+ CSysString message;
NError::MyFormatMessage(errorCode, message);
- message.Replace("\x0D", "");
- message.Replace("\x0A", " ");
+ message.Replace(TEXT("\x0D"), TEXT(""));
+ message.Replace(TEXT("\x0A"), TEXT(" "));
g_StartupInfo.ShowMessage(SystemStringToOemString(message));
}
diff --git a/CPP/7zip/UI/Far/FarUtils.h b/CPP/7zip/UI/Far/FarUtils.h
index e0126cdc..a4887c9a 100755
--- a/CPP/7zip/UI/Far/FarUtils.h
+++ b/CPP/7zip/UI/Far/FarUtils.h
@@ -56,7 +56,7 @@ class CStartupInfo
public:
void Init(const PluginStartupInfo &pluginStartupInfo,
- const CSysString &pliginNameForRegestry);
+ const CSysString &pluginNameForRegestry);
const char *GetMsgString(int messageId);
int ShowMessage(unsigned int flags, const char *helpTopic,
const char **items, int numItems, int numButtons);
diff --git a/CPP/7zip/UI/Far/Main.cpp b/CPP/7zip/UI/Far/Main.cpp
index 46a16a9f..65aabea6 100755
--- a/CPP/7zip/UI/Far/Main.cpp
+++ b/CPP/7zip/UI/Far/Main.cpp
@@ -2,89 +2,40 @@
#include "StdAfx.h"
-// #include <locale.h>
-#include <initguid.h>
+#include "Common/MyInitGuid.h"
-#include "Plugin.h"
-
-#include "Common/Wildcard.h"
-#include "Common/DynamicBuffer.h"
#include "Common/StringConvert.h"
-#include "Common/Defs.h"
-#include "Windows/FileFind.h"
-#include "Windows/FileIO.h"
#include "Windows/FileDir.h"
-#include "Windows/Defs.h"
+#include "Windows/NtCheck.h"
-#include "../../IPassword.h"
#include "../../Common/FileStreams.h"
-#include "../Common/DefaultName.h"
-#include "../Common/OpenArchive.h"
#include "../Agent/Agent.h"
-#include "ProgressBox.h"
-#include "FarUtils.h"
#include "Messages.h"
+#include "Plugin.h"
+#include "ProgressBox.h"
using namespace NWindows;
using namespace NFar;
static const char *kCommandPrefix = "7-zip";
-
static const char *kRegisrtryMainKeyName = "";
-
static const char *kRegisrtryValueNameEnabled = "UsedByDefault3";
-static bool kPluginEnabledDefault = true;
-
static const char *kHelpTopicConfig = "Config";
-
-extern "C"
-{
- void WINAPI SetStartupInfo(struct PluginStartupInfo *info);
- HANDLE WINAPI OpenFilePlugin(char *name, const unsigned char *Data,
- unsigned int DataSize);
- HANDLE WINAPI OpenPlugin(int openFrom, int item);
- void WINAPI ClosePlugin(HANDLE plugin);
- int WINAPI GetFindData(HANDLE plugin, struct PluginPanelItem **panelItems,
- int *itemsNumber, int OpMode);
- void WINAPI FreeFindData(HANDLE plugin, struct PluginPanelItem *panelItems,
- int itemsNumber);
- int WINAPI GetFiles(HANDLE plugin, struct PluginPanelItem *panelItems,
- int itemsNumber, int move, char *destPath, int opMode);
- int WINAPI SetDirectory(HANDLE plugin, char *dir, int opMode);
- void WINAPI GetPluginInfo(struct PluginInfo *info);
- int WINAPI Configure(int itemNumber);
- void WINAPI GetOpenPluginInfo(HANDLE plugin, struct OpenPluginInfo *info);
- int WINAPI PutFiles(HANDLE plugin, struct PluginPanelItem *panelItems,
- int itemsNumber, int move, int opMode);
- int WINAPI DeleteFiles(HANDLE plugin, PluginPanelItem *panelItems,
- int itemsNumber, int opMode);
- int WINAPI ProcessKey(HANDLE plugin, int key, unsigned int controlState);
-};
+static bool kPluginEnabledDefault = true;
HINSTANCE g_hInstance;
-#ifndef _UNICODE
-bool g_IsNT = false;
-static bool IsItWindowsNT()
-{
- OSVERSIONINFO versionInfo;
- versionInfo.dwOSVersionInfoSize = sizeof(versionInfo);
- if (!::GetVersionEx(&versionInfo))
- return false;
- return (versionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT);
-}
-#endif
+
+#define NT_CHECK_FAIL_ACTION return FALSE;
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID)
{
if (dwReason == DLL_PROCESS_ATTACH)
{
g_hInstance = hInstance;
- #ifndef _UNICODE
- g_IsNT = IsItWindowsNT();
- #endif
+ NT_CHECK
}
return TRUE;
}
@@ -96,7 +47,7 @@ static struct COptions
static const char *kPliginNameForRegestry = "7-ZIP";
-void WINAPI SetStartupInfo(struct PluginStartupInfo *info)
+EXTERN_C void WINAPI SetStartupInfo(struct PluginStartupInfo *info)
{
MY_TRY_BEGIN;
g_StartupInfo.Init(*info, kPliginNameForRegestry);
@@ -289,8 +240,7 @@ STDMETHODIMP COpenArchiveCallback::SetCompleted(const UInt64 *completed)
return S_OK;
}
-STDMETHODIMP COpenArchiveCallback::GetStream(const wchar_t *name,
- IInStream **inStream)
+STDMETHODIMP COpenArchiveCallback::GetStream(const wchar_t *name, IInStream **inStream)
{
if (WasEscPressed())
return E_ABORT;
@@ -443,8 +393,7 @@ static HANDLE MyOpenFilePlugin(const char *name)
return (HANDLE)(plugin);
}
-HANDLE WINAPI OpenFilePlugin(char *name,
- const unsigned char * /* data */, unsigned int /* dataSize */)
+EXTERN_C HANDLE WINAPI OpenFilePlugin(char *name, const unsigned char * /* data */, unsigned int /* dataSize */)
{
MY_TRY_BEGIN;
if (name == NULL || (!g_Options.Enabled))
@@ -456,7 +405,7 @@ HANDLE WINAPI OpenFilePlugin(char *name,
MY_TRY_END2("OpenFilePlugin", INVALID_HANDLE_VALUE);
}
-HANDLE WINAPI OpenPlugin(int openFrom, int item)
+EXTERN_C HANDLE WINAPI OpenPlugin(int openFrom, int item)
{
MY_TRY_BEGIN;
if(openFrom == OPEN_COMMANDLINE)
@@ -504,30 +453,28 @@ HANDLE WINAPI OpenPlugin(int openFrom, int item)
MY_TRY_END2("OpenPlugin", INVALID_HANDLE_VALUE);
}
-void WINAPI ClosePlugin(HANDLE plugin)
+EXTERN_C void WINAPI ClosePlugin(HANDLE plugin)
{
MY_TRY_BEGIN;
delete (CPlugin *)plugin;
MY_TRY_END1("ClosePlugin");
}
-int WINAPI GetFindData(HANDLE plugin, struct PluginPanelItem **panelItems,
- int *itemsNumber,int opMode)
+EXTERN_C int WINAPI GetFindData(HANDLE plugin, struct PluginPanelItem **panelItems, int *itemsNumber, int opMode)
{
MY_TRY_BEGIN;
return(((CPlugin *)plugin)->GetFindData(panelItems, itemsNumber, opMode));
MY_TRY_END2("GetFindData", FALSE);
}
-void WINAPI FreeFindData(HANDLE plugin, struct PluginPanelItem *panelItems,
- int itemsNumber)
+EXTERN_C void WINAPI FreeFindData(HANDLE plugin, struct PluginPanelItem *panelItems, int itemsNumber)
{
MY_TRY_BEGIN;
((CPlugin *)plugin)->FreeFindData(panelItems, itemsNumber);
MY_TRY_END1("FreeFindData");
}
-int WINAPI GetFiles(HANDLE plugin, struct PluginPanelItem *panelItems,
+EXTERN_C int WINAPI GetFiles(HANDLE plugin, struct PluginPanelItem *panelItems,
int itemsNumber, int move, char *destPath, int opMode)
{
MY_TRY_BEGIN;
@@ -535,14 +482,14 @@ int WINAPI GetFiles(HANDLE plugin, struct PluginPanelItem *panelItems,
MY_TRY_END2("GetFiles", NFileOperationReturnCode::kError);
}
-int WINAPI SetDirectory(HANDLE plugin, char *dir, int opMode)
+EXTERN_C int WINAPI SetDirectory(HANDLE plugin, char *dir, int opMode)
{
MY_TRY_BEGIN;
return(((CPlugin *)plugin)->SetDirectory(dir, opMode));
MY_TRY_END2("SetDirectory", FALSE);
}
-void WINAPI GetPluginInfo(struct PluginInfo *info)
+EXTERN_C void WINAPI GetPluginInfo(struct PluginInfo *info)
{
MY_TRY_BEGIN;
@@ -564,7 +511,7 @@ void WINAPI GetPluginInfo(struct PluginInfo *info)
MY_TRY_END1("GetPluginInfo");
}
-int WINAPI Configure(int /* itemNumber */)
+EXTERN_C int WINAPI Configure(int /* itemNumber */)
{
MY_TRY_BEGIN;
@@ -601,30 +548,28 @@ int WINAPI Configure(int /* itemNumber */)
MY_TRY_END2("Configure", FALSE);
}
-void WINAPI GetOpenPluginInfo(HANDLE plugin,struct OpenPluginInfo *info)
+EXTERN_C void WINAPI GetOpenPluginInfo(HANDLE plugin,struct OpenPluginInfo *info)
{
MY_TRY_BEGIN;
((CPlugin *)plugin)->GetOpenPluginInfo(info);
MY_TRY_END1("GetOpenPluginInfo");
}
-int WINAPI PutFiles(HANDLE plugin, struct PluginPanelItem *panelItems,
- int itemsNumber, int move, int opMode)
+EXTERN_C int WINAPI PutFiles(HANDLE plugin, struct PluginPanelItem *panelItems, int itemsNumber, int move, int opMode)
{
MY_TRY_BEGIN;
return(((CPlugin *)plugin)->PutFiles(panelItems, itemsNumber, move, opMode));
MY_TRY_END2("PutFiles", NFileOperationReturnCode::kError);
}
-int WINAPI DeleteFiles(HANDLE plugin, PluginPanelItem *panelItems,
- int itemsNumber, int opMode)
+EXTERN_C int WINAPI DeleteFiles(HANDLE plugin, PluginPanelItem *panelItems, int itemsNumber, int opMode)
{
MY_TRY_BEGIN;
return(((CPlugin *)plugin)->DeleteFiles(panelItems, itemsNumber, opMode));
MY_TRY_END2("DeleteFiles", FALSE);
}
-int WINAPI ProcessKey(HANDLE plugin, int key, unsigned int controlState)
+EXTERN_C int WINAPI ProcessKey(HANDLE plugin, int key, unsigned int controlState)
{
MY_TRY_BEGIN;
return (((CPlugin *)plugin)->ProcessKey(key, controlState));
diff --git a/CPP/7zip/UI/Far/Plugin.cpp b/CPP/7zip/UI/Far/Plugin.cpp
index c1e45a62..5d9b5cf0 100755
--- a/CPP/7zip/UI/Far/Plugin.cpp
+++ b/CPP/7zip/UI/Far/Plugin.cpp
@@ -2,40 +2,33 @@
#include "StdAfx.h"
-#include "Plugin.h"
-
#include "Common/IntToString.h"
#include "Common/StringConvert.h"
#include "Common/Wildcard.h"
#include "Windows/FileDir.h"
-#include "Windows/FileName.h"
#include "Windows/PropVariantConversions.h"
#include "../Common/PropIDUtils.h"
#include "FarUtils.h"
#include "Messages.h"
+#include "Plugin.h"
using namespace NWindows;
using namespace NFar;
-CPlugin::CPlugin(const UString &fileName,
- IInFolderArchive *archiveHandler,
- UString archiveTypeName
- ):
- m_ArchiveHandler(archiveHandler),
- m_FileName(fileName),
- _archiveTypeName(archiveTypeName)
+CPlugin::CPlugin(const UString &fileName, IInFolderArchive *archiveHandler, UString archiveTypeName):
+ m_ArchiveHandler(archiveHandler),
+ m_FileName(fileName),
+ _archiveTypeName(archiveTypeName)
{
if (!m_FileInfo.Find(m_FileName))
throw "error";
archiveHandler->BindToRootFolder(&_folder);
}
-CPlugin::~CPlugin()
-{
-}
+CPlugin::~CPlugin() {}
static void MyGetFileTime(IFolderFolder *anArchiveFolder, UInt32 itemIndex,
PROPID propID, FILETIME &fileTime)
@@ -59,6 +52,17 @@ static void MyGetFileTime(IFolderFolder *anArchiveFolder, UInt32 itemIndex,
#define kDotsReplaceString "[[..]]"
#define kDotsReplaceStringU L"[[..]]"
+static void CopyStrLimited(char *dest, const AString &src, int len)
+{
+ len--;
+ if (src.Length() < len)
+ len = src.Length();
+ memcpy(dest, src, sizeof(dest[0]) * len);
+ dest[len] = 0;
+}
+
+#define COPY_STR_LIMITED(dest, src) CopyStrLimited(dest, src, sizeof(dest) / sizeof(dest[0]))
+
void CPlugin::ReadPluginPanelItem(PluginPanelItem &panelItem, UInt32 itemIndex)
{
NCOM::CPropVariant prop;
@@ -69,14 +73,10 @@ void CPlugin::ReadPluginPanelItem(PluginPanelItem &panelItem, UInt32 itemIndex)
throw 272340;
CSysString oemString = UnicodeStringToMultiByte(prop.bstrVal, CP_OEMCP);
- const int kFileNameSizeMax = (int)(sizeof(panelItem.FindData.cFileName) / sizeof(panelItem.FindData.cFileName[0]) - 1);
- if (oemString.Length() > kFileNameSizeMax)
- oemString = oemString.Left(kFileNameSizeMax);
-
if (oemString == "..")
oemString = kDotsReplaceString;
- MyStringCopy(panelItem.FindData.cFileName, (const char *)oemString);
+ COPY_STR_LIMITED(panelItem.FindData.cFileName, oemString);
panelItem.FindData.cAlternateFileName[0] = 0;
if (_folder->GetProperty(itemIndex, kpidAttrib, &prop) != S_OK)
@@ -138,8 +138,7 @@ void CPlugin::ReadPluginPanelItem(PluginPanelItem &panelItem, UInt32 itemIndex)
panelItem.Reserved[2] = 0;
}
-int CPlugin::GetFindData(PluginPanelItem **panelItems,
- int *itemsNumber, int opMode)
+int CPlugin::GetFindData(PluginPanelItem **panelItems, int *itemsNumber, int opMode)
{
// CScreenRestorer screenRestorer;
if ((opMode & OPM_SILENT) == 0 && (opMode & OPM_FIND ) == 0)
@@ -177,8 +176,7 @@ int CPlugin::GetFindData(PluginPanelItem **panelItems,
return(TRUE);
}
-void CPlugin::FreeFindData(struct PluginPanelItem *panelItems,
- int itemsNumber)
+void CPlugin::FreeFindData(struct PluginPanelItem *panelItems, int itemsNumber)
{
for (int i = 0; i < itemsNumber; i++)
if (panelItems[i].Description != NULL)
@@ -186,7 +184,6 @@ void CPlugin::FreeFindData(struct PluginPanelItem *panelItems,
delete []panelItems;
}
-
void CPlugin::EnterToDirectory(const UString &dirName)
{
CMyComPtr<IFolderFolder> newFolder;
@@ -510,12 +507,10 @@ void CPlugin::GetOpenPluginInfo(struct OpenPluginInfo *info)
info->Flags = OPIF_USEFILTER | OPIF_USESORTGROUPS| OPIF_USEHIGHLIGHTING|
OPIF_ADDDOTS | OPIF_COMPAREFATTIME;
- UINT codePage = ::AreFileApisANSI() ? CP_ACP : CP_OEMCP;
-
- MyStringCopy(m_FileNameBuffer, (const char *)UnicodeStringToMultiByte(m_FileName, codePage));
+ COPY_STR_LIMITED(m_FileNameBuffer, UnicodeStringToMultiByte(m_FileName, CP_OEMCP));
info->HostFile = m_FileNameBuffer; // test it it is not static
- MyStringCopy(m_CurrentDirBuffer, (const char *)UnicodeStringToMultiByte(m_CurrentDir, CP_OEMCP));
+ COPY_STR_LIMITED(m_CurrentDirBuffer, UnicodeStringToMultiByte(m_CurrentDir, CP_OEMCP));
info->CurDir = m_CurrentDirBuffer;
info->Format = kPluginFormatName;
@@ -540,7 +535,7 @@ void CPlugin::GetOpenPluginInfo(struct OpenPluginInfo *info)
m_PannelTitle += m_CurrentDir;
}
- MyStringCopy(m_PannelTitleBuffer, (const char *)UnicodeStringToMultiByte(m_PannelTitle, CP_OEMCP));
+ COPY_STR_LIMITED(m_PannelTitleBuffer, UnicodeStringToMultiByte(m_PannelTitle, CP_OEMCP));
info->PanelTitle = m_PannelTitleBuffer;
memset(m_InfoLines, 0, sizeof(m_InfoLines));
@@ -572,8 +567,8 @@ void CPlugin::GetOpenPluginInfo(struct OpenPluginInfo *info)
continue;
InfoPanelLine &item = m_InfoLines[numItems++];
- MyStringCopy(item.Text, (const char *)GetNameOfProp2(propID, name));
- MyStringCopy(item.Data, (const char *)PropToString2(prop, propID));
+ COPY_STR_LIMITED(item.Text, GetNameOfProp2(propID, name));
+ COPY_STR_LIMITED(item.Data, PropToString2(prop, propID));
}
}
}
@@ -614,8 +609,8 @@ void CPlugin::GetOpenPluginInfo(struct OpenPluginInfo *info)
if (getProps->GetArchiveProperty(propID, &prop) != S_OK || prop.vt == VT_EMPTY)
continue;
InfoPanelLine &item = m_InfoLines[numItems++];
- MyStringCopy(item.Text, (const char *)GetNameOfProp2(propID, name));
- MyStringCopy(item.Data, (const char *)PropToString2(prop, propID));
+ COPY_STR_LIMITED(item.Text, GetNameOfProp2(propID, name));
+ COPY_STR_LIMITED(item.Data, PropToString2(prop, propID));
}
}
diff --git a/CPP/7zip/UI/Far/Plugin.h b/CPP/7zip/UI/Far/Plugin.h
index 06003ba5..ab534e21 100755
--- a/CPP/7zip/UI/Far/Plugin.h
+++ b/CPP/7zip/UI/Far/Plugin.h
@@ -33,10 +33,8 @@ class CPlugin
PanelMode PanelMode;
void AddColumn(PROPID aPropID);
-
- void EnterToDirectory(const UString &aDirName);
-
- void GetPathParts(UStringVector &aPathParts);
+ void EnterToDirectory(const UString &dirName);
+ void GetPathParts(UStringVector &pathParts);
void GetCurrentDir();
public:
UString m_FileName;
@@ -45,55 +43,46 @@ public:
CMyComPtr<IInFolderArchive> m_ArchiveHandler;
CMyComPtr<IFolderFolder> _folder;
- // CArchiverInfo m_ArchiverInfo;
UString _archiveTypeName;
bool PasswordIsDefined;
UString Password;
-
- CPlugin(const UString &fileName,
- // const UString &aDefaultName,
- IInFolderArchive *archiveHandler,
- UString archiveTypeName
- );
+ CPlugin(const UString &fileName, IInFolderArchive *archiveHandler, UString archiveTypeName);
~CPlugin();
- void ReadValueSafe(PROPID aPropID, NWindows::NCOM::CPropVariant aPropVariant);
- void ReadPluginPanelItem(PluginPanelItem &aPanelItem, UINT32 anItemIndex);
-
- int GetFindData(PluginPanelItem **pPanelItem,int *pItemsNumber,int OpMode);
- void FreeFindData(PluginPanelItem *PanelItem,int ItemsNumber);
- int SetDirectory(const char *aDir, int opMode);
- void GetOpenPluginInfo(struct OpenPluginInfo *anInfo);
-
- int DeleteFiles(PluginPanelItem *aPanelItems, int itemsNumber, int opMode);
+ void ReadPluginPanelItem(PluginPanelItem &panelItem, UInt32 itemIndex);
+ int GetFindData(PluginPanelItem **panelItems,int *itemsNumber,int opMode);
+ void FreeFindData(PluginPanelItem *panelItem,int ItemsNumber);
+ int SetDirectory(const char *aszDir, int opMode);
+ void GetOpenPluginInfo(struct OpenPluginInfo *info);
+ int DeleteFiles(PluginPanelItem *panelItems, int itemsNumber, int opMode);
HRESULT ExtractFiles(
bool decompressAllItems,
- const UINT32 *indices,
- UINT32 numIndices,
+ const UInt32 *indices,
+ UInt32 numIndices,
bool silent,
NExtract::NPathMode::EEnum pathMode,
NExtract::NOverwriteMode::EEnum overwriteMode,
const UString &destPath,
bool passwordIsDefined, const UString &password);
- NFar::NFileOperationReturnCode::EEnum GetFiles(struct PluginPanelItem *aPanelItem, int itemsNumber,
- int move, char *destPath, int opMode);
+ NFar::NFileOperationReturnCode::EEnum GetFiles(struct PluginPanelItem *panelItem, int itemsNumber,
+ int move, char *destPath, int opMode);
- NFar::NFileOperationReturnCode::EEnum GetFilesReal(struct PluginPanelItem *aPanelItems,
- int itemsNumber, int move, const char *_aDestPath, int opMode, bool aShowBox);
+ NFar::NFileOperationReturnCode::EEnum GetFilesReal(struct PluginPanelItem *panelItems,
+ int itemsNumber, int move, const char *_aDestPath, int opMode, bool showBox);
- NFar::NFileOperationReturnCode::EEnum PutFiles(struct PluginPanelItem *aPanelItems, int itemsNumber,
- int move, int opMode);
+ NFar::NFileOperationReturnCode::EEnum PutFiles(struct PluginPanelItem *panelItems, int itemsNumber,
+ int move, int opMode);
HRESULT ShowAttributesWindow();
- int ProcessKey(int aKey, unsigned int aControlState);
+ int ProcessKey(int key, unsigned int controlState);
};
-HRESULT CompressFiles(const CObjectVector<PluginPanelItem> &aPluginPanelItems);
+HRESULT CompressFiles(const CObjectVector<PluginPanelItem> &pluginPanelItems);
#endif
diff --git a/CPP/7zip/UI/Far/PluginDelete.cpp b/CPP/7zip/UI/Far/PluginDelete.cpp
index a1dfb915..7d6f0314 100755
--- a/CPP/7zip/UI/Far/PluginDelete.cpp
+++ b/CPP/7zip/UI/Far/PluginDelete.cpp
@@ -2,21 +2,14 @@
#include "StdAfx.h"
-#include <stdio.h>
-
-#include "Plugin.h"
-#include "Messages.h"
-#include "UpdateCallback100.h"
-
#include "Windows/FileDir.h"
-#include "../../Common/FileStreams.h"
-
-#include "Common/StringConvert.h"
-
-#include "../Common/ZipRegistry.h"
#include "../Common/WorkDir.h"
+#include "Messages.h"
+#include "Plugin.h"
+#include "UpdateCallback100.h"
+
using namespace NFar;
using namespace NWindows;
using namespace NFile;
@@ -24,8 +17,7 @@ using namespace NDirectory;
static LPCWSTR kTempArchivePrefix = L"7zA";
-int CPlugin::DeleteFiles(PluginPanelItem *panelItems, int numItems,
- int opMode)
+int CPlugin::DeleteFiles(PluginPanelItem *panelItems, int numItems, int opMode)
{
if (numItems == 0)
return FALSE;
@@ -48,8 +40,7 @@ int CPlugin::DeleteFiles(PluginPanelItem *panelItems, int numItems,
char msg[1024];
if (numItems == 1)
{
- sprintf(msg, g_StartupInfo.GetMsgString(NMessageID::kDeleteFile),
- panelItems[0].FindData.cFileName);
+ sprintf(msg, g_StartupInfo.GetMsgString(NMessageID::kDeleteFile), panelItems[0].FindData.cFileName);
msgItems[1] = msg;
}
else if (numItems > 1)
@@ -77,7 +68,7 @@ int CPlugin::DeleteFiles(PluginPanelItem *panelItems, int numItems,
}
NWorkDir::CInfo workDirInfo;
- ReadWorkDirInfo(workDirInfo);
+ workDirInfo.Load();
UString workDir = GetWorkDir(workDirInfo, m_FileName);
CreateComplexDirectory(workDir);
@@ -101,8 +92,7 @@ int CPlugin::DeleteFiles(PluginPanelItem *panelItems, int numItems,
GetPathParts(pathVector);
CMyComPtr<IOutFolderArchive> outArchive;
- HRESULT result = m_ArchiveHandler.QueryInterface(
- IID_IOutFolderArchive, &outArchive);
+ HRESULT result = m_ArchiveHandler.QueryInterface(IID_IOutFolderArchive, &outArchive);
if(result != S_OK)
{
g_StartupInfo.ShowMessage(NMessageID::kUpdateNotSupportedForThisArchive);
diff --git a/CPP/7zip/UI/Far/PluginRead.cpp b/CPP/7zip/UI/Far/PluginRead.cpp
index 7cf7c3c6..45f575fb 100755
--- a/CPP/7zip/UI/Far/PluginRead.cpp
+++ b/CPP/7zip/UI/Far/PluginRead.cpp
@@ -109,7 +109,7 @@ NFileOperationReturnCode::EEnum CPlugin::GetFilesReal(struct PluginPanelItem *pa
{
const int kPathIndex = 2;
- ReadExtractionInfo(extractionInfo);
+ extractionInfo.Load();
const int kPathModeRadioIndex = 4;
const int kOverwriteModeRadioIndex = kPathModeRadioIndex + 4;
@@ -230,7 +230,7 @@ NFileOperationReturnCode::EEnum CPlugin::GetFilesReal(struct PluginPanelItem *pa
else
throw 31806;
- SaveExtractionInfo(extractionInfo);
+ extractionInfo.Save();
if (dialogItems[kFilesModeIndex].Selected)
extractSelectedFiles = true;
diff --git a/CPP/7zip/UI/Far/PluginWrite.cpp b/CPP/7zip/UI/Far/PluginWrite.cpp
index 44c6fecd..4226aa5c 100755
--- a/CPP/7zip/UI/Far/PluginWrite.cpp
+++ b/CPP/7zip/UI/Far/PluginWrite.cpp
@@ -78,7 +78,7 @@ NFileOperationReturnCode::EEnum CPlugin::PutFiles(
const int kXMid = 38;
NCompression::CInfo compressionInfo;
- ReadCompressionInfo(compressionInfo);
+ compressionInfo.Load();
int methodIndex = 0;
int i;
@@ -145,16 +145,16 @@ NFileOperationReturnCode::EEnum CPlugin::PutFiles(
else if (dialogItems[kModeRadioIndex + 1].Selected)
actionSet = &kUpdateActionSet;
else if (dialogItems[kModeRadioIndex + 2].Selected)
- actionSet = &kFreshActionSet;
+ actionSet = &kFreshActionSet;
else if (dialogItems[kModeRadioIndex + 3].Selected)
- actionSet = &kSynchronizeActionSet;
+ actionSet = &kSynchronizeActionSet;
else
throw 51751;
- SaveCompressionInfo(compressionInfo);
+ compressionInfo.Save();
NWorkDir::CInfo workDirInfo;
- ReadWorkDirInfo(workDirInfo);
+ workDirInfo.Load();
UString workDir = GetWorkDir(workDirInfo, m_FileName);
CreateComplexDirectory(workDir);
@@ -425,8 +425,7 @@ HRESULT CompressFiles(const CObjectVector<PluginPanelItem> &pluginPanelItems)
}
NCompression::CInfo compressionInfo;
- // CZipRegistryManager aZipRegistryManager;
- ReadCompressionInfo(compressionInfo);
+ compressionInfo.Load();
int archiverIndex = 0;
@@ -442,7 +441,7 @@ HRESULT CompressFiles(const CObjectVector<PluginPanelItem> &pluginPanelItems)
{
if (archiverIndex == -1)
archiverIndex = i;
- if (arcInfo.Name.CompareNoCase(compressionInfo.ArchiveType) == 0)
+ if (arcInfo.Name.CompareNoCase(compressionInfo.ArcType) == 0)
archiverIndex = i;
}
}
@@ -647,11 +646,11 @@ HRESULT CompressFiles(const CObjectVector<PluginPanelItem> &pluginPanelItems)
}
const CArcInfoEx &archiverInfoFinal = codecs->Formats[archiverIndex];
- compressionInfo.ArchiveType = archiverInfoFinal.Name;
- SaveCompressionInfo(compressionInfo);
+ compressionInfo.ArcType = archiverInfoFinal.Name;
+ compressionInfo.Save();
NWorkDir::CInfo workDirInfo;
- ReadWorkDirInfo(workDirInfo);
+ workDirInfo.Load();
UString fullArchiveName;
if (!MyGetFullPathName(archiveName, fullArchiveName))
diff --git a/CPP/7zip/UI/Far/makefile b/CPP/7zip/UI/Far/makefile
index 01c77ded..29d7bcf4 100755
--- a/CPP/7zip/UI/Far/makefile
+++ b/CPP/7zip/UI/Far/makefile
@@ -1,6 +1,5 @@
PROG = 7-ZipFar.dll
DEF_FILE = Far.def
-LIBS = $(LIBS) user32.lib oleaut32.lib advapi32.lib ole32.lib
CFLAGS = $(CFLAGS) -I ../../../ \
-DWIN_LONG_PATH \
-DEXTERNAL_CODECS