Author: frik85
Date: Tue May 13 03:04:59 2008
New Revision: 33491
URL:
http://svn.reactos.org/svn/reactos?rev=33491&view=rev
Log:
improve visual scroll behavior (arrow-up/-down hints) of the generic list (first step
setup)
Modified:
trunk/reactos/base/setup/usetup/genlist.c
Modified: trunk/reactos/base/setup/usetup/genlist.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/genlist.…
==============================================================================
--- trunk/reactos/base/setup/usetup/genlist.c [iso-8859-1] (original)
+++ trunk/reactos/base/setup/usetup/genlist.c [iso-8859-1] Tue May 13 03:04:59 2008
@@ -238,7 +238,25 @@
ListEntry = CONTAINING_RECORD (Entry, GENERIC_LIST_ENTRY, Entry);
if (coPos.Y == GenericList->Bottom)
+ {
+ coPos.X = GenericList->Right - 4;
+ coPos.Y = GenericList->Top;
+ WriteConsoleOutputCharacterA (StdOutput,
+ (LPCTSTR)"(\x18)",
+ 3,
+ coPos,
+ &Written);
+
+ coPos.X = GenericList->Right - 4;
+ coPos.Y = GenericList->Bottom;
+ WriteConsoleOutputCharacterA (StdOutput,
+ (LPCTSTR)"(\x19)",
+ 3,
+ coPos,
+ &Written);
break;
+ }
+
GenericList->LastShown = Entry;
FillConsoleOutputAttribute (StdOutput,
@@ -311,12 +329,26 @@
ScrollDownGenericList (PGENERIC_LIST List)
{
PLIST_ENTRY Entry;
+ COORD coPos;
+ DWORD Written;
if (List->CurrentEntry == NULL)
return;
if (List->CurrentEntry->Entry.Flink != &List->ListHead)
{
+ if (List->LastShown != &List->ListHead)
+ {
+ /* Draw lower edge */
+ coPos.X = List->Left + 1;
+ coPos.Y = List->Bottom;
+ FillConsoleOutputCharacterA (StdOutput,
+ 0xC4, // '-',
+ List->Right - List->Left - 1,
+ coPos,
+ &Written);
+ }
+
Entry = List->CurrentEntry->Entry.Flink;
if (List->LastShown == &List->CurrentEntry->Entry)
{
@@ -333,6 +365,8 @@
ScrollUpGenericList (PGENERIC_LIST List)
{
PLIST_ENTRY Entry;
+ COORD coPos;
+ DWORD Written;
if (List->CurrentEntry == NULL)
return;
@@ -348,6 +382,17 @@
List->CurrentEntry = CONTAINING_RECORD (Entry, GENERIC_LIST_ENTRY, Entry);
DrawListEntries(List);
}
+ else
+ {
+ /* Draw upper edge */
+ coPos.X = List->Left + 1;
+ coPos.Y = List->Top;
+ FillConsoleOutputCharacterA (StdOutput,
+ 0xC4, // '-',
+ List->Right - List->Left - 1,
+ coPos,
+ &Written);
+ }
}