~ubuntu-branches/ubuntu/precise/p7zip/precise-updates

« back to all changes in this revision

Viewing changes to CPP/7zip/UI/FileManager/PropertyName.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Mohammed Adnène Trojette
  • Date: 2009-02-14 20:12:27 UTC
  • mfrom: (1.1.11 upstream) (2.1.3 sid)
  • Revision ID: james.westby@ubuntu.com-20090214201227-go63qxm9ozfdma60
Tags: 4.65~dfsg.1-1
* New upstream release.
* Remove wx2.8 Build-Depends added by mistakes (7zG is not yet
  intended to be built).
* Use dh_clean without -k.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// PropertyName.cpp
 
2
 
 
3
#include "StdAfx.h"
 
4
 
 
5
#include "Common/IntToString.h"
 
6
#include "Windows/ResourceString.h"
 
7
 
 
8
#include "../../PropID.h"
 
9
 
 
10
#include "resource.h"
 
11
#include "PropertyNameRes.h"
 
12
#include "LangUtils.h"
 
13
#include "PropertyName.h"
 
14
 
 
15
struct CPropertyIDNamePair
 
16
{
 
17
  PROPID PropID;
 
18
  UINT ResourceID;
 
19
  UInt32 LangID;
 
20
};
 
21
 
 
22
static CPropertyIDNamePair kPropertyIDNamePairs[] =
 
23
{
 
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},
 
61
 
 
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},
 
70
 
 
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 },
 
75
 
 
76
  { kpidLocalName, IDS_PROPERTY_LOCAL_NAME, 0x03031200 },
 
77
  { kpidProvider, IDS_PROPERTY_PROVIDER, 0x03031201 }
 
78
};
 
79
 
 
80
int FindProperty(PROPID propID)
 
81
{
 
82
  for (int i = 0; i < sizeof(kPropertyIDNamePairs) / sizeof(kPropertyIDNamePairs[0]); i++)
 
83
    if (kPropertyIDNamePairs[i].PropID == propID)
 
84
      return i;
 
85
  return -1;
 
86
}
 
87
 
 
88
UString GetNameOfProperty(PROPID propID, const wchar_t *name)
 
89
{
 
90
  int index = FindProperty(propID);
 
91
  if (index < 0)
 
92
  {
 
93
    if (name)
 
94
      return name;
 
95
    wchar_t s[32];
 
96
    ConvertUInt64ToString(propID, s);
 
97
    return s;
 
98
  }
 
99
  const CPropertyIDNamePair &pair = kPropertyIDNamePairs[index];
 
100
  return LangString(pair.ResourceID, pair.LangID);
 
101
}