瀏覽代碼

Refactoring

(in anticipation of configurable item background color)

Source commit: e6fdf91c68922ec796533af53604f0b6389a33ff
Martin Prikryl 7 年之前
父節點
當前提交
1b0f8b8348
共有 1 個文件被更改,包括 16 次插入16 次删除
  1. 16 16
      source/packages/filemng/CustomDirView.pas

+ 16 - 16
source/packages/filemng/CustomDirView.pas

@@ -324,6 +324,7 @@ type
     procedure Load(DoFocusSomething: Boolean); virtual;
     procedure NeedImageLists(Recreate: Boolean);
     procedure FreeImageLists;
+    procedure DoCustomDrawItem(Item: TListItem; Stage: TCustomDrawStage);
     property ImageList16: TImageList read FImageList16;
     property ImageList32: TImageList read FImageList32;
   public
@@ -1203,33 +1204,32 @@ begin
 end;
 
 
-function TCustomDirView.CustomDrawItem(Item: TListItem; State: TCustomDrawState;
-  Stage: TCustomDrawStage): Boolean;
+procedure TCustomDirView.DoCustomDrawItem(Item: TListItem; Stage: TCustomDrawStage);
 var
-  FItemColor: TColor;
+  Color: TColor;
 begin
   if (Item <> nil) and (Stage = cdPrePaint) then
   begin
-    FItemColor := ItemColor(Item);
-    if (FItemColor <> clDefaultItemColor) and
-       (Canvas.Font.Color <> FItemColor) then
-         Canvas.Font.Color := FItemColor;
+    Color := ItemColor(Item);
+    if (Color <> clDefaultItemColor) and
+       (Canvas.Font.Color <> Color) then
+    begin
+      Canvas.Font.Color := Color;
+    end;
   end;
+end;
+
+function TCustomDirView.CustomDrawItem(Item: TListItem; State: TCustomDrawState;
+  Stage: TCustomDrawStage): Boolean;
+begin
+  DoCustomDrawItem(Item, Stage);
   Result := inherited CustomDrawItem(Item, State, Stage);
 end;
 
 function TCustomDirView.CustomDrawSubItem(Item: TListItem; SubItem: Integer;
   State: TCustomDrawState; Stage: TCustomDrawStage): Boolean;
-var
-  FItemColor: TColor;
 begin
-  if Stage = cdPrePaint then
-  begin
-    FItemColor := ItemColor(Item);
-    if (FItemColor <> clDefaultItemColor) and
-       (Canvas.Font.Color <> FItemColor) then
-         Canvas.Font.Color := FItemColor;
-  end;
+  DoCustomDrawItem(Item, Stage);
   Result := inherited CustomDrawSubItem(Item, SubItem, State, Stage);
 end;