summaryrefslogtreecommitdiff
path: root/Source/lang.h
diff options
context:
space:
mode:
authorDidier Raboud <odyx@debian.org>2018-03-31 20:38:02 +0200
committerDidier Raboud <odyx@debian.org>2018-03-31 20:38:02 +0200
commitec6389c74b951dcbbcd8b6d3892470b06504737a (patch)
treee03a7e9bf0d31c7c64055115af1b1374b5a0b5b9 /Source/lang.h
Import Upstream version 2.06
Diffstat (limited to 'Source/lang.h')
-rw-r--r--Source/lang.h180
1 files changed, 180 insertions, 0 deletions
diff --git a/Source/lang.h b/Source/lang.h
new file mode 100644
index 0000000..1f29d45
--- /dev/null
+++ b/Source/lang.h
@@ -0,0 +1,180 @@
+#ifndef ___NLF___H_____
+#define ___NLF___H_____
+
+#include "strlist.h"
+#include "growbuf.h"
+#include "exehead/fileform.h"
+
+struct NLFRef {
+ int iRef;
+ int iUnRef;
+};
+
+struct langstring {
+ int name;
+ int sn;
+ int index;
+ int uindex;
+ int process;
+};
+
+class LangStringList : public SortedStringListND<struct langstring>
+{
+ public:
+ LangStringList();
+
+ int add(const char *name, int *sn=0);
+ int get(char *name, int *sn=0, int *index=0, int *uindex=0, int *process=0);
+ void set(int pos, int index=-1, int uindex=-1, int process=-1);
+ void set(char *name, int index, int uindex=-1, int process=-1);
+ const char *pos2name(int pos);
+ const char *offset2name(int name);
+ int getnum();
+ static int compare_index(const void *item1, const void *item2);
+ langstring *sort_index(int *num);
+ static int compare_uindex(const void *item1, const void *item2);
+ langstring *sort_uindex(int *num);
+
+ private:
+ int count;
+ TinyGrowBuf sortbuf;
+};
+
+class StringsArray
+{
+ public:
+ StringsArray();
+
+ void resize(int num);
+ int set(int idx, char *str);
+ const char *get(int idx);
+
+ private:
+ TinyGrowBuf offsets;
+ GrowBuf strings;
+};
+
+#define NLF_VERSION 6
+
+enum {
+ NLF_BRANDING,
+ NLF_CAPTION,
+ NLF_UCAPTION,
+ NLF_SUBCAPTION_LICENSE,
+ NLF_SUBCAPTION_OPTIONS,
+ NLF_SUBCAPTION_DIR,
+ NLF_SUBCAPTION_INSTFILES,
+ NLF_SUBCAPTION_COMPLETED,
+ NLF_USUBCAPTION_OPTIONS,
+ NLF_USUBCAPTION_DIR,
+ NLF_USUBCAPTION_CONFIRM,
+ NLF_USUBCAPTION_INSTFILES,
+ NLF_USUBCAPTION_COMPLETED,
+ NLF_BTN_BACK,
+ NLF_BTN_NEXT,
+ NLF_BTN_LICENSE,
+ NLF_BTN_LICENSE_AGREE,
+ NLF_BTN_LICENSE_DISAGREE,
+ NLF_BTN_INSTALL,
+ NLF_BTN_UNINSTALL,
+ NLF_BTN_CANCEL,
+ NLF_BTN_CLOSE,
+ NLF_BTN_BROWSE,
+ NLF_BTN_DETAILS,
+ NLF_CLICK_NEXT,
+ NLF_CLICK_INSTALL,
+ NLF_CLICK_UNINSTALL,
+ NLF_NAME,
+ NLF_NAME_DA, // name with doubled ampersands - virtual
+ NLF_COMPLETED,
+ NLF_LICENSE_TEXT,
+ NLF_LICENSE_TEXT_FSCB,
+ NLF_LICENSE_TEXT_FSRB,
+ NLF_ULICENSE_TEXT,
+ NLF_ULICENSE_TEXT_FSCB,
+ NLF_ULICENSE_TEXT_FSRB,
+ NLF_LICENSE_DATA, // virtual
+ NLF_COMP_CUSTOM,
+ NLF_COMP_TEXT,
+ NLF_COMP_SUBTEXT1,
+ NLF_COMP_SUBTEXT1_NO_INST_TYPES,
+ NLF_COMP_SUBTEXT2,
+ NLF_UCOMP_TEXT,
+ NLF_UCOMP_SUBTEXT1,
+ NLF_UCOMP_SUBTEXT1_NO_INST_TYPES,
+ NLF_UCOMP_SUBTEXT2,
+ NLF_DIR_TEXT,
+ NLF_DIR_SUBTEXT,
+ NLF_DIR_BROWSETEXT,
+ NLF_UDIR_TEXT,
+ NLF_UDIR_SUBTEXT,
+ NLF_UDIR_BROWSETEXT,
+ NLF_SPACE_AVAIL,
+ NLF_SPACE_REQ,
+ NLF_UNINST_TEXT,
+ NLF_UNINST_SUBTEXT,
+ NLF_FILE_ERROR,
+ NLF_FILE_ERROR_NOIGNORE,
+ NLF_CANT_WRITE,
+ NLF_COPY_FAILED,
+ NLF_COPY_TO,
+ NLF_REGISTERING,
+ NLF_UNREGISTERING,
+ NLF_SYMBOL_NOT_FOUND,
+ NLF_COULD_NOT_LOAD,
+ NLF_CREATE_DIR,
+ NLF_CREATE_SHORTCUT,
+ NLF_CREATED_UNINST,
+ NLF_DEL_FILE,
+ NLF_DEL_ON_REBOOT,
+ NLF_ERR_CREATING_SHORTCUT,
+ NLF_ERR_CREATING,
+ NLF_ERR_DECOMPRESSING,
+ NLF_ERR_REG_DLL,
+ NLF_EXEC_SHELL,
+ NLF_EXEC,
+ NLF_EXTRACT,
+ NLF_ERR_WRITING,
+ NLF_INST_CORRUPTED,
+ NLF_NO_OLE,
+ NLF_OUTPUT_DIR,
+ NLF_REMOVE_DIR,
+ NLF_RENAME_ON_REBOOT,
+ NLF_RENAME,
+ NLF_SKIPPED,
+ NLF_COPY_DETAILS,
+ NLF_LOG_INSTALL_PROCESS,
+ NLF_BYTE,
+ NLF_KILO,
+ NLF_MEGA,
+ NLF_GIGA,
+
+ NLF_FONT,
+ NLF_FONTSIZE,
+ NLF_RTL,
+
+ NLF_STRINGS
+};
+
+struct NLF {
+ bool m_bLoaded;
+ char *m_szName;
+ char *m_szFont;
+ int m_iFontSize;
+ unsigned int m_uCodePage;
+ bool m_bRTL;
+
+ char *m_szStrings[NLF_STRINGS];
+};
+
+struct LanguageTable {
+ LANGID lang_id;
+
+ int dlg_offset;
+
+ StringsArray *lang_strings;
+
+ NLF nlf;
+};
+
+#endif