📄 uformviewoptions.pas
字号:
{$I ATViewerOptions.inc}
{$I-}
unit UFormViewOptions;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, ATxToolbarList, ExtCtrls, TntDialogs;
type
TFormProc = procedure of object;
type
TFormViewOptions = class(TForm)
btnOk: TButton;
btnCancel: TButton;
FontDialog1: TFontDialog;
ColorDialog1: TColorDialog;
PageControl1: TPageControl;
tabIntf: TTabSheet;
tabShortcuts: TTabSheet;
boxIntf: TGroupBox;
labLang: TLabel;
edLang: TComboBox;
chkShell: TCheckBox;
chkToolbar: TCheckBox;
tabMisc: TTabSheet;
ListKeys: TListView;
HotKey1: THotKey;
labShortcut: TLabel;
btnKeyOk: TButton;
chkBorder: TCheckBox;
chkSingleInst: TCheckBox;
chkMenu: TCheckBox;
chkStatusBar: TCheckBox;
chkNav: TCheckBox;
boxMisc: TGroupBox;
chkResolveLinks: TCheckBox;
chkShowHidden: TCheckBox;
boxHistory: TGroupBox;
chkSaveFolder: TCheckBox;
chkSavePosition: TCheckBox;
chkSaveRecents: TCheckBox;
chkMenuIcons: TCheckBox;
tabText: TTabSheet;
tabMedia: TTabSheet;
boxText: TGroupBox;
labTextFixedWidth: TLabel;
labTabSize: TLabel;
labTextLength: TLabel;
edTextWidth: TEdit;
chkTextWidthFit: TCheckBox;
chkTextAutoCopy: TCheckBox;
edTextTabSize: TEdit;
edTextLength: TEdit;
boxMedia: TGroupBox;
labMediaPlayCount: TLabel;
labMediaMode: TLabel;
chkMediaStart: TCheckBox;
edMediaPlayCount: TEdit;
edMediaMode: TComboBox;
boxTextFont: TGroupBox;
labTextFont1: TLabel;
btnTextFont: TButton;
labTextFontShow: TLabel;
labTextColors: TLabel;
btnTextColor: TButton;
btnTextColorHexBack: TButton;
btnTextColorHex1: TButton;
btnTextColorHex2: TButton;
btnTextColorGutter: TButton;
chkTextOemSpecial: TCheckBox;
btnTextFontOEM: TButton;
labTextFontShowOEM: TLabel;
boxImage: TGroupBox;
chkImageResample: TCheckBox;
chkImageTransp: TCheckBox;
labColorImage: TLabel;
btnMediaColor: TButton;
btnMediaColorLabel: TButton;
btnMediaColorLabelErr: TButton;
boxTextSearch: TGroupBox;
edSearchIndent: TEdit;
labSearchIndent: TLabel;
chkSearchSel: TCheckBox;
boxTextReload: TGroupBox;
chkTextReload: TCheckBox;
chkTextReloadBeep: TCheckBox;
chkTextReloadTail: TCheckBox;
chkSearchNoMsg: TCheckBox;
chkSaveSearch: TCheckBox;
btnClearRecent: TButton;
btnClearSearch: TButton;
FontDialog2: TFontDialog;
boxPrint: TGroupBox;
labFontFooter: TLabel;
btnFontFooter: TButton;
labFooterFontShow: TLabel;
edIcon: TComboBox;
labIcon: TLabel;
Panel1: TPanel;
Image1: TImage;
chkMediaLoop: TCheckBox;
chkTextWrap: TCheckBox;
chkTextNonPrint: TCheckBox;
chkImageFit: TCheckBox;
chkImageFitBig: TCheckBox;
chkImageCenter: TCheckBox;
tabFile: TTabSheet;
boxExt: TGroupBox;
labText: TLabel;
labImages: TLabel;
labMedia: TLabel;
labInternet: TLabel;
labRTF: TLabel;
edText: TEdit;
edImages: TEdit;
edMedia: TEdit;
edInternet: TEdit;
edRTF: TEdit;
btnTextOptions: TButton;
btnImageOptions: TButton;
btnGutterOptions: TButton;
labViewerTitle: TLabel;
labViewerMode: TLabel;
edViewerTitle: TComboBox;
edViewerMode: TComboBox;
chkImageFitWindow: TCheckBox;
chkImageLabel: TCheckBox;
boxInternet: TGroupBox;
chkWebAcceptAll: TCheckBox;
chkWebOffline: TCheckBox;
SaveDialog1: TSaveDialog;
chkTextURLs: TCheckBox;
btnTextColorURL: TButton;
procedure btnTextFontClick(Sender: TObject);
procedure btnTextColorClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btnTextOptionsClick(Sender: TObject);
procedure chkTextWidthFitClick(Sender: TObject);
procedure btnMediaColorClick(Sender: TObject);
procedure btnTextColorHex1Click(Sender: TObject);
procedure btnTextColorHex2Click(Sender: TObject);
procedure edLangChange(Sender: TObject);
procedure btnTextFontOEMClick(Sender: TObject);
procedure ListKeysSelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
procedure btnKeyOkClick(Sender: TObject);
procedure chkTextReloadClick(Sender: TObject);
procedure btnTextColorHexBackClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure edMediaModeChange(Sender: TObject);
procedure btnImageOptionsClick(Sender: TObject);
procedure chkTextOemSpecialClick(Sender: TObject);
procedure btnTextColorGutterClick(Sender: TObject);
procedure btnMediaColorLabelClick(Sender: TObject);
procedure btnMediaColorLabelErrClick(Sender: TObject);
procedure btnClearRecentClick(Sender: TObject);
procedure btnClearSearchClick(Sender: TObject);
procedure btnFontFooterClick(Sender: TObject);
procedure edIconChange(Sender: TObject);
procedure btnGutterOptionsClick(Sender: TObject);
procedure btnTextColorURLClick(Sender: TObject);
private
{ Private declarations }
procedure FSaveIconsNames(const FileName: string);
public
{ Public declarations }
ffImgList: TImageList; //Original (not current!) ImageList
ffToolbar: TToolbarList; //Toolbar object
ffTextFontName: string;
ffTextFontSize: integer;
ffTextFontColor: TColor;
ffTextFontStyle: TFontStyles;
ffTextFontCharset: TFontCharset;
ffTextFontOEMName: string;
ffTextFontOEMSize: integer;
ffTextFontOEMColor: TColor;
ffTextFontOEMStyle: TFontStyles;
ffTextFontOEMCharset: TFontCharset;
ffFooterFontName: string;
ffFooterFontSize: integer;
ffFooterFontColor: TColor;
ffFooterFontStyle: TFontStyles;
ffFooterFontCharset: TFontCharset;
ffTextBackColor: TColor;
ffTextHexColor1: TColor;
ffTextHexColor2: TColor;
ffTextHexColorBack: TColor;
ffTextGutterColor: TColor;
ffTextUrlColor: TColor;
ffTextDetect: boolean;
ffTextDetectOEM: boolean;
ffTextDetectSize: DWORD;
ffTextDetectLimit: DWORD;
ffMediaColor: TColor;
ffMediaColorLabel: TColor;
ffMediaColorLabelErr: TColor;
ffOptLang: string;
ffOptIcon: string;
ffIViewEnabled: boolean;
ffIViewExeName: string;
ffIViewExtList: string;
ffIViewHighPriority: boolean;
ffIJLEnabled: boolean;
ffIJLExtList: string;
ffShowGutter: boolean;
ffShowLines: boolean;
ffLinesBufSize: integer;
ffLinesCount: integer;
ffLinesExtUse: boolean;
ffLinesExtList: string;
ffGutterFontName: string;
ffGutterFontSize: integer;
ffGutterFontColor: TColor;
ffGutterFontStyle: TFontStyles;
ffGutterFontCharset: TFontCharSet;
ffClearRecent: TFormProc;
ffClearSearch: TFormProc;
end;
implementation
uses
ATViewer, ATxSProc, ATxParamStr,
ATxMsgProc, ATxMsg,
ATxUtils, ATxIconsProc,
Menus,
UFormViewOptionsText,
UFormViewOptionsImages,
UFormViewOptionsGutter;
{$R *.DFM}
procedure TFormViewOptions.btnTextFontClick(Sender: TObject);
begin
with FontDialog1 do
begin
Font.Name:= ffTextFontName;
Font.Size:= ffTextFontSize;
Font.Color:= ffTextFontColor;
Font.Style:= ffTextFontStyle;
Font.CharSet:= ffTextFontCharset;
if Execute then
begin
ffTextFontName:= Font.Name;
ffTextFontSize:= Font.Size;
ffTextFontColor:= Font.Color;
ffTextFontStyle:= Font.Style;
ffTextFontCharset:= Font.CharSet;
labTextFontShow.Caption:= ffTextFontName + ', ' + IntToStr(ffTextFontSize);
end;
end;
end;
procedure TFormViewOptions.btnTextFontOEMClick(Sender: TObject);
begin
with FontDialog1 do
begin
Font.Name:= ffTextFontOEMName;
Font.Size:= ffTextFontOEMSize;
Font.Color:= ffTextFontOEMColor;
Font.Style:= ffTextFontOEMStyle;
Font.CharSet:= ffTextFontOEMCharset;
if Execute then
begin
ffTextFontOEMName:= Font.Name;
ffTextFontOEMSize:= Font.Size;
ffTextFontOEMColor:= Font.Color;
ffTextFontOEMStyle:= Font.Style;
ffTextFontOEMCharset:= Font.CharSet;
labTextFontShowOEM.Caption:= ffTextFontOEMName + ', ' + IntToStr(ffTextFontOEMSize);
end;
end;
end;
procedure TFormViewOptions.btnTextColorClick(Sender: TObject);
begin
with ColorDialog1 do
begin
Color:= ffTextBackColor;
if Execute then
ffTextBackColor:= Color;
end;
end;
procedure TFormViewOptions.btnTextColorHexBackClick(Sender: TObject);
begin
with ColorDialog1 do
begin
Color:= ffTextHexColorBack;
if Execute then
ffTextHexColorBack:= Color;
end;
end;
procedure TFormViewOptions.btnTextColorHex1Click(Sender: TObject);
begin
with ColorDialog1 do
begin
Color:= ffTextHexColor1;
if Execute then
ffTextHexColor1:= Color;
end;
end;
procedure TFormViewOptions.btnTextColorHex2Click(Sender: TObject);
begin
with ColorDialog1 do
begin
Color:= ffTextHexColor2;
if Execute then
ffTextHexColor2:= Color;
end;
end;
procedure TFormViewOptions.btnTextColorGutterClick(Sender: TObject);
begin
with ColorDialog1 do
begin
Color:= ffTextGutterColor;
if Execute then
ffTextGutterColor:= Color;
end;
end;
procedure TFormViewOptions.btnTextColorURLClick(Sender: TObject);
begin
with ColorDialog1 do
begin
Color:= ffTextUrlColor;
if Execute then
ffTextUrlColor:= Color;
end;
end;
procedure TFormViewOptions.FormShow(Sender: TObject);
var
h: THandle;
fdA: TWin32FindDataA;
fdW: TWin32FindDataW;
Mask: WideString;
S: string;
n: integer;
Rec: PToolbarButtonRec;
begin
//Init captions
{$I Lang.FormViewOptions.inc}
//Update controls
labTextFontShow.Caption:= ffTextFontName + ', ' + IntToStr(ffTextFontSize);
labTextFontShowOEM.Caption:= ffTextFontOEMName + ', ' + IntToStr(ffTextFontOEMSize);
labFooterFontShow.Caption:= ffFooterFontName + ', ' + IntToStr(ffFooterFontSize);
chkTextWidthFitClick(Self);
chkTextOemSpecialClick(Self);
chkTextReloadClick(Self);
edMediaModeChange(Self);
//List languages
Mask:= SLangFN('*');
if Win32Platform=VER_PLATFORM_WIN32_NT
then h:= FindFirstFileW(PWChar(Mask), fdW)
else h:= FindFirstFileA(PAnsiChar(AnsiString(Mask)), fdA);
if h<>INVALID_HANDLE_VALUE then
with edLang do
try
Items.BeginUpdate;
Items.Clear;
repeat
if Win32Platform=VER_PLATFORM_WIN32_NT
then S:= fdW.cFileName
else S:= fdA.cFileName;
S:= ChangeFileExt(S, '');
Items.Append(S);
if Win32Platform=VER_PLATFORM_WIN32_NT
then begin if not FindNextFileW(h, fdW) then Break end
else begin if not FindNextFileA(h, fdA) then Break end;
until false;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -