1#ifndef QX_FILEDETAILS_H
2#define QX_FILEDETAILS_H
5#include "qx/windows/qx_windows_export.h"
16#include "qx/core/qx-versionnumber.h"
18using namespace Qt::Literals::StringLiterals;
33 friend QX_WINDOWS_EXPORT
size_t qHash(
const Translation& key,
size_t seed)
noexcept;
56 static inline const QString LANG_CODE_PAGE_QUERY = u
"\\VarFileInfo\\Translation"_s;
57 static inline const QString SUB_BLOCK_BASE_TEMPLATE = u
"\\StringFileInfo\\%1%2\\"_s;
58 static inline const QString ST_COMMENTS_QUERY = u
"Comments"_s;
59 static inline const QString ST_COMPANY_NAME_QUERY = u
"CompanyName"_s;
60 static inline const QString ST_FILE_DESCRIPTION_QUERY = u
"FileDescription"_s;
61 static inline const QString ST_FILE_VERSION_QUERY = u
"FileVersion"_s;
62 static inline const QString ST_INTERNAL_NAME_QUERY = u
"InternalName"_s;
63 static inline const QString ST_LEGAL_COPYRIGHT_QUERY = u
"LegalCopyright"_s;
64 static inline const QString ST_LEGAL_TRADEMARKS_QUERY = u
"LegalTrademarks"_s;
65 static inline const QString ST_ORIGINAL_FILENAME_QUERY = u
"OriginalFilename"_s;
66 static inline const QString ST_PRODUCT_NAME_QUERY = u
"ProductName"_s;
67 static inline const QString ST_PRODUCT_VERSION_QUERY = u
"ProductVersion"_s;
68 static inline const QString ST_PRIVATE_BUILD_QUERY = u
"PrivateBuild"_s;
69 static inline const QString ST_SPECIAL_BUILD_QUERY = u
"SpecialBuild"_s;
81 QList<StringTable> mStringTables;
82 QHash<Translation, int> mLangCodePageMap;
DWORD fileSubType()
Definition qx-filedetails.cpp:437
int stringTableCount()
Definition qx-filedetails.cpp:363
QDateTime fileDate()
Definition qx-filedetails.cpp:445
DWORD fileFlags()
Definition qx-filedetails.cpp:410
VersionNumber metaStructVersion()
Definition qx-filedetails.cpp:378
const StringTable stringTable(int index=0)
Definition qx-filedetails.cpp:453
static FileDetails readFileDetails(QString filePath)
Definition qx-filedetails.cpp:219
bool hasTranslation(Translation translation)
Definition qx-filedetails.cpp:373
DWORD fileOs()
Definition qx-filedetails.cpp:419
DWORD fileType()
Definition qx-filedetails.cpp:428
VersionNumber fileVersion()
Definition qx-filedetails.cpp:390
bool isNull()
Definition qx-filedetails.cpp:358
FileDetails()
Definition qx-filedetails.cpp:206
QList< Translation > availableTranslations()
Definition qx-filedetails.cpp:368
VersionNumber productVersion()
Definition qx-filedetails.cpp:401
The VersionNumber class extends QVersionNumber to include a dedicated constructor and getter for the ...
Definition qx-versionnumber.h:14
The Qx namespace is the main namespace through which all non-global functionality of the Qx library i...
Definition qx-abstracterror.cpp:13
The qx-windefs header file provides a subset of Windows data types definitions.
unsigned long DWORD
Definition qx-windefs.h:4
A structure that contains all of the translation dependent optional fields of a file's details.
Definition qx-filedetails.h:37
QString specialBuild
Definition qx-filedetails.h:51
QString legalCopyright
Definition qx-filedetails.h:45
QString internalName
Definition qx-filedetails.h:44
QString fileDescription
Definition qx-filedetails.h:42
QString productName
Definition qx-filedetails.h:48
QString legalTrademarks
Definition qx-filedetails.h:46
QString companyName
Definition qx-filedetails.h:41
QString comments
Definition qx-filedetails.h:40
QString metaLanguageID
Definition qx-filedetails.h:38
QString privateBuild
Definition qx-filedetails.h:50
QString fileVersion
Definition qx-filedetails.h:43
QString metaCodePageID
Definition qx-filedetails.h:39
QString originalFilename
Definition qx-filedetails.h:47
QString productVersion
Definition qx-filedetails.h:49
A structure used to represent a particular translation of the string table section of a file's detail...
Definition qx-filedetails.h:28
friend QX_WINDOWS_EXPORT size_t qHash(const Translation &key, size_t seed) noexcept
Definition qx-filedetails.cpp:94
QString language
Definition qx-filedetails.h:29
QString codePage
Definition qx-filedetails.h:30