git-svn-id: https://svn.code.sf.net/p/kolmck/code@94 91bb2d04-0c0c-4d2d-88a5-bbb6f4c1fa07
This commit is contained in:
dkolmck
2010-12-07 09:58:59 +00:00
parent 60caec3b22
commit cba2748735
3 changed files with 22 additions and 14 deletions

22
KOL.pas
View File

@@ -14,7 +14,7 @@
Key Objects Library (C) 2000 by Kladov Vladimir.
****************************************************************
* VERSION 3.00.Z8
* VERSION 3.00.Z9
****************************************************************
K.O.L. - is a set of objects to create small programs
@@ -12352,7 +12352,7 @@ type
of object;
TSortDirRules = ( sdrNone, sdrFoldersFirst, sdrCaseSensitive, sdrByName, sdrByExt,
sdrBySize, sdrBySizeDescending, sdrByDateCreate, sdrByDateChanged,
sdrByDateAccessed );
sdrByDateAccessed, sdrInvertOrder );
{* List of rules (options) to sort directories. Rules are passed to Sort
method in an array, and first placed rules are applied first. }
@@ -24772,8 +24772,8 @@ var FOS : {$IFDEF UNICODE_CTRLS}TSHFileOpStructW{$ELSE}TSHFileOpStruct{$ENDIF};
ToList0: KOLString;
begin
L := Length( FromList );
Buf := AllocMem( L+2 );
Move( FromList[ 1 ], Buf^, L );
Buf := AllocMem( (L+2) * Sizeof( KOLChar ) );
Move( FromList[ 1 ], Buf^, L * Sizeof( KOLChar ) );
for L := L downto 0 do
if Buf[ L ] = FileOpSeparator then Buf[ L ] := #0;
//FillChar( FOS, Sizeof( FOS ), #0 );
@@ -24783,7 +24783,7 @@ begin
FOS.wFunc := FileOp;
FOS.lpszProgressTitle := Title;
FOS.pFrom := Buf;
ToList0 := ToList0 + #0;
ToList0 := ToList + #0;
FOS.pTo := PKOLChar( ToList0 );
FOS.fFlags := Flags;
FOS.fAnyOperationsAborted := True;
@@ -25436,8 +25436,8 @@ type
PSortDirData = ^TSortDirData;
TSortDirData = packed Record
CountRules: Integer;
FoldersFirst, CaseSensitive : Boolean;
Rules : array[ 0..9 ] of TSortDirRules;
FoldersFirst, CaseSensitive, InvertSortOrder : Boolean;
Rules : array[ 0..10 ] of TSortDirRules;
Dir : PDirList;
end;
@@ -25564,6 +25564,8 @@ begin
end; {case}
if Result <> 0 then break;
end;
if Data.InvertSortOrder then
Result := -Result;
end;
{$IFDEF ASM_VERSION}
@@ -25689,12 +25691,14 @@ var SortDirData : TSortDirData;
procedure AddRule( Rule : TSortDirRules );
begin
if Rule in [sdrFoldersFirst, sdrCaseSensitive] then
if Rule in [sdrFoldersFirst, sdrCaseSensitive, sdrInvertOrder] then
begin
if Rule = sdrFoldersFirst then
SortDirData.FoldersFirst := TRUE;
if Rule = sdrCaseSensitive then
SortDirData.CaseSensitive := TRUE;
if Rule = sdrInvertOrder then
SortDirData.InvertSortOrder := TRUE;
Exit;
end;
{$IFDEF SAFE_CODE}
@@ -53561,7 +53565,7 @@ var Pos : DWORD;
begin
//Exit;
{$IFDEF FILL_BROKEN_BITMAP}
ZeroMemory( Pointer( Integer( fDIBBits ) + i )^, Size - i );
ZeroMemory( Pointer( Integer( fDIBBits ) + i ), Size - i );
{$ENDIF FILL_BROKEN_BITMAP}
end;
end

View File

@@ -2,8 +2,7 @@ unit KOLDirDlgEx;
interface
uses
Windows, Messages, KOL {$IFDEF USE_GRUSH}, ToGrush, KOLGRushControls {$ENDIF};
uses Windows, Messages, KOL {$IFDEF USE_GRUSH}, ToGrush, KOLGRushControls {$ENDIF};
{$I KOLDEF.INC}
@@ -451,7 +450,7 @@ begin
DTSubPanel.SetAlign( caClient );
DirTree := NewTreeView( DTSubPanel, [ tvoLinesRoot ], Sysimages, nil );
{$IFNDEF DIRDLGEX_NO_DBLCLK_ON_NODE_OK}
DirTree.OnMouseDblClk := DoubleClick;
//DirTree.OnMouseDblClk := DoubleClick;
{$ENDIF}
DirTree.Color := clWindow;
DirTree.OnTVExpanding := DoExpanding;
@@ -508,6 +507,11 @@ begin
end;
{$ENDIF USE_GRUSH}
end;
{$IFNDEF DIRDLGEX_NO_DBLCLK_ON_NODE_OK}
DirTree.OnMouseDblClk := DoubleClick;
{$ENDIF}
end;
{$IFDEF DIRDLGEX_LINKSPANEL}

View File

@@ -1,6 +1,6 @@
//------------------------------------------------------------------------------
// KOL_ASM.inc ()to be inlude in KOL.pas)
// v 3.00.z6
// v 3.00.z9
function MsgBox( const S: KOLString; Flags: DWORD ): DWORD;
asm
@@ -7545,7 +7545,7 @@ asm //cmd //opd
JE @@ret0
{$IFDEF USE_FLAGS}
TEST [EAX].fFlagsG6, 1 shl G6_KeyPreview
TEST [EAX].TControl.fFlagsG6, 1 shl G6_KeyPreview
{$ELSE}
CMP [EAX].fKeyPreview, 0
{$ENDIF}