5
#include "Common/IntToString.h"
6
#include "Windows/ResourceString.h"
8
#include "../../PropID.h"
11
#include "PropertyNameRes.h"
12
#include "LangUtils.h"
13
#include "PropertyName.h"
15
struct CPropertyIDNamePair
22
static CPropertyIDNamePair kPropertyIDNamePairs[] =
24
{ kpidPath, IDS_PROPERTY_PATH, 0x02000203 },
25
{ kpidName, IDS_PROPERTY_NAME, 0x02000204 },
26
{ kpidExtension, IDS_PROPERTY_EXTENSION, 0x02000205 },
27
{ kpidIsDir, IDS_PROPERTY_IS_FOLDER, 0x02000206},
28
{ kpidSize, IDS_PROPERTY_SIZE, 0x02000207},
29
{ kpidPackSize, IDS_PROPERTY_PACKED_SIZE, 0x02000208 },
30
{ kpidAttrib, IDS_PROPERTY_ATTRIBUTES, 0x02000209 },
31
{ kpidCTime, IDS_PROPERTY_CTIME, 0x0200020A },
32
{ kpidATime, IDS_PROPERTY_ATIME, 0x0200020B },
33
{ kpidMTime, IDS_PROPERTY_MTIME, 0x0200020C },
34
{ kpidSolid, IDS_PROPERTY_SOLID, 0x0200020D },
35
{ kpidCommented, IDS_PROPERTY_C0MMENTED, 0x0200020E },
36
{ kpidEncrypted, IDS_PROPERTY_ENCRYPTED, 0x0200020F },
37
{ kpidSplitBefore, IDS_PROPERTY_SPLIT_BEFORE, 0x02000210 },
38
{ kpidSplitAfter, IDS_PROPERTY_SPLIT_AFTER, 0x02000211 },
39
{ kpidDictionarySize, IDS_PROPERTY_DICTIONARY_SIZE, 0x02000212 },
40
{ kpidCRC, IDS_PROPERTY_CRC, 0x02000213 },
41
{ kpidType, IDS_PROPERTY_FILE_TYPE, 0x02000214},
42
{ kpidIsAnti, IDS_PROPERTY_ANTI, 0x02000215 },
43
{ kpidMethod, IDS_PROPERTY_METHOD, 0x02000216 },
44
{ kpidHostOS, IDS_PROPERTY_HOST_OS, 0x02000217 },
45
{ kpidFileSystem, IDS_PROPERTY_FILE_SYSTEM, 0x02000218},
46
{ kpidUser, IDS_PROPERTY_USER, 0x02000219},
47
{ kpidGroup, IDS_PROPERTY_GROUP, 0x0200021A},
48
{ kpidBlock, IDS_PROPERTY_BLOCK, 0x0200021B },
49
{ kpidComment, IDS_PROPERTY_COMMENT, 0x0200021C },
50
{ kpidPosition, IDS_PROPERTY_POSITION, 0x0200021D },
51
{ kpidPrefix, IDS_PROPERTY_PREFIX, 0x0200021E },
52
{ kpidNumSubDirs, IDS_PROPERTY_FOLDERS, 0x0200021F },
53
{ kpidNumSubFiles, IDS_PROPERTY_FILES, 0x02000220 },
54
{ kpidUnpackVer, IDS_PROPERTY_VERSION, 0x02000221},
55
{ kpidVolume, IDS_PROPERTY_VOLUME, 0x02000222},
56
{ kpidIsVolume, IDS_PROPERTY_IS_VOLUME, 0x02000223},
57
{ kpidOffset, IDS_PROPERTY_OFFSET, 0x02000224},
58
{ kpidLinks, IDS_PROPERTY_LINKS, 0x02000225},
59
{ kpidNumBlocks, IDS_PROPERTY_NUM_BLOCKS, 0x02000226},
60
{ kpidNumVolumes, IDS_PROPERTY_NUM_VOLUMES, 0x02000227},
62
{ kpidBit64, IDS_PROPERTY_BIT64, 0x02000229},
63
{ kpidBigEndian, IDS_PROPERTY_BIG_ENDIAN, 0x0200022A},
64
{ kpidCpu, IDS_PROPERTY_CPU, 0x0200022B},
65
{ kpidPhySize, IDS_PROPERTY_PHY_SIZE, 0x0200022C},
66
{ kpidHeadersSize, IDS_PROPERTY_HEADERS_SIZE, 0x0200022D},
67
{ kpidChecksum, IDS_PROPERTY_CHECKSUM, 0x0200022E},
68
{ kpidCharacts, IDS_PROPERTY_CHARACTS, 0x0200022F},
69
{ kpidVa, IDS_PROPERTY_VA, 0x02000230},
71
{ kpidTotalSize, IDS_PROPERTY_TOTAL_SIZE, 0x03031100 },
72
{ kpidFreeSpace, IDS_PROPERTY_FREE_SPACE, 0x03031101 },
73
{ kpidClusterSize, IDS_PROPERTY_CLUSTER_SIZE, 0x03031102},
74
{ kpidVolumeName, IDS_PROPERTY_VOLUME_NAME, 0x03031103 },
76
{ kpidLocalName, IDS_PROPERTY_LOCAL_NAME, 0x03031200 },
77
{ kpidProvider, IDS_PROPERTY_PROVIDER, 0x03031201 }
80
int FindProperty(PROPID propID)
82
for (int i = 0; i < sizeof(kPropertyIDNamePairs) / sizeof(kPropertyIDNamePairs[0]); i++)
83
if (kPropertyIDNamePairs[i].PropID == propID)
88
UString GetNameOfProperty(PROPID propID, const wchar_t *name)
90
int index = FindProperty(propID);
96
ConvertUInt64ToString(propID, s);
99
const CPropertyIDNamePair &pair = kPropertyIDNamePairs[index];
100
return LangString(pair.ResourceID, pair.LangID);