[HHCTRL.OCX] Don't break WineSync. Addendum to 65d7fb1. (#4554)

Also minor code formatting for HH_LoadString.
This commit is contained in:
Thamatip Chitpong 2022-06-21 19:48:54 +07:00 committed by GitHub
parent 994e2f289e
commit 3a72a52ce8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
31 changed files with 89 additions and 28 deletions

View file

@ -21,7 +21,9 @@
#include "hhctrl.h"
#include "stream.h"
#ifdef __REACTOS__
#include "resource.h"
#endif
#include "winreg.h"
#include "shlwapi.h"
@ -460,7 +462,11 @@ BOOL LoadWinTypeFromCHM(HHInfo *info)
/* merge the new data with any pre-existing HH_WINTYPE structure */
MergeChmProperties(&wintype, info, FALSE);
if (!info->WinType.pszCaption)
#ifdef __REACTOS__
info->WinType.pszCaption = info->stringsW.pszCaption = (info->pCHMInfo->defTitle ? strdupW(info->pCHMInfo->defTitle) : HH_LoadString(IDS_DEFTITLE));
#else
info->WinType.pszCaption = info->stringsW.pszCaption = strdupW(info->pCHMInfo->defTitle ? info->pCHMInfo->defTitle : empty);
#endif
if (!info->WinType.pszFile)
info->WinType.pszFile = info->stringsW.pszFile = strdupW(info->pCHMInfo->defTopic ? info->pCHMInfo->defTopic : empty);
if (!info->WinType.pszToc)

View file

@ -171,6 +171,7 @@ static inline BOOL navigation_visible(HHInfo *info)
}
/* Loads a string from the resource file */
#ifdef __REACTOS__
LPWSTR HH_LoadString(DWORD dwID)
{
LPWSTR string = NULL;
@ -179,12 +180,28 @@ LPWSTR HH_LoadString(DWORD dwID)
iSize = LoadStringW(hhctrl_hinstance, dwID, (LPWSTR)&stringresource, 0);
string = heap_alloc((iSize + 2) * sizeof(WCHAR)); /* some strings (tab text) needs double-null termination */
memcpy(string, stringresource, iSize * sizeof(WCHAR));
string[iSize] = UNICODE_NULL;
return string;
}
#else
static LPWSTR HH_LoadString(DWORD dwID)
{
LPWSTR string = NULL;
LPCWSTR stringresource;
int iSize;
iSize = LoadStringW(hhctrl_hinstance, dwID, (LPWSTR)&stringresource, 0);
string = heap_alloc((iSize + 2) * sizeof(WCHAR)); /* some strings (tab text) needs double-null termination */
memcpy(string, stringresource, iSize*sizeof(WCHAR));
string[iSize] = 0;
return string;
}
#endif
static HRESULT navigate_url(HHInfo *info, LPCWSTR surl)
{
@ -1620,12 +1637,20 @@ static BOOL HH_CreateHelpWindow(HHInfo *info)
wcex.cbClsExtra = 0;
wcex.cbWndExtra = sizeof(LONG_PTR);
wcex.hInstance = hhctrl_hinstance;
#ifdef __REACTOS__
wcex.hIcon = LoadIconW(hhctrl_hinstance, MAKEINTRESOURCEW(IDI_HHICON));
#else
wcex.hIcon = LoadIconW(NULL, (LPCWSTR)IDI_APPLICATION);
#endif
wcex.hCursor = LoadCursorW(NULL, (LPCWSTR)IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_MENU + 1);
wcex.lpszMenuName = NULL;
wcex.lpszClassName = windowClassW;
#ifdef __REACTOS__
wcex.hIconSm = NULL;
#else
wcex.hIconSm = LoadIconW(NULL, (LPCWSTR)IDI_APPLICATION);
#endif
RegisterClassExW(&wcex);

View file

@ -229,7 +229,9 @@ WCHAR *GetDocumentTitle(CHMInfo*,LPCWSTR) DECLSPEC_HIDDEN;
extern struct list window_list DECLSPEC_HIDDEN;
HHInfo *CreateHelpViewer(HHInfo*,LPCWSTR,HWND) DECLSPEC_HIDDEN;
void ReleaseHelpViewer(HHInfo*) DECLSPEC_HIDDEN;
#ifdef __REACTOS__
LPWSTR HH_LoadString(DWORD dwID) DECLSPEC_HIDDEN;
#endif
BOOL NavigateToUrl(HHInfo*,LPCWSTR) DECLSPEC_HIDDEN;
BOOL NavigateToChm(HHInfo*,LPCWSTR,LPCWSTR) DECLSPEC_HIDDEN;
void MergeChmProperties(HH_WINTYPEW*,HHInfo*,BOOL) DECLSPEC_HIDDEN;

View file

@ -114,9 +114,10 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#include "wine/wine_common_ver.rc"
#ifdef __REACTOS__
/* help viewer window icon */
IDI_HHICON ICON "res/hh.ico"
#endif
/* @makedep: hhtoolbar.bmp */
IDB_HHTOOLBAR BITMAP "res/hhtoolbar.bmp"

View file

@ -27,8 +27,9 @@ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "&Obsah"
IDS_INDEX "I&ndex"
IDS_SEARCH "&Hledat"

View file

@ -23,8 +23,9 @@ LANGUAGE LANG_DANISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "&Indhold"
IDS_INDEX "I&ndeks"
IDS_SEARCH "&Søg"

View file

@ -25,8 +25,9 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "&Inhalt"
IDS_INDEX "I&ndex"
IDS_SEARCH "&Suche"

View file

@ -23,8 +23,9 @@ LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "&Περιεχόμενα"
IDS_INDEX "I&ndex"
IDS_SEARCH "&Αναζήτηση"

View file

@ -24,8 +24,9 @@ LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "&Contents"
IDS_INDEX "I&ndex"
IDS_SEARCH "&Search"

View file

@ -26,8 +26,9 @@ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "&Contenido"
IDS_INDEX "Í&ndice"
IDS_SEARCH "&Buscar"

View file

@ -23,8 +23,9 @@ LANGUAGE LANG_FINNISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "&Sisällys"
IDS_INDEX "&Hakemisto"
IDS_SEARCH "&Etsi"

View file

@ -26,8 +26,9 @@ LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "Aide HTML"
#endif
IDS_CONTENTS "Somm&aire"
IDS_INDEX "I&ndex"
IDS_SEARCH "&Recherche"

View file

@ -25,8 +25,9 @@ LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "תוכ&ן"
IDS_INDEX "&אינקס"
IDS_SEARCH "&חפש"

View file

@ -23,8 +23,9 @@ LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "&Tartalom"
IDS_INDEX "I&ndex"
IDS_SEARCH "&Keresés"

View file

@ -27,8 +27,9 @@ LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "&Contenuti"
IDS_INDEX "&Indice"
IDS_SEARCH "&Ricerca"

View file

@ -27,8 +27,9 @@ LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "目次(&C)"
IDS_INDEX "索引(&N)"
IDS_SEARCH "検索(&S)"

View file

@ -24,8 +24,9 @@ LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "목록(&C)"
IDS_INDEX "인덱스(&N)"
IDS_SEARCH "찾기(&S)"

View file

@ -26,8 +26,9 @@ LANGUAGE LANG_LITHUANIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "&Turinys"
IDS_INDEX "&Rodyklė"
IDS_SEARCH "&Paieška"

View file

@ -23,8 +23,9 @@ LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "&Inhoud"
IDS_INDEX "I&ndex"
IDS_SEARCH "&Zoeken"

View file

@ -23,8 +23,9 @@ LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "&Innhold"
IDS_INDEX "I&ndeks"
IDS_SEARCH "&Søk"

View file

@ -24,8 +24,9 @@ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "&Spis treści"
IDS_INDEX "&Indeks"
IDS_SEARCH "&Wyszukaj"

View file

@ -26,8 +26,9 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "&Conteúdos"
IDS_INDEX "&Índice"
IDS_SEARCH "&Pesquisar"

View file

@ -27,8 +27,9 @@ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "C&uprins"
IDS_INDEX "In&dex"
IDS_SEARCH "&Caută"

View file

@ -26,8 +26,9 @@ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "&Содержание"
IDS_INDEX "&Оглавление"
IDS_SEARCH "&Поиск"

View file

@ -25,8 +25,9 @@ LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "&Vsebina"
IDS_INDEX "I&ndeks"
IDS_SEARCH "&Iskanje"

View file

@ -26,8 +26,9 @@ LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "Përmbajtja"
IDS_INDEX "I&ndex"
IDS_SEARCH "Kerko"

View file

@ -23,8 +23,9 @@ LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "&Innehåll"
IDS_INDEX "I&ndex"
IDS_SEARCH "&Sök"

View file

@ -23,8 +23,9 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "&İçindekiler"
IDS_INDEX "&Dizin"
IDS_SEARCH "&Ara"

View file

@ -28,8 +28,9 @@ LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "&Зміст"
IDS_INDEX "&Вказівник"
IDS_SEARCH "&Пошук"

View file

@ -26,8 +26,9 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
STRINGTABLE
BEGIN
#ifdef __REACTOS__
IDS_DEFTITLE "HTML Help"
#endif
IDS_CONTENTS "内容(&C)"
IDS_INDEX "索引(&N)"
IDS_SEARCH "搜索(&S)"

View file

@ -25,9 +25,10 @@
#include <wingdi.h>
#include <htmlhelp.h>
#ifdef __REACTOS__
#define IDI_HHICON 100
#define IDS_DEFTITLE 0
#endif
#define IDS_CONTENTS 1
#define IDS_INDEX 2
#define IDS_SEARCH 3