diff --git a/reactos/dll/win32/browseui/lang/bg-BG.rc b/reactos/dll/win32/browseui/lang/bg-BG.rc index 0b906f6ab1e..f9faf874760 100644 --- a/reactos/dll/win32/browseui/lang/bg-BG.rc +++ b/reactos/dll/win32/browseui/lang/bg-BG.rc @@ -273,3 +273,10 @@ STRINGTABLE BEGIN IDS_STANDARD_TOOLBAR, "|Back|Forward|Up|Search|Folders|Move To|Copy To|Delete|Undo|Views|Stop|Refresh|Home|Map Drive|Disconnect|Favorites|History|Full Screen|Properties|Cut|Copy|Paste|Folder Options||" END + +STRINGTABLE +BEGIN + IDS_LEGAL_URL, "https://www.reactos.org/joining/faqs" + IDS_SORRY_CAPTION, "Sorry" + IDS_SORRY_MESSAGE, "ReactOS could not browse to '%s' (error 0x%lx).\nPlease make sure there is a web browser installed." +END diff --git a/reactos/dll/win32/browseui/lang/de-DE.rc b/reactos/dll/win32/browseui/lang/de-DE.rc index 1d3e4ff8f32..9adb0eda72e 100644 --- a/reactos/dll/win32/browseui/lang/de-DE.rc +++ b/reactos/dll/win32/browseui/lang/de-DE.rc @@ -292,3 +292,10 @@ STRINGTABLE BEGIN IDS_STANDARD_TOOLBAR, "|Zurück|Vorwärts|Übergeordneter Ordner|Suchen|Ordner|Verschieben nach|Kopieren nach|Löschen|Rückgängig|Ansicht|Stop|Aktualisieren|Startseite|Netzlaufwerk verbinden|Netzlaufwerk trennen|Favoriten|Verlauf|Vollbild|Eigenschaften|Ausschneiden|Kopieren|Einfügen|Ordneroptionen||" END + +STRINGTABLE +BEGIN + IDS_LEGAL_URL, "https://www.reactos.org/joining/faqs" + IDS_SORRY_CAPTION, "Sorry" + IDS_SORRY_MESSAGE, "ReactOS could not browse to '%s' (error 0x%lx).\nPlease make sure there is a web browser installed." +END diff --git a/reactos/dll/win32/browseui/lang/en-US.rc b/reactos/dll/win32/browseui/lang/en-US.rc index e8880dc6a30..ecfbda2b3b6 100644 --- a/reactos/dll/win32/browseui/lang/en-US.rc +++ b/reactos/dll/win32/browseui/lang/en-US.rc @@ -291,3 +291,10 @@ STRINGTABLE BEGIN IDS_STANDARD_TOOLBAR, "|Back|Forward|Up|Search|Folders|Move To|Copy To|Delete|Undo|Views|Stop|Refresh|Home|Map Drive|Disconnect|Favorites|History|Full Screen|Properties|Cut|Copy|Paste|Folder Options||" END + +STRINGTABLE +BEGIN + IDS_LEGAL_URL, "https://www.reactos.org/joining/faqs" + IDS_SORRY_CAPTION, "Sorry" + IDS_SORRY_MESSAGE, "ReactOS could not browse to '%s' (error 0x%lx).\nPlease make sure there is a web browser installed." +END diff --git a/reactos/dll/win32/browseui/lang/es-ES.rc b/reactos/dll/win32/browseui/lang/es-ES.rc index 8442f0fc0ab..779f599022b 100644 --- a/reactos/dll/win32/browseui/lang/es-ES.rc +++ b/reactos/dll/win32/browseui/lang/es-ES.rc @@ -275,3 +275,10 @@ STRINGTABLE BEGIN IDS_STANDARD_TOOLBAR, "|Atrás|Adelante|Subir|Búsqueda|Carpetas|Mover a|Copiar a|Borrar|Deshacer|Vistas|Detener|Recargar|Inicio|Montar disco|Desconectar|Favoritos|Historial|Pantalla completa|Propiedades|Cortar|Copiar|Pegar|Opciones de carpeta||" END + +STRINGTABLE +BEGIN + IDS_LEGAL_URL, "https://www.reactos.org/joining/faqs" + IDS_SORRY_CAPTION, "Sorry" + IDS_SORRY_MESSAGE, "ReactOS could not browse to '%s' (error 0x%lx).\nPlease make sure there is a web browser installed." +END diff --git a/reactos/dll/win32/browseui/lang/fr-FR.rc b/reactos/dll/win32/browseui/lang/fr-FR.rc index d76587c0493..0b12413f720 100644 --- a/reactos/dll/win32/browseui/lang/fr-FR.rc +++ b/reactos/dll/win32/browseui/lang/fr-FR.rc @@ -291,3 +291,10 @@ STRINGTABLE BEGIN IDS_STANDARD_TOOLBAR, "|Retour|Avancer|Dossier parent|Recherche|Dossiers|Aller vers|Copier dans|Supprimer|Annuler|Affichage|Stop|Rafraîchir|Home|Map Drive|Déconnecter|Favoris|Historique|Plein écran|Propriétés|Couper|Copier|Coller|Options des dossiers||" END + +STRINGTABLE +BEGIN + IDS_LEGAL_URL, "https://www.reactos.org/joining/faqs" + IDS_SORRY_CAPTION, "Désolé" + IDS_SORRY_MESSAGE, "ReactOS ne peut pas atteindre '%s' (erreur 0x%lx).\nVeuillez vérifier qu'un navigateur web est installé." +END diff --git a/reactos/dll/win32/browseui/lang/he-IL.rc b/reactos/dll/win32/browseui/lang/he-IL.rc index 3e9218c8b65..658fa23fad6 100644 --- a/reactos/dll/win32/browseui/lang/he-IL.rc +++ b/reactos/dll/win32/browseui/lang/he-IL.rc @@ -275,3 +275,10 @@ STRINGTABLE BEGIN IDS_STANDARD_TOOLBAR, "|Back|Forward|Up|Search|Folders|Move To|Copy To|Delete|Undo|Views|Stop|Refresh|Home|Map Drive|Disconnect|Favorites|History|Full Screen|Properties|Cut|Copy|Paste|Folder Options||" END + +STRINGTABLE +BEGIN + IDS_LEGAL_URL, "https://www.reactos.org/joining/faqs" + IDS_SORRY_CAPTION, "Sorry" + IDS_SORRY_MESSAGE, "ReactOS could not browse to '%s' (error 0x%lx).\nPlease make sure there is a web browser installed." +END diff --git a/reactos/dll/win32/browseui/lang/it-IT.rc b/reactos/dll/win32/browseui/lang/it-IT.rc index ece06cfad2a..4464b300e48 100644 --- a/reactos/dll/win32/browseui/lang/it-IT.rc +++ b/reactos/dll/win32/browseui/lang/it-IT.rc @@ -273,3 +273,10 @@ STRINGTABLE BEGIN IDS_STANDARD_TOOLBAR, "|Indietro|Avanti|Livello superiore|Cerca|Cartelle|Sposta in|Copia in|Elimina|Annulla|Visualizza|Ferma|Aggiorna|Pagina iniziale|Mappa disco|Disconnette|Preferiti|Cronologia|Schermo intero|Proprietà|Taglia|Copia|Incolla|Opzioni cartella||" END + +STRINGTABLE +BEGIN + IDS_LEGAL_URL, "https://www.reactos.org/joining/faqs" + IDS_SORRY_CAPTION, "Sorry" + IDS_SORRY_MESSAGE, "ReactOS could not browse to '%s' (error 0x%lx).\nPlease make sure there is a web browser installed." +END diff --git a/reactos/dll/win32/browseui/lang/pl-PL.rc b/reactos/dll/win32/browseui/lang/pl-PL.rc index 6398d80e49f..dddb7dd41c3 100644 --- a/reactos/dll/win32/browseui/lang/pl-PL.rc +++ b/reactos/dll/win32/browseui/lang/pl-PL.rc @@ -281,3 +281,10 @@ STRINGTABLE BEGIN IDS_STANDARD_TOOLBAR, "|Wstecz|Dalej|W górę|Wyszukaj|Foldery|Przemieść do|Kopiuj do|Usuń|Cofnij|Widoki|Stop|Odśwież|Strona główna|Mapa dysków|Rozłącz|Ulubione|Historia|Pełny ekran|Właściwości|Wytnij|Kopiuj|Wklej|Opcje folderów||" END + +STRINGTABLE +BEGIN + IDS_LEGAL_URL, "https://www.reactos.org/joining/faqs" + IDS_SORRY_CAPTION, "Sorry" + IDS_SORRY_MESSAGE, "ReactOS could not browse to '%s' (error 0x%lx).\nPlease make sure there is a web browser installed." +END diff --git a/reactos/dll/win32/browseui/lang/pt-BR.rc b/reactos/dll/win32/browseui/lang/pt-BR.rc index 1d673e3cecf..420efa8470a 100644 --- a/reactos/dll/win32/browseui/lang/pt-BR.rc +++ b/reactos/dll/win32/browseui/lang/pt-BR.rc @@ -275,3 +275,10 @@ STRINGTABLE BEGIN IDS_STANDARD_TOOLBAR, "|Voltar|Avançar|Acima|Pesquisar|Pastas|Mover para|Copiar para|Excluir|Desfazer|Modos de exibição|Parar|Atualizar|Página inicial|Mapear unidade|Desconectar|Favoritos|Histórico|Tela inteira|Propriedades|Recortar|Copiar|Colar|Opções de pasta||" END + +STRINGTABLE +BEGIN + IDS_LEGAL_URL, "https://www.reactos.org/joining/faqs" + IDS_SORRY_CAPTION, "Sorry" + IDS_SORRY_MESSAGE, "ReactOS could not browse to '%s' (error 0x%lx).\nPlease make sure there is a web browser installed." +END diff --git a/reactos/dll/win32/browseui/lang/ro-RO.rc b/reactos/dll/win32/browseui/lang/ro-RO.rc index 6b7c5db2845..a5c3324ebbf 100644 --- a/reactos/dll/win32/browseui/lang/ro-RO.rc +++ b/reactos/dll/win32/browseui/lang/ro-RO.rc @@ -275,3 +275,10 @@ STRINGTABLE BEGIN IDS_STANDARD_TOOLBAR, "|Înapoi|Înainte|Sus|Căutare|Dosare|Mutare în|Copiere în|Ștergere|Desfacere|Afișări|Oprire|Împrospătare|Acasă|Conectare unitate de stocare|Deconectare|Favorite|Istoric|Pe tot ecranul|Proprietăți|Decupare|Copiere|Lipire|Opțiuni de dosar||" END + +STRINGTABLE +BEGIN + IDS_LEGAL_URL, "https://www.reactos.org/joining/faqs" + IDS_SORRY_CAPTION, "Sorry" + IDS_SORRY_MESSAGE, "ReactOS could not browse to '%s' (error 0x%lx).\nPlease make sure there is a web browser installed." +END diff --git a/reactos/dll/win32/browseui/lang/ru-RU.rc b/reactos/dll/win32/browseui/lang/ru-RU.rc index b20daced7b0..c0fb36e22bf 100644 --- a/reactos/dll/win32/browseui/lang/ru-RU.rc +++ b/reactos/dll/win32/browseui/lang/ru-RU.rc @@ -275,3 +275,10 @@ STRINGTABLE BEGIN IDS_STANDARD_TOOLBAR, "|Назад|Вперед|Вверх|Поиск|Папки|Переместить в|Копировать в|Удалить|Отменить|Вид|Остановить|Обновить|Домой|Подключить диск|Отключить|Избранное|Журнал|Во весь экран|Свойства|Вырезать|Копировать|Вставить|Свойства папки||" END + +STRINGTABLE +BEGIN + IDS_LEGAL_URL, "https://www.reactos.org/joining/faqs" + IDS_SORRY_CAPTION, "Sorry" + IDS_SORRY_MESSAGE, "ReactOS could not browse to '%s' (error 0x%lx).\nPlease make sure there is a web browser installed." +END diff --git a/reactos/dll/win32/browseui/lang/sq-AL.rc b/reactos/dll/win32/browseui/lang/sq-AL.rc index 8688a1ab943..9eb1c9a2f7d 100644 --- a/reactos/dll/win32/browseui/lang/sq-AL.rc +++ b/reactos/dll/win32/browseui/lang/sq-AL.rc @@ -292,3 +292,10 @@ STRINGTABLE BEGIN IDS_STANDARD_TOOLBAR, "|Back|Forward|Up|Search|Folders|Move To|Copy To|Delete|Undo|Views|Stop|Refresh|Home|Map Drive|Disconnect|Favorites|History|Full Screen|Properties|Cut|Copy|Paste|Folder Options||" END + +STRINGTABLE +BEGIN + IDS_LEGAL_URL, "https://www.reactos.org/joining/faqs" + IDS_SORRY_CAPTION, "Sorry" + IDS_SORRY_MESSAGE, "ReactOS could not browse to '%s' (error 0x%lx).\nPlease make sure there is a web browser installed." +END diff --git a/reactos/dll/win32/browseui/lang/tr-TR.rc b/reactos/dll/win32/browseui/lang/tr-TR.rc index ddf0cdc3779..511d470d89e 100644 --- a/reactos/dll/win32/browseui/lang/tr-TR.rc +++ b/reactos/dll/win32/browseui/lang/tr-TR.rc @@ -273,3 +273,10 @@ STRINGTABLE BEGIN IDS_STANDARD_TOOLBAR, "|Back|Forward|Up|Search|Folders|Move To|Copy To|Delete|Undo|Views|Stop|Refresh|Home|Map Drive|Disconnect|Favorites|History|Full Screen|Properties|Cut|Copy|Paste|Folder Options||" END + +STRINGTABLE +BEGIN + IDS_LEGAL_URL, "https://www.reactos.org/joining/faqs" + IDS_SORRY_CAPTION, "Sorry" + IDS_SORRY_MESSAGE, "ReactOS could not browse to '%s' (error 0x%lx).\nPlease make sure there is a web browser installed." +END diff --git a/reactos/dll/win32/browseui/lang/uk-UA.rc b/reactos/dll/win32/browseui/lang/uk-UA.rc index b75f2c1fcef..dce56c9f54e 100644 --- a/reactos/dll/win32/browseui/lang/uk-UA.rc +++ b/reactos/dll/win32/browseui/lang/uk-UA.rc @@ -275,3 +275,10 @@ STRINGTABLE BEGIN IDS_STANDARD_TOOLBAR, "|Back|Forward|Up|Search|Folders|Move To|Copy To|Delete|Undo|Views|Stop|Refresh|Home|Map Drive|Disconnect|Favorites|History|Full Screen|Properties|Cut|Copy|Paste|Folder Options||" END + +STRINGTABLE +BEGIN + IDS_LEGAL_URL, "https://www.reactos.org/joining/faqs" + IDS_SORRY_CAPTION, "Sorry" + IDS_SORRY_MESSAGE, "ReactOS could not browse to '%s' (error 0x%lx).\nPlease make sure there is a web browser installed." +END diff --git a/reactos/dll/win32/browseui/lang/zh-CN.rc b/reactos/dll/win32/browseui/lang/zh-CN.rc index b6a817c3b84..6fbd2b89a65 100644 --- a/reactos/dll/win32/browseui/lang/zh-CN.rc +++ b/reactos/dll/win32/browseui/lang/zh-CN.rc @@ -293,3 +293,10 @@ STRINGTABLE BEGIN IDS_STANDARD_TOOLBAR, "|返回|前进|向上|搜索|文件夹|移动到|复制到|删除|撤消|视图|停止|刷新|首页|映射磁盘|断开连接|收藏夹|历史|全屏幕|属性|剪下|复制|贴下|文件夹选项||" END + +STRINGTABLE +BEGIN + IDS_LEGAL_URL, "https://www.reactos.org/joining/faqs" + IDS_SORRY_CAPTION, "Sorry" + IDS_SORRY_MESSAGE, "ReactOS could not browse to '%s' (error 0x%lx).\nPlease make sure there is a web browser installed." +END diff --git a/reactos/dll/win32/browseui/lang/zh-TW.rc b/reactos/dll/win32/browseui/lang/zh-TW.rc index 34c6635ec53..7237d8e33c2 100644 --- a/reactos/dll/win32/browseui/lang/zh-TW.rc +++ b/reactos/dll/win32/browseui/lang/zh-TW.rc @@ -293,3 +293,10 @@ STRINGTABLE BEGIN IDS_STANDARD_TOOLBAR, "|返回|前進|向上|搜索|資料夾|移動到|複製到|刪除|撤消|檢視|停止|重新整理|首頁|對映磁碟|斷開連線|收藏夾|歷史|全螢幕|屬性|剪下|複製|貼下|資料夾選項||" END + +STRINGTABLE +BEGIN + IDS_LEGAL_URL, "https://www.reactos.org/joining/faqs" + IDS_SORRY_CAPTION, "Sorry" + IDS_SORRY_MESSAGE, "ReactOS could not browse to '%s' (error 0x%lx).\nPlease make sure there is a web browser installed." +END diff --git a/reactos/dll/win32/browseui/resource.h b/reactos/dll/win32/browseui/resource.h index 882d590fc73..f418c658c8b 100644 --- a/reactos/dll/win32/browseui/resource.h +++ b/reactos/dll/win32/browseui/resource.h @@ -93,6 +93,7 @@ #define IDR_AUTOCOMPLETE 141 #define IDR_ACLISTISF 142 +#define IDS_LEGAL_URL 12299 #define IDS_SMALLICONS 12301 #define IDS_LARGEICONS 12302 #define IDS_SHOWTEXTLABELS 12303 @@ -105,6 +106,8 @@ #define IDS_ADDRESSBANDLABEL 12902 #define IDS_FOLDERSLABEL 12919 #define IDS_HISTORYTEXT 13169 +#define IDS_SORRY_CAPTION 14001 +#define IDS_SORRY_MESSAGE 14002 #define IDS_UP 58434 #define IDS_BACK 58689 #define IDS_FORWARD 58690 diff --git a/reactos/dll/win32/browseui/shellbrowser.cpp b/reactos/dll/win32/browseui/shellbrowser.cpp index 0b7163d4f67..1787d214d4e 100644 --- a/reactos/dll/win32/browseui/shellbrowser.cpp +++ b/reactos/dll/win32/browseui/shellbrowser.cpp @@ -3619,26 +3619,34 @@ LRESULT CShellBrowser::OnOrganizeFavorites(WORD wNotifyCode, WORD wID, HWND hWnd LRESULT CShellBrowser::OnIsThisLegal(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - /* TODO: Implement properly */ + WCHAR wszSite[256]; + HINSTANCE hResourceInstance = _AtlBaseModule.GetResourceInstance(); - LPCWSTR strSite = L"https://www.reactos.org/user-faq"; + if (!LoadStringW(hResourceInstance, IDS_LEGAL_URL, wszSite, _countof(wszSite))) + StringCchCopyW(wszSite, _countof(wszSite), L"https://www.reactos.org/joining/faqs"); - /* TODO: Make localizable */ - LPCWSTR strCaption = L"Sorry"; - LPCWSTR strMessage = L"ReactOS could not browse to '%s' (error %d). Please make sure there is a web browser installed."; - WCHAR tmpMessage[512]; + SHELLEXECUTEINFOW execInfo = { sizeof(execInfo), 0 }; + execInfo.lpVerb = L"open"; + execInfo.lpFile = wszSite; + execInfo.hwnd = m_hWnd; + execInfo.nShow = SW_SHOWNORMAL; - /* TODO: Read from the registry */ - LPCWSTR strVerb = NULL; /* default */ - LPCWSTR strPath = strSite; - LPCWSTR strParams = NULL; - - /* The return value is defined as HINSTANCE for backwards compatibility only, the cast is needed */ - int result = (int) ShellExecuteW(m_hWnd, strVerb, strPath, strParams, NULL, SW_SHOWNORMAL); - if (result <= 32) + if (!ShellExecuteExW(&execInfo)) { - StringCchPrintfW(tmpMessage, 512, strMessage, strSite, result); - MessageBoxExW(m_hWnd, tmpMessage, strCaption, MB_OK, 0); + WCHAR wszCaption[256]; + WCHAR wszMessage[512]; + + DWORD error = GetLastError(); + + if (!LoadStringW(hResourceInstance, IDS_SORRY_MESSAGE, wszCaption, _countof(wszCaption))) + StringCchCopyW(wszCaption, _countof(wszCaption), L"ReactOS could not browse to '%s' (error 0x%lx). Please make sure there is a web browser installed."); + + StringCchPrintfW(wszMessage, _countof(wszMessage), wszCaption, wszSite, error); + + if (!LoadStringW(hResourceInstance, IDS_SORRY_CAPTION, wszCaption, _countof(wszCaption))) + StringCchCopyW(wszCaption, _countof(wszCaption), L"Sorry"); + + MessageBoxW(wszMessage, wszCaption, MB_OK); } return 0;