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
May 2017
----- 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
17 participants
288 discussions
Start a n
N
ew thread
[hbelusca] 74504: [CONSOLE.CPL]: Fix the console window preview: - turn it into a custom control; - supports dynamic preview area depending on the actual current monitor screen resolution; (note th...
by hbelusca@svn.reactos.org
Author: hbelusca Date: Mon May 8 17:33:33 2017 New Revision: 74504 URL:
http://svn.reactos.org/svn/reactos?rev=74504&view=rev
Log: [CONSOLE.CPL]: Fix the console window preview: - turn it into a custom control; - supports dynamic preview area depending on the actual current monitor screen resolution; (note that on ReactOS, the WM_DISPLAYCHANGE is not correctly sent, see CORE-13212, therefore this functionality won't show up yet) - supports correct rescaling of the console preview drawn in the preview area; - supports dependence of the console preview with respect to the chosen font character dimensions. The code is there, it may be a little bit improved in the future. CORE-13196 #resolve Other additions: - Add a few space between the console preview text window border and the text sample; - PaintText and PaintStaticControls do not need to return anything. Modified: trunk/reactos/dll/cpl/console/colors.c trunk/reactos/dll/cpl/console/console.c trunk/reactos/dll/cpl/console/console.h trunk/reactos/dll/cpl/console/font.c trunk/reactos/dll/cpl/console/lang/bg-BG.rc trunk/reactos/dll/cpl/console/lang/cs-CZ.rc trunk/reactos/dll/cpl/console/lang/de-DE.rc trunk/reactos/dll/cpl/console/lang/en-US.rc trunk/reactos/dll/cpl/console/lang/es-ES.rc trunk/reactos/dll/cpl/console/lang/fr-FR.rc trunk/reactos/dll/cpl/console/lang/he-IL.rc trunk/reactos/dll/cpl/console/lang/id-ID.rc trunk/reactos/dll/cpl/console/lang/it-IT.rc trunk/reactos/dll/cpl/console/lang/ja-JP.rc trunk/reactos/dll/cpl/console/lang/no-NO.rc trunk/reactos/dll/cpl/console/lang/pl-PL.rc trunk/reactos/dll/cpl/console/lang/pt-BR.rc trunk/reactos/dll/cpl/console/lang/ro-RO.rc trunk/reactos/dll/cpl/console/lang/ru-RU.rc trunk/reactos/dll/cpl/console/lang/sk-SK.rc trunk/reactos/dll/cpl/console/lang/sq-AL.rc trunk/reactos/dll/cpl/console/lang/tr-TR.rc trunk/reactos/dll/cpl/console/lang/uk-UA.rc trunk/reactos/dll/cpl/console/lang/zh-CN.rc trunk/reactos/dll/cpl/console/lang/zh-TW.rc trunk/reactos/dll/cpl/console/layout.c Modified: trunk/reactos/dll/cpl/console/colors.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/colors.c?r…
============================================================================== --- trunk/reactos/dll/cpl/console/colors.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/colors.c [iso-8859-1] Mon May 8 17:33:33 2017 @@ -14,11 +14,10 @@ static DWORD ActiveStaticControl = 0; -static BOOL +static VOID PaintStaticControls( - IN HWND hDlg, - IN PCONSOLE_STATE_INFO pConInfo, - IN LPDRAWITEMSTRUCT drawItem) + IN LPDRAWITEMSTRUCT drawItem, + IN PCONSOLE_STATE_INFO pConInfo) { HBRUSH hBrush; DWORD index; @@ -27,15 +26,13 @@ ARRAYSIZE(pConInfo->ColorTable) - 1); hBrush = CreateSolidBrush(pConInfo->ColorTable[index]); - if (!hBrush) return FALSE; + if (!hBrush) return; FillRect(drawItem->hDC, &drawItem->rcItem, hBrush); DeleteObject(hBrush); if (ActiveStaticControl == index) DrawFocusRect(drawItem->hDC, &drawItem->rcItem); - - return TRUE; } INT_PTR CALLBACK @@ -67,14 +64,14 @@ { LPDRAWITEMSTRUCT drawItem = (LPDRAWITEMSTRUCT)lParam; - if (drawItem->CtlID >= IDC_STATIC_COLOR1 && drawItem->CtlID <= IDC_STATIC_COLOR16) - return PaintStaticControls(hDlg, ConInfo, drawItem); + if (IDC_STATIC_COLOR1 <= drawItem->CtlID && drawItem->CtlID <= IDC_STATIC_COLOR16) + PaintStaticControls(drawItem, ConInfo); else if (drawItem->CtlID == IDC_STATIC_SCREEN_COLOR) - return PaintText(drawItem, ConInfo, Screen); + PaintText(drawItem, ConInfo, Screen); else if (drawItem->CtlID == IDC_STATIC_POPUP_COLOR) - return PaintText(drawItem, ConInfo, Popup); - - break; + PaintText(drawItem, ConInfo, Popup); + + return TRUE; } case WM_NOTIFY: Modified: trunk/reactos/dll/cpl/console/console.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/console.c?…
============================================================================== --- trunk/reactos/dll/cpl/console/console.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/console.c [iso-8859-1] Mon May 8 17:33:33 2017 @@ -256,7 +256,9 @@ InitPropSheetPage(&psp[i++], IDD_PROPPAGECOLORS , ColorsProc ); /* Display the property sheet */ + RegisterWinPrevClass(hApplet); Result = PropertySheetW(&psh); + UnRegisterWinPrevClass(hApplet); /* First cleanup */ if (hCurrentFont) DeleteObject(hCurrentFont); Modified: trunk/reactos/dll/cpl/console/console.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/console.h?…
============================================================================== --- trunk/reactos/dll/cpl/console/console.h [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/console.h [iso-8859-1] Mon May 8 17:33:33 2017 @@ -42,12 +42,17 @@ VOID ApplyConsoleInfo(HWND hwndDlg); -VOID -PaintConsole( - IN LPDRAWITEMSTRUCT drawItem, - IN PCONSOLE_STATE_INFO pConInfo); +/* Preview Windows */ +BOOL +RegisterWinPrevClass( + IN HINSTANCE hInstance); BOOL +UnRegisterWinPrevClass( + IN HINSTANCE hInstance); + + +VOID PaintText( IN LPDRAWITEMSTRUCT drawItem, IN PCONSOLE_STATE_INFO pConInfo, Modified: trunk/reactos/dll/cpl/console/font.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/font.c?rev…
============================================================================== --- trunk/reactos/dll/cpl/console/font.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/font.c [iso-8859-1] Mon May 8 17:33:33 2017 @@ -716,12 +716,18 @@ { LPDRAWITEMSTRUCT drawItem = (LPDRAWITEMSTRUCT)lParam; - if (drawItem->CtlID == IDC_STATIC_FONT_WINDOW_PREVIEW) - PaintConsole(drawItem, ConInfo); - else if (drawItem->CtlID == IDC_STATIC_SELECT_FONT_PREVIEW) + if (drawItem->CtlID == IDC_STATIC_SELECT_FONT_PREVIEW) PaintText(drawItem, ConInfo, Screen); return TRUE; + } + + case WM_DISPLAYCHANGE: + { + /* Retransmit to the preview window */ + SendDlgItemMessageW(hDlg, IDC_STATIC_FONT_WINDOW_PREVIEW, + WM_DISPLAYCHANGE, wParam, lParam); + break; } case WM_NOTIFY: Modified: trunk/reactos/dll/cpl/console/lang/bg-BG.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/bg-BG…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/bg-BG.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/bg-BG.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -35,7 +35,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "ÐÑозоÑеÑен пÑеглед:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "РазмеÑ:", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -58,7 +58,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "ÐÑозоÑеÑен пÑеглед:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "Ð Ð°Ð·Ð¼ÐµÑ Ð½Ð° екÑÐ°Ð½Ð½Ð¸Ñ Ð±ÑÑеÑ", IDC_STATIC, 130, 12, 135, 50 LTEXT "&ШиÑина:", IDC_STATIC, 140, 28, 40, 10 LTEXT "&ÐиÑоÑина:", IDC_STATIC, 140, 46, 39, 10 Modified: trunk/reactos/dll/cpl/console/lang/cs-CZ.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/cs-CZ…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/cs-CZ.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/cs-CZ.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -41,7 +41,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Náhled okna:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "Velikost:", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -64,7 +64,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Náhled okna:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "Velikost pamÄti zobrazenÃ", IDC_STATIC, 130, 12, 115, 50 LTEXT "&Å ÃÅka:", IDC_STATIC, 140, 28, 40, 10 LTEXT "&Výška:", IDC_STATIC, 140, 46, 39, 10 Modified: trunk/reactos/dll/cpl/console/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/de-DE…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/de-DE.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/de-DE.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -37,7 +37,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Fenstervorschau:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "GröÃe:", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -60,7 +60,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Fenstervorschau:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "FensterpuffergröÃe", IDC_STATIC, 130, 15, 115, 40 LTEXT "&Breite:", IDC_STATIC, 135, 30, 25, 10 LTEXT "&Höhe:", IDC_STATIC, 135, 40, 25, 10 Modified: trunk/reactos/dll/cpl/console/lang/en-US.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/en-US…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/en-US.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/en-US.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -35,7 +35,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Window Preview:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "Size:", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -58,7 +58,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Window Preview:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "Screen Buffer Size", IDC_STATIC, 130, 12, 115, 50 LTEXT "&Width:", IDC_STATIC, 140, 28, 40, 10 LTEXT "&Height:", IDC_STATIC, 140, 46, 39, 10 Modified: trunk/reactos/dll/cpl/console/lang/es-ES.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/es-ES…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/es-ES.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/es-ES.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -37,7 +37,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Ventana de Previsualización:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "Tamaño:", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -60,7 +60,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Ventana de Previsualización:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "Tamaño del Búfer de Pantalla", IDC_STATIC, 130, 15, 115, 40 LTEXT "&Anchura:", IDC_STATIC, 135, 30, 25, 10 LTEXT "A<ura:", IDC_STATIC, 135, 40, 25, 10 Modified: trunk/reactos/dll/cpl/console/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/fr-FR…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/fr-FR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/fr-FR.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -37,7 +37,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Fenêtre de Prévisualisation :", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "Taille :", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -60,7 +60,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Fenêtre de Prévisualisation :", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "Taille du buffer de l'écran", IDC_STATIC, 130, 12, 115, 50 LTEXT "&Largeur :", IDC_STATIC, 140, 28, 40, 10 LTEXT "&Hauteur :", IDC_STATIC, 140, 46, 39, 10 Modified: trunk/reactos/dll/cpl/console/lang/he-IL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/he-IL…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/he-IL.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/he-IL.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -37,7 +37,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "תצ××× ×ק××××:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "××××:", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -60,7 +60,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "תצ××× ×ק××××:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "×××× ×ת××× ××ס×", IDC_STATIC, 130, 12, 115, 50 LTEXT "ר×××:", IDC_STATIC, 140, 28, 40, 10 LTEXT "××××:", IDC_STATIC, 140, 46, 39, 10 Modified: trunk/reactos/dll/cpl/console/lang/id-ID.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/id-ID…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/id-ID.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/id-ID.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -37,7 +37,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Tinjauan Jendela:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "Ukuran:", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -60,7 +60,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Tinjauan Jendela:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "Ukuran Bufer Layar", IDC_STATIC, 130, 15, 115, 40 LTEXT "&Panjang:", IDC_STATIC, 135, 30, 25, 10 LTEXT "&Tinggi:", IDC_STATIC, 135, 40, 25, 10 Modified: trunk/reactos/dll/cpl/console/lang/it-IT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/it-IT…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/it-IT.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/it-IT.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -37,7 +37,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Anteprima:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "Dimansione:", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -60,7 +60,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Anteprima:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "Dimensione del buffer dello schermo", IDC_STATIC, 130, 15, 115, 40 LTEXT "&Larghezza:", IDC_STATIC, 135, 30, 25, 10 LTEXT "&Altezza:", IDC_STATIC, 135, 40, 25, 10 Modified: trunk/reactos/dll/cpl/console/lang/ja-JP.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/ja-JP…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/ja-JP.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/ja-JP.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -35,7 +35,7 @@ FONT 9, "MS UI Gothic" BEGIN LTEXT "ã¦ã£ã³ãã¦ã®ãã¬ãã¥ã¼:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "ãµã¤ãº:", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -58,7 +58,7 @@ FONT 9, "MS UI Gothic" BEGIN LTEXT "ã¦ã£ã³ãã¦ã®ãã¬ãã¥ã¼:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "ã¹ã¯ãªã¼ã³ãããã¡ã¼ã®ãµã¤ãº", IDC_STATIC, 130, 12, 115, 50 LTEXT "å¹ (&W):", IDC_STATIC, 140, 28, 40, 10 LTEXT "é«ã(&H):", IDC_STATIC, 140, 46, 39, 10 Modified: trunk/reactos/dll/cpl/console/lang/no-NO.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/no-NO…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/no-NO.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/no-NO.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -35,7 +35,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Vindu forhåndsvisning:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "Størrelse:", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -58,7 +58,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Vindu forhåndsvisning:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "Størrelse på skjermbuffer", IDC_STATIC, 130, 12, 115, 50 LTEXT "&Bredde:", IDC_STATIC, 140, 28, 40, 10 LTEXT "&Høyde:", IDC_STATIC, 140, 46, 39, 10 Modified: trunk/reactos/dll/cpl/console/lang/pl-PL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/pl-PL…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/pl-PL.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/pl-PL.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -42,7 +42,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Okno podglÄ du:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "Rozmiar:", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -65,7 +65,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Okno podglÄ du:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "Rozmiar bufora ekranu", IDC_STATIC, 130, 15, 115, 40 LTEXT "&SzerokoÅÄ:", IDC_STATIC, 135, 30, 25, 10 LTEXT "&WysokoÅÄ:", IDC_STATIC, 135, 40, 25, 10 Modified: trunk/reactos/dll/cpl/console/lang/pt-BR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/pt-BR…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/pt-BR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/pt-BR.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -35,7 +35,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Visualização da janela:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "&Tamanho:", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -58,7 +58,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Visualização da janela:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "Tamanho do buffer de tela", IDC_STATIC, 130, 12, 115, 50 LTEXT "&Largura:", IDC_STATIC, 140, 28, 40, 10 LTEXT "&Altura:", IDC_STATIC, 140, 46, 39, 10 Modified: trunk/reactos/dll/cpl/console/lang/ro-RO.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/ro-RO…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/ro-RO.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/ro-RO.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -44,7 +44,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Previzionare:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "MÄrime:", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -67,7 +67,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Previzionare:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "Dimensiunea textului", IDC_STATIC, 130, 12, 115, 50 LTEXT "&Coloane:", IDC_STATIC, 140, 28, 40, 10 LTEXT "&Rânduri:", IDC_STATIC, 140, 46, 39, 10 Modified: trunk/reactos/dll/cpl/console/lang/ru-RU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/ru-RU…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/ru-RU.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/ru-RU.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -37,7 +37,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Ðкно пÑедпÑоÑмоÑÑа:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "РазмеÑ:", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -60,7 +60,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Ðкно пÑедпÑоÑмоÑÑа:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "Ð Ð°Ð·Ð¼ÐµÑ Ð±ÑÑеÑа ÑкÑана", IDC_STATIC, 130, 12, 115, 50 LTEXT "&ШиÑина:", IDC_STATIC, 140, 28, 40, 10 LTEXT "&ÐÑÑоÑа:", IDC_STATIC, 140, 46, 39, 10 Modified: trunk/reactos/dll/cpl/console/lang/sk-SK.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/sk-SK…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/sk-SK.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/sk-SK.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -39,7 +39,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Ukážka okna:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "Veľkosť:", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -62,7 +62,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Ukážka okna:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "Screen Buffer Size", IDC_STATIC, 130, 12, 115, 50 LTEXT "&Width:", IDC_STATIC, 140, 28, 40, 10 LTEXT "&Height:", IDC_STATIC, 140, 46, 39, 10 Modified: trunk/reactos/dll/cpl/console/lang/sq-AL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/sq-AL…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/sq-AL.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/sq-AL.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -39,7 +39,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Dritare Preview:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "Masë:", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -62,7 +62,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Dritare Preview:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "Masa e Ekranit Buffer", IDC_STATIC, 130, 12, 115, 50 LTEXT "Gjerë:", IDC_STATIC, 140, 28, 40, 10 LTEXT "Gjatë:", IDC_STATIC, 140, 46, 39, 10 Modified: trunk/reactos/dll/cpl/console/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/tr-TR…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/tr-TR.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -37,7 +37,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Pencere Ãn Ä°zlemesi:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "&Boyutlar:", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -60,7 +60,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Pencere Ãn Ä°zlemesi:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "Görüntülük ArabelleÄi Boyutları", IDC_STATIC, 130, 12, 115, 50 LTEXT "&GeniÅlik:", IDC_STATIC, 140, 28, 40, 10 LTEXT "&Yükseklik:", IDC_STATIC, 140, 46, 39, 10 Modified: trunk/reactos/dll/cpl/console/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/uk-UA…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/uk-UA.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/uk-UA.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -37,7 +37,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "ÐÑазок вÑкна:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "Size:", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -60,7 +60,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "ÐÑазок вÑкна:", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "РозмÑÑ Ð±ÑÑеÑа екÑана", IDC_STATIC, 130, 12, 115, 50 LTEXT "&ШиÑина:", IDC_STATIC, 140, 28, 40, 10 LTEXT "&ÐиÑоÑа:", IDC_STATIC, 140, 46, 39, 10 Modified: trunk/reactos/dll/cpl/console/lang/zh-CN.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/zh-CN…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/zh-CN.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/zh-CN.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -37,7 +37,7 @@ FONT 9, "MS Shell Dlg" BEGIN LTEXT "çªå£é¢è§ï¼", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "大å°ï¼", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -60,7 +60,7 @@ FONT 9, "MS Shell Dlg" BEGIN LTEXT "çªå£é¢è§ï¼", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "å±å¹ç¼å²åºå¤§å°", IDC_STATIC, 130, 12, 115, 50 LTEXT "宽(&W)ï¼", IDC_STATIC, 140, 28, 40, 10 LTEXT "é«(&H)ï¼", IDC_STATIC, 140, 46, 39, 10 Modified: trunk/reactos/dll/cpl/console/lang/zh-TW.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/zh-TW…
============================================================================== --- trunk/reactos/dll/cpl/console/lang/zh-TW.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/lang/zh-TW.rc [iso-8859-1] Mon May 8 17:33:33 2017 @@ -37,7 +37,7 @@ FONT 9, "MS Shell Dlg" BEGIN LTEXT "è¦çªé 覽ï¼", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 LTEXT "大å°ï¼", IDC_STATIC, 130, 7, 45, 10 LISTBOX IDC_LBOX_FONTSIZE, 130, 20, 50, 86, LBS_SORT | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_CBOX_FONTSIZE, 130, 20, 30, 86, CBS_SIMPLE | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -60,7 +60,7 @@ FONT 9, "MS Shell Dlg" BEGIN LTEXT "è¦çªé 覽ï¼", IDC_STATIC, 7, 7, 115, 10 - CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 7, 20, 115, 70, WS_EX_CLIENTEDGE + CONTROL "", IDC_STATIC_LAYOUT_WINDOW_PREVIEW, "WinPreview", WS_BORDER | WS_CHILD | WS_VISIBLE, 7, 20, 115, 70 GROUPBOX "è¢å¹ç·©è¡å大å°", IDC_STATIC, 130, 12, 115, 50 LTEXT "寬(&W)ï¼", IDC_STATIC, 140, 28, 40, 10 LTEXT "é«(&H)ï¼", IDC_STATIC, 140, 46, 39, 10 Modified: trunk/reactos/dll/cpl/console/layout.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/layout.c?r…
============================================================================== --- trunk/reactos/dll/cpl/console/layout.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/layout.c [iso-8859-1] Mon May 8 17:33:33 2017 @@ -11,6 +11,448 @@ #define NDEBUG #include <debug.h> + +/* CONSOLE WINDOW PREVIEW Control *********************************************/ + +#define WIN_PREVIEW_CLASS L"WinPreview" + +typedef struct _WINPREV_DATA +{ + HWND hWnd; // The window which this structure refers to + RECT rcMaxArea; // Maximum rectangle in which the preview window can be sized + SIZE siPreview; // Actual size of the preview window + SIZE siVirtScr; // Width and Height of the virtual screen + PVOID pData; // Private data +} WINPREV_DATA, *PWINPREV_DATA; + +static LRESULT CALLBACK +WinPrevProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); + +BOOL +RegisterWinPrevClass( + IN HINSTANCE hInstance) +{ + WNDCLASSW WndClass; + + WndClass.lpszClassName = WIN_PREVIEW_CLASS; + WndClass.lpfnWndProc = WinPrevProc; + WndClass.style = 0; + WndClass.hInstance = hInstance; + WndClass.hIcon = NULL; + WndClass.hCursor = LoadCursorW(NULL, MAKEINTRESOURCEW(IDC_ARROW)); + WndClass.hbrBackground = (HBRUSH)(COLOR_BACKGROUND + 1); + WndClass.lpszMenuName = NULL; + WndClass.cbClsExtra = 0; + WndClass.cbWndExtra = 0; // sizeof(PWINPREV_DATA); + + return (RegisterClassW(&WndClass) != 0); +} + +BOOL +UnRegisterWinPrevClass( + IN HINSTANCE hInstance) +{ + return UnregisterClassW(WIN_PREVIEW_CLASS, hInstance); +} + +static VOID +WinPrev_OnDisplayChange( + IN PWINPREV_DATA pData) +{ + // RECT rcNew; + + pData->siVirtScr.cx = GetSystemMetrics(SM_CXVIRTUALSCREEN); + pData->siVirtScr.cy = GetSystemMetrics(SM_CYVIRTUALSCREEN); + + /* + * The rescaling factor "siPreview / siVirtScr" should be the minimum of the ratios + * pData->rcMaxArea.right / pData->siVirtScr.cx , and + * pData->rcMaxArea.bottom / pData->siVirtScr.cy , + * or equivalently, the maximum of the inverse of these ratios. + * This condition is equivalent to the following inequality being tested. + */ + // if (pData->siVirtScr.cx / pData->rcMaxArea.right >= pData->siVirtScr.cy / pData->rcMaxArea.bottom) + if (pData->siVirtScr.cx * pData->rcMaxArea.bottom >= pData->siVirtScr.cy * pData->rcMaxArea.right) + { + pData->siPreview.cx = MulDiv(pData->siVirtScr.cx, pData->rcMaxArea.right, pData->siVirtScr.cx); + pData->siPreview.cy = MulDiv(pData->siVirtScr.cy, pData->rcMaxArea.right, pData->siVirtScr.cx); + } + else + { + pData->siPreview.cx = MulDiv(pData->siVirtScr.cx, pData->rcMaxArea.bottom, pData->siVirtScr.cy); + pData->siPreview.cy = MulDiv(pData->siVirtScr.cy, pData->rcMaxArea.bottom, pData->siVirtScr.cy); + } + + /* + * Now, the lengths in screen-units can be rescaled into preview-units with: + * MulDiv(cx, pData->siPreview.cx, pData->siVirtScr.cx); + * and: + * MulDiv(cy, pData->siPreview.cy, pData->siVirtScr.cy); + */ + +#if 0 // TODO: Investigate! + /* + * Since both rcMaxArea and siPreview are client window area sizes, + * transform them into window sizes. + */ + SetRect(&rcNew, 0, 0, pData->siPreview.cx, pData->siPreview.cy); + AdjustWindowRect(&rcNew, + WS_BORDER, + // GetWindowLongPtrW(pData->hWnd, GWL_STYLE) & ~WS_OVERLAPPED, + FALSE); + OffsetRect(&rcNew, -rcNew.left, -rcNew.top); + rcNew.right += 2; + rcNew.bottom += 2; +#endif + + SetWindowPos(pData->hWnd, + 0 /* HWND_TOP */, + 0, 0, + pData->siPreview.cx, pData->siPreview.cy, + // rcNew.right, rcNew.bottom, + SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE); +} + +#define RescaleCX(pData, len) \ + MulDiv((len), (pData)->siPreview.cx, (pData)->siVirtScr.cx) + +#define RescaleCY(pData, len) \ + MulDiv((len), (pData)->siPreview.cy, (pData)->siVirtScr.cy) + +#define RescaleRect(pData, rect) \ +do { \ + (rect).left = RescaleCX((pData), (rect).left); \ + (rect).right = RescaleCX((pData), (rect).right); \ + (rect).top = RescaleCY((pData), (rect).top); \ + (rect).bottom = RescaleCY((pData), (rect).bottom); \ +} while (0) + +#if 0 +static VOID +WinPrev_OnSize(VOID) +{ +} +#endif + +static VOID +WinPrev_OnDraw( + IN HDC hDC, + IN PWINPREV_DATA pData) +{ + PCONSOLE_STATE_INFO pConInfo = (PCONSOLE_STATE_INFO)pData->pData; + HBRUSH hBrush; + RECT rcWin, fRect; + SIZE /*siBorder,*/ siFrame, siButton, siScroll; + SIZE resize; + + RECT rcItem; + + GetClientRect(pData->hWnd, &rcItem); + + /* + * Retrieve some system metrics and rescale them. + * They will be added separately, so that to always round the sizes up. + */ + + /* Don't care about border as it is almost always 1 and <= frame size */ + /* Example: Frame = 4, or 13 ... while Border = 1 */ + // siBorder.cx = GetSystemMetrics(SM_CXBORDER); + // siBorder.cy = GetSystemMetrics(SM_CYBORDER); + + /* Window frame size */ + siFrame.cx = GetSystemMetrics(SM_CXFRAME); + if (siFrame.cx > 0) + { + siFrame.cx = RescaleCX(pData, siFrame.cx); + siFrame.cx = max(1, siFrame.cx); + } + siFrame.cy = GetSystemMetrics(SM_CYFRAME); + if (siFrame.cy > 0) + { + siFrame.cy = RescaleCY(pData, siFrame.cy); + siFrame.cy = max(1, siFrame.cy); + } + + /* Window caption buttons */ + siButton.cx = GetSystemMetrics(SM_CXSIZE); + siButton.cx = RescaleCX(pData, siButton.cx); + siButton.cx = max(1, siButton.cx); + + siButton.cy = GetSystemMetrics(SM_CYSIZE); + siButton.cy = RescaleCY(pData, siButton.cy); + siButton.cy = max(1, siButton.cy); + + /* Enlarge them for improving their appearance */ + // siButton.cx *= 2; + siButton.cy *= 2; + + /* Dimensions of the scrollbars */ + siScroll.cx = GetSystemMetrics(SM_CXVSCROLL); + siScroll.cx = RescaleCX(pData, siScroll.cx); + siScroll.cx = max(1, siScroll.cx); + + siScroll.cy = GetSystemMetrics(SM_CYHSCROLL); + siScroll.cy = RescaleCY(pData, siScroll.cy); + siScroll.cy = max(1, siScroll.cy); + + + // FIXME: Use SM_CXMIN, SM_CYMIN ?? + + + /* + * Compute the console window layout + */ + + /* We start with the console client area, rescaled for the preview */ + SetRect(&rcWin, 0, 0, + pConInfo->WindowSize.X * pConInfo->FontSize.X, + pConInfo->WindowSize.Y * pConInfo->FontSize.Y); + RescaleRect(pData, rcWin); + + /* Add the scrollbars if needed (does not account for any frame) */ + if (pConInfo->WindowSize.X < pConInfo->ScreenBufferSize.X) + { + /* Horizontal scrollbar */ + rcWin.bottom += siScroll.cy; + // NOTE: If an additional exterior frame is needed, add +1 + } + else + { + /* No scrollbar */ + siScroll.cy = 0; + } + if (pConInfo->WindowSize.Y < pConInfo->ScreenBufferSize.Y) + { + /* Vertical scrollbar */ + rcWin.right += siScroll.cx; + // NOTE: If an additional exterior frame is needed, add +1 + } + else + { + /* No scrollbar */ + siScroll.cx = 0; + } + + /* Add the title bar, taking into account the frames */ + rcWin.top -= siButton.cy - 1; + + /* If we have a non-zero window frame size, add an interior border and the frame */ + resize.cx = (siFrame.cx > 0 ? 1 + siFrame.cx : 0); + resize.cy = (siFrame.cy > 0 ? 1 + siFrame.cy : 0); + + /* Add the outer border */ + ++resize.cx, ++resize.cy; + + InflateRect(&rcWin, resize.cx, resize.cy); + + /* Finally, move the window rectangle back to its correct origin */ + OffsetRect(&rcWin, -rcWin.left, -rcWin.top); + + if ( pConInfo->WindowPosition.x == MAXDWORD && + pConInfo->WindowPosition.y == MAXDWORD ) + { + // OffsetRect(&rcWin, (rcItem.right - rcItem.left) / 3, (rcItem.bottom - rcItem.top) / 3); + OffsetRect(&rcWin, 0, 0); + } + else + { + OffsetRect(&rcWin, + RescaleCX(pData, pConInfo->WindowPosition.x), + RescaleCY(pData, pConInfo->WindowPosition.y)); + } + + + /* + * Paint the preview window + */ + + /* Fill the background with desktop colour */ + FillRect(hDC, &rcItem, GetSysColorBrush(COLOR_BACKGROUND)); + + /* + * Draw the exterior frame. Use 'FillRect' instead of 'FrameRect' + * so that, when we want to draw frames around other elements, + * we can just instead separate them with space instead of redrawing + * a frame with 'FrameRect'. + */ + FillRect(hDC, &rcWin, GetSysColorBrush(COLOR_WINDOWFRAME)); + InflateRect(&rcWin, -1, -1); + + /* Draw the border */ + hBrush = GetSysColorBrush(COLOR_ACTIVEBORDER); + if (siFrame.cx > 0) + { + SetRect(&fRect, rcWin.left, rcWin.top, rcWin.left + siFrame.cx, rcWin.bottom); + FillRect(hDC, &fRect, hBrush); + SetRect(&fRect, rcWin.right - siFrame.cx, rcWin.top, rcWin.right, rcWin.bottom); + FillRect(hDC, &fRect, hBrush); + + InflateRect(&rcWin, -siFrame.cx, 0); + } + if (siFrame.cy > 0) + { + SetRect(&fRect, rcWin.left, rcWin.top, rcWin.right, rcWin.top + siFrame.cy); + FillRect(hDC, &fRect, hBrush); + SetRect(&fRect, rcWin.left, rcWin.bottom - siFrame.cy, rcWin.right, rcWin.bottom); + FillRect(hDC, &fRect, hBrush); + + InflateRect(&rcWin, 0, -siFrame.cy); + } + + /* Draw the interior frame if we had a border */ + if (siFrame.cx > 0 || siFrame.cy > 0) + { +#if 0 // See the remark above + SetRect(&fRect, rcWin.left, rcWin.top, rcWin.right, rcWin.bottom); + FrameRect(hDC, &fRect, GetSysColorBrush(COLOR_WINDOWFRAME)); +#endif + InflateRect(&rcWin, (siFrame.cx > 0 ? -1 : 0), (siFrame.cy > 0 ? -1 : 0)); + } + + /* Draw the console window title bar */ + hBrush = GetSysColorBrush(COLOR_BTNFACE); + + /* Draw the system menu (left button) */ + SetRect(&fRect, rcWin.left, rcWin.top, rcWin.left + siButton.cx, rcWin.top + siButton.cy - 2); + // DrawFrameControl(hDC, &fRect, DFC_CAPTION, DFCS_CAPTIONCLOSE); + FillRect(hDC, &fRect, hBrush); + fRect.right++; // Separation + + /* Draw the caption bar */ + SetRect(&fRect, fRect.right, fRect.top, rcWin.right - 2 * (siButton.cx + 1), fRect.bottom); + FillRect(hDC, &fRect, GetSysColorBrush(COLOR_ACTIVECAPTION)); + fRect.right++; // Separation + + /* Draw the minimize menu (first right button) */ + SetRect(&fRect, fRect.right, fRect.top, fRect.right + siButton.cx, fRect.bottom); + // DrawFrameControl(hDC, &fRect, DFC_CAPTION, DFCS_CAPTIONMIN); + FillRect(hDC, &fRect, hBrush); + fRect.right++; // Separation + + /* Draw the maximize menu (second right button) */ + SetRect(&fRect, fRect.right, fRect.top, fRect.right + siButton.cx, fRect.bottom); + // DrawFrameControl(hDC, &fRect, DFC_CAPTION, DFCS_CAPTIONMAX); + FillRect(hDC, &fRect, hBrush); + + rcWin.top += siButton.cy - 1; + + /* Add the scrollbars if needed */ + if (siScroll.cy > 0 || siScroll.cx > 0) + { + LONG right, bottom; + + right = rcWin.right; + bottom = rcWin.bottom; + + /* + * If both the horizontal and vertical scrollbars are present, + * reserve some space for the "dead square" at the bottom right. + */ + if (siScroll.cy > 0 && siScroll.cx > 0) + { + right -= (1 + siScroll.cx); + bottom -= (1 + siScroll.cy); + } + + hBrush = GetSysColorBrush(COLOR_SCROLLBAR); + + /* Horizontal scrollbar */ + if (siScroll.cy > 0) + { + SetRect(&fRect, rcWin.left, rcWin.bottom - siScroll.cy, right, rcWin.bottom); + FillRect(hDC, &fRect, hBrush); + } + + /* Vertical scrollbar */ + if (siScroll.cx > 0) + { + SetRect(&fRect, rcWin.right - siScroll.cx, rcWin.top, rcWin.right, bottom); + FillRect(hDC, &fRect, hBrush); + } + + /* + * If both the horizontal and vertical scrollbars are present, + * draw the "dead square" at the bottom right. + */ + if (siScroll.cy > 0 && siScroll.cx > 0) + { + SetRect(&fRect, rcWin.right - siScroll.cx, rcWin.bottom - siScroll.cy, rcWin.right, rcWin.bottom); + FillRect(hDC, &fRect, hBrush); + } + + // NOTE: If an additional exterior frame is needed, remove +1 for each direction + rcWin.right -= siScroll.cx; + rcWin.bottom -= siScroll.cy; + } + + /* Draw the console background */ + hBrush = CreateSolidBrush(pConInfo->ColorTable[BkgdAttribFromAttrib(pConInfo->ScreenAttributes)]); + FillRect(hDC, &rcWin, hBrush); + DeleteObject(hBrush); +} + +static LRESULT CALLBACK +WinPrevProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) +{ + PWINPREV_DATA pData; + + pData = (PWINPREV_DATA)GetWindowLongPtrW(hWnd, GWLP_USERDATA); + + switch (msg) + { + case WM_CREATE: + { + pData = (PWINPREV_DATA)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*pData)); + if (!pData) + { + /* We failed to allocate our private data, halt the window creation */ + return (LRESULT)-1; + } + pData->hWnd = hWnd; + pData->pData = ConInfo; + GetClientRect(pData->hWnd, &pData->rcMaxArea); + // LPCREATESTRUCT::cx and cy give window (not client) size + WinPrev_OnDisplayChange(pData); + SetWindowLongPtrW(hWnd, GWLP_USERDATA, (LONG_PTR)pData); + break; + } + + case WM_DESTROY: + { + if (pData) + HeapFree(GetProcessHeap(), 0, pData); + break; + } + + case WM_DISPLAYCHANGE: + { + WinPrev_OnDisplayChange(pData); + UpdateWindow(hWnd); + // InvalidateRect(hWnd, NULL, FALSE); + break; + } + + case WM_SIZE: + break; + + case WM_ERASEBKGND: + return 1; + + case WM_PAINT: + { + PAINTSTRUCT ps; + BeginPaint(hWnd, &ps); + WinPrev_OnDraw(ps.hdc, pData); + EndPaint(hWnd, &ps); + return 0; + } + } + + return DefWindowProcW(hWnd, msg, wParam, lParam); +} + + +/* CONSOLE TEXT PREVIEW *******************************************************/ const WCHAR szPreviewText[] = L"C:\\ReactOS> dir \n" \ @@ -22,80 +464,7 @@ L"setuplog txt 313 13-04-15 5:00a\n" \ L"win ini 7005 13-04-15 5:00a\n" ; - VOID -PaintConsole( - IN LPDRAWITEMSTRUCT drawItem, - IN PCONSOLE_STATE_INFO pConInfo) -{ - HBRUSH hBrush; - RECT cRect, fRect; - DWORD startx, starty; - DWORD endx, endy; - DWORD sizex, sizey; - - FillRect(drawItem->hDC, &drawItem->rcItem, GetSysColorBrush(COLOR_BACKGROUND)); - - // FIXME: Use: SM_CXSIZE, SM_CYSIZE, SM_CXVSCROLL, SM_CYHSCROLL, SM_CXMIN, SM_CYMIN, SM_CXFRAME, SM_CYFRAME - /* Use it for scaling */ - sizex = drawItem->rcItem.right - drawItem->rcItem.left; - sizey = drawItem->rcItem.bottom - drawItem->rcItem.top ; - - if ( pConInfo->WindowPosition.x == MAXDWORD && - pConInfo->WindowPosition.y == MAXDWORD ) - { - startx = sizex / 3; - starty = sizey / 3; - } - else - { - // TODO: - // Calculate pos correctly when console centered - startx = pConInfo->WindowPosition.x; - starty = pConInfo->WindowPosition.y; - } - - // TODO: - // Stretch console when bold fonts are selected - endx = startx + pConInfo->WindowSize.X; // drawItem->rcItem.right - startx + 15; - endy = starty + pConInfo->WindowSize.Y; // starty + sizey / 3; - - /* Draw console size */ - SetRect(&cRect, startx, starty, endx, endy); - FillRect(drawItem->hDC, &cRect, GetSysColorBrush(COLOR_WINDOWFRAME)); - - /* Draw console border */ - SetRect(&fRect, startx + 1, starty + 1, cRect.right - 1, cRect.bottom - 1); - FrameRect(drawItem->hDC, &fRect, GetSysColorBrush(COLOR_ACTIVEBORDER)); - - /* Draw left box */ - SetRect(&fRect, startx + 3, starty + 3, startx + 5, starty + 5); - FillRect(drawItem->hDC, &fRect, GetSysColorBrush(COLOR_ACTIVEBORDER)); - - /* Draw window title */ - SetRect(&fRect, startx + 7, starty + 3, cRect.right - 9, starty + 5); - FillRect(drawItem->hDC, &fRect, GetSysColorBrush(COLOR_ACTIVECAPTION)); - - /* Draw first right box */ - SetRect(&fRect, fRect.right + 1, starty + 3, fRect.right + 3, starty + 5); - FillRect(drawItem->hDC, &fRect, GetSysColorBrush(COLOR_ACTIVEBORDER)); - - /* Draw second right box */ - SetRect(&fRect, fRect.right + 1, starty + 3, fRect.right + 3, starty + 5); - FillRect(drawItem->hDC, &fRect, GetSysColorBrush(COLOR_ACTIVEBORDER)); - - /* Draw scrollbar */ - SetRect(&fRect, cRect.right - 5, fRect.bottom + 1, cRect.right - 3, cRect.bottom - 3); - FillRect(drawItem->hDC, &fRect, GetSysColorBrush(COLOR_SCROLLBAR)); - - /* Draw console background */ - hBrush = CreateSolidBrush(pConInfo->ColorTable[BkgdAttribFromAttrib(pConInfo->ScreenAttributes)]); - SetRect(&fRect, startx + 3, starty + 6, cRect.right - 6, cRect.bottom - 3); - FillRect(drawItem->hDC, &fRect, hBrush); - DeleteObject(hBrush); -} - -BOOL PaintText( IN LPDRAWITEMSTRUCT drawItem, IN PCONSOLE_STATE_INFO pConInfo, @@ -112,35 +481,38 @@ else if (TextMode == Popup) CurrentAttrib = pConInfo->PopupAttributes; else - return FALSE; + return; nbkColor = pConInfo->ColorTable[BkgdAttribFromAttrib(CurrentAttrib)]; ntColor = pConInfo->ColorTable[TextAttribFromAttrib(CurrentAttrib)]; hBrush = CreateSolidBrush(nbkColor); - if (!hBrush) return FALSE; + if (!hBrush) return; hOldFont = SelectObject(drawItem->hDC, hCurrentFont); //if (hOldFont == NULL) //{ // DeleteObject(hBrush); - // return FALSE; + // return; //} FillRect(drawItem->hDC, &drawItem->rcItem, hBrush); - ptColor = SetTextColor(drawItem->hDC, ntColor); + /* Add a few space between the preview window border and the text sample */ + InflateRect(&drawItem->rcItem, -2, -2); + + ptColor = SetTextColor(drawItem->hDC, ntColor); pbkColor = SetBkColor(drawItem->hDC, nbkColor); - DrawTextW(drawItem->hDC, szPreviewText, wcslen(szPreviewText), &drawItem->rcItem, 0); + DrawTextW(drawItem->hDC, szPreviewText, (INT)wcslen(szPreviewText), &drawItem->rcItem, 0); SetTextColor(drawItem->hDC, ptColor); SetBkColor(drawItem->hDC, pbkColor); SelectObject(drawItem->hDC, hOldFont); - DeleteObject(hBrush); - - return TRUE; } + + +/* LAYOUT DIALOG **************************************************************/ INT_PTR CALLBACK @@ -196,10 +568,12 @@ return TRUE; } - case WM_DRAWITEM: - { - PaintConsole((LPDRAWITEMSTRUCT)lParam, ConInfo); - return TRUE; + case WM_DISPLAYCHANGE: + { + /* Retransmit to the preview window */ + SendDlgItemMessageW(hDlg, IDC_STATIC_LAYOUT_WINDOW_PREVIEW, + WM_DISPLAYCHANGE, wParam, lParam); + break; } case WM_NOTIFY:
7 years, 7 months
1
0
0
0
[hbelusca] 74503: [CONSOLE.CPL]: Minor modifications: - Use "hDlg" (as done in the rest of the code) instead of "hwndDlg"; - Refresh the console window preview whenever a dimension or a position wa...
by hbelusca@svn.reactos.org
Author: hbelusca Date: Mon May 8 17:24:57 2017 New Revision: 74503 URL:
http://svn.reactos.org/svn/reactos?rev=74503&view=rev
Log: [CONSOLE.CPL]: Minor modifications: - Use "hDlg" (as done in the rest of the code) instead of "hwndDlg"; - Refresh the console window preview whenever a dimension or a position was changed. Modified: trunk/reactos/dll/cpl/console/layout.c Modified: trunk/reactos/dll/cpl/console/layout.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/layout.c?r…
============================================================================== --- trunk/reactos/dll/cpl/console/layout.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/layout.c [iso-8859-1] Mon May 8 17:24:57 2017 @@ -144,7 +144,7 @@ INT_PTR CALLBACK -LayoutProc(HWND hwndDlg, +LayoutProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) @@ -158,7 +158,6 @@ LONG cxVirtScr, cyVirtScr; // Width and Height of the virtual screen LONG cxFrame , cyFrame ; // Thickness of the window frame - /* Multi-monitor support */ xVirtScr = GetSystemMetrics(SM_XVIRTUALSCREEN); yVirtScr = GetSystemMetrics(SM_YVIRTUALSCREEN); cxVirtScr = GetSystemMetrics(SM_CXVIRTUALSCREEN); @@ -166,32 +165,32 @@ cxFrame = GetSystemMetrics(SM_CXFRAME); cyFrame = GetSystemMetrics(SM_CYFRAME); - SendDlgItemMessageW(hwndDlg, IDC_UPDOWN_SCREEN_BUFFER_HEIGHT, UDM_SETRANGE, 0, (LPARAM)MAKELONG(9999, 1)); - SendDlgItemMessageW(hwndDlg, IDC_UPDOWN_SCREEN_BUFFER_WIDTH , UDM_SETRANGE, 0, (LPARAM)MAKELONG(9999, 1)); - SendDlgItemMessageW(hwndDlg, IDC_UPDOWN_WINDOW_SIZE_HEIGHT, UDM_SETRANGE, 0, (LPARAM)MAKELONG(9999, 1)); - SendDlgItemMessageW(hwndDlg, IDC_UPDOWN_WINDOW_SIZE_WIDTH , UDM_SETRANGE, 0, (LPARAM)MAKELONG(9999, 1)); - - SetDlgItemInt(hwndDlg, IDC_EDIT_SCREEN_BUFFER_HEIGHT, ConInfo->ScreenBufferSize.Y, FALSE); - SetDlgItemInt(hwndDlg, IDC_EDIT_SCREEN_BUFFER_WIDTH , ConInfo->ScreenBufferSize.X, FALSE); - SetDlgItemInt(hwndDlg, IDC_EDIT_WINDOW_SIZE_HEIGHT, ConInfo->WindowSize.Y, FALSE); - SetDlgItemInt(hwndDlg, IDC_EDIT_WINDOW_SIZE_WIDTH , ConInfo->WindowSize.X, FALSE); - - SendDlgItemMessageW(hwndDlg, IDC_UPDOWN_WINDOW_POS_LEFT, UDM_SETRANGE, 0, + SendDlgItemMessageW(hDlg, IDC_UPDOWN_SCREEN_BUFFER_HEIGHT, UDM_SETRANGE, 0, (LPARAM)MAKELONG(9999, 1)); + SendDlgItemMessageW(hDlg, IDC_UPDOWN_SCREEN_BUFFER_WIDTH , UDM_SETRANGE, 0, (LPARAM)MAKELONG(9999, 1)); + SendDlgItemMessageW(hDlg, IDC_UPDOWN_WINDOW_SIZE_HEIGHT, UDM_SETRANGE, 0, (LPARAM)MAKELONG(9999, 1)); + SendDlgItemMessageW(hDlg, IDC_UPDOWN_WINDOW_SIZE_WIDTH , UDM_SETRANGE, 0, (LPARAM)MAKELONG(9999, 1)); + + SetDlgItemInt(hDlg, IDC_EDIT_SCREEN_BUFFER_HEIGHT, ConInfo->ScreenBufferSize.Y, FALSE); + SetDlgItemInt(hDlg, IDC_EDIT_SCREEN_BUFFER_WIDTH , ConInfo->ScreenBufferSize.X, FALSE); + SetDlgItemInt(hDlg, IDC_EDIT_WINDOW_SIZE_HEIGHT, ConInfo->WindowSize.Y, FALSE); + SetDlgItemInt(hDlg, IDC_EDIT_WINDOW_SIZE_WIDTH , ConInfo->WindowSize.X, FALSE); + + SendDlgItemMessageW(hDlg, IDC_UPDOWN_WINDOW_POS_LEFT, UDM_SETRANGE, 0, (LPARAM)MAKELONG(xVirtScr + cxVirtScr - cxFrame, xVirtScr - cxFrame)); - SendDlgItemMessageW(hwndDlg, IDC_UPDOWN_WINDOW_POS_TOP , UDM_SETRANGE, 0, + SendDlgItemMessageW(hDlg, IDC_UPDOWN_WINDOW_POS_TOP , UDM_SETRANGE, 0, (LPARAM)MAKELONG(yVirtScr + cyVirtScr - cyFrame, yVirtScr - cyFrame)); - SetDlgItemInt(hwndDlg, IDC_EDIT_WINDOW_POS_LEFT, ConInfo->WindowPosition.x, TRUE); - SetDlgItemInt(hwndDlg, IDC_EDIT_WINDOW_POS_TOP , ConInfo->WindowPosition.y, TRUE); + SetDlgItemInt(hDlg, IDC_EDIT_WINDOW_POS_LEFT, ConInfo->WindowPosition.x, TRUE); + SetDlgItemInt(hDlg, IDC_EDIT_WINDOW_POS_TOP , ConInfo->WindowPosition.y, TRUE); if (ConInfo->AutoPosition) { - EnableDlgItem(hwndDlg, IDC_EDIT_WINDOW_POS_LEFT, FALSE); - EnableDlgItem(hwndDlg, IDC_EDIT_WINDOW_POS_TOP , FALSE); - EnableDlgItem(hwndDlg, IDC_UPDOWN_WINDOW_POS_LEFT, FALSE); - EnableDlgItem(hwndDlg, IDC_UPDOWN_WINDOW_POS_TOP , FALSE); + EnableDlgItem(hDlg, IDC_EDIT_WINDOW_POS_LEFT, FALSE); + EnableDlgItem(hDlg, IDC_EDIT_WINDOW_POS_TOP , FALSE); + EnableDlgItem(hDlg, IDC_UPDOWN_WINDOW_POS_LEFT, FALSE); + EnableDlgItem(hDlg, IDC_UPDOWN_WINDOW_POS_TOP , FALSE); } - CheckDlgButton(hwndDlg, IDC_CHECK_SYSTEM_POS_WINDOW, + CheckDlgButton(hDlg, IDC_CHECK_SYSTEM_POS_WINDOW, ConInfo->AutoPosition ? BST_CHECKED : BST_UNCHECKED); return TRUE; @@ -220,7 +219,7 @@ } else { - wwidth = GetDlgItemInt(hwndDlg, IDC_EDIT_WINDOW_SIZE_WIDTH, NULL, FALSE); + wwidth = GetDlgItemInt(hDlg, IDC_EDIT_WINDOW_SIZE_WIDTH, NULL, FALSE); } if (lppsn->hdr.idFrom == IDC_UPDOWN_WINDOW_SIZE_HEIGHT) @@ -229,7 +228,7 @@ } else { - wheight = GetDlgItemInt(hwndDlg, IDC_EDIT_WINDOW_SIZE_HEIGHT, NULL, FALSE); + wheight = GetDlgItemInt(hDlg, IDC_EDIT_WINDOW_SIZE_HEIGHT, NULL, FALSE); } if (lppsn->hdr.idFrom == IDC_UPDOWN_SCREEN_BUFFER_WIDTH) @@ -238,7 +237,7 @@ } else { - swidth = GetDlgItemInt(hwndDlg, IDC_EDIT_SCREEN_BUFFER_WIDTH, NULL, FALSE); + swidth = GetDlgItemInt(hDlg, IDC_EDIT_SCREEN_BUFFER_WIDTH, NULL, FALSE); } if (lppsn->hdr.idFrom == IDC_UPDOWN_SCREEN_BUFFER_HEIGHT) @@ -247,7 +246,7 @@ } else { - sheight = GetDlgItemInt(hwndDlg, IDC_EDIT_SCREEN_BUFFER_HEIGHT, NULL, FALSE); + sheight = GetDlgItemInt(hDlg, IDC_EDIT_SCREEN_BUFFER_HEIGHT, NULL, FALSE); } if (lppsn->hdr.idFrom == IDC_UPDOWN_WINDOW_POS_LEFT) @@ -256,7 +255,7 @@ } else { - left = GetDlgItemInt(hwndDlg, IDC_EDIT_WINDOW_POS_LEFT, NULL, TRUE); + left = GetDlgItemInt(hDlg, IDC_EDIT_WINDOW_POS_LEFT, NULL, TRUE); } if (lppsn->hdr.idFrom == IDC_UPDOWN_WINDOW_POS_TOP) @@ -265,7 +264,7 @@ } else { - top = GetDlgItemInt(hwndDlg, IDC_EDIT_WINDOW_POS_TOP, NULL, TRUE); + top = GetDlgItemInt(hDlg, IDC_EDIT_WINDOW_POS_TOP, NULL, TRUE); } if (lppsn->hdr.idFrom == IDC_UPDOWN_WINDOW_SIZE_WIDTH || lppsn->hdr.idFrom == IDC_UPDOWN_WINDOW_SIZE_HEIGHT) @@ -273,12 +272,12 @@ /* Automatically adjust screen buffer size when window size enlarges */ if (wwidth >= swidth) { - SetDlgItemInt(hwndDlg, IDC_EDIT_SCREEN_BUFFER_WIDTH, wwidth, TRUE); + SetDlgItemInt(hDlg, IDC_EDIT_SCREEN_BUFFER_WIDTH, wwidth, TRUE); swidth = wwidth; } if (wheight >= sheight) { - SetDlgItemInt(hwndDlg, IDC_EDIT_SCREEN_BUFFER_HEIGHT, wheight, TRUE); + SetDlgItemInt(hDlg, IDC_EDIT_SCREEN_BUFFER_HEIGHT, wheight, TRUE); sheight = wheight; } } @@ -292,12 +291,12 @@ /* Automatically adjust window size when screen buffer decreases */ if (wwidth > swidth) { - SetDlgItemInt(hwndDlg, IDC_EDIT_WINDOW_SIZE_WIDTH, swidth, TRUE); + SetDlgItemInt(hDlg, IDC_EDIT_WINDOW_SIZE_WIDTH, swidth, TRUE); wwidth = swidth; } if (wheight > sheight) { - SetDlgItemInt(hwndDlg, IDC_EDIT_WINDOW_SIZE_HEIGHT, sheight, TRUE); + SetDlgItemInt(hDlg, IDC_EDIT_WINDOW_SIZE_HEIGHT, sheight, TRUE); wheight = sheight; } } @@ -308,7 +307,9 @@ ConInfo->WindowSize.Y = (SHORT)wheight; ConInfo->WindowPosition.x = left; ConInfo->WindowPosition.y = top; - PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + + InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_LAYOUT_WINDOW_PREVIEW), NULL, TRUE); + PropSheet_Changed(GetParent(hDlg), hDlg); } break; } @@ -323,8 +324,8 @@ { DWORD swidth, wwidth; - swidth = GetDlgItemInt(hwndDlg, IDC_EDIT_SCREEN_BUFFER_WIDTH, NULL, FALSE); - wwidth = GetDlgItemInt(hwndDlg, IDC_EDIT_WINDOW_SIZE_WIDTH , NULL, FALSE); + swidth = GetDlgItemInt(hDlg, IDC_EDIT_SCREEN_BUFFER_WIDTH, NULL, FALSE); + wwidth = GetDlgItemInt(hDlg, IDC_EDIT_WINDOW_SIZE_WIDTH , NULL, FALSE); /* Be sure that the (new) screen buffer width is in the correct range */ swidth = min(max(swidth, 1), 0xFFFF); @@ -333,12 +334,14 @@ if (wwidth > swidth) { wwidth = swidth; - SetDlgItemInt(hwndDlg, IDC_EDIT_WINDOW_SIZE_WIDTH, wwidth, TRUE); + SetDlgItemInt(hDlg, IDC_EDIT_WINDOW_SIZE_WIDTH, wwidth, TRUE); } ConInfo->ScreenBufferSize.X = (SHORT)swidth; ConInfo->WindowSize.X = (SHORT)wwidth; - PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + + InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_LAYOUT_WINDOW_PREVIEW), NULL, TRUE); + PropSheet_Changed(GetParent(hDlg), hDlg); break; } @@ -346,8 +349,8 @@ { DWORD swidth, wwidth; - swidth = GetDlgItemInt(hwndDlg, IDC_EDIT_SCREEN_BUFFER_WIDTH, NULL, FALSE); - wwidth = GetDlgItemInt(hwndDlg, IDC_EDIT_WINDOW_SIZE_WIDTH , NULL, FALSE); + swidth = GetDlgItemInt(hDlg, IDC_EDIT_SCREEN_BUFFER_WIDTH, NULL, FALSE); + wwidth = GetDlgItemInt(hDlg, IDC_EDIT_WINDOW_SIZE_WIDTH , NULL, FALSE); /* Automatically adjust screen buffer size when window size enlarges */ if (wwidth >= swidth) @@ -357,12 +360,14 @@ /* Be sure that the (new) screen buffer width is in the correct range */ swidth = min(max(swidth, 1), 0xFFFF); - SetDlgItemInt(hwndDlg, IDC_EDIT_SCREEN_BUFFER_WIDTH, swidth, TRUE); + SetDlgItemInt(hDlg, IDC_EDIT_SCREEN_BUFFER_WIDTH, swidth, TRUE); } ConInfo->ScreenBufferSize.X = (SHORT)swidth; ConInfo->WindowSize.X = (SHORT)wwidth; - PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + + InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_LAYOUT_WINDOW_PREVIEW), NULL, TRUE); + PropSheet_Changed(GetParent(hDlg), hDlg); break; } @@ -370,8 +375,8 @@ { DWORD sheight, wheight; - sheight = GetDlgItemInt(hwndDlg, IDC_EDIT_SCREEN_BUFFER_HEIGHT, NULL, FALSE); - wheight = GetDlgItemInt(hwndDlg, IDC_EDIT_WINDOW_SIZE_HEIGHT , NULL, FALSE); + sheight = GetDlgItemInt(hDlg, IDC_EDIT_SCREEN_BUFFER_HEIGHT, NULL, FALSE); + wheight = GetDlgItemInt(hDlg, IDC_EDIT_WINDOW_SIZE_HEIGHT , NULL, FALSE); /* Be sure that the (new) screen buffer width is in the correct range */ sheight = min(max(sheight, 1), 0xFFFF); @@ -380,12 +385,14 @@ if (wheight > sheight) { wheight = sheight; - SetDlgItemInt(hwndDlg, IDC_EDIT_WINDOW_SIZE_HEIGHT, wheight, TRUE); + SetDlgItemInt(hDlg, IDC_EDIT_WINDOW_SIZE_HEIGHT, wheight, TRUE); } ConInfo->ScreenBufferSize.Y = (SHORT)sheight; ConInfo->WindowSize.Y = (SHORT)wheight; - PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + + InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_LAYOUT_WINDOW_PREVIEW), NULL, TRUE); + PropSheet_Changed(GetParent(hDlg), hDlg); break; } @@ -393,8 +400,8 @@ { DWORD sheight, wheight; - sheight = GetDlgItemInt(hwndDlg, IDC_EDIT_SCREEN_BUFFER_HEIGHT, NULL, FALSE); - wheight = GetDlgItemInt(hwndDlg, IDC_EDIT_WINDOW_SIZE_HEIGHT , NULL, FALSE); + sheight = GetDlgItemInt(hDlg, IDC_EDIT_SCREEN_BUFFER_HEIGHT, NULL, FALSE); + wheight = GetDlgItemInt(hDlg, IDC_EDIT_WINDOW_SIZE_HEIGHT , NULL, FALSE); /* Automatically adjust screen buffer size when window size enlarges */ if (wheight >= sheight) @@ -404,21 +411,25 @@ /* Be sure that the (new) screen buffer width is in the correct range */ sheight = min(max(sheight, 1), 0xFFFF); - SetDlgItemInt(hwndDlg, IDC_EDIT_SCREEN_BUFFER_HEIGHT, sheight, TRUE); + SetDlgItemInt(hDlg, IDC_EDIT_SCREEN_BUFFER_HEIGHT, sheight, TRUE); } ConInfo->ScreenBufferSize.Y = (SHORT)sheight; ConInfo->WindowSize.Y = (SHORT)wheight; - PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + + InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_LAYOUT_WINDOW_PREVIEW), NULL, TRUE); + PropSheet_Changed(GetParent(hDlg), hDlg); break; } case IDC_EDIT_WINDOW_POS_LEFT: case IDC_EDIT_WINDOW_POS_TOP: { - ConInfo->WindowPosition.x = GetDlgItemInt(hwndDlg, IDC_EDIT_WINDOW_POS_LEFT, NULL, TRUE); - ConInfo->WindowPosition.y = GetDlgItemInt(hwndDlg, IDC_EDIT_WINDOW_POS_TOP , NULL, TRUE); - PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + ConInfo->WindowPosition.x = GetDlgItemInt(hDlg, IDC_EDIT_WINDOW_POS_LEFT, NULL, TRUE); + ConInfo->WindowPosition.y = GetDlgItemInt(hDlg, IDC_EDIT_WINDOW_POS_TOP , NULL, TRUE); + + InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_LAYOUT_WINDOW_PREVIEW), NULL, TRUE); + PropSheet_Changed(GetParent(hDlg), hDlg); break; } } @@ -427,33 +438,37 @@ if (HIWORD(wParam) == BN_CLICKED && LOWORD(wParam) == IDC_CHECK_SYSTEM_POS_WINDOW) { - if (IsDlgButtonChecked(hwndDlg, IDC_CHECK_SYSTEM_POS_WINDOW) == BST_CHECKED) - { - EnableDlgItem(hwndDlg, IDC_EDIT_WINDOW_POS_LEFT, FALSE); - EnableDlgItem(hwndDlg, IDC_EDIT_WINDOW_POS_TOP , FALSE); - EnableDlgItem(hwndDlg, IDC_UPDOWN_WINDOW_POS_LEFT, FALSE); - EnableDlgItem(hwndDlg, IDC_UPDOWN_WINDOW_POS_TOP , FALSE); + if (IsDlgButtonChecked(hDlg, IDC_CHECK_SYSTEM_POS_WINDOW) == BST_CHECKED) + { + EnableDlgItem(hDlg, IDC_EDIT_WINDOW_POS_LEFT, FALSE); + EnableDlgItem(hDlg, IDC_EDIT_WINDOW_POS_TOP , FALSE); + EnableDlgItem(hDlg, IDC_UPDOWN_WINDOW_POS_LEFT, FALSE); + EnableDlgItem(hDlg, IDC_UPDOWN_WINDOW_POS_TOP , FALSE); ConInfo->AutoPosition = TRUE; // Do not touch ConInfo->WindowPosition !! - PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + + InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_LAYOUT_WINDOW_PREVIEW), NULL, TRUE); + PropSheet_Changed(GetParent(hDlg), hDlg); } else { ULONG left, top; - left = GetDlgItemInt(hwndDlg, IDC_EDIT_WINDOW_POS_LEFT, NULL, TRUE); - top = GetDlgItemInt(hwndDlg, IDC_EDIT_WINDOW_POS_TOP , NULL, TRUE); - - EnableDlgItem(hwndDlg, IDC_EDIT_WINDOW_POS_LEFT, TRUE); - EnableDlgItem(hwndDlg, IDC_EDIT_WINDOW_POS_TOP , TRUE); - EnableDlgItem(hwndDlg, IDC_UPDOWN_WINDOW_POS_LEFT, TRUE); - EnableDlgItem(hwndDlg, IDC_UPDOWN_WINDOW_POS_TOP , TRUE); + left = GetDlgItemInt(hDlg, IDC_EDIT_WINDOW_POS_LEFT, NULL, TRUE); + top = GetDlgItemInt(hDlg, IDC_EDIT_WINDOW_POS_TOP , NULL, TRUE); + + EnableDlgItem(hDlg, IDC_EDIT_WINDOW_POS_LEFT, TRUE); + EnableDlgItem(hDlg, IDC_EDIT_WINDOW_POS_TOP , TRUE); + EnableDlgItem(hDlg, IDC_UPDOWN_WINDOW_POS_LEFT, TRUE); + EnableDlgItem(hDlg, IDC_UPDOWN_WINDOW_POS_TOP , TRUE); ConInfo->AutoPosition = FALSE; ConInfo->WindowPosition.x = left; ConInfo->WindowPosition.y = top; - PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + + InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_LAYOUT_WINDOW_PREVIEW), NULL, TRUE); + PropSheet_Changed(GetParent(hDlg), hDlg); } }
7 years, 7 months
1
0
0
0
[hbelusca] 74502: [CONSOLE.CPL]: Simplify the color selection code by factorizing common parts.
by hbelusca@svn.reactos.org
Author: hbelusca Date: Mon May 8 17:19:07 2017 New Revision: 74502 URL:
http://svn.reactos.org/svn/reactos?rev=74502&view=rev
Log: [CONSOLE.CPL]: Simplify the color selection code by factorizing common parts. Modified: trunk/reactos/dll/cpl/console/colors.c Modified: trunk/reactos/dll/cpl/console/colors.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/colors.c?r…
============================================================================== --- trunk/reactos/dll/cpl/console/colors.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/colors.c [iso-8859-1] Mon May 8 17:19:07 2017 @@ -133,12 +133,34 @@ /* NOTE: both BN_CLICKED and STN_CLICKED == 0 */ if (HIWORD(wParam) == BN_CLICKED || HIWORD(wParam) == STN_CLICKED) { - switch (LOWORD(wParam)) - { - case IDC_RADIO_SCREEN_TEXT: - { - /* Get the color of the screen foreground */ - colorIndex = TextAttribFromAttrib(ConInfo->ScreenAttributes); + if (LOWORD(wParam) == IDC_RADIO_SCREEN_TEXT || + LOWORD(wParam) == IDC_RADIO_SCREEN_BACKGROUND || + LOWORD(wParam) == IDC_RADIO_POPUP_TEXT || + LOWORD(wParam) == IDC_RADIO_POPUP_BACKGROUND) + { + switch (LOWORD(wParam)) + { + case IDC_RADIO_SCREEN_TEXT: + /* Get the colour of the screen foreground */ + colorIndex = TextAttribFromAttrib(ConInfo->ScreenAttributes); + break; + + case IDC_RADIO_SCREEN_BACKGROUND: + /* Get the colour of the screen background */ + colorIndex = BkgdAttribFromAttrib(ConInfo->ScreenAttributes); + break; + + case IDC_RADIO_POPUP_TEXT: + /* Get the colour of the popup foreground */ + colorIndex = TextAttribFromAttrib(ConInfo->PopupAttributes); + break; + + case IDC_RADIO_POPUP_BACKGROUND: + /* Get the colour of the popup background */ + colorIndex = BkgdAttribFromAttrib(ConInfo->PopupAttributes); + break; + } + color = ConInfo->ColorTable[colorIndex]; /* Set the values of the colour indicators */ @@ -149,15 +171,17 @@ InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_COLOR1 + ActiveStaticControl), NULL, TRUE); ActiveStaticControl = colorIndex; InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_COLOR1 + ActiveStaticControl), NULL, TRUE); - InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_SCREEN_COLOR), NULL, TRUE); - InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_POPUP_COLOR) , NULL, TRUE); - break; - } - - case IDC_RADIO_SCREEN_BACKGROUND: - { - /* Get the color of the screen background */ - colorIndex = BkgdAttribFromAttrib(ConInfo->ScreenAttributes); + break; + } + else + if (IDC_STATIC_COLOR1 <= LOWORD(wParam) && LOWORD(wParam) <= IDC_STATIC_COLOR16) + { + colorIndex = LOWORD(wParam) - IDC_STATIC_COLOR1; + + /* If the same static control was re-clicked, don't take it into account */ + if (colorIndex == ActiveStaticControl) + break; + color = ConInfo->ColorTable[colorIndex]; /* Set the values of the colour indicators */ @@ -165,67 +189,6 @@ SetDlgItemInt(hDlg, IDC_EDIT_COLOR_GREEN, GetGValue(color), FALSE); SetDlgItemInt(hDlg, IDC_EDIT_COLOR_BLUE , GetBValue(color), FALSE); - InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_COLOR1 + ActiveStaticControl), NULL, TRUE); - ActiveStaticControl = colorIndex; - InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_COLOR1 + ActiveStaticControl), NULL, TRUE); - InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_SCREEN_COLOR), NULL, TRUE); - InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_POPUP_COLOR) , NULL, TRUE); - break; - } - - case IDC_RADIO_POPUP_TEXT: - { - /* Get the color of the popup foreground */ - colorIndex = TextAttribFromAttrib(ConInfo->PopupAttributes); - color = ConInfo->ColorTable[colorIndex]; - - /* Set the values of the colour indicators */ - SetDlgItemInt(hDlg, IDC_EDIT_COLOR_RED , GetRValue(color), FALSE); - SetDlgItemInt(hDlg, IDC_EDIT_COLOR_GREEN, GetGValue(color), FALSE); - SetDlgItemInt(hDlg, IDC_EDIT_COLOR_BLUE , GetBValue(color), FALSE); - - InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_COLOR1 + ActiveStaticControl), NULL, TRUE); - ActiveStaticControl = colorIndex; - InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_COLOR1 + ActiveStaticControl), NULL, TRUE); - InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_SCREEN_COLOR), NULL, TRUE); - InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_POPUP_COLOR) , NULL, TRUE); - break; - } - - case IDC_RADIO_POPUP_BACKGROUND: - { - /* Get the color of the popup background */ - colorIndex = BkgdAttribFromAttrib(ConInfo->PopupAttributes); - color = ConInfo->ColorTable[colorIndex]; - - /* Set the values of the colour indicators */ - SetDlgItemInt(hDlg, IDC_EDIT_COLOR_RED , GetRValue(color), FALSE); - SetDlgItemInt(hDlg, IDC_EDIT_COLOR_GREEN, GetGValue(color), FALSE); - SetDlgItemInt(hDlg, IDC_EDIT_COLOR_BLUE , GetBValue(color), FALSE); - - InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_COLOR1 + ActiveStaticControl), NULL, TRUE); - ActiveStaticControl = colorIndex; - InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_COLOR1 + ActiveStaticControl), NULL, TRUE); - InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_SCREEN_COLOR), NULL, TRUE); - InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_POPUP_COLOR) , NULL, TRUE); - break; - } - } - - if (IDC_STATIC_COLOR1 <= LOWORD(wParam) && LOWORD(wParam) <= IDC_STATIC_COLOR16) - { - colorIndex = LOWORD(wParam) - IDC_STATIC_COLOR1; - - /* If the same static control was re-clicked, don't take it into account */ - if (colorIndex == ActiveStaticControl) - break; - - color = ConInfo->ColorTable[colorIndex]; - - SetDlgItemInt(hDlg, IDC_EDIT_COLOR_RED , GetRValue(color), FALSE); - SetDlgItemInt(hDlg, IDC_EDIT_COLOR_GREEN, GetGValue(color), FALSE); - SetDlgItemInt(hDlg, IDC_EDIT_COLOR_BLUE , GetBValue(color), FALSE); - if (IsDlgButtonChecked(hDlg, IDC_RADIO_SCREEN_TEXT)) { ConInfo->ScreenAttributes = MakeAttrib(colorIndex, BkgdAttribFromAttrib(ConInfo->ScreenAttributes)); @@ -255,20 +218,37 @@ } else if (HIWORD(wParam) == EN_KILLFOCUS) { - switch (LOWORD(wParam)) - { - case IDC_EDIT_COLOR_RED: - { - DWORD red; - - /* Get the current color */ + if (LOWORD(wParam) == IDC_EDIT_COLOR_RED || + LOWORD(wParam) == IDC_EDIT_COLOR_GREEN || + LOWORD(wParam) == IDC_EDIT_COLOR_BLUE) + { + DWORD value; + + /* Get the current colour */ colorIndex = ActiveStaticControl; color = ConInfo->ColorTable[colorIndex]; - red = GetDlgItemInt(hDlg, IDC_EDIT_COLOR_RED, NULL, FALSE); - red = min(max(red, 0), 255); - - color = RGB(red, GetGValue(color), GetBValue(color)); + /* Modify the colour component */ + switch (LOWORD(wParam)) + { + case IDC_EDIT_COLOR_RED: + value = GetDlgItemInt(hDlg, IDC_EDIT_COLOR_RED, NULL, FALSE); + value = min(max(value, 0), 255); + color = RGB(value, GetGValue(color), GetBValue(color)); + break; + + case IDC_EDIT_COLOR_GREEN: + value = GetDlgItemInt(hDlg, IDC_EDIT_COLOR_GREEN, NULL, FALSE); + value = min(max(value, 0), 255); + color = RGB(GetRValue(color), value, GetBValue(color)); + break; + + case IDC_EDIT_COLOR_BLUE: + value = GetDlgItemInt(hDlg, IDC_EDIT_COLOR_BLUE, NULL, FALSE); + value = min(max(value, 0), 255); + color = RGB(GetRValue(color), GetGValue(color), value); + break; + } ConInfo->ColorTable[colorIndex] = color; InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_COLOR1 + colorIndex), NULL, TRUE); @@ -278,51 +258,6 @@ PropSheet_Changed(GetParent(hDlg), hDlg); break; } - - case IDC_EDIT_COLOR_GREEN: - { - DWORD green; - - /* Get the current color */ - colorIndex = ActiveStaticControl; - color = ConInfo->ColorTable[colorIndex]; - - green = GetDlgItemInt(hDlg, IDC_EDIT_COLOR_GREEN, NULL, FALSE); - green = min(max(green, 0), 255); - - color = RGB(GetRValue(color), green, GetBValue(color)); - - ConInfo->ColorTable[colorIndex] = color; - InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_COLOR1 + colorIndex), NULL, TRUE); - InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_SCREEN_COLOR), NULL, TRUE); - InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_POPUP_COLOR) , NULL, TRUE); - - PropSheet_Changed(GetParent(hDlg), hDlg); - break; - } - - case IDC_EDIT_COLOR_BLUE: - { - DWORD blue; - - /* Get the current color */ - colorIndex = ActiveStaticControl; - color = ConInfo->ColorTable[colorIndex]; - - blue = GetDlgItemInt(hDlg, IDC_EDIT_COLOR_BLUE, NULL, FALSE); - blue = min(max(blue, 0), 255); - - color = RGB(GetRValue(color), GetGValue(color), blue); - - ConInfo->ColorTable[colorIndex] = color; - InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_COLOR1 + colorIndex), NULL, TRUE); - InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_SCREEN_COLOR), NULL, TRUE); - InvalidateRect(GetDlgItem(hDlg, IDC_STATIC_POPUP_COLOR) , NULL, TRUE); - - PropSheet_Changed(GetParent(hDlg), hDlg); - break; - } - } } break;
7 years, 7 months
1
0
0
0
[rnaumann] 74501: [EXPLORER] Addendum to r74500. Those 2 commits belong to CORE-11498
by rnaumann@svn.reactos.org
Author: rnaumann Date: Mon May 8 15:50:07 2017 New Revision: 74501 URL:
http://svn.reactos.org/svn/reactos?rev=74501&view=rev
Log: [EXPLORER] Addendum to r74500. Those 2 commits belong to CORE-11498 Modified: trunk/reactos/base/shell/explorer/settings.cpp Modified: trunk/reactos/base/shell/explorer/settings.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/settin…
============================================================================== --- trunk/reactos/base/shell/explorer/settings.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/settings.cpp [iso-8859-1] Mon May 8 15:50:07 2017 @@ -30,13 +30,13 @@ DWORD dwValue = NULL; LoadSettingDword(szAdvancedSettingsKey, TEXT("TaskbarSizeMove"), dwValue); - TaskBarSettings.bLock = (dwValue != 0) ? TRUE : FALSE; + TaskBarSettings.bLock = (dwValue != 0) ? FALSE : TRUE; LoadSettingDword(szAdvancedSettingsKey, TEXT("ShowSeconds"), dwValue); TaskBarSettings.bShowSeconds = (dwValue != 0) ? TRUE : FALSE; LoadSettingDword(szSettingsKey, TEXT("EnableAutotray"), dwValue); - TaskBarSettings.bHideInactiveIcons = TRUE; + TaskBarSettings.bHideInactiveIcons = (dwValue != 0) ? TRUE : FALSE; LoadSettingDword(szAdvancedSettingsKey, TEXT("TaskbarGlomming"), dwValue); TaskBarSettings.bGroupButtons = (dwValue != 0) ? TRUE : FALSE;
7 years, 7 months
1
0
0
0
[rnaumann] 74500: [EXPLORER] - Load and save "Lock Taskbar", "Hide inactive icons", and "Group similar taskbar buttons". Verified on Win2k3 via "Nirsoft RegFromApp". - use a loader function for reg...
by rnaumann@svn.reactos.org
Author: rnaumann Date: Mon May 8 15:27:33 2017 New Revision: 74500 URL:
http://svn.reactos.org/svn/reactos?rev=74500&view=rev
Log: [EXPLORER] - Load and save "Lock Taskbar", "Hide inactive icons", and "Group similar taskbar buttons". Verified on Win2k3 via "Nirsoft RegFromApp". - use a loader function for registry values. - save the "show seconds" setting together with the other explorer settings instead of a ROS specific key. - Add some documentation comments. Modified: trunk/reactos/base/shell/explorer/precomp.h trunk/reactos/base/shell/explorer/settings.cpp trunk/reactos/base/shell/explorer/trayprop.cpp Modified: trunk/reactos/base/shell/explorer/precomp.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/precom…
============================================================================== --- trunk/reactos/base/shell/explorer/precomp.h [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/precomp.h [iso-8859-1] Mon May 8 15:27:33 2017 @@ -200,6 +200,10 @@ SaveTaskBarSettings(VOID); BOOL +LoadSettingDword(IN LPCWSTR pszKeyName, + IN LPCWSTR pszValueName, + OUT DWORD &dwValue); +BOOL SaveSettingDword(IN LPCWSTR pszKeyName, IN LPCWSTR pszValueName, IN DWORD dwValue); Modified: trunk/reactos/base/shell/explorer/settings.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/settin…
============================================================================== --- trunk/reactos/base/shell/explorer/settings.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/settings.cpp [iso-8859-1] Mon May 8 15:27:33 2017 @@ -21,40 +21,66 @@ #include "precomp.h" TASKBAR_SETTINGS TaskBarSettings; -const WCHAR szAdvancedSettingsKey[] = L"Software\\ReactOS\\Features\\Explorer"; +const WCHAR szSettingsKey[] = L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer"; +const WCHAR szAdvancedSettingsKey[] = L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"; VOID LoadTaskBarSettings(VOID) { - HKEY hKey; - - /* Set defaults */ - TaskBarSettings.bLock = TRUE; + DWORD dwValue = NULL; + + LoadSettingDword(szAdvancedSettingsKey, TEXT("TaskbarSizeMove"), dwValue); + TaskBarSettings.bLock = (dwValue != 0) ? TRUE : FALSE; + + LoadSettingDword(szAdvancedSettingsKey, TEXT("ShowSeconds"), dwValue); + TaskBarSettings.bShowSeconds = (dwValue != 0) ? TRUE : FALSE; + + LoadSettingDword(szSettingsKey, TEXT("EnableAutotray"), dwValue); + TaskBarSettings.bHideInactiveIcons = TRUE; + + LoadSettingDword(szAdvancedSettingsKey, TEXT("TaskbarGlomming"), dwValue); + TaskBarSettings.bGroupButtons = (dwValue != 0) ? TRUE : FALSE; + + TaskBarSettings.bShowQuickLaunch = TRUE; //FIXME: Where is this stored, and how? + + /* FIXME: The following settings are stored in stuckrects2, do they have to be load here too? */ + TaskBarSettings.bShowClock = TRUE; TaskBarSettings.bAutoHide = FALSE; TaskBarSettings.bAlwaysOnTop = FALSE; - TaskBarSettings.bGroupButtons = TRUE; - TaskBarSettings.bShowQuickLaunch = TRUE; - TaskBarSettings.bShowClock = TRUE; - TaskBarSettings.bShowSeconds = FALSE; - TaskBarSettings.bHideInactiveIcons = TRUE; - /* Check registry */ - if (RegOpenKeyW(HKEY_CURRENT_USER, szAdvancedSettingsKey, &hKey) == ERROR_SUCCESS) - { - DWORD dwValue, dwValueLength, dwType; - - dwValueLength = sizeof(dwValue); - if (RegQueryValueExW(hKey, L"ShowSeconds", NULL, &dwType, (PBYTE)&dwValue, &dwValueLength) == ERROR_SUCCESS && dwType == REG_DWORD) - TaskBarSettings.bShowSeconds = dwValue != 0; - - RegCloseKey(hKey); - } } VOID SaveTaskBarSettings(VOID) { + SaveSettingDword(szAdvancedSettingsKey, TEXT("TaskbarSizeMove"), TaskBarSettings.bLock); SaveSettingDword(szAdvancedSettingsKey, TEXT("ShowSeconds"), TaskBarSettings.bShowSeconds); + SaveSettingDword(szSettingsKey, TEXT("EnableAutotray"), TaskBarSettings.bHideInactiveIcons); + SaveSettingDword(szAdvancedSettingsKey, TEXT("TaskbarGlomming"), TaskBarSettings.bGroupButtons); + + /* FIXME: Show Clock, AutoHide and Always on top are stored in the stuckrects2 key but are not written to it with a click on apply. How is this done instead? + AutoHide writes something to HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\Components\0 figure out what and why */ +} + +BOOL +LoadSettingDword(IN LPCWSTR pszKeyName, + IN LPCWSTR pszValueName, + OUT DWORD &dwValue) +{ + BOOL ret = FALSE; + HKEY hKey; + + if (RegOpenKeyW(HKEY_CURRENT_USER, pszKeyName, &hKey) == ERROR_SUCCESS) + { + DWORD dwValueLength, dwType; + + dwValueLength = sizeof(dwValue); + ret = RegQueryValueExW(hKey, pszValueName, NULL, &dwType, (PBYTE)&dwValue, &dwValueLength) == ERROR_SUCCESS && dwType == REG_DWORD; + + RegCloseKey(hKey); + } + + return ret; } BOOL Modified: trunk/reactos/base/shell/explorer/trayprop.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/traypr…
============================================================================== --- trunk/reactos/base/shell/explorer/trayprop.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/trayprop.cpp [iso-8859-1] Mon May 8 15:27:33 2017 @@ -319,7 +319,14 @@ break; case PSN_APPLY: + TaskBarSettings.bLock = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_LOCK); + TaskBarSettings.bAutoHide = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_HIDE); + TaskBarSettings.bAlwaysOnTop = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_ONTOP); + TaskBarSettings.bGroupButtons = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_GROUP); + TaskBarSettings.bShowQuickLaunch = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_SHOWQL); + TaskBarSettings.bShowClock = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_CLOCK); TaskBarSettings.bShowSeconds = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_SECONDS); + TaskBarSettings.bHideInactiveIcons = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_HIDEICONS); SaveTaskBarSettings(); break; }
7 years, 7 months
1
0
0
0
[mjansen] 74499: [WIN32SS] Fix font names not including style info (Bold etc). Patch by Katayama Hirofumi MZ. CORE-12179 #comment Thanks!
by mjansen@svn.reactos.org
Author: mjansen Date: Mon May 8 14:53:30 2017 New Revision: 74499 URL:
http://svn.reactos.org/svn/reactos?rev=74499&view=rev
Log: [WIN32SS] Fix font names not including style info (Bold etc). Patch by Katayama Hirofumi MZ. CORE-12179 #comment Thanks! Modified: trunk/reactos/win32ss/gdi/ntgdi/freetype.c Modified: trunk/reactos/win32ss/gdi/ntgdi/freetype.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/ntgdi/freetype…
============================================================================== --- trunk/reactos/win32ss/gdi/ntgdi/freetype.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/gdi/ntgdi/freetype.c [iso-8859-1] Mon May 8 14:53:30 2017 @@ -1738,6 +1738,10 @@ FillTMEx(TM, FontGDI, pOS2, pHori, pFNT, FALSE); } +static NTSTATUS +IntGetFontLocalizedName(PUNICODE_STRING pNameW, FT_Face Face, + FT_UShort NameID, FT_UShort LangID); + /************************************************************* * IntGetOutlineTextMetrics * @@ -1752,57 +1756,40 @@ TT_HoriHeader *pHori; TT_Postscript *pPost; FT_Fixed XScale, YScale; - ANSI_STRING FamilyNameA, StyleNameA; - UNICODE_STRING FamilyNameW, StyleNameW, Regular; FT_WinFNT_HeaderRec Win; FT_Error Error; char *Cp; - NTSTATUS status; FT_Face Face = FontGDI->SharedFace->Face; + UNICODE_STRING FamilyNameW, FaceNameW, StyleNameW, FullNameW; + + /* family name */ + RtlInitUnicodeString(&FamilyNameW, NULL); + IntGetFontLocalizedName(&FamilyNameW, Face, TT_NAME_ID_FONT_FAMILY, gusLanguageID); + + /* face name */ + RtlInitUnicodeString(&FaceNameW, NULL); + IntGetFontLocalizedName(&FaceNameW, Face, TT_NAME_ID_FULL_NAME, gusLanguageID); + + /* style name */ + RtlInitUnicodeString(&StyleNameW, NULL); + IntGetFontLocalizedName(&StyleNameW, Face, TT_NAME_ID_FONT_SUBFAMILY, gusLanguageID); + + /* unique name (full name) */ + RtlInitUnicodeString(&FullNameW, NULL); + IntGetFontLocalizedName(&FullNameW, Face, TT_NAME_ID_UNIQUE_ID, gusLanguageID); Needed = sizeof(OUTLINETEXTMETRICW); - - RtlInitAnsiString(&FamilyNameA, Face->family_name); - status = RtlAnsiStringToUnicodeString(&FamilyNameW, &FamilyNameA, TRUE); - if (!NT_SUCCESS(status)) - { - return 0; - } - - RtlInitAnsiString(&StyleNameA, Face->style_name); - status = RtlAnsiStringToUnicodeString(&StyleNameW, &StyleNameA, TRUE); - if (!NT_SUCCESS(status)) + Needed += FamilyNameW.Length + sizeof(WCHAR); + Needed += FaceNameW.Length + sizeof(WCHAR); + Needed += StyleNameW.Length + sizeof(WCHAR); + Needed += FullNameW.Length + sizeof(WCHAR); + + if (Size < Needed) { RtlFreeUnicodeString(&FamilyNameW); - return 0; - } - - /* These names should be read from the TT name table */ - - /* Length of otmpFamilyName */ - Needed += FamilyNameW.Length + sizeof(WCHAR); - - RtlInitUnicodeString(&Regular, L"Regular"); - /* Length of otmpFaceName */ - if (RtlEqualUnicodeString(&StyleNameW, &Regular, TRUE)) - { - Needed += FamilyNameW.Length + sizeof(WCHAR); /* Just the family name */ - } - else - { - Needed += FamilyNameW.Length + StyleNameW.Length + (sizeof(WCHAR) << 1); /* family + " " + style */ - } - - /* Length of otmpStyleName */ - Needed += StyleNameW.Length + sizeof(WCHAR); - - /* Length of otmpFullName */ - Needed += FamilyNameW.Length + StyleNameW.Length + (sizeof(WCHAR) << 1); - - if (Size < Needed) - { - RtlFreeUnicodeString(&FamilyNameW); + RtlFreeUnicodeString(&FaceNameW); RtlFreeUnicodeString(&StyleNameW); + RtlFreeUnicodeString(&FullNameW); return Needed; } @@ -1815,8 +1802,10 @@ { IntUnLockFreeType; DPRINT1("Can't find OS/2 table - not TT font?\n"); + RtlFreeUnicodeString(&FamilyNameW); + RtlFreeUnicodeString(&FaceNameW); RtlFreeUnicodeString(&StyleNameW); - RtlFreeUnicodeString(&FamilyNameW); + RtlFreeUnicodeString(&FullNameW); return 0; } @@ -1825,8 +1814,10 @@ { IntUnLockFreeType; DPRINT1("Can't find HHEA table - not TT font?\n"); + RtlFreeUnicodeString(&FamilyNameW); + RtlFreeUnicodeString(&FaceNameW); RtlFreeUnicodeString(&StyleNameW); - RtlFreeUnicodeString(&FamilyNameW); + RtlFreeUnicodeString(&FullNameW); return 0; } @@ -1882,33 +1873,34 @@ IntUnLockFreeType; - /* otmp* members should clearly have type ptrdiff_t, but M$ knows best */ Cp = (char*) Otm + sizeof(OUTLINETEXTMETRICW); + + /* family name */ Otm->otmpFamilyName = (LPSTR)(Cp - (char*) Otm); wcscpy((WCHAR*) Cp, FamilyNameW.Buffer); Cp += FamilyNameW.Length + sizeof(WCHAR); + + /* face name */ + Otm->otmpFaceName = (LPSTR)(Cp - (char*) Otm); + wcscpy((WCHAR*) Cp, FaceNameW.Buffer); + Cp += FaceNameW.Length + sizeof(WCHAR); + + /* style name */ Otm->otmpStyleName = (LPSTR)(Cp - (char*) Otm); wcscpy((WCHAR*) Cp, StyleNameW.Buffer); Cp += StyleNameW.Length + sizeof(WCHAR); - Otm->otmpFaceName = (LPSTR)(Cp - (char*) Otm); - wcscpy((WCHAR*) Cp, FamilyNameW.Buffer); - if (!RtlEqualUnicodeString(&StyleNameW, &Regular, TRUE)) - { - wcscat((WCHAR*) Cp, L" "); - wcscat((WCHAR*) Cp, StyleNameW.Buffer); - Cp += FamilyNameW.Length + StyleNameW.Length + (sizeof(WCHAR) << 1); - } - else - { - Cp += FamilyNameW.Length + sizeof(WCHAR); - } + + /* unique name (full name) */ Otm->otmpFullName = (LPSTR)(Cp - (char*) Otm); - wcscpy((WCHAR*) Cp, FamilyNameW.Buffer); - wcscat((WCHAR*) Cp, L" "); - wcscat((WCHAR*) Cp, StyleNameW.Buffer); - + wcscpy((WCHAR*) Cp, FullNameW.Buffer); + Cp += FullNameW.Length + sizeof(WCHAR); + + ASSERT(Cp - (char*)Otm == Needed); + + RtlFreeUnicodeString(&FamilyNameW); + RtlFreeUnicodeString(&FaceNameW); RtlFreeUnicodeString(&StyleNameW); - RtlFreeUnicodeString(&FamilyNameW); + RtlFreeUnicodeString(&FullNameW); return Needed; } @@ -2099,13 +2091,19 @@ { if (LangID != gusEnglishUS) { + /* Retry with English US */ Status = IntGetFontLocalizedName(pNameW, Face, NameID, gusEnglishUS); } - } - if (Status == STATUS_NOT_FOUND) - { - RtlInitAnsiString(&AnsiName, Face->family_name); - Status = RtlAnsiStringToUnicodeString(pNameW, &AnsiName, TRUE); + else if (NameID == TT_NAME_ID_FONT_SUBFAMILY) + { + RtlInitAnsiString(&AnsiName, Face->style_name); + Status = RtlAnsiStringToUnicodeString(pNameW, &AnsiName, TRUE); + } + else + { + RtlInitAnsiString(&AnsiName, Face->family_name); + Status = RtlAnsiStringToUnicodeString(pNameW, &AnsiName, TRUE); + } } return Status;
7 years, 7 months
1
0
0
0
[tfaber] 74498: [SHELL32] - Avoid leaking the list items on destruction of CEnumIDListBase CORE-13194
by tfaber@svn.reactos.org
Author: tfaber Date: Mon May 8 10:59:27 2017 New Revision: 74498 URL:
http://svn.reactos.org/svn/reactos?rev=74498&view=rev
Log: [SHELL32] - Avoid leaking the list items on destruction of CEnumIDListBase CORE-13194 Modified: trunk/reactos/dll/win32/shell32/CEnumIDListBase.cpp trunk/reactos/dll/win32/shell32/CEnumIDListBase.h Modified: trunk/reactos/dll/win32/shell32/CEnumIDListBase.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/CEnumIDL…
============================================================================== --- trunk/reactos/dll/win32/shell32/CEnumIDListBase.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/CEnumIDListBase.cpp [iso-8859-1] Mon May 8 10:59:27 2017 @@ -22,15 +22,16 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell); -CEnumIDListBase::CEnumIDListBase() -{ - mpFirst = NULL; - mpLast = NULL; - mpCurrent = NULL; +CEnumIDListBase::CEnumIDListBase() : + mpFirst(NULL), + mpLast(NULL), + mpCurrent(NULL) +{ } CEnumIDListBase::~CEnumIDListBase() { + DeleteList(); } /************************************************************************** Modified: trunk/reactos/dll/win32/shell32/CEnumIDListBase.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/CEnumIDL…
============================================================================== --- trunk/reactos/dll/win32/shell32/CEnumIDListBase.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/CEnumIDListBase.h [iso-8859-1] Mon May 8 10:59:27 2017 @@ -33,7 +33,7 @@ ENUMLIST *mpCurrent; public: CEnumIDListBase(); - ~CEnumIDListBase(); + virtual ~CEnumIDListBase(); BOOL AddToEnumList(LPITEMIDLIST pidl); BOOL DeleteList(); BOOL HasItemWithCLSID(LPITEMIDLIST pidl);
7 years, 7 months
1
0
0
0
[tfaber] 74497: [USER32] - Avoid a memory leak in User32EnumWindows in case the window count is zero. CORE-13194
by tfaber@svn.reactos.org
Author: tfaber Date: Mon May 8 08:29:17 2017 New Revision: 74497 URL:
http://svn.reactos.org/svn/reactos?rev=74497&view=rev
Log: [USER32] - Avoid a memory leak in User32EnumWindows in case the window count is zero. CORE-13194 Modified: trunk/reactos/win32ss/user/user32/windows/window.c Modified: trunk/reactos/win32ss/user/user32/windows/window.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/user32/window…
============================================================================== --- trunk/reactos/win32ss/user/user32/windows/window.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/user32/windows/window.c [iso-8859-1] Mon May 8 08:29:17 2017 @@ -674,6 +674,14 @@ if (!NT_SUCCESS(Status)) return FALSE; + if (!dwCount) + { + if (!dwThreadId) + return FALSE; + else + return TRUE; + } + /* allocate buffer to receive HWND handles */ hHeap = GetProcessHeap(); pHwnd = HeapAlloc(hHeap, 0, sizeof(HWND)*(dwCount+1)); @@ -696,14 +704,6 @@ if (pHwnd) HeapFree(hHeap, 0, pHwnd); return FALSE; - } - - if (!dwCount) - { - if (!dwThreadId) - return FALSE; - else - return TRUE; } /* call the user's callback function until we're done or
7 years, 7 months
1
0
0
0
[tfaber] 74496: [NTOS:IO] - Use pool tagging
by tfaber@svn.reactos.org
Author: tfaber Date: Mon May 8 06:54:35 2017 New Revision: 74496 URL:
http://svn.reactos.org/svn/reactos?rev=74496&view=rev
Log: [NTOS:IO] - Use pool tagging Modified: trunk/reactos/ntoskrnl/io/iomgr/driver.c Modified: trunk/reactos/ntoskrnl/io/iomgr/driver.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/driver.c…
============================================================================== --- trunk/reactos/ntoskrnl/io/iomgr/driver.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/io/iomgr/driver.c [iso-8859-1] Mon May 8 06:54:35 2017 @@ -898,7 +898,9 @@ IopDisplayLoadingMessage(ModuleName); InbvIndicateProgress(); - Buffer = ExAllocatePool(PagedPool, ModuleName->Length + sizeof(UNICODE_NULL)); + Buffer = ExAllocatePoolWithTag(PagedPool, + ModuleName->Length + sizeof(UNICODE_NULL), + TAG_IO); if (Buffer == NULL) { return STATUS_INSUFFICIENT_RESOURCES; @@ -924,7 +926,7 @@ * Strip the file extension from ServiceName */ Success = RtlCreateUnicodeString(&ServiceName, FileNameWithoutPath); - ExFreePool(Buffer); + ExFreePoolWithTag(Buffer, TAG_IO); if (!Success) { return STATUS_INSUFFICIENT_RESOURCES; @@ -1284,7 +1286,9 @@ */ ObjectName.Length = ((USHORT)wcslen(Start) + 8) * sizeof(WCHAR); ObjectName.MaximumLength = ObjectName.Length + sizeof(WCHAR); - ObjectName.Buffer = ExAllocatePool(PagedPool, ObjectName.MaximumLength); + ObjectName.Buffer = ExAllocatePoolWithTag(PagedPool, + ObjectName.MaximumLength, + TAG_IO); if (!ObjectName.Buffer) return STATUS_INSUFFICIENT_RESOURCES; wcscpy(ObjectName.Buffer, DRIVER_ROOT_NAME); memcpy(ObjectName.Buffer + 8, Start, ObjectName.Length - 8 * sizeof(WCHAR)); @@ -1305,12 +1309,12 @@ if (!NT_SUCCESS(Status)) { DPRINT1("Can't locate driver object for %wZ\n", &ObjectName); - ExFreePool(ObjectName.Buffer); + ExFreePoolWithTag(ObjectName.Buffer, TAG_IO); return Status; } /* Free the buffer for driver object name */ - ExFreePool(ObjectName.Buffer); + ExFreePoolWithTag(ObjectName.Buffer, TAG_IO); /* Check that driver is not already unloading */ if (DriverObject->Flags & DRVO_UNLOAD_INVOKED)
7 years, 7 months
1
0
0
0
[hbelusca] 74495: [NTOS]: Addendums to r74491 and r74493: - Free the FullServiceName buffer if PnpRootCreateDevice failed (erroneously committed in r74494, see pnpmgr.c line 1080); - No need to clo...
by hbelusca@svn.reactos.org
Author: hbelusca Date: Mon May 8 00:58:45 2017 New Revision: 74495 URL:
http://svn.reactos.org/svn/reactos?rev=74495&view=rev
Log: [NTOS]: Addendums to r74491 and r74493: - Free the FullServiceName buffer if PnpRootCreateDevice failed (erroneously committed in r74494, see pnpmgr.c line 1080); - No need to close InstanceHandle if the IopCreateDeviceKeyPath call failed, since in this case the registry handle wasn't opened. CORE-13207 - Don't assert on Buffer allocation but return a proper failure code in case of failure. CORE-13208 These are suggestions from Serge Gautherie + Lesan Ilie. - Add a forgotten ZwClose call in the success code path of IopCreateDeviceKeyPath in IopQueryDeviceCapabilities (by me). Modified: trunk/reactos/ntoskrnl/io/iomgr/driver.c trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c Modified: trunk/reactos/ntoskrnl/io/iomgr/driver.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/driver.c…
============================================================================== --- trunk/reactos/ntoskrnl/io/iomgr/driver.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/io/iomgr/driver.c [iso-8859-1] Mon May 8 00:58:45 2017 @@ -899,7 +899,10 @@ InbvIndicateProgress(); Buffer = ExAllocatePool(PagedPool, ModuleName->Length + sizeof(UNICODE_NULL)); - ASSERT(Buffer); + if (Buffer == NULL) + { + return STATUS_INSUFFICIENT_RESOURCES; + } RtlCopyMemory(Buffer, ModuleName->Buffer, ModuleName->Length); Buffer[ModuleName->Length / sizeof(WCHAR)] = UNICODE_NULL; Modified: trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.…
============================================================================== --- trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c [iso-8859-1] Mon May 8 00:58:45 2017 @@ -892,6 +892,8 @@ &DeviceCaps->UINumber, sizeof(ULONG)); } + + ZwClose(InstanceKey); } return Status; @@ -1086,7 +1088,6 @@ Status = IopCreateDeviceKeyPath(&Node->InstancePath, REG_OPTION_VOLATILE, &InstanceHandle); if (!NT_SUCCESS(Status)) { - ZwClose(InstanceHandle); ExFreePool(FullServiceName.Buffer); ExFreePoolWithTag(Node, TAG_IO_DEVNODE); return Status;
7 years, 7 months
1
0
0
0
← Newer
1
...
20
21
22
23
24
25
26
...
29
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Results per page:
10
25
50
100
200