Selaa lähdekoodia

Fix use of light images in dark mode in a few places. Missed then when full dark mode support was added to the IDE. Extra cleanup: Add property getter for the other lists as well.

Martijn Laan 1 päivä sitten
vanhempi
sitoutus
d31fba34a9

+ 41 - 6
Projects/Src/IDE.ImagesModule.pas

@@ -8,12 +8,21 @@ uses
 
 type
   TImagesModule = class(TDataModule)
-    LightBuildImageList: TImageList;
-    DarkBuildImageList: TImageList;
-    LightToolBarImageCollection: TImageCollection;
-    DarkToolBarImageCollection: TImageCollection;
-    LightMarkersAndACImageCollection: TImageCollection;
-    DarkMarkersAndACImageCollection: TImageCollection;
+    private
+      function GetBuildImageList(Dark: Boolean): TImageList;
+      function GetMarkersAndACImageCollection(Dark: Boolean): TImageCollection;
+      function GetToolbarImageCollection(Dark: Boolean): TImageCollection;
+    public
+      property BuildImageList[Dark: Boolean]: TImageList read GetBuildImageList;
+      property ToolBarImageCollection[Dark: Boolean]: TImageCollection read GetToolbarImageCollection;
+      property MarkersAndACImageCollection[Dark: Boolean]: TImageCollection read GetMarkersAndACImageCollection;
+    published
+      LightBuildImageList: TImageList;
+      DarkBuildImageList: TImageList;
+      LightToolBarImageCollection: TImageCollection;
+      DarkToolBarImageCollection: TImageCollection;
+      LightMarkersAndACImageCollection: TImageCollection;
+      DarkMarkersAndACImageCollection: TImageCollection;
   end;
 
 var
@@ -25,4 +34,30 @@ implementation
 
 {$R *.dfm}
 
+{ TImagesModule }
+
+function TImagesModule.GetBuildImageList(Dark: Boolean): TImageList;
+begin
+  if Dark then
+    Result := DarkBuildImageList
+  else
+    Result := LightBuildImageList;
+end;
+
+function TImagesModule.GetMarkersAndACImageCollection(Dark: Boolean): TImageCollection;
+begin
+  if Dark then
+    Result := DarkMarkersAndACImageCollection
+  else
+    Result := LightMarkersAndACImageCollection;
+end;
+
+function TImagesModule.GetToolbarImageCollection(Dark: Boolean): TImageCollection;
+begin
+  if Dark then
+    Result := DarkToolBarImageCollection
+  else
+    Result := LightToolBarImageCollection;
+end;
+
 end.

+ 1 - 1
Projects/Src/IDE.InputQueryMemoForm.pas

@@ -143,7 +143,7 @@ procedure TInputQueryMemoForm.UpdateImages;
 
   function GetImage(const Button: TToolButton; const WH: Integer): TWICImage;
   begin
-    Result := ImagesModule.LightToolBarImageCollection.GetSourceImage(Button.ImageIndex, WH, WH)
+    Result := ImagesModule.ToolbarImageCollection[InitFormThemeIsDark].GetSourceImage(Button.ImageIndex, WH, WH)
   end;
 
 begin

+ 4 - 10
Projects/Src/IDE.MainForm.pas

@@ -3541,7 +3541,7 @@ procedure TMainForm.UpdateImages;
 { Should be called at startup and after DPI changes }
 begin
   var WH := MulDiv(16, CurrentPPI, 96);
-  var Images := ImagesModule.LightToolBarImageCollection;
+  var Images := ImagesModule.ToolbarImageCollection[InitFormThemeIsDark];
 
   var Image := Images.GetSourceImage(Images.GetIndexByName('heart-filled'), WH, WH);
   UpdatePanelDonateBitBtn.Graphic := Image;
@@ -5431,15 +5431,9 @@ begin
   SetListBoxWindowTheme(DebugCallStackList);
   SetListBoxWindowTheme(FindResultsList);
 
-  if FTheme.Dark then begin
-    ThemedToolbarVirtualImageList.ImageCollection := ImagesModule.DarkToolBarImageCollection;
-    ThemedMarkersAndACVirtualImageList.ImageCollection := ImagesModule.DarkMarkersAndACImageCollection;
-    FBuildImageList := ImagesModule.DarkBuildImageList;
-  end else begin
-    ThemedToolbarVirtualImageList.ImageCollection := ImagesModule.LightToolBarImageCollection;
-    ThemedMarkersAndACVirtualImageList.ImageCollection := ImagesModule.LightMarkersAndACImageCollection;
-    FBuildImageList := ImagesModule.LightBuildImageList;
-  end;
+  ThemedToolbarVirtualImageList.ImageCollection := ImagesModule.ToolBarImageCollection[FTheme.Dark];
+  ThemedMarkersAndACVirtualImageList.ImageCollection := ImagesModule.MarkersAndACImageCollection[FTheme.Dark];
+  FBuildImageList := ImagesModule.BuildImageList[FTheme.Dark];
 
   UpdateThemeData(True);
   UpdateBevel1Visibility;

+ 1 - 1
Projects/Src/IDE.StartupForm.pas

@@ -81,7 +81,7 @@ procedure TStartupForm.UpdateImages;
 
   function GetImage(const Button: TToolButton; const WH: Integer): TWICImage;
   begin
-    Result := ImagesModule.LightToolBarImageCollection.GetSourceImage(Button.ImageIndex, WH, WH)
+    Result := ImagesModule.ToolbarImageCollection[InitFormThemeIsDark].GetSourceImage(Button.ImageIndex, WH, WH)
   end;
 
 begin

+ 1 - 1
Projects/Src/IDE.Wizard.WizardFormRegistryHelper.pas

@@ -61,7 +61,7 @@ procedure TWizardFormRegistryHelper.UpdateImages;
 
   function GetImage(const Button: TToolButton; const WH: Integer): TWICImage;
   begin
-    Result := ImagesModule.LightToolBarImageCollection.GetSourceImage(Button.ImageIndex, WH, WH)
+    Result := ImagesModule.ToolbarImageCollection[InitFormThemeIsDark].GetSourceImage(Button.ImageIndex, WH, WH)
   end;
 
 begin