44
55{
66Source:
7- https://github.com/torumyax /Image-viewer
7+ https://github.com/torum /Image-viewer
88
99No extra components required.
1010
@@ -44,7 +44,7 @@ interface
4444
4545uses
4646 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
47- LclType, LclProc, LclIntf, Menus, StdCtrls, ExtDlgs, // LCLTranslator,//DefaultTranslator,
47+ LclType, LclProc, LclIntf, Menus, StdCtrls, ExtDlgs,
4848 strutils, Types, XMLConf{ $ifdef windows} , Windows{ $endif} ;
4949
5050type
@@ -54,6 +54,11 @@ interface
5454 TfrmMain = class (TForm)
5555 ApplicationProperties1: TApplicationProperties;
5656 Image1: TImage;
57+ MenuItemAbout: TMenuItem;
58+ MenuItem2: TMenuItem;
59+ MenuItemBackgroundBlack: TMenuItem;
60+ MenuItemBackgroundWhite: TMenuItem;
61+ MenuItemBackgroundColor: TMenuItem;
5762 MenuItemBo8: TMenuItem;
5863 MenuItemSysAbout: TMenuItem;
5964 MenuItemSysBo: TMenuItem;
@@ -90,6 +95,9 @@ TfrmMain = class(TForm)
9095 procedure Image1MouseWheelUp (Sender: TObject; Shift: TShiftState;
9196 MousePos: TPoint; var Handled: Boolean);
9297 procedure Image1Resize (Sender: TObject);
98+ procedure MenuItemAboutClick (Sender: TObject);
99+ procedure MenuItemBackgroundBlackClick (Sender: TObject);
100+ procedure MenuItemBackgroundWhiteClick (Sender: TObject);
93101 procedure MenuItemNextClick (Sender: TObject);
94102 procedure MenuItemBackClick (Sender: TObject);
95103 procedure MenuItemQuitClick (Sender: TObject);
@@ -122,6 +130,7 @@ TfrmMain = class(TForm)
122130 FOptRepeat:boolean;
123131 FOptRandom:boolean;
124132 FoptStayOnTop:boolean;
133+ FoptBackgroundBlack:boolean;
125134 FOptFileExts:string;
126135 FOptPlaylistExts:string;
127136 FOptIncludeSubFolders:boolean;
@@ -222,6 +231,10 @@ TfrmMain = class(TForm)
222231
223232 resstrOpenPictures = ' Open picture(s)' ;
224233
234+ resstrBackground = ' Background Color' ;
235+ resstrBackgroundBlack = ' White' ;
236+ resstrBackgroundWhite = ' Black' ;
237+
225238implementation
226239
227240uses UFullscreen, UAbout;
@@ -237,13 +250,15 @@ procedure TfrmMain.FormCreate(Sender: TObject);
237250 folderfiles:TStringlist;
238251 fileSearchMask,fileFolder:string;
239252begin
240- FstrAppVer:=' 0.1 .2' ;
253+ FstrAppVer:=' 1.2 .2' ;
241254 // Init Main form properties.
242255 self.Caption:=ReplaceStr(ExtractFileName(ParamStr(0 )),ExtractFileExt(ParamStr(0 )),' ' );
243256 self.Visible:=false;
244257 self.AlphaBlend:=true;
245258 self.AlphaBlendValue:=255 ;
246259
260+ self.Color:=clBlack;
261+
247262 TimerEffectStart.Enabled:=false;
248263
249264 // Init main lists.
@@ -295,11 +310,14 @@ procedure TfrmMain.FormCreate(Sender: TObject);
295310 MenuItemSlideshow.Caption := resstrFullscreenSlideshow;
296311 MenuItemQuit.Caption := resstrQuit;
297312 MenuItemSysAbout.Caption := resstrAbout;
313+ MenuItemAbout.Caption := resstrAbout;
298314 MenuItemSysQuit.Caption := resstrQuit;
299315
300316 OpenPictureDialog1.Title:=resstrOpenPictures;
301317
302-
318+ MenuItemBackgroundColor.Caption:=resstrBackground;
319+ MenuItemBackgroundBlack.Caption:=resstrBackgroundBlack;
320+ MenuItemBackgroundWhite.Caption:=resstrBackgroundWhite;
303321
304322
305323 // Load settings
@@ -329,6 +347,7 @@ procedure TfrmMain.FormCreate(Sender: TObject);
329347 // Don't load FOptMinimulFileSizeKiloByte... If the size is too large, the list will be empty.
330348 // FOptMinimulFileSizeKiloByte := XMLConfig.GetValue('/Opts/MinimulFileSizeKiloByte',FOptMinimulFileSizeKiloByte);
331349 FoptStayOnTop := XMLConfig.GetValue(' /Opts/StayOnTop' ,FoptStayOnTop);
350+ FoptBackgroundBlack := XMLConfig.GetValue(' /Opts/BackgroundBlack' ,FoptBackgroundBlack);
332351 FOptIncludeSubFolders := XMLConfig.GetValue(' /Opts/IncludeSubFolders' ,FOptIncludeSubFolders);
333352 FOptFileExts := string(XMLConfig.GetValue(' /Opts/FileExts' ,widestring(FOptFileExts)));
334353 FOptPlaylistExts := string(XMLConfig.GetValue(' /Opts/PlaylistExts' ,widestring(FOptPlaylistExts)));
@@ -341,8 +360,8 @@ procedure TfrmMain.FormCreate(Sender: TObject);
341360 frmAbout := TfrmAbout.Create(self);
342361 frmAbout.Caption:=' ' +ReplaceStr(ExtractFileName(ParamStr(0 )),ExtractFileExt(ParamStr(0 )),' ' );
343362 frmAbout.StaticTextAppsVer.Caption := ' Image Viewer' + ' - ' + FstrAppVer;
344- frmAbout.StaticTextWho.Caption := ' by torumyax ' ;
345- frmAbout.StaticTextWebSite.Caption:=' https://github.com/torumyax/ Image-viewer' ;
363+ frmAbout.StaticTextWho.Caption := ' by torum ' ;
364+ frmAbout.StaticTextWebSite.Caption:=' https://torum. github.io/ Image-viewer/ ' ;
346365 frmAbout.ShowModal;
347366 Halt;
348367 end ;
@@ -684,6 +703,17 @@ procedure TfrmMain.FormCreate(Sender: TObject);
684703 exit;
685704 end ;
686705
706+ if FoptBackgroundBlack then
707+ begin
708+ self.Color:=clBlack;
709+ MenuItemBackgroundBlack.Checked:=true;
710+ MenuItemBackgroundWhite.Checked:=false;
711+ end else
712+ begin
713+ self.color:=clWhite;
714+ MenuItemBackgroundBlack.Checked:=false;
715+ MenuItemBackgroundWhite.Checked:=true;
716+ end ;
687717
688718 { $ifdef windows}
689719 // System TrayIcon
@@ -800,6 +830,7 @@ procedure TfrmMain.FormActivate(Sender: TObject);
800830 begin
801831
802832 frmFullscreen := TfrmFullscreen.create(self);
833+ frmFullscreen.Color := self.color;
803834 frmFullscreen.ShowModal;
804835
805836 // When returned (frmFullscreen is closed), self close.
@@ -842,6 +873,7 @@ procedure TfrmMain.FormCloseQuery(Sender: TObject; var CanClose: boolean);
842873 XMLConfig.SetValue(' /Opts/Moniter' ,FOptIntMoniter);
843874 XMLConfig.SetValue(' /Opts/MinimulFileSizeKiloByte' ,FOptMinimulFileSizeKiloByte);
844875 XMLConfig.SetValue(' /Opts/StayOnTop' ,FoptStayOnTop);
876+ XMLConfig.SetValue(' /Opts/BackgroundBlack' ,FoptBackgroundBlack);
845877 XMLConfig.SetValue(' /Opts/IncludeSubFolders' ,FOptIncludeSubFolders);
846878 XMLConfig.SetValue(' /Opts/FileExts' ,widestring(FOptFileExts));
847879 XMLConfig.SetValue(' /Opts/PlaylistExts' ,widestring(FOptPlaylistExts));
@@ -885,6 +917,7 @@ procedure TfrmMain.TimerEffectStartTimer(Sender: TObject);
885917
886918 frmFullscreen := TfrmFullscreen.create(self);
887919 frmFullScreen.StartWith:=FiCurrentFileIndex;
920+ frmFullscreen.Color := self.color;
888921 // Show full screen.
889922 frmFullscreen.ShowModal;
890923
@@ -1016,6 +1049,31 @@ procedure TfrmMain.Image1Resize(Sender: TObject);
10161049 end ;
10171050end ;
10181051
1052+ procedure TfrmMain.MenuItemAboutClick (Sender: TObject);
1053+ begin
1054+ MenuItemSysAboutClick(Sender);
1055+ end ;
1056+
1057+ procedure TfrmMain.MenuItemBackgroundBlackClick (Sender: TObject);
1058+ begin
1059+
1060+ FoptBackgroundBlack:=true;
1061+ self.Color:=clBlack;
1062+ MenuItemBackgroundBlack.Checked:=true;
1063+ MenuItemBackgroundWhite.Checked:=false;
1064+
1065+ end ;
1066+
1067+ procedure TfrmMain.MenuItemBackgroundWhiteClick (Sender: TObject);
1068+ begin
1069+
1070+ FoptBackgroundBlack:=false;
1071+ self.Color:=clWhite;
1072+ MenuItemBackgroundBlack.Checked:=false;
1073+ MenuItemBackgroundWhite.Checked:=true;
1074+
1075+ end ;
1076+
10191077procedure TfrmMain.Image1DblClick (Sender: TObject);
10201078begin
10211079 if FisInFrame then
@@ -1065,6 +1123,7 @@ procedure TfrmMain.MenuItemSlideshowClick(Sender: TObject);
10651123
10661124 frmFullscreen := TfrmFullscreen.create(self);
10671125 frmFullScreen.StartWith:=FiCurrentFileIndex;
1126+ frmFullscreen.Color := self.color;
10681127 frmFullscreen.ShowModal;
10691128
10701129 // DoneFullscreen will be called here.
@@ -1209,6 +1268,7 @@ procedure TfrmMain.MenuItemSlideshowInFrameClick(Sender: TObject);
12091268 Image1.Visible:=false;
12101269 frmFullscreen := TfrmFullscreen.create(self);
12111270 frmFullScreen.StartWith:=FiCurrentFileIndex;
1271+ frmFullscreen.Color := self.color;
12121272 frmFullscreen.Parent := self;
12131273 // Set main form popup.
12141274 self.PopupMenu:= frmFullscreen.PopupMenu;
@@ -1487,8 +1547,8 @@ procedure TfrmMain.MenuItemSysAboutClick(Sender: TObject);
14871547 frmAbout.Caption:=' ' +ReplaceStr(ExtractFileName(ParamStr(0 )),ExtractFileExt(ParamStr(0 )),' ' );
14881548
14891549 frmAbout.StaticTextAppsVer.Caption := ' Image Viewer' + ' - ' + FstrAppVer;
1490- frmAbout.StaticTextWho.Caption := ' by torumyax ' ;
1491- frmAbout.StaticTextWebSite.Caption:=' https://github.com/torumyax/ Image-viewer' ;
1550+ frmAbout.StaticTextWho.Caption := ' by torum ' ;
1551+ frmAbout.StaticTextWebSite.Caption:=' https://torum. github.io/ Image-viewer/ ' ;
14921552
14931553 frmAbout.ShowModal;
14941554 // No need to free. closeAction caFree.
0 commit comments