ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
October 2022
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
23 participants
162 discussions
Start a n
N
ew thread
[reactos] 01/01: [IMM32] s/Imm32PostMessages/ImmPostMessages/
by Katayama Hirofumi MZ
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=4af3372c23112e795dbd2…
commit 4af3372c23112e795dbd286c707f44f0c458d866 Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com> AuthorDate: Thu Oct 20 11:29:33 2022 +0900 Commit: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com> CommitDate: Thu Oct 20 11:29:33 2022 +0900 [IMM32] s/Imm32PostMessages/ImmPostMessages/ CORE-11700 --- dll/win32/imm32/keymsg.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dll/win32/imm32/keymsg.c b/dll/win32/imm32/keymsg.c index bff0671da03..104a6f6ee43 100644 --- a/dll/win32/imm32/keymsg.c +++ b/dll/win32/imm32/keymsg.c @@ -954,7 +954,7 @@ Quit: } VOID APIENTRY -Imm32PostMessages(HWND hwnd, HIMC hIMC, DWORD dwCount, LPTRANSMSG lpTransMsg) +ImmPostMessages(HWND hwnd, HIMC hIMC, DWORD dwCount, LPTRANSMSG lpTransMsg) { DWORD dwIndex; PCLIENTIMC pClientImc; @@ -1059,7 +1059,7 @@ BOOL WINAPI ImmTranslateMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lKeyD pTransMsg = ImmLockIMCC(pIC->hMsgBuf); if (pTransMsg) { - Imm32PostMessages(hwnd, hIMC, dwCount, pTransMsg); + ImmPostMessages(hwnd, hIMC, dwCount, pTransMsg); ImmUnlockIMCC(pIC->hMsgBuf); ret = TRUE; } @@ -1112,7 +1112,7 @@ BOOL WINAPI ImmTranslateMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lKeyD /* post them */ if (kret <= MSG_COUNT) { - Imm32PostMessages(hwnd, hIMC, kret, pList->TransMsg); + ImmPostMessages(hwnd, hIMC, kret, pList->TransMsg); ret = TRUE; } else @@ -1120,7 +1120,7 @@ BOOL WINAPI ImmTranslateMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lKeyD pTransMsg = ImmLockIMCC(pIC->hMsgBuf); if (pTransMsg == NULL) goto Quit; - Imm32PostMessages(hwnd, hIMC, kret, pTransMsg); + ImmPostMessages(hwnd, hIMC, kret, pTransMsg); ImmUnlockIMCC(pIC->hMsgBuf); }
2 years, 2 months
1
0
0
0
[reactos] 01/01: [DESK] Refactor the work with registry parameters
by Stanislav Motylkov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=5f149287633cd36287d49…
commit 5f149287633cd36287d494e668b6a861e36fdd66 Author: Stanislav Motylkov <x86corez(a)gmail.com> AuthorDate: Thu Oct 20 04:10:04 2022 +0300 Commit: Stanislav Motylkov <x86corez(a)gmail.com> CommitDate: Thu Oct 20 04:10:04 2022 +0300 [DESK] Refactor the work with registry parameters Use SHGet/Set functions instead of talking directly to registry. This makes the code a lot more simple and readable. CORE-3567 --- dll/cpl/desk/desktop.c | 132 +++++++++++-------------------------------------- 1 file changed, 28 insertions(+), 104 deletions(-) diff --git a/dll/cpl/desk/desktop.c b/dll/cpl/desk/desktop.c index 8655a013174..351eea1ee85 100644 --- a/dll/cpl/desk/desktop.c +++ b/dll/cpl/desk/desktop.c @@ -26,7 +26,7 @@ */ #define IDS_PERSONAL 9227 -static const TCHAR szHideDesktopIcons[] = TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\HideDesktopIcons"); +static const TCHAR szHideDesktopIcons[] = TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\HideDesktopIcons\\"); static const TCHAR szClassicStartMenu[] = TEXT("ClassicStartMenu"); static const TCHAR szNewStartPanel[] = TEXT("NewStartPanel"); @@ -62,75 +62,38 @@ struct VOID InitDesktopSettings(PDESKTOP_DATA pData) { - HKEY regKey, iconKey1, iconKey2; UINT i; - DWORD dwType, cbData; - - /* Default values */ - for (i = 0; i < _countof(pData->optIcons); i++) - { - // pData->optIcons[i].bHideClassic is FALSE by default - pData->optIcons[i].bHideNewStart = TRUE; - } + TCHAR regPath[MAX_PATH]; /* Load desktop icon settings from the registry */ - if (RegOpenKeyEx(HKEY_CURRENT_USER, szHideDesktopIcons, - 0, KEY_QUERY_VALUE, ®Key) != ERROR_SUCCESS) + StringCchCopy(regPath, _countof(regPath), szHideDesktopIcons); + StringCchCat(regPath, _countof(regPath), szClassicStartMenu); + + for (i = 0; i < _countof(pData->optIcons); i++) { - goto LoadIcons; + pData->optIcons[i].bHideClassic = SHRegGetBoolUSValue(regPath, DesktopIcons[i].CLSID, FALSE, FALSE); } - if (RegOpenKeyEx(regKey, szClassicStartMenu, 0, KEY_QUERY_VALUE, &iconKey1) != ERROR_SUCCESS) - iconKey1 = NULL; - - if (RegOpenKeyEx(regKey, szNewStartPanel, 0, KEY_QUERY_VALUE, &iconKey2) != ERROR_SUCCESS) - iconKey2 = NULL; + StringCchCopy(regPath, _countof(regPath), szHideDesktopIcons); + StringCchCat(regPath, _countof(regPath), szNewStartPanel); for (i = 0; i < _countof(pData->optIcons); i++) { - LSTATUS res; - DWORD dwData; - - if (iconKey1) - { - cbData = sizeof(dwData); - res = RegQueryValueEx(iconKey1, DesktopIcons[i].CLSID, NULL, &dwType, (LPBYTE)&dwData, &cbData); - - if (res == ERROR_SUCCESS && dwType == REG_DWORD && cbData == sizeof(dwData)) - pData->optIcons[i].bHideClassic = !!dwData; - } - - if (iconKey2) - { - cbData = sizeof(dwData); - res = RegQueryValueEx(iconKey2, DesktopIcons[i].CLSID, NULL, &dwType, (LPBYTE)&dwData, &cbData); - - if (res == ERROR_SUCCESS && dwType == REG_DWORD && cbData == sizeof(dwData)) - pData->optIcons[i].bHideNewStart = !!dwData; - } + pData->optIcons[i].bHideNewStart = SHRegGetBoolUSValue(regPath, DesktopIcons[i].CLSID, FALSE, TRUE); } - if (iconKey1) - RegCloseKey(iconKey1); - - if (iconKey2) - RegCloseKey(iconKey2); - - RegCloseKey(regKey); - -LoadIcons: for (i = 0; i < _countof(IconChange); i++) { - TCHAR iconPath[MAX_PATH]; + DWORD cbData, dwType; TCHAR szData[MAX_PATH]; /* Current icons */ - StringCchCopy(iconPath, _countof(iconPath), szUserClass); - StringCchCat(iconPath, _countof(iconPath), IconChange[i].CLSID); - StringCchCat(iconPath, _countof(iconPath), szDefaultIcon); + StringCchCopy(regPath, _countof(regPath), szUserClass); + StringCchCat(regPath, _countof(regPath), IconChange[i].CLSID); + StringCchCat(regPath, _countof(regPath), szDefaultIcon); cbData = sizeof(szData); - if (SHGetValue(HKEY_CURRENT_USER, iconPath, IconChange[i].IconName, &dwType, + if (SHGetValue(HKEY_CURRENT_USER, regPath, IconChange[i].IconName, &dwType, &szData, &cbData) == ERROR_SUCCESS && (dwType == REG_SZ || dwType == REG_EXPAND_SZ)) { @@ -139,12 +102,12 @@ LoadIcons: /* Default icons */ /* FIXME: Get default icons from theme data, fallback to CLSID data on error. */ - StringCchCopy(iconPath, _countof(iconPath), szSysClass); - StringCchCat(iconPath, _countof(iconPath), IconChange[i].CLSID); - StringCchCat(iconPath, _countof(iconPath), szDefaultIcon); + StringCchCopy(regPath, _countof(regPath), szSysClass); + StringCchCat(regPath, _countof(regPath), IconChange[i].CLSID); + StringCchCat(regPath, _countof(regPath), szDefaultIcon); cbData = sizeof(szData); - if (SHGetValue(HKEY_CLASSES_ROOT, iconPath, IconChange[i].IconName, &dwType, + if (SHGetValue(HKEY_CLASSES_ROOT, regPath, IconChange[i].IconName, &dwType, &szData, &cbData) == ERROR_SUCCESS && (dwType == REG_SZ || dwType == REG_EXPAND_SZ)) { @@ -194,63 +157,24 @@ SaveDesktopSettings(PDESKTOP_DATA pData) static BOOL GetCurrentValue(UINT i, BOOL bNewStart) { - HKEY regKey, iconKey; - LSTATUS res; - DWORD dwType, cbData; - BOOL bRet; - - /* Set default value */ - bRet = bNewStart; + TCHAR regPath[MAX_PATH]; - if (RegOpenKeyEx(HKEY_CURRENT_USER, szHideDesktopIcons, - 0, KEY_QUERY_VALUE, ®Key) != ERROR_SUCCESS) - { - return bRet; - } - - if (RegOpenKeyEx(regKey, (bNewStart ? szNewStartPanel : szClassicStartMenu), - 0, KEY_QUERY_VALUE, &iconKey) != ERROR_SUCCESS) - { - RegCloseKey(regKey); - return bRet; - } + StringCchCopy(regPath, _countof(regPath), szHideDesktopIcons); + StringCchCat(regPath, _countof(regPath), bNewStart ? szNewStartPanel : szClassicStartMenu); - cbData = sizeof(bRet); - res = RegQueryValueEx(iconKey, DesktopIcons[i].CLSID, NULL, &dwType, (LPBYTE)&bRet, &cbData); - - if (res != ERROR_SUCCESS || dwType != REG_DWORD || cbData != sizeof(bRet)) - bRet = bNewStart; - - RegCloseKey(iconKey); - RegCloseKey(regKey); - - return bRet; + return SHRegGetBoolUSValue(regPath, DesktopIcons[i].CLSID, FALSE, bNewStart); } static VOID SetCurrentValue(UINT i, BOOL bNewStart, BOOL bValue) { - HKEY regKey, iconKey; - - if (RegCreateKeyEx(HKEY_CURRENT_USER, szHideDesktopIcons, - 0, NULL, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, - NULL, ®Key, NULL) != ERROR_SUCCESS) - { - return; - } - - if (RegCreateKeyEx(regKey, (bNewStart ? szNewStartPanel : szClassicStartMenu), - 0, NULL, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, - NULL, &iconKey, NULL) != ERROR_SUCCESS) - { - RegCloseKey(regKey); - return; - } + TCHAR regPath[MAX_PATH]; - RegSetValueEx(iconKey, DesktopIcons[i].CLSID, 0, REG_DWORD, (LPBYTE)&bValue, sizeof(bValue)); + StringCchCopy(regPath, _countof(regPath), szHideDesktopIcons); + StringCchCat(regPath, _countof(regPath), bNewStart ? szNewStartPanel : szClassicStartMenu); - RegCloseKey(iconKey); - RegCloseKey(regKey); + SHSetValue(HKEY_CURRENT_USER, regPath, DesktopIcons[i].CLSID, REG_DWORD, + (LPBYTE)&bValue, sizeof(bValue)); } VOID
2 years, 2 months
1
0
0
0
[reactos] 02/02: [DESK] Add desktop icon change feature
by Stanislav Motylkov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=769fcd895bc21451177ca…
commit 769fcd895bc21451177ca6daa8a6d3f6f4ed71ad Author: Stanislav Motylkov <x86corez(a)gmail.com> AuthorDate: Sat Oct 15 20:44:03 2022 +0300 Commit: Stanislav Motylkov <x86corez(a)gmail.com> CommitDate: Wed Oct 19 23:24:03 2022 +0300 [DESK] Add desktop icon change feature - All functions now implemented, except no support for themes. - Fixed listview height to avoid vertical scrollbar in Windows. - Refactored existing code for show/hide desktop icons. CORE-3567 CORE-8427 --- dll/cpl/desk/background.c | 8 +- dll/cpl/desk/desk.h | 22 +++- dll/cpl/desk/desktop.c | 286 +++++++++++++++++++++++++++++++++++++++++++-- dll/cpl/desk/lang/bg-BG.rc | 2 +- dll/cpl/desk/lang/cs-CZ.rc | 2 +- dll/cpl/desk/lang/de-DE.rc | 2 +- dll/cpl/desk/lang/el-GR.rc | 2 +- dll/cpl/desk/lang/en-GB.rc | 2 +- dll/cpl/desk/lang/en-US.rc | 2 +- dll/cpl/desk/lang/es-ES.rc | 2 +- dll/cpl/desk/lang/et-EE.rc | 2 +- dll/cpl/desk/lang/fr-FR.rc | 2 +- dll/cpl/desk/lang/he-IL.rc | 2 +- dll/cpl/desk/lang/hu-HU.rc | 2 +- dll/cpl/desk/lang/id-ID.rc | 2 +- dll/cpl/desk/lang/it-IT.rc | 2 +- dll/cpl/desk/lang/ja-JP.rc | 2 +- dll/cpl/desk/lang/nl-NL.rc | 2 +- dll/cpl/desk/lang/no-NO.rc | 2 +- dll/cpl/desk/lang/pl-PL.rc | 2 +- dll/cpl/desk/lang/pt-BR.rc | 2 +- dll/cpl/desk/lang/pt-PT.rc | 2 +- dll/cpl/desk/lang/ro-RO.rc | 2 +- dll/cpl/desk/lang/ru-RU.rc | 2 +- dll/cpl/desk/lang/sk-SK.rc | 2 +- dll/cpl/desk/lang/sq-AL.rc | 2 +- dll/cpl/desk/lang/sv-SE.rc | 2 +- dll/cpl/desk/lang/tr-TR.rc | 2 +- dll/cpl/desk/lang/uk-UA.rc | 2 +- dll/cpl/desk/lang/zh-CN.rc | 2 +- dll/cpl/desk/lang/zh-HK.rc | 2 +- dll/cpl/desk/lang/zh-TW.rc | 2 +- 32 files changed, 327 insertions(+), 47 deletions(-) diff --git a/dll/cpl/desk/background.c b/dll/cpl/desk/background.c index ccf30377d18..931ef142c5e 100644 --- a/dll/cpl/desk/background.c +++ b/dll/cpl/desk/background.c @@ -1146,19 +1146,15 @@ static VOID OnCustomButton(HWND hwndDlg, PBACKGROUND_DATA pData) { HPROPSHEETPAGE hpsp[1] = {0}; - PROPSHEETHEADER psh; - PROPSHEETPAGE psp; + PROPSHEETHEADER psh = {sizeof(psh)}; + PROPSHEETPAGE psp = {sizeof(psp)}; - ZeroMemory(&psh, sizeof(psh)); - psh.dwSize = sizeof(psh); psh.dwFlags = PSH_NOAPPLYNOW; psh.hwndParent = GetParent(hwndDlg); psh.hInstance = hApplet; psh.pszCaption = MAKEINTRESOURCE(IDS_DESKTOP_ITEMS); psh.phpage = hpsp; - ZeroMemory(&psp, sizeof(psp)); - psp.dwSize = sizeof(psp); psp.dwFlags = PSP_DEFAULT; psp.hInstance = hApplet; psp.pszTemplate = MAKEINTRESOURCE(IDD_DESKTOP_GENERAL); diff --git a/dll/cpl/desk/desk.h b/dll/cpl/desk/desk.h index d8a2355f31b..a4c4dfd9c5f 100644 --- a/dll/cpl/desk/desk.h +++ b/dll/cpl/desk/desk.h @@ -81,8 +81,8 @@ ULONG __cdecl DbgPrint(PCCH Format,...); #define MAX_DESK_PAGES 32 #define NUM_SPECTRUM_BITMAPS 3 -/* This number must match DesktopIcons array size */ -#define NUM_DESKTOP_ICONS 4 +#define NUM_DESKTOP_ICONS 4 /* DesktopIcons array size */ +#define NUM_CHANGE_ICONS 5 /* IconChange array size */ typedef struct { @@ -90,15 +90,33 @@ typedef struct BOOL bHideNewStart; /* Hide icon in Modern Start menu mode */ } HIDE_ICON; +typedef struct _ICON_PATH +{ + TCHAR szPath[MAX_PATH]; +} ICON_PATH; + +typedef struct _ICON_DATA +{ + TCHAR szPath[MAX_PATH]; + TCHAR szTitle[40]; +} ICON_DATA; + typedef struct _DESKTOP_DATA { BOOL bSettingsChanged; HIDE_ICON optIcons[NUM_DESKTOP_ICONS]; BOOL bHideChanged[NUM_DESKTOP_ICONS]; + BOOL bIconChanged[NUM_CHANGE_ICONS]; + ICON_PATH Icon[NUM_CHANGE_ICONS]; + ICON_PATH DefIcon[NUM_CHANGE_ICONS]; BOOL bLocalSettingsChanged; BOOL bLocalHideIcon[NUM_DESKTOP_ICONS]; BOOL bLocalHideChanged[NUM_DESKTOP_ICONS]; + BOOL bLocalIconChanged[NUM_CHANGE_ICONS]; + ICON_DATA LocalIcon[NUM_CHANGE_ICONS]; + HIMAGELIST hLocalImageList; + INT iLocalCurIcon; } DESKTOP_DATA, *PDESKTOP_DATA; /* As slider control can't contain user data, we have to keep an diff --git a/dll/cpl/desk/desktop.c b/dll/cpl/desk/desktop.c index 46c3ec25ec2..8655a013174 100644 --- a/dll/cpl/desk/desktop.c +++ b/dll/cpl/desk/desktop.c @@ -7,7 +7,24 @@ #include "desk.h" -#define FCIDM_DESKBROWSER_REFRESH 0xA220 /* From shresdef.h */ +#include <shlwapi.h> +#include <shellapi.h> + +/* From shresdef.h */ +#define FCIDM_DESKBROWSER_REFRESH 0xA220 + +#define IDS_TITLE_MYCOMP 30386 +#define IDS_TITLE_MYNET 30387 +#define IDS_TITLE_BIN_1 30388 +#define IDS_TITLE_BIN_0 30389 + +/* Workaround: + * There's no special fallback icon title string + * for My Documents in shell32.dll, so use IDS_PERSONAL. + * + * Windows does this in some different way. + */ +#define IDS_PERSONAL 9227 static const TCHAR szHideDesktopIcons[] = TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\HideDesktopIcons"); static const TCHAR szClassicStartMenu[] = TEXT("ClassicStartMenu"); @@ -24,11 +41,30 @@ struct {TEXT("{871C5380-42A0-1069-A2EA-08002B30309D}"), IDC_ICONS_INTERNET}, /* Internet Browser */ }; +static const TCHAR szUserClass[] = TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\CLSID\\"); +static const TCHAR szSysClass[] = TEXT("CLSID\\"); +static const TCHAR szDefaultIcon[] = TEXT("\\DefaultIcon"); +static const TCHAR szFallbackIcon[] = TEXT("%SystemRoot%\\system32\\shell32.dll,0"); + +struct +{ + LPCTSTR CLSID; + UINT TitleId; + LPCTSTR IconName; +} IconChange[NUM_CHANGE_ICONS] = { + {TEXT("{20D04FE0-3AEA-1069-A2D8-08002B30309D}"), IDS_TITLE_MYCOMP, NULL}, /* My Computer */ + {TEXT("{450D8FBA-AD25-11D0-98A8-0800361B1103}"), IDS_PERSONAL, NULL}, /* My Documents */ + {TEXT("{208D2C60-3AEA-1069-A2D7-08002B30309D}"), IDS_TITLE_MYNET, NULL}, /* My Network Places */ + {TEXT("{645FF040-5081-101B-9F08-00AA002F954E}"), IDS_TITLE_BIN_1, TEXT("Full")}, /* Recycle Bin (full) */ + {TEXT("{645FF040-5081-101B-9F08-00AA002F954E}"), IDS_TITLE_BIN_0, TEXT("Empty")}, /* Recycle Bin (empty) */ +}; + VOID InitDesktopSettings(PDESKTOP_DATA pData) { HKEY regKey, iconKey1, iconKey2; UINT i; + DWORD dwType, cbData; /* Default values */ for (i = 0; i < _countof(pData->optIcons); i++) @@ -41,7 +77,7 @@ InitDesktopSettings(PDESKTOP_DATA pData) if (RegOpenKeyEx(HKEY_CURRENT_USER, szHideDesktopIcons, 0, KEY_QUERY_VALUE, ®Key) != ERROR_SUCCESS) { - return; + goto LoadIcons; } if (RegOpenKeyEx(regKey, szClassicStartMenu, 0, KEY_QUERY_VALUE, &iconKey1) != ERROR_SUCCESS) @@ -53,7 +89,7 @@ InitDesktopSettings(PDESKTOP_DATA pData) for (i = 0; i < _countof(pData->optIcons); i++) { LSTATUS res; - DWORD dwType, dwData, cbData; + DWORD dwData; if (iconKey1) { @@ -81,6 +117,47 @@ InitDesktopSettings(PDESKTOP_DATA pData) RegCloseKey(iconKey2); RegCloseKey(regKey); + +LoadIcons: + for (i = 0; i < _countof(IconChange); i++) + { + TCHAR iconPath[MAX_PATH]; + TCHAR szData[MAX_PATH]; + + /* Current icons */ + StringCchCopy(iconPath, _countof(iconPath), szUserClass); + StringCchCat(iconPath, _countof(iconPath), IconChange[i].CLSID); + StringCchCat(iconPath, _countof(iconPath), szDefaultIcon); + cbData = sizeof(szData); + + if (SHGetValue(HKEY_CURRENT_USER, iconPath, IconChange[i].IconName, &dwType, + &szData, &cbData) == ERROR_SUCCESS && + (dwType == REG_SZ || dwType == REG_EXPAND_SZ)) + { + StringCchCopy(pData->Icon[i].szPath, _countof(pData->Icon[i].szPath), szData); + } + + /* Default icons */ + /* FIXME: Get default icons from theme data, fallback to CLSID data on error. */ + StringCchCopy(iconPath, _countof(iconPath), szSysClass); + StringCchCat(iconPath, _countof(iconPath), IconChange[i].CLSID); + StringCchCat(iconPath, _countof(iconPath), szDefaultIcon); + cbData = sizeof(szData); + + if (SHGetValue(HKEY_CLASSES_ROOT, iconPath, IconChange[i].IconName, &dwType, + &szData, &cbData) == ERROR_SUCCESS && + (dwType == REG_SZ || dwType == REG_EXPAND_SZ)) + { + StringCchCopy(pData->DefIcon[i].szPath, _countof(pData->DefIcon[i].szPath), szData); + } + + /* Emergency fallback */ + if (lstrlen(pData->DefIcon[i].szPath) == 0) + StringCchCopy(pData->DefIcon[i].szPath, _countof(pData->DefIcon[i].szPath), szFallbackIcon); + + if (lstrlen(pData->Icon[i].szPath) == 0) + StringCchCopy(pData->Icon[i].szPath, _countof(pData->Icon[i].szPath), pData->DefIcon[i].szPath); + } } BOOL @@ -93,13 +170,21 @@ SaveDesktopSettings(PDESKTOP_DATA pData) for (i = 0; i < _countof(DesktopIcons); i++) { - if (pData->bLocalHideChanged[i]) - pData->bHideChanged[i] = TRUE; - else + if (!pData->bLocalHideChanged[i]) continue; pData->optIcons[i].bHideClassic = pData->optIcons[i].bHideNewStart = pData->bLocalHideIcon[i]; + pData->bHideChanged[i] = TRUE; + } + + for (i = 0; i < _countof(IconChange); i++) + { + if (!pData->bLocalIconChanged[i]) + continue; + + StringCchCopy(pData->Icon[i].szPath, _countof(pData->Icon[i].szPath), pData->LocalIcon[i].szPath); + pData->bIconChanged[i] = TRUE; } pData->bSettingsChanged = TRUE; @@ -187,24 +272,55 @@ SetDesktopSettings(PDESKTOP_DATA pData) pData->bHideChanged[i] = FALSE; } + for (i = 0; i < _countof(IconChange); i++) + { + TCHAR iconPath[MAX_PATH]; + DWORD dwType = (pData->Icon[i].szPath[0] == TEXT('%') ? REG_EXPAND_SZ : REG_SZ); + + if (!pData->bIconChanged[i]) + continue; + + StringCchCopy(iconPath, _countof(iconPath), szUserClass); + StringCchCat(iconPath, _countof(iconPath), IconChange[i].CLSID); + StringCchCat(iconPath, _countof(iconPath), szDefaultIcon); + + SHSetValue(HKEY_CURRENT_USER, iconPath, IconChange[i].IconName, dwType, + pData->Icon[i].szPath, sizeof(pData->Icon[i].szPath)); + if (IconChange[i].TitleId == IDS_TITLE_BIN_0) + { + /* Also apply to the root value */ + SHSetValue(HKEY_CURRENT_USER, iconPath, NULL, dwType, + pData->Icon[i].szPath, sizeof(pData->Icon[i].szPath)); + } + pData->bIconChanged[i] = FALSE; + } + pData->bSettingsChanged = FALSE; /* Refresh the desktop */ PostMessage(GetShellWindow(), WM_COMMAND, FCIDM_DESKBROWSER_REFRESH, 0); } +static HICON +GetIconFromLocation(LPTSTR szIconPath) +{ + INT iIndex; + TCHAR szPath[MAX_PATH]; + + ExpandEnvironmentStrings(szIconPath, szPath, _countof(szPath)); + iIndex = PathParseIconLocation(szPath); + return ExtractIcon(hApplet, szPath, iIndex); +} + static VOID DesktopOnInitDialog(IN HWND hwndDlg, IN PDESKTOP_DATA pData) { UINT i; SHELLSTATE ss = {0}; + HWND hwndList; SHGetSetSettings(&ss, SSF_STARTPANELON, FALSE); - /* Disable unimplemented features */ - EnableWindow(GetDlgItem(hwndDlg, IDC_ICONS_CHANGEICON), FALSE); - EnableWindow(GetDlgItem(hwndDlg, IDC_ICONS_SETDEFAULT), FALSE); - for (i = 0; i < _countof(pData->optIcons); i++) { BOOL bHide; @@ -222,9 +338,86 @@ DesktopOnInitDialog(IN HWND hwndDlg, IN PDESKTOP_DATA pData) pData->bLocalHideChanged[i] = FALSE; } + pData->iLocalCurIcon = 0; + hwndList = GetDlgItem(hwndDlg, IDC_ICONS_LISTVIEW); + pData->hLocalImageList = ImageList_Create(GetSystemMetrics(SM_CXICON), GetSystemMetrics(SM_CYICON), ILC_COLOR32 | ILC_MASK, 1, 1); + ListView_SetImageList(hwndList, pData->hLocalImageList, LVSIL_NORMAL); + + for (i = 0; i < _countof(IconChange); i++) + { + TCHAR szClassPath[MAX_PATH]; + DWORD dwType, cbData; + LVITEM lvitem = {0}; + HICON hIcon; + + StringCchCopy(pData->LocalIcon[i].szPath, _countof(pData->LocalIcon[i].szPath), pData->Icon[i].szPath); + pData->bLocalIconChanged[i] = FALSE; + + /* Try loading user-defined desktop icon title */ + StringCchCopy(szClassPath, _countof(szClassPath), szUserClass); + StringCchCat(szClassPath, _countof(szClassPath), IconChange[i].CLSID); + cbData = sizeof(pData->LocalIcon[i].szTitle); + + if (SHGetValue(HKEY_CURRENT_USER, szClassPath, IconChange[i].IconName, &dwType, + pData->LocalIcon[i].szTitle, &cbData) != ERROR_SUCCESS || dwType != REG_SZ) + { + /* Try loading system-defined class icon title */ + StringCchCopy(szClassPath, _countof(szClassPath), szSysClass); + StringCchCat(szClassPath, _countof(szClassPath), IconChange[i].CLSID); + cbData = sizeof(pData->LocalIcon[i].szTitle); + + if (SHGetValue(HKEY_CLASSES_ROOT, szClassPath, IconChange[i].IconName, &dwType, + pData->LocalIcon[i].szTitle, &cbData) != ERROR_SUCCESS || dwType != REG_SZ) + { + /* Fallback to predefined strings */ + LoadString(GetModuleHandle(TEXT("shell32.dll")), + IconChange[i].TitleId, + pData->LocalIcon[i].szTitle, + _countof(pData->LocalIcon[i].szTitle)); + } + } + + hIcon = GetIconFromLocation(pData->LocalIcon[i].szPath); + + lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM; + lvitem.iItem = i; + lvitem.iSubItem = 0; + lvitem.pszText = pData->LocalIcon[i].szTitle; + lvitem.lParam = (LPARAM)i; + + if (hIcon) + { + if (pData->hLocalImageList) + lvitem.iImage = ImageList_AddIcon(pData->hLocalImageList, hIcon); + DestroyIcon(hIcon); + } + + if (ListView_InsertItem(hwndList, &lvitem) < 0) + continue; + + if (i > 0) + continue; + + lvitem.state = LVIS_FOCUSED | LVIS_SELECTED; + lvitem.stateMask = LVIS_FOCUSED | LVIS_SELECTED; + SendMessage(hwndList, LVM_SETITEMSTATE, 0, (LPARAM)&lvitem); + } + pData->bLocalSettingsChanged = FALSE; } +static VOID +DesktopOnDestroyDialog(IN HWND hwndDlg, IN PDESKTOP_DATA pData) +{ + if (pData->hLocalImageList) + { + ListView_SetImageList(GetDlgItem(hwndDlg, IDC_ICONS_LISTVIEW), NULL, LVSIL_NORMAL); + ImageList_Destroy(pData->hLocalImageList); + } + + SetWindowLongPtr(hwndDlg, DWLP_USER, 0); +} + /* Property page dialog callback */ INT_PTR CALLBACK DesktopPageProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam) @@ -245,6 +438,12 @@ DesktopPageProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lPara break; } + case WM_DESTROY: + { + DesktopOnDestroyDialog(hwndDlg, pData); + break; + } + case WM_COMMAND: { DWORD controlId = LOWORD(wParam); @@ -253,6 +452,7 @@ DesktopPageProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lPara if (command == BN_CLICKED) { UINT i; + BOOL bUpdateIcon = FALSE; for (i = 0; i < _countof(DesktopIcons); i++) { @@ -268,6 +468,72 @@ DesktopPageProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lPara break; } } + + if (controlId == IDC_ICONS_CHANGEICON) + { + TCHAR szPath[MAX_PATH]; + INT iIndex; + i = pData->iLocalCurIcon; + + ExpandEnvironmentStrings(pData->LocalIcon[i].szPath, szPath, _countof(szPath)); + iIndex = PathParseIconLocation(szPath); + + if (PickIconDlg(hwndDlg, szPath, _countof(szPath), &iIndex)) + { + StringCchCopy(pData->LocalIcon[i].szPath, _countof(pData->LocalIcon[i].szPath), szPath); + PathUnExpandEnvStrings(pData->LocalIcon[i].szPath, szPath, _countof(szPath)); + + StringCchPrintf(pData->LocalIcon[i].szPath, _countof(pData->LocalIcon[i].szPath), TEXT("%s,%d"), szPath, iIndex); + bUpdateIcon = TRUE; + } + } + else if (controlId == IDC_ICONS_SETDEFAULT) + { + i = pData->iLocalCurIcon; + + StringCchCopy(pData->LocalIcon[i].szPath, _countof(pData->LocalIcon[i].szPath), pData->DefIcon[i].szPath); + bUpdateIcon = TRUE; + } + + if (bUpdateIcon) + { + HWND hwndList = GetDlgItem(hwndDlg, IDC_ICONS_LISTVIEW); + HICON hIcon; + + hIcon = GetIconFromLocation(pData->LocalIcon[i].szPath); + + if (hIcon) + { + if (pData->hLocalImageList) + ImageList_ReplaceIcon(pData->hLocalImageList, i, hIcon); + DestroyIcon(hIcon); + } + + pData->bLocalSettingsChanged = + pData->bLocalIconChanged[i] = TRUE; + + InvalidateRect(hwndList, NULL, TRUE); + SetFocus(hwndList); + PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + } + } + break; + } + + case WM_NOTIFY: + { + LPNMLISTVIEW nm = (LPNMLISTVIEW)lParam; + + switch (nm->hdr.code) + { + case LVN_ITEMCHANGED: + { + if ((nm->uNewState & LVIS_SELECTED) == 0) + return FALSE; + + pData->iLocalCurIcon = nm->iItem; + break; + } } break; } diff --git a/dll/cpl/desk/lang/bg-BG.rc b/dll/cpl/desk/lang/bg-BG.rc index b7414665474..a5059005234 100644 --- a/dll/cpl/desk/lang/bg-BG.rc +++ b/dll/cpl/desk/lang/bg-BG.rc @@ -168,7 +168,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/cs-CZ.rc b/dll/cpl/desk/lang/cs-CZ.rc index b034dec698e..d6d88ad8675 100644 --- a/dll/cpl/desk/lang/cs-CZ.rc +++ b/dll/cpl/desk/lang/cs-CZ.rc @@ -174,7 +174,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/de-DE.rc b/dll/cpl/desk/lang/de-DE.rc index e85d8b33b45..02431c516ea 100644 --- a/dll/cpl/desk/lang/de-DE.rc +++ b/dll/cpl/desk/lang/de-DE.rc @@ -168,7 +168,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/el-GR.rc b/dll/cpl/desk/lang/el-GR.rc index 534a7faa403..27252c68dcb 100644 --- a/dll/cpl/desk/lang/el-GR.rc +++ b/dll/cpl/desk/lang/el-GR.rc @@ -168,7 +168,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/en-GB.rc b/dll/cpl/desk/lang/en-GB.rc index 3592d7f56fa..6383c7d4875 100644 --- a/dll/cpl/desk/lang/en-GB.rc +++ b/dll/cpl/desk/lang/en-GB.rc @@ -168,7 +168,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/en-US.rc b/dll/cpl/desk/lang/en-US.rc index ae565338b8c..411cd18f945 100644 --- a/dll/cpl/desk/lang/en-US.rc +++ b/dll/cpl/desk/lang/en-US.rc @@ -168,7 +168,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/es-ES.rc b/dll/cpl/desk/lang/es-ES.rc index 37aaf72c7a1..3dd30982468 100644 --- a/dll/cpl/desk/lang/es-ES.rc +++ b/dll/cpl/desk/lang/es-ES.rc @@ -178,7 +178,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/et-EE.rc b/dll/cpl/desk/lang/et-EE.rc index 8ea2a628df7..cf00fa00835 100644 --- a/dll/cpl/desk/lang/et-EE.rc +++ b/dll/cpl/desk/lang/et-EE.rc @@ -175,7 +175,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/fr-FR.rc b/dll/cpl/desk/lang/fr-FR.rc index 68cb9b3ada0..c030bca984f 100644 --- a/dll/cpl/desk/lang/fr-FR.rc +++ b/dll/cpl/desk/lang/fr-FR.rc @@ -170,7 +170,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/he-IL.rc b/dll/cpl/desk/lang/he-IL.rc index 96ac34a5908..3221ed3826e 100644 --- a/dll/cpl/desk/lang/he-IL.rc +++ b/dll/cpl/desk/lang/he-IL.rc @@ -168,7 +168,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/hu-HU.rc b/dll/cpl/desk/lang/hu-HU.rc index b41198cf5b6..29da6e1970d 100644 --- a/dll/cpl/desk/lang/hu-HU.rc +++ b/dll/cpl/desk/lang/hu-HU.rc @@ -170,7 +170,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/id-ID.rc b/dll/cpl/desk/lang/id-ID.rc index b8f7562efe7..a7bc74dcdfb 100644 --- a/dll/cpl/desk/lang/id-ID.rc +++ b/dll/cpl/desk/lang/id-ID.rc @@ -168,7 +168,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/it-IT.rc b/dll/cpl/desk/lang/it-IT.rc index 085b7532c37..e36da0757bd 100644 --- a/dll/cpl/desk/lang/it-IT.rc +++ b/dll/cpl/desk/lang/it-IT.rc @@ -168,7 +168,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/ja-JP.rc b/dll/cpl/desk/lang/ja-JP.rc index 95f0f905186..abe7c33c073 100644 --- a/dll/cpl/desk/lang/ja-JP.rc +++ b/dll/cpl/desk/lang/ja-JP.rc @@ -168,7 +168,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/nl-NL.rc b/dll/cpl/desk/lang/nl-NL.rc index 20087cbef2b..8f3968c77f3 100644 --- a/dll/cpl/desk/lang/nl-NL.rc +++ b/dll/cpl/desk/lang/nl-NL.rc @@ -168,7 +168,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/no-NO.rc b/dll/cpl/desk/lang/no-NO.rc index 2a1d579457f..3666848e243 100644 --- a/dll/cpl/desk/lang/no-NO.rc +++ b/dll/cpl/desk/lang/no-NO.rc @@ -168,7 +168,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/pl-PL.rc b/dll/cpl/desk/lang/pl-PL.rc index 88a16461c11..9da7f5dd7a0 100644 --- a/dll/cpl/desk/lang/pl-PL.rc +++ b/dll/cpl/desk/lang/pl-PL.rc @@ -178,7 +178,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/pt-BR.rc b/dll/cpl/desk/lang/pt-BR.rc index 285b03f6a44..a8e464cdc4b 100644 --- a/dll/cpl/desk/lang/pt-BR.rc +++ b/dll/cpl/desk/lang/pt-BR.rc @@ -168,7 +168,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/pt-PT.rc b/dll/cpl/desk/lang/pt-PT.rc index 1cb57ff5ec5..ed19f7af889 100644 --- a/dll/cpl/desk/lang/pt-PT.rc +++ b/dll/cpl/desk/lang/pt-PT.rc @@ -173,7 +173,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/ro-RO.rc b/dll/cpl/desk/lang/ro-RO.rc index 1ea25523657..2eb4f4d6948 100644 --- a/dll/cpl/desk/lang/ro-RO.rc +++ b/dll/cpl/desk/lang/ro-RO.rc @@ -177,7 +177,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/ru-RU.rc b/dll/cpl/desk/lang/ru-RU.rc index 297c7af6968..4748c658596 100644 --- a/dll/cpl/desk/lang/ru-RU.rc +++ b/dll/cpl/desk/lang/ru-RU.rc @@ -168,7 +168,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "С&менить значок...", IDC_ICONS_CHANGEICON, 74, 120, 70, 15 PUSHBUTTON "&Обычный значок", IDC_ICONS_SETDEFAULT, 148, 120, 70, 15 END diff --git a/dll/cpl/desk/lang/sk-SK.rc b/dll/cpl/desk/lang/sk-SK.rc index c2690e1fd71..441482091f2 100644 --- a/dll/cpl/desk/lang/sk-SK.rc +++ b/dll/cpl/desk/lang/sk-SK.rc @@ -170,7 +170,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/sq-AL.rc b/dll/cpl/desk/lang/sq-AL.rc index 5fb89c884c7..9171f600ec4 100644 --- a/dll/cpl/desk/lang/sq-AL.rc +++ b/dll/cpl/desk/lang/sq-AL.rc @@ -172,7 +172,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/sv-SE.rc b/dll/cpl/desk/lang/sv-SE.rc index 04162a6bf3d..fa24dbef343 100644 --- a/dll/cpl/desk/lang/sv-SE.rc +++ b/dll/cpl/desk/lang/sv-SE.rc @@ -170,7 +170,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/tr-TR.rc b/dll/cpl/desk/lang/tr-TR.rc index fae981f4e41..cdf7cbecf0e 100644 --- a/dll/cpl/desk/lang/tr-TR.rc +++ b/dll/cpl/desk/lang/tr-TR.rc @@ -170,7 +170,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/uk-UA.rc b/dll/cpl/desk/lang/uk-UA.rc index f06aaf57b14..90bb1bf0bc3 100644 --- a/dll/cpl/desk/lang/uk-UA.rc +++ b/dll/cpl/desk/lang/uk-UA.rc @@ -176,7 +176,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/zh-CN.rc b/dll/cpl/desk/lang/zh-CN.rc index 7263f939c24..24bc3dff196 100644 --- a/dll/cpl/desk/lang/zh-CN.rc +++ b/dll/cpl/desk/lang/zh-CN.rc @@ -178,7 +178,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/zh-HK.rc b/dll/cpl/desk/lang/zh-HK.rc index 2b303b993a7..dcbb4faf644 100644 --- a/dll/cpl/desk/lang/zh-HK.rc +++ b/dll/cpl/desk/lang/zh-HK.rc @@ -176,7 +176,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END diff --git a/dll/cpl/desk/lang/zh-TW.rc b/dll/cpl/desk/lang/zh-TW.rc index eeab9320238..2162bf84de5 100644 --- a/dll/cpl/desk/lang/zh-TW.rc +++ b/dll/cpl/desk/lang/zh-TW.rc @@ -177,7 +177,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12 CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32", LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_HSCROLL, - 6, 60, 212, 54 + 6, 60, 212, 56 PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15 PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15 END
2 years, 2 months
1
0
0
0
[reactos] 01/02: [SHELL32] Add missing strings for desktop icons
by Stanislav Motylkov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=43ecf7e4e4689902f871a…
commit 43ecf7e4e4689902f871ac2f9dbaa859534f1fdf Author: Stanislav Motylkov <x86corez(a)gmail.com> AuthorDate: Mon Oct 17 00:04:10 2022 +0300 Commit: Stanislav Motylkov <x86corez(a)gmail.com> CommitDate: Wed Oct 19 21:00:22 2022 +0300 [SHELL32] Add missing strings for desktop icons Reuse existing translations where possible. CORE-8427 --- dll/win32/shell32/lang/bg-BG.rc | 5 +++++ dll/win32/shell32/lang/ca-ES.rc | 5 +++++ dll/win32/shell32/lang/cs-CZ.rc | 5 +++++ dll/win32/shell32/lang/da-DK.rc | 5 +++++ dll/win32/shell32/lang/de-DE.rc | 5 +++++ dll/win32/shell32/lang/el-GR.rc | 5 +++++ dll/win32/shell32/lang/en-GB.rc | 5 +++++ dll/win32/shell32/lang/en-US.rc | 5 +++++ dll/win32/shell32/lang/es-ES.rc | 5 +++++ dll/win32/shell32/lang/et-EE.rc | 5 +++++ dll/win32/shell32/lang/eu-ES.rc | 5 +++++ dll/win32/shell32/lang/fi-FI.rc | 5 +++++ dll/win32/shell32/lang/fr-FR.rc | 5 +++++ dll/win32/shell32/lang/he-IL.rc | 5 +++++ dll/win32/shell32/lang/hi-IN.rc | 5 +++++ dll/win32/shell32/lang/hu-HU.rc | 5 +++++ dll/win32/shell32/lang/id-ID.rc | 5 +++++ dll/win32/shell32/lang/it-IT.rc | 5 +++++ dll/win32/shell32/lang/ja-JP.rc | 5 +++++ dll/win32/shell32/lang/ko-KR.rc | 5 +++++ dll/win32/shell32/lang/nl-NL.rc | 5 +++++ dll/win32/shell32/lang/no-NO.rc | 5 +++++ dll/win32/shell32/lang/pl-PL.rc | 5 +++++ dll/win32/shell32/lang/pt-BR.rc | 5 +++++ dll/win32/shell32/lang/pt-PT.rc | 5 +++++ dll/win32/shell32/lang/ro-RO.rc | 5 +++++ dll/win32/shell32/lang/ru-RU.rc | 5 +++++ dll/win32/shell32/lang/sk-SK.rc | 5 +++++ dll/win32/shell32/lang/sl-SI.rc | 5 +++++ dll/win32/shell32/lang/sq-AL.rc | 5 +++++ dll/win32/shell32/lang/sv-SE.rc | 5 +++++ dll/win32/shell32/lang/tr-TR.rc | 5 +++++ dll/win32/shell32/lang/uk-UA.rc | 5 +++++ dll/win32/shell32/lang/zh-CN.rc | 5 +++++ dll/win32/shell32/lang/zh-HK.rc | 5 +++++ dll/win32/shell32/lang/zh-TW.rc | 5 +++++ dll/win32/shell32/shresdef.h | 6 ++++++ 37 files changed, 186 insertions(+) diff --git a/dll/win32/shell32/lang/bg-BG.rc b/dll/win32/shell32/lang/bg-BG.rc index 703d1837dad..889ca032828 100644 --- a/dll/win32/shell32/lang/bg-BG.rc +++ b/dll/win32/shell32/lang/bg-BG.rc @@ -981,6 +981,11 @@ BEGIN IDS_OBJECTS "%d Objects" IDS_OBJECTS_SELECTED "%d Objects Selected" + IDS_TITLE_MYCOMP "Моят компютър" + IDS_TITLE_MYNET "Моята мрежа" + IDS_TITLE_BIN_1 "Кошче (пълно)" + IDS_TITLE_BIN_0 "Кошче (празно)" + IDS_ADVANCED_FOLDER "Files and Folders" IDS_ADVANCED_NET_CRAWLER "Automatically search for network folders and printers" IDS_ADVANCED_FOLDER_SIZE_TIP "Display file size information in folder tips" diff --git a/dll/win32/shell32/lang/ca-ES.rc b/dll/win32/shell32/lang/ca-ES.rc index 12063262bc3..cb45cb2c1be 100644 --- a/dll/win32/shell32/lang/ca-ES.rc +++ b/dll/win32/shell32/lang/ca-ES.rc @@ -980,6 +980,11 @@ BEGIN IDS_OBJECTS "%d Objects" IDS_OBJECTS_SELECTED "%d Objects Selected" + IDS_TITLE_MYCOMP "My Computer" + IDS_TITLE_MYNET "My Network Places" + IDS_TITLE_BIN_1 "Recycle Bin (full)" + IDS_TITLE_BIN_0 "Recycle Bin (empty)" + IDS_ADVANCED_FOLDER "Files and Folders" IDS_ADVANCED_NET_CRAWLER "Automatically search for network folders and printers" IDS_ADVANCED_FOLDER_SIZE_TIP "Display file size information in folder tips" diff --git a/dll/win32/shell32/lang/cs-CZ.rc b/dll/win32/shell32/lang/cs-CZ.rc index 187c0c2c892..585feead1c6 100644 --- a/dll/win32/shell32/lang/cs-CZ.rc +++ b/dll/win32/shell32/lang/cs-CZ.rc @@ -986,6 +986,11 @@ BEGIN IDS_OBJECTS "Položek: %d" IDS_OBJECTS_SELECTED "Položek vybráno: %d" + IDS_TITLE_MYCOMP "Tento počítač" + IDS_TITLE_MYNET "Místa v síti" + IDS_TITLE_BIN_1 "Koš (plný)" + IDS_TITLE_BIN_0 "Koš (prázdný)" + IDS_ADVANCED_FOLDER "Files and Folders" IDS_ADVANCED_NET_CRAWLER "Automatically search for network folders and printers" IDS_ADVANCED_FOLDER_SIZE_TIP "Display file size information in folder tips" diff --git a/dll/win32/shell32/lang/da-DK.rc b/dll/win32/shell32/lang/da-DK.rc index 6f41e1b47df..150485e6b78 100644 --- a/dll/win32/shell32/lang/da-DK.rc +++ b/dll/win32/shell32/lang/da-DK.rc @@ -986,6 +986,11 @@ BEGIN IDS_OBJECTS "%d Objects" IDS_OBJECTS_SELECTED "%d Objects Selected" + IDS_TITLE_MYCOMP "Min Computer" + IDS_TITLE_MYNET "My Network Places" + IDS_TITLE_BIN_1 "Recycle Bin (full)" + IDS_TITLE_BIN_0 "Recycle Bin (empty)" + IDS_ADVANCED_FOLDER "Files and Folders" IDS_ADVANCED_NET_CRAWLER "Automatically search for network folders and printers" IDS_ADVANCED_FOLDER_SIZE_TIP "Display file size information in folder tips" diff --git a/dll/win32/shell32/lang/de-DE.rc b/dll/win32/shell32/lang/de-DE.rc index e9aa547ecff..78044d0dad4 100644 --- a/dll/win32/shell32/lang/de-DE.rc +++ b/dll/win32/shell32/lang/de-DE.rc @@ -981,6 +981,11 @@ BEGIN IDS_OBJECTS "%d Objekte" IDS_OBJECTS_SELECTED "%d Objekte ausgewählt" + IDS_TITLE_MYCOMP "Arbeitsplatz" + IDS_TITLE_MYNET "Netzwerkumgebung" + IDS_TITLE_BIN_1 "Papierkorb (voll)" + IDS_TITLE_BIN_0 "Papierkorb (leer)" + IDS_ADVANCED_FOLDER "Dateien und Ordner" IDS_ADVANCED_NET_CRAWLER "Automatisch nach Netzwerkordnern und Druckern suchen" IDS_ADVANCED_FOLDER_SIZE_TIP "Dateigrößeninformationen in Ordnertipps anzeigen" diff --git a/dll/win32/shell32/lang/el-GR.rc b/dll/win32/shell32/lang/el-GR.rc index 3aaa46cf184..e9f7631ff40 100644 --- a/dll/win32/shell32/lang/el-GR.rc +++ b/dll/win32/shell32/lang/el-GR.rc @@ -980,6 +980,11 @@ BEGIN IDS_OBJECTS "%d Objects" IDS_OBJECTS_SELECTED "%d Objects Selected" + IDS_TITLE_MYCOMP "Ο υπολογιστής μου" + IDS_TITLE_MYNET "My Network Places" + IDS_TITLE_BIN_1 "Κάδος ανακύκλωσης (γεμάτος)" + IDS_TITLE_BIN_0 "Κάδος ανακύκλωσης (άδειος)" + IDS_ADVANCED_FOLDER "Files and Folders" IDS_ADVANCED_NET_CRAWLER "Automatically search for network folders and printers" IDS_ADVANCED_FOLDER_SIZE_TIP "Display file size information in folder tips" diff --git a/dll/win32/shell32/lang/en-GB.rc b/dll/win32/shell32/lang/en-GB.rc index cc4dad3cbe3..cf7b1bcb2b4 100644 --- a/dll/win32/shell32/lang/en-GB.rc +++ b/dll/win32/shell32/lang/en-GB.rc @@ -980,6 +980,11 @@ BEGIN IDS_OBJECTS "%d Objects" IDS_OBJECTS_SELECTED "%d Objects Selected" + IDS_TITLE_MYCOMP "My Computer" + IDS_TITLE_MYNET "My Network Places" + IDS_TITLE_BIN_1 "Recycle Bin (full)" + IDS_TITLE_BIN_0 "Recycle Bin (empty)" + IDS_ADVANCED_FOLDER "Files and Folders" IDS_ADVANCED_NET_CRAWLER "Automatically search for network folders and printers" IDS_ADVANCED_FOLDER_SIZE_TIP "Display file size information in folder tips" diff --git a/dll/win32/shell32/lang/en-US.rc b/dll/win32/shell32/lang/en-US.rc index 757e4ea2bc3..0370c2a3b91 100644 --- a/dll/win32/shell32/lang/en-US.rc +++ b/dll/win32/shell32/lang/en-US.rc @@ -980,6 +980,11 @@ BEGIN IDS_OBJECTS "%d Objects" IDS_OBJECTS_SELECTED "%d Objects Selected" + IDS_TITLE_MYCOMP "My Computer" + IDS_TITLE_MYNET "My Network Places" + IDS_TITLE_BIN_1 "Recycle Bin (full)" + IDS_TITLE_BIN_0 "Recycle Bin (empty)" + IDS_ADVANCED_FOLDER "Files and Folders" IDS_ADVANCED_NET_CRAWLER "Automatically search for network folders and printers" IDS_ADVANCED_FOLDER_SIZE_TIP "Display file size information in folder tips" diff --git a/dll/win32/shell32/lang/es-ES.rc b/dll/win32/shell32/lang/es-ES.rc index 30437706199..dfbe955e01b 100644 --- a/dll/win32/shell32/lang/es-ES.rc +++ b/dll/win32/shell32/lang/es-ES.rc @@ -989,6 +989,11 @@ BEGIN IDS_OBJECTS "%d elementos" IDS_OBJECTS_SELECTED "%d elementos seleccionados" + IDS_TITLE_MYCOMP "Mi equipo" + IDS_TITLE_MYNET "Mis sitios de red" + IDS_TITLE_BIN_1 "Papelera (llena)" + IDS_TITLE_BIN_0 "Papelera (vacía)" + IDS_ADVANCED_FOLDER "Archivos y carpetas" IDS_ADVANCED_NET_CRAWLER "Buscar automáticamente carpetas e impresoras en red" IDS_ADVANCED_FOLDER_SIZE_TIP "Mostrar tamaño de la carpeta" diff --git a/dll/win32/shell32/lang/et-EE.rc b/dll/win32/shell32/lang/et-EE.rc index d77888fa7bb..cfab4569ab2 100644 --- a/dll/win32/shell32/lang/et-EE.rc +++ b/dll/win32/shell32/lang/et-EE.rc @@ -987,6 +987,11 @@ BEGIN IDS_OBJECTS "%d objekti" IDS_OBJECTS_SELECTED "%d objekti valitud" + IDS_TITLE_MYCOMP "Minu arvuti" + IDS_TITLE_MYNET "Minu võrgukohad" + IDS_TITLE_BIN_1 "Prügikast (täis)" + IDS_TITLE_BIN_0 "Prügikast (tühi)" + IDS_ADVANCED_FOLDER "Failid ja kaustad" IDS_ADVANCED_NET_CRAWLER "Otsi automaatselt võrgukaustu ja -printereid" IDS_ADVANCED_FOLDER_SIZE_TIP "Kuva kausta kohtspikrites teave failimahu kohta" diff --git a/dll/win32/shell32/lang/eu-ES.rc b/dll/win32/shell32/lang/eu-ES.rc index d8b3f6c867b..ae68e1d936f 100644 --- a/dll/win32/shell32/lang/eu-ES.rc +++ b/dll/win32/shell32/lang/eu-ES.rc @@ -985,6 +985,11 @@ BEGIN IDS_OBJECTS "%d elementuak" IDS_OBJECTS_SELECTED "%d elementu hautatuak" + IDS_TITLE_MYCOMP "Ordenagailua" + IDS_TITLE_MYNET "Nire sarelekuak" + IDS_TITLE_BIN_1 "Zakarrontzia (betea)" + IDS_TITLE_BIN_0 "Zakarrontzia (hutsik)" + IDS_ADVANCED_FOLDER "Fitxategiak eta karpetak" IDS_ADVANCED_NET_CRAWLER "Bilatu sareko karpetak eta inprimagailuak automatikoki" IDS_ADVANCED_FOLDER_SIZE_TIP "Erakutsi karpetaren tamaina" diff --git a/dll/win32/shell32/lang/fi-FI.rc b/dll/win32/shell32/lang/fi-FI.rc index a20594097ed..d2774cb54a0 100644 --- a/dll/win32/shell32/lang/fi-FI.rc +++ b/dll/win32/shell32/lang/fi-FI.rc @@ -980,6 +980,11 @@ BEGIN IDS_OBJECTS "%d Objects" IDS_OBJECTS_SELECTED "%d Objects Selected" + IDS_TITLE_MYCOMP "Oma Tietokone" + IDS_TITLE_MYNET "My Network Places" + IDS_TITLE_BIN_1 "Recycle Bin (full)" + IDS_TITLE_BIN_0 "Recycle Bin (empty)" + IDS_ADVANCED_FOLDER "Files and Folders" IDS_ADVANCED_NET_CRAWLER "Automatically search for network folders and printers" IDS_ADVANCED_FOLDER_SIZE_TIP "Display file size information in folder tips" diff --git a/dll/win32/shell32/lang/fr-FR.rc b/dll/win32/shell32/lang/fr-FR.rc index 154af28519f..beffc7cd40f 100644 --- a/dll/win32/shell32/lang/fr-FR.rc +++ b/dll/win32/shell32/lang/fr-FR.rc @@ -980,6 +980,11 @@ BEGIN IDS_OBJECTS "%d objet(s)" IDS_OBJECTS_SELECTED "%d objet(s) sélectionné(s)" + IDS_TITLE_MYCOMP "Poste de travail" + IDS_TITLE_MYNET "Mes emplacements réseau" + IDS_TITLE_BIN_1 "Corbeille (pleine)" + IDS_TITLE_BIN_0 "Corbeille (vide)" + IDS_ADVANCED_FOLDER "Fichiers et dossiers" IDS_ADVANCED_NET_CRAWLER "Rechercher automatiquement les dossiers et imprimantes partagés" IDS_ADVANCED_FOLDER_SIZE_TIP "Afficher les informations concernant la taille des fichiers dans les info-bulles" diff --git a/dll/win32/shell32/lang/he-IL.rc b/dll/win32/shell32/lang/he-IL.rc index f086b8abb10..c7dbb920ea5 100644 --- a/dll/win32/shell32/lang/he-IL.rc +++ b/dll/win32/shell32/lang/he-IL.rc @@ -982,6 +982,11 @@ BEGIN IDS_OBJECTS "%d פריטים" IDS_OBJECTS_SELECTED "%d פריטים נבחרו" + IDS_TITLE_MYCOMP "המחשב שלי" + IDS_TITLE_MYNET "מיקומי הרשת שלי" + IDS_TITLE_BIN_1 "Recycle Bin (full)" + IDS_TITLE_BIN_0 "Recycle Bin (empty)" + IDS_ADVANCED_FOLDER "קבצים ותיקיות" IDS_ADVANCED_NET_CRAWLER "Automatically search for network folders and printers" IDS_ADVANCED_FOLDER_SIZE_TIP "Display file size information in folder tips" diff --git a/dll/win32/shell32/lang/hi-IN.rc b/dll/win32/shell32/lang/hi-IN.rc index 3096d6999a3..3e467d0990b 100644 --- a/dll/win32/shell32/lang/hi-IN.rc +++ b/dll/win32/shell32/lang/hi-IN.rc @@ -975,6 +975,11 @@ BEGIN IDS_OBJECTS "%d वस्तुओं" IDS_OBJECTS_SELECTED "%d वस्तुओं का चयन किया" + IDS_TITLE_MYCOMP "मेरा कंप्यूटर" + IDS_TITLE_MYNET "मेरे नेटवर्क स्थान" + IDS_TITLE_BIN_1 "Recycle Bin (full)" + IDS_TITLE_BIN_0 "Recycle Bin (empty)" + IDS_ADVANCED_FOLDER "फ़ाइलें और फ़ोल्डर्स" IDS_ADVANCED_NET_CRAWLER "स्वचालित रूप से नेटवर्क फ़ोल्डर और प्रिंटर खोजें" IDS_ADVANCED_FOLDER_SIZE_TIP "फ़ोल्डर टिप में फ़ाइल साइज़ जानकारी डिस्प्ले करें" diff --git a/dll/win32/shell32/lang/hu-HU.rc b/dll/win32/shell32/lang/hu-HU.rc index 45febcd796d..3d5b3a3d051 100644 --- a/dll/win32/shell32/lang/hu-HU.rc +++ b/dll/win32/shell32/lang/hu-HU.rc @@ -979,6 +979,11 @@ BEGIN IDS_OBJECTS "%d elem" IDS_OBJECTS_SELECTED "%d kijelölt elem" + IDS_TITLE_MYCOMP "Számítógép" + IDS_TITLE_MYNET "Hálózati helyek" + IDS_TITLE_BIN_1 "Lomtár (tele)" + IDS_TITLE_BIN_0 "Lomtár (üres)" + IDS_ADVANCED_FOLDER "Fájlok és mappák" IDS_ADVANCED_NET_CRAWLER "Hálózati mappák és nyomtatók automatikus keresése" IDS_ADVANCED_FOLDER_SIZE_TIP "Fájlméretadatok megjelenítése a mappatippekben" diff --git a/dll/win32/shell32/lang/id-ID.rc b/dll/win32/shell32/lang/id-ID.rc index 03a6d9a123e..f39db662892 100644 --- a/dll/win32/shell32/lang/id-ID.rc +++ b/dll/win32/shell32/lang/id-ID.rc @@ -977,6 +977,11 @@ BEGIN IDS_OBJECTS "%d Obyek" IDS_OBJECTS_SELECTED "%d Obyek terpilih" + IDS_TITLE_MYCOMP "Komputer Saya" + IDS_TITLE_MYNET "Tempat Jaringan Saya" + IDS_TITLE_BIN_1 "Tampungan Daur Ulang (penuh)" + IDS_TITLE_BIN_0 "Tampungan Daur Ulang (kosong)" + IDS_ADVANCED_FOLDER "Berkas dan Folder" IDS_ADVANCED_NET_CRAWLER "Cari otomatis folder dan printer jaringan" IDS_ADVANCED_FOLDER_SIZE_TIP "Tampilkan informasi ukuran berkas pada tips folder" diff --git a/dll/win32/shell32/lang/it-IT.rc b/dll/win32/shell32/lang/it-IT.rc index 615ff750298..b84dd2aa607 100644 --- a/dll/win32/shell32/lang/it-IT.rc +++ b/dll/win32/shell32/lang/it-IT.rc @@ -980,6 +980,11 @@ BEGIN IDS_OBJECTS "%d Oggetti" IDS_OBJECTS_SELECTED "%d Oggetti selezionati" + IDS_TITLE_MYCOMP "Risorse del Computer" + IDS_TITLE_MYNET "Risorse di rete" + IDS_TITLE_BIN_1 "Cestino (pieno)" + IDS_TITLE_BIN_0 "Cestino (vuoto)" + IDS_ADVANCED_FOLDER "Files and Folders" IDS_ADVANCED_NET_CRAWLER "Automatically search for network folders and printers" IDS_ADVANCED_FOLDER_SIZE_TIP "Display file size information in folder tips" diff --git a/dll/win32/shell32/lang/ja-JP.rc b/dll/win32/shell32/lang/ja-JP.rc index c4c87a5709c..20750d557aa 100644 --- a/dll/win32/shell32/lang/ja-JP.rc +++ b/dll/win32/shell32/lang/ja-JP.rc @@ -977,6 +977,11 @@ BEGIN IDS_OBJECTS "%d 個のオブジェクト" IDS_OBJECTS_SELECTED "%d 個のオブジェクトが選択済み" + IDS_TITLE_MYCOMP "マイ コンピュータ" + IDS_TITLE_MYNET "マイ ネットワーク" + IDS_TITLE_BIN_1 "Recycle Bin (full)" + IDS_TITLE_BIN_0 "Recycle Bin (empty)" + IDS_ADVANCED_FOLDER "ファイルとフォルダ" IDS_ADVANCED_NET_CRAWLER "自動的にネットワークフォルダとプリンタを検索する" IDS_ADVANCED_FOLDER_SIZE_TIP "フォルダ チップにファイルサイズ情報を表示する" diff --git a/dll/win32/shell32/lang/ko-KR.rc b/dll/win32/shell32/lang/ko-KR.rc index bc26bfff6a8..c2ac56c7fdc 100644 --- a/dll/win32/shell32/lang/ko-KR.rc +++ b/dll/win32/shell32/lang/ko-KR.rc @@ -987,6 +987,11 @@ BEGIN IDS_OBJECTS "%d Objects" IDS_OBJECTS_SELECTED "%d Objects Selected" + IDS_TITLE_MYCOMP "내 컴퓨터" + IDS_TITLE_MYNET "내 네트워크 환경" + IDS_TITLE_BIN_1 "Recycle Bin (full)" + IDS_TITLE_BIN_0 "Recycle Bin (empty)" + IDS_ADVANCED_FOLDER "Files and Folders" IDS_ADVANCED_NET_CRAWLER "Automatically search for network folders and printers" IDS_ADVANCED_FOLDER_SIZE_TIP "Display file size information in folder tips" diff --git a/dll/win32/shell32/lang/nl-NL.rc b/dll/win32/shell32/lang/nl-NL.rc index d86abbe3566..d9317f6817d 100644 --- a/dll/win32/shell32/lang/nl-NL.rc +++ b/dll/win32/shell32/lang/nl-NL.rc @@ -980,6 +980,11 @@ BEGIN IDS_OBJECTS "%d Objects" IDS_OBJECTS_SELECTED "%d Objects Selected" + IDS_TITLE_MYCOMP "My Computer" + IDS_TITLE_MYNET "My Network Places" + IDS_TITLE_BIN_1 "Recycle Bin (full)" + IDS_TITLE_BIN_0 "Recycle Bin (empty)" + IDS_ADVANCED_FOLDER "Files and Folders" IDS_ADVANCED_NET_CRAWLER "Automatically search for network folders and printers" IDS_ADVANCED_FOLDER_SIZE_TIP "Display file size information in folder tips" diff --git a/dll/win32/shell32/lang/no-NO.rc b/dll/win32/shell32/lang/no-NO.rc index 7eaca4b45e9..2b389f122bc 100644 --- a/dll/win32/shell32/lang/no-NO.rc +++ b/dll/win32/shell32/lang/no-NO.rc @@ -980,6 +980,11 @@ BEGIN IDS_OBJECTS "%d Objects" IDS_OBJECTS_SELECTED "%d Objects Selected" + IDS_TITLE_MYCOMP "Min datamaskin" + IDS_TITLE_MYNET "Mine nettverkssteder" + IDS_TITLE_BIN_1 "Papirkurv (full)" + IDS_TITLE_BIN_0 "Papirkurv (tom)" + IDS_ADVANCED_FOLDER "Files and Folders" IDS_ADVANCED_NET_CRAWLER "Automatically search for network folders and printers" IDS_ADVANCED_FOLDER_SIZE_TIP "Display file size information in folder tips" diff --git a/dll/win32/shell32/lang/pl-PL.rc b/dll/win32/shell32/lang/pl-PL.rc index dec9704c99b..3163b1d614e 100644 --- a/dll/win32/shell32/lang/pl-PL.rc +++ b/dll/win32/shell32/lang/pl-PL.rc @@ -986,6 +986,11 @@ BEGIN IDS_OBJECTS "Elementów: %d" IDS_OBJECTS_SELECTED "Zaznaczonych elementów: %d" + IDS_TITLE_MYCOMP "Mój komputer" + IDS_TITLE_MYNET "Moje miejsca sieciowe" + IDS_TITLE_BIN_1 "Kosz (pełny)" + IDS_TITLE_BIN_0 "Kosz (pusty)" + IDS_ADVANCED_FOLDER "Pliki i Foldery" IDS_ADVANCED_NET_CRAWLER "Automatycznie wyszukuj foldery sieciowe i drukarki" IDS_ADVANCED_FOLDER_SIZE_TIP "Wyświetl informacje o rozmiarze plików w etykietach folderów" diff --git a/dll/win32/shell32/lang/pt-BR.rc b/dll/win32/shell32/lang/pt-BR.rc index 922a741bb01..e5f662489df 100644 --- a/dll/win32/shell32/lang/pt-BR.rc +++ b/dll/win32/shell32/lang/pt-BR.rc @@ -980,6 +980,11 @@ BEGIN IDS_OBJECTS "%d Objects" IDS_OBJECTS_SELECTED "%d Objects Selected" + IDS_TITLE_MYCOMP "Meu Computador" + IDS_TITLE_MYNET "Meus Locais de Rede" + IDS_TITLE_BIN_1 "Lixeira (cheia)" + IDS_TITLE_BIN_0 "Lixeira (vazia)" + IDS_ADVANCED_FOLDER "Files and Folders" IDS_ADVANCED_NET_CRAWLER "Automatically search for network folders and printers" IDS_ADVANCED_FOLDER_SIZE_TIP "Display file size information in folder tips" diff --git a/dll/win32/shell32/lang/pt-PT.rc b/dll/win32/shell32/lang/pt-PT.rc index 5e2468631f5..69cbe495fdd 100644 --- a/dll/win32/shell32/lang/pt-PT.rc +++ b/dll/win32/shell32/lang/pt-PT.rc @@ -979,6 +979,11 @@ BEGIN IDS_OBJECTS "%d Objetos" IDS_OBJECTS_SELECTED "%d Objectos Seleccionados" + IDS_TITLE_MYCOMP "O Meu Computador" + IDS_TITLE_MYNET "Os Meus Locais da Rede" + IDS_TITLE_BIN_1 "Reciclagem (cheia)" + IDS_TITLE_BIN_0 "Reciclagem (vazia)" + IDS_ADVANCED_FOLDER "Pastas e ficheiros" IDS_ADVANCED_NET_CRAWLER "Pesquisar automaticamente pastas e impressoras de rede" IDS_ADVANCED_FOLDER_SIZE_TIP "Mostrar informações de tamanho de arquivo nas informações de pastas" diff --git a/dll/win32/shell32/lang/ro-RO.rc b/dll/win32/shell32/lang/ro-RO.rc index 52262c0e66e..5dd1b2527de 100644 --- a/dll/win32/shell32/lang/ro-RO.rc +++ b/dll/win32/shell32/lang/ro-RO.rc @@ -982,6 +982,11 @@ BEGIN IDS_OBJECTS "%d Obiecte" IDS_OBJECTS_SELECTED "%d Obiecte selectate" + IDS_TITLE_MYCOMP "Calculatorul meu" + IDS_TITLE_MYNET "Locații în rețea" + IDS_TITLE_BIN_1 "Coșul de gunoi (plin)" + IDS_TITLE_BIN_0 "Coșul de gunoi (gol)" + IDS_ADVANCED_FOLDER "Fișiere și Dosare" IDS_ADVANCED_NET_CRAWLER "Caută automat în rețea dosare și imprimante" IDS_ADVANCED_FOLDER_SIZE_TIP "Afișează dimensiunea fișierulor la indicii de dosar" diff --git a/dll/win32/shell32/lang/ru-RU.rc b/dll/win32/shell32/lang/ru-RU.rc index b25f7e63c0d..7315b78d1ef 100644 --- a/dll/win32/shell32/lang/ru-RU.rc +++ b/dll/win32/shell32/lang/ru-RU.rc @@ -987,6 +987,11 @@ BEGIN IDS_OBJECTS "Объектов: %d" IDS_OBJECTS_SELECTED "Выделено объектов: %d" + IDS_TITLE_MYCOMP "Мой компьютер" + IDS_TITLE_MYNET "Сетевое окружение" + IDS_TITLE_BIN_1 "Корзина (полная)" + IDS_TITLE_BIN_0 "Корзина (пустая)" + IDS_ADVANCED_FOLDER "Файлы и папки" IDS_ADVANCED_NET_CRAWLER "Автоматический поиск сетевых папок и принтеров" IDS_ADVANCED_FOLDER_SIZE_TIP "Отображать сведения о размере файлов в подсказках папок" diff --git a/dll/win32/shell32/lang/sk-SK.rc b/dll/win32/shell32/lang/sk-SK.rc index f880a915846..dc275f972bc 100644 --- a/dll/win32/shell32/lang/sk-SK.rc +++ b/dll/win32/shell32/lang/sk-SK.rc @@ -980,6 +980,11 @@ BEGIN IDS_OBJECTS "%d Objects" IDS_OBJECTS_SELECTED "%d Objects Selected" + IDS_TITLE_MYCOMP "Tento počítač" + IDS_TITLE_MYNET "Miesta v sieti" + IDS_TITLE_BIN_1 "Kôš (plný)" + IDS_TITLE_BIN_0 "Kôš (prázdny)" + IDS_ADVANCED_FOLDER "Files and Folders" IDS_ADVANCED_NET_CRAWLER "Automatically search for network folders and printers" IDS_ADVANCED_FOLDER_SIZE_TIP "Display file size information in folder tips" diff --git a/dll/win32/shell32/lang/sl-SI.rc b/dll/win32/shell32/lang/sl-SI.rc index d2a99c525e6..3cd81c7ecec 100644 --- a/dll/win32/shell32/lang/sl-SI.rc +++ b/dll/win32/shell32/lang/sl-SI.rc @@ -980,6 +980,11 @@ BEGIN IDS_OBJECTS "%d Objects" IDS_OBJECTS_SELECTED "%d Objects Selected" + IDS_TITLE_MYCOMP "My Computer" + IDS_TITLE_MYNET "My Network Places" + IDS_TITLE_BIN_1 "Recycle Bin (full)" + IDS_TITLE_BIN_0 "Recycle Bin (empty)" + IDS_ADVANCED_FOLDER "Files and Folders" IDS_ADVANCED_NET_CRAWLER "Automatically search for network folders and printers" IDS_ADVANCED_FOLDER_SIZE_TIP "Display file size information in folder tips" diff --git a/dll/win32/shell32/lang/sq-AL.rc b/dll/win32/shell32/lang/sq-AL.rc index bb63c6f5f8c..e5ec851050a 100644 --- a/dll/win32/shell32/lang/sq-AL.rc +++ b/dll/win32/shell32/lang/sq-AL.rc @@ -984,6 +984,11 @@ BEGIN IDS_OBJECTS "%d Objects" IDS_OBJECTS_SELECTED "%d Objects Selected" + IDS_TITLE_MYCOMP "Kompjuteri Im" + IDS_TITLE_MYNET "Vendi Rrjetit Tim" + IDS_TITLE_BIN_1 "Plehra (plot)" + IDS_TITLE_BIN_0 "Plehra (bosh)" + IDS_ADVANCED_FOLDER "Files and Folders" IDS_ADVANCED_NET_CRAWLER "Automatically search for network folders and printers" IDS_ADVANCED_FOLDER_SIZE_TIP "Display file size information in folder tips" diff --git a/dll/win32/shell32/lang/sv-SE.rc b/dll/win32/shell32/lang/sv-SE.rc index 5fd6a37ceac..223fb02b50f 100644 --- a/dll/win32/shell32/lang/sv-SE.rc +++ b/dll/win32/shell32/lang/sv-SE.rc @@ -980,6 +980,11 @@ BEGIN IDS_OBJECTS "%d objekt" IDS_OBJECTS_SELECTED "%d markerade objekt" + IDS_TITLE_MYCOMP "Den här datorn" + IDS_TITLE_MYNET "Mina nätverksplatser" + IDS_TITLE_BIN_1 "Papperskorgen (full)" + IDS_TITLE_BIN_0 "Papperskorgen (tom)" + IDS_ADVANCED_FOLDER "Files and Folders" IDS_ADVANCED_NET_CRAWLER "Automatically search for network folders and printers" IDS_ADVANCED_FOLDER_SIZE_TIP "Display file size information in folder tips" diff --git a/dll/win32/shell32/lang/tr-TR.rc b/dll/win32/shell32/lang/tr-TR.rc index aaaf53eabd4..0abbb8380c6 100644 --- a/dll/win32/shell32/lang/tr-TR.rc +++ b/dll/win32/shell32/lang/tr-TR.rc @@ -982,6 +982,11 @@ BEGIN IDS_OBJECTS "%d Nesne" IDS_OBJECTS_SELECTED "%d Nesne Seçili" + IDS_TITLE_MYCOMP "Bilgisayarım" + IDS_TITLE_MYNET "Ağ Bağlantılarım" + IDS_TITLE_BIN_1 "Recycle Bin (full)" + IDS_TITLE_BIN_0 "Recycle Bin (empty)" + IDS_ADVANCED_FOLDER "Dosyalar ve Dizinler" IDS_ADVANCED_NET_CRAWLER "Ağ dizinlerini ve yazıcıları otomatik ara" IDS_ADVANCED_FOLDER_SIZE_TIP "Dizin bilgi kutularında dosya boyutu bilgisini göster" diff --git a/dll/win32/shell32/lang/uk-UA.rc b/dll/win32/shell32/lang/uk-UA.rc index e03599d3be3..8fa830b900c 100644 --- a/dll/win32/shell32/lang/uk-UA.rc +++ b/dll/win32/shell32/lang/uk-UA.rc @@ -980,6 +980,11 @@ BEGIN IDS_OBJECTS "%d об'єктів" IDS_OBJECTS_SELECTED "Обрано %d об'єктів" + IDS_TITLE_MYCOMP "Мій комп'ютер" + IDS_TITLE_MYNET "Мережне оточення" + IDS_TITLE_BIN_1 "Кошик (повний)" + IDS_TITLE_BIN_0 "Кошик (порожній)" + IDS_ADVANCED_FOLDER "Файли та папки" IDS_ADVANCED_NET_CRAWLER "Автоматично знаходити мережеві папки і принтери" IDS_ADVANCED_FOLDER_SIZE_TIP "Показувати розмір файлу в підказках папки" diff --git a/dll/win32/shell32/lang/zh-CN.rc b/dll/win32/shell32/lang/zh-CN.rc index c087fa6c0a4..cef2a4582d9 100644 --- a/dll/win32/shell32/lang/zh-CN.rc +++ b/dll/win32/shell32/lang/zh-CN.rc @@ -990,6 +990,11 @@ BEGIN IDS_OBJECTS "%d 个对象" IDS_OBJECTS_SELECTED "已选中 %d 个对象" + IDS_TITLE_MYCOMP "我的电脑" + IDS_TITLE_MYNET "网上邻居" + IDS_TITLE_BIN_1 "Recycle Bin (full)" + IDS_TITLE_BIN_0 "Recycle Bin (empty)" + IDS_ADVANCED_FOLDER "文件和文件夹" IDS_ADVANCED_NET_CRAWLER "自动搜索网络文件夹和打印机" IDS_ADVANCED_FOLDER_SIZE_TIP "在文件夹提示中显示大小信息" diff --git a/dll/win32/shell32/lang/zh-HK.rc b/dll/win32/shell32/lang/zh-HK.rc index 40cade86f9f..28f0577cb10 100644 --- a/dll/win32/shell32/lang/zh-HK.rc +++ b/dll/win32/shell32/lang/zh-HK.rc @@ -988,6 +988,11 @@ BEGIN IDS_OBJECTS "%d 個物件" IDS_OBJECTS_SELECTED "已選擇 %d 個物件" + IDS_TITLE_MYCOMP "我的電腦" + IDS_TITLE_MYNET "網絡上的芳鄰" + IDS_TITLE_BIN_1 "Recycle Bin (full)" + IDS_TITLE_BIN_0 "Recycle Bin (empty)" + IDS_ADVANCED_FOLDER "檔案和資料夾" IDS_ADVANCED_NET_CRAWLER "自動搜尋網絡資料夾和印表機" IDS_ADVANCED_FOLDER_SIZE_TIP "在資料夾提示中顯示檔案大小的資訊" diff --git a/dll/win32/shell32/lang/zh-TW.rc b/dll/win32/shell32/lang/zh-TW.rc index 648ff9de1b2..371f99222a2 100644 --- a/dll/win32/shell32/lang/zh-TW.rc +++ b/dll/win32/shell32/lang/zh-TW.rc @@ -989,6 +989,11 @@ BEGIN IDS_OBJECTS "%d 個物件" IDS_OBJECTS_SELECTED "已選擇 %d 個物件" + IDS_TITLE_MYCOMP "我的電腦" + IDS_TITLE_MYNET "網路上的芳鄰" + IDS_TITLE_BIN_1 "Recycle Bin (full)" + IDS_TITLE_BIN_0 "Recycle Bin (empty)" + IDS_ADVANCED_FOLDER "檔案和資料夾" IDS_ADVANCED_NET_CRAWLER "自動搜尋網路資料夾和印表機" IDS_ADVANCED_FOLDER_SIZE_TIP "在資料夾提示中顯示檔案大小的資訊" diff --git a/dll/win32/shell32/shresdef.h b/dll/win32/shell32/shresdef.h index b6bb348d2ba..33f7bfe3b2c 100644 --- a/dll/win32/shell32/shresdef.h +++ b/dll/win32/shell32/shresdef.h @@ -271,6 +271,12 @@ #define IDS_OBJECTS 6466 #define IDS_OBJECTS_SELECTED 6477 +/* Desktop icon titles */ +#define IDS_TITLE_MYCOMP 30386 +#define IDS_TITLE_MYNET 30387 +#define IDS_TITLE_BIN_1 30388 +#define IDS_TITLE_BIN_0 30389 + /* Advanced settings */ #define IDS_ADVANCED_FOLDER 30498 #define IDS_ADVANCED_NET_CRAWLER 30509
2 years, 2 months
1
0
0
0
[reactos] 01/01: [NTUSER] Improve IntSetImeHotKey (#4789)
by Katayama Hirofumi MZ
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=39fe905efaa650bf7d15a…
commit 39fe905efaa650bf7d15a75cd77b3daeb5581a16 Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com> AuthorDate: Thu Oct 20 02:57:47 2022 +0900 Commit: GitHub <noreply(a)github.com> CommitDate: Thu Oct 20 02:57:47 2022 +0900 [NTUSER] Improve IntSetImeHotKey (#4789) - Use the LOWORD value for VK_PACKET detection. - IntGetImeHotKeyByKeyAndLang accepts the neutral language identifier (that is zero). CORE-11700 --- win32ss/user/ntuser/ime.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/win32ss/user/ntuser/ime.c b/win32ss/user/ntuser/ime.c index 7f252e36af9..62e71747f50 100644 --- a/win32ss/user/ntuser/ime.c +++ b/win32ss/user/ntuser/ime.c @@ -183,7 +183,7 @@ IntGetImeHotKeyByKeyAndLang(PIMEHOTKEY pList, UINT uModKeys, UINT uLeftRight, continue; LangID = IntGetImeHotKeyLangId(pNode->dwHotKeyId); - if (LangID != TargetLangId) + if (LangID != TargetLangId && LangID != 0) continue; uModifiers = pNode->uModifiers; @@ -358,32 +358,33 @@ IntSetImeHotKey(DWORD dwHotKeyId, UINT uModifiers, UINT uVirtualKey, HKL hKL, DW switch (dwAction) { case SETIMEHOTKEY_DELETE: - pNode = IntGetImeHotKeyById(gpImeHotKeyList, dwHotKeyId); + pNode = IntGetImeHotKeyById(gpImeHotKeyList, dwHotKeyId); /* Find hotkey by ID */ if (!pNode) { ERR("dwHotKeyId: 0x%lX\n", dwHotKeyId); return FALSE; } - IntDeleteImeHotKey(&gpImeHotKeyList, pNode); + IntDeleteImeHotKey(&gpImeHotKeyList, pNode); /* Delete it */ return TRUE; case SETIMEHOTKEY_ADD: - if (uVirtualKey == VK_PACKET) + if (LOWORD(uVirtualKey) == VK_PACKET) /* In case of VK_PACKET */ return FALSE; LangId = IntGetImeHotKeyLangId(dwHotKeyId); if (LangId == LANGID_KOREAN) - return FALSE; + return FALSE; /* Korean can't add IME hotkeys */ + /* Find hotkey by key and language */ pNode = IntGetImeHotKeyByKeyAndLang(gpImeHotKeyList, (uModifiers & MOD_KEYS), (uModifiers & MOD_LEFT_RIGHT), uVirtualKey, LangId); - if (!pNode) - pNode = IntGetImeHotKeyById(gpImeHotKeyList, dwHotKeyId); + if (pNode == NULL) /* If not found */ + pNode = IntGetImeHotKeyById(gpImeHotKeyList, dwHotKeyId); /* Find by ID */ - if (pNode) + if (pNode) /* Already exists */ { pNode->uModifiers = uModifiers; pNode->uVirtualKey = uVirtualKey; @@ -391,23 +392,26 @@ IntSetImeHotKey(DWORD dwHotKeyId, UINT uModifiers, UINT uVirtualKey, HKL hKL, DW return TRUE; } + /* Allocate new hotkey */ pNode = ExAllocatePoolWithTag(PagedPool, sizeof(IMEHOTKEY), USERTAG_IMEHOTKEY); if (!pNode) return FALSE; + /* Populate */ pNode->pNext = NULL; pNode->dwHotKeyId = dwHotKeyId; pNode->uModifiers = uModifiers; pNode->uVirtualKey = uVirtualKey; pNode->hKL = hKL; - IntAddImeHotKey(&gpImeHotKeyList, pNode); + IntAddImeHotKey(&gpImeHotKeyList, pNode); /* Add it */ return TRUE; case SETIMEHOTKEY_INITIALIZE: - IntFreeImeHotKeys(); + IntFreeImeHotKeys(); /* Delete all the IME hotkeys */ return TRUE; default: + ERR("0x%lX\n", dwAction); return FALSE; } }
2 years, 2 months
1
0
0
0
[reactos] 02/02: [PSDK] Add arguments for SearchPathW
by Mark Jansen
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=122423238a2c2c068cd61…
commit 122423238a2c2c068cd6169b6f1d294f2372ae9a Author: Mark Jansen <mark.jansen(a)reactos.org> AuthorDate: Sat Oct 15 12:20:50 2022 +0200 Commit: Mark Jansen <mark.jansen(a)reactos.org> CommitDate: Wed Oct 19 19:39:29 2022 +0200 [PSDK] Add arguments for SearchPathW --- sdk/include/psdk/winbase.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sdk/include/psdk/winbase.h b/sdk/include/psdk/winbase.h index e54e9788303..fea79d7dc83 100644 --- a/sdk/include/psdk/winbase.h +++ b/sdk/include/psdk/winbase.h @@ -3058,7 +3058,14 @@ SearchPathA( _Out_writes_to_opt_(nBufferLength, return + 1) LPSTR lpBuffer, _Out_opt_ LPSTR *lpFilePart); -DWORD WINAPI SearchPathW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*); +DWORD WINAPI +SearchPathW( + _In_opt_ LPCWSTR lpPath, + _In_ LPCWSTR lpFileName, + _In_opt_ LPCWSTR lpExtension, + _In_ DWORD nBufferLength, + _Out_writes_to_opt_(nBufferLength, return +1) LPWSTR lpBuffer, + _Out_opt_ LPWSTR *lpFilePart); BOOL WINAPI SetAclInformation(PACL,PVOID,DWORD,ACL_INFORMATION_CLASS); BOOL WINAPI SetCommBreak(_In_ HANDLE);
2 years, 2 months
1
0
0
0
[reactos] 01/02: [RUNDLL32] Try to resolve the manifest file manually
by Mark Jansen
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8e16f2878906dd332ab6c…
commit 8e16f2878906dd332ab6caa5c597deec14a40363 Author: Mark Jansen <mark.jansen(a)reactos.org> AuthorDate: Sat Oct 15 11:40:22 2022 +0200 Commit: Mark Jansen <mark.jansen(a)reactos.org> CommitDate: Wed Oct 19 19:39:29 2022 +0200 [RUNDLL32] Try to resolve the manifest file manually This fixes f.e. Ctrl+A not working in the Create Shortcut wizard CORE-16669 --- base/system/rundll32/rundll32.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/base/system/rundll32/rundll32.c b/base/system/rundll32/rundll32.c index 23bba1e2539..8c14009e8b9 100644 --- a/base/system/rundll32/rundll32.c +++ b/base/system/rundll32/rundll32.c @@ -337,6 +337,7 @@ int WINAPI _tWinMain( LPTSTR *argv; LPTSTR lptCmdLine,lptDllName,lptFuncName,lptMsgBuffer; + WCHAR ResolvedFile[MAX_PATH + 1] = {0}, *lpManifestName; LPSTR lpFuncName,lpaCmdLine; LPWSTR lpwCmdLine; HMODULE hDll; @@ -386,7 +387,18 @@ int WINAPI _tWinMain( else lptCmdLine = _T(""); - ActCtx.lpSource = lptDllName; + lpManifestName = lptDllName; + if (GetFileAttributesW(lptDllName) == INVALID_FILE_ATTRIBUTES) + { + LPWSTR FilePart = NULL; + if (SearchPathW(NULL, lptDllName, NULL, _countof(ResolvedFile) - 1, ResolvedFile, &FilePart)) + { + lpManifestName = ResolvedFile; + } + } + + // FIXME: If there is a .manifest file next to the input file, we should use that instead! + ActCtx.lpSource = lpManifestName; ActCtx.lpResourceName = (LPCWSTR)123; hActCtx = CreateActCtx(&ActCtx); bActivated = (hActCtx != INVALID_HANDLE_VALUE ? ActivateActCtx(hActCtx, &cookie) : FALSE);
2 years, 2 months
1
0
0
0
[reactos] 01/01: [SHELL32] Fix 'Paste' command in context menu not working
by Mark Jansen
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=0452d3415aa65ae1c2f29…
commit 0452d3415aa65ae1c2f291ec5b22c12d01fecd19 Author: Mark Jansen <mark.jansen(a)reactos.org> AuthorDate: Sat Oct 15 12:32:43 2022 +0200 Commit: Mark Jansen <mark.jansen(a)reactos.org> CommitDate: Wed Oct 19 19:38:33 2022 +0200 [SHELL32] Fix 'Paste' command in context menu not working Bug found by Rosen Iliev --- dll/win32/shell32/CDefaultContextMenu.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dll/win32/shell32/CDefaultContextMenu.cpp b/dll/win32/shell32/CDefaultContextMenu.cpp index 15acfae51a3..ecb456661ae 100644 --- a/dll/win32/shell32/CDefaultContextMenu.cpp +++ b/dll/win32/shell32/CDefaultContextMenu.cpp @@ -1222,7 +1222,7 @@ CDefaultContextMenu::InvokeCommand( if (LocalInvokeInfo.cbSize >= sizeof(CMINVOKECOMMANDINFOEX) && (LocalInvokeInfo.fMask & CMIC_MASK_PTINVOKE)) { - if (FAILED_UNEXPECTEDLY(DataObject_SetOffset(m_pDataObj, &LocalInvokeInfo.ptInvoke))) + if (m_pDataObj && FAILED_UNEXPECTEDLY(DataObject_SetOffset(m_pDataObj, &LocalInvokeInfo.ptInvoke))) { ERR("Unable to add OFFSET to DataObject!\n"); }
2 years, 2 months
1
0
0
0
[reactos] 01/01: [SHELL32] Fix menu item handling
by Mark Jansen
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=5bd86b8487058b7a8d75c…
commit 5bd86b8487058b7a8d75c9dfcbbca861e20cff49 Author: Mark Jansen <mark.jansen(a)reactos.org> AuthorDate: Sun Oct 16 00:51:19 2022 +0200 Commit: Mark Jansen <mark.jansen(a)reactos.org> CommitDate: Wed Oct 19 19:37:41 2022 +0200 [SHELL32] Fix menu item handling This restores the 'properties' functionality on the desktop Bug found by Hervé Poussineau --- dll/win32/shell32/CDefaultContextMenu.cpp | 2 +- dll/win32/shell32/folders/CDesktopFolder.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dll/win32/shell32/CDefaultContextMenu.cpp b/dll/win32/shell32/CDefaultContextMenu.cpp index 10cffcfe4f2..15acfae51a3 100644 --- a/dll/win32/shell32/CDefaultContextMenu.cpp +++ b/dll/win32/shell32/CDefaultContextMenu.cpp @@ -646,7 +646,7 @@ CDefaultContextMenu::QueryContextMenu( QCMINFO qcminfo = {hMenu, IndexMenu, idCmdNext, idCmdLast, NULL}; if (SUCCEEDED(_DoCallback(DFM_MERGECONTEXTMENU, uFlags, &qcminfo))) { - UINT added = idCmdNext - (idCmdFirst + cIds); + UINT added = qcminfo.idCmdFirst - idCmdNext; cIds += added; IndexMenu += added; m_iIdCBFirst = m_iIdSHELast; diff --git a/dll/win32/shell32/folders/CDesktopFolder.cpp b/dll/win32/shell32/folders/CDesktopFolder.cpp index 3e7c3b950e6..8aa1e089fff 100644 --- a/dll/win32/shell32/folders/CDesktopFolder.cpp +++ b/dll/win32/shell32/folders/CDesktopFolder.cpp @@ -860,7 +860,7 @@ HRESULT WINAPI CDesktopFolder::CallBack(IShellFolder *psf, HWND hwndOwner, IData QCMINFO *pqcminfo = (QCMINFO *)lParam; HMENU hpopup = CreatePopupMenu(); _InsertMenuItemW(hpopup, 0, TRUE, 0, MFT_STRING, MAKEINTRESOURCEW(IDS_PROPERTIES), MFS_ENABLED); - Shell_MergeMenus(pqcminfo->hmenu, hpopup, pqcminfo->indexMenu++, pqcminfo->idCmdFirst, pqcminfo->idCmdLast, MM_ADDSEPARATOR); + Shell_MergeMenus(pqcminfo->hmenu, hpopup, pqcminfo->indexMenu, pqcminfo->idCmdFirst++, pqcminfo->idCmdLast, MM_ADDSEPARATOR); DestroyMenu(hpopup); } @@ -887,4 +887,4 @@ HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf) TRACE("-- %p->(%p)\n",psf, *psf); return hres; -} \ No newline at end of file +}
2 years, 2 months
1
0
0
0
[reactos] 01/01: [SYSSETUP] Add support for shortcut arguments
by Mark Jansen
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=7b33915adc92b76c80a97…
commit 7b33915adc92b76c80a97a81899f11a135ed1df4 Author: Mark Jansen <mark.jansen(a)reactos.org> AuthorDate: Sun Sep 26 17:26:03 2021 +0200 Commit: Mark Jansen <mark.jansen(a)reactos.org> CommitDate: Wed Oct 19 19:36:26 2022 +0200 [SYSSETUP] Add support for shortcut arguments --- dll/win32/syssetup/install.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/dll/win32/syssetup/install.c b/dll/win32/syssetup/install.c index 4a89017d5bc..fe2ccf89394 100644 --- a/dll/win32/syssetup/install.c +++ b/dll/win32/syssetup/install.c @@ -121,7 +121,8 @@ CreateShortcut( LPCWSTR pszCommand, LPCWSTR pszDescription, INT iIconNr, - LPCWSTR pszWorkingDir) + LPCWSTR pszWorkingDir, + LPCWSTR pszArgs) { DWORD dwLen; LPWSTR Ptr; @@ -170,7 +171,7 @@ CreateShortcut( /* Create the shortcut */ return SUCCEEDED(CreateShellLink(szPath, pszCommand, - L"", + pszArgs, pszWorkingDir, /* Special value to indicate no icon */ (iIconNr != -1 ? pszCommand : NULL), @@ -188,6 +189,7 @@ static BOOL CreateShortcutsFromSection(HINF hinf, LPWSTR pszSection, LPCWSTR psz WCHAR szName[MAX_PATH]; WCHAR szDescription[MAX_PATH]; WCHAR szDirectory[MAX_PATH]; + WCHAR szArgs[MAX_PATH]; if (!SetupFindFirstLine(hinf, pszSection, NULL, &Context)) return FALSE; @@ -213,9 +215,12 @@ static BOOL CreateShortcutsFromSection(HINF hinf, LPWSTR pszSection, LPCWSTR psz if (dwFieldCount < 5 || !SetupGetStringFieldW(&Context, 5, szDirectory, ARRAYSIZE(szDirectory), NULL)) szDirectory[0] = L'\0'; + if (dwFieldCount < 6 || !SetupGetStringFieldW(&Context, 6, szArgs, ARRAYSIZE(szArgs), NULL)) + szArgs[0] = L'\0'; + wcscat(szName, L".lnk"); - CreateShortcut(pszFolder, szName, szCommand, szDescription, iIconNr, szDirectory); + CreateShortcut(pszFolder, szName, szCommand, szDescription, iIconNr, szDirectory, szArgs); } while (SetupFindNextLine(&Context, &Context));
2 years, 2 months
1
0
0
0
← Newer
1
...
5
6
7
8
9
10
11
...
17
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Results per page:
10
25
50
100
200