- Better RTL support:

* use RTL reading wherever possible (shows the dots, commas, etc. in the correct order)
  * Message boxes are now RTL too
  * Fixed RTL for links in InstallOptions
- Fixed tab order in StartMenu
- Made StartMenu use SHGetSpecialFolderLocation (soon to be in NSIS core too)


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3259 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2003-12-06 20:45:35 +00:00
parent 740ae21f2d
commit 4eb2881b5b
11 changed files with 186 additions and 158 deletions

View file

@ -146,7 +146,8 @@ lang_again:
language_table=((char*)g_blocks[NB_LANGTABLES].offset)+lang_num*g_header->langtable_size;
if (!((lang ^ *(LANGID*)language_table) & lang_mask)) {
dlg_offset=*(int*)(language_table+sizeof(LANGID));
cur_langtable=(int*)(language_table+sizeof(LANGID)+sizeof(int));
g_exec_flags.rtl=*(int*)(language_table+sizeof(LANGID)+sizeof(int));
cur_langtable=(int*)(language_table+sizeof(LANGID)+2*sizeof(int));
break;
}
}

View file

@ -467,6 +467,7 @@ union exec_flags {
int silent;
#endif
int instdir_error;
int rtl;
};
int flags[1];
};

View file

@ -85,7 +85,10 @@ int NSISCALL my_MessageBox(const char *text, UINT type) {
if (g_exec_flags.silent && type >> 20)
return type >> 20;
// no silent or no default, just show
return MessageBox(g_hwnd, text, g_caption, type & 0x000FFFFF);
if (!g_exec_flags.rtl)
return MessageBox(g_hwnd, text, g_caption, type & 0x000FFFFF);
else
return MessageBox(g_hwnd, text, g_caption, (type & 0x000FFFFF) ^ (MB_RIGHT | MB_RTLREADING));
}
void * NSISCALL my_GlobalAlloc(DWORD dwBytes) {