mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
181 lines
5.4 KiB
ObjectPascal
181 lines
5.4 KiB
ObjectPascal
{
|
|
Double Commander
|
|
-------------------------------------------------------------------------
|
|
Log options page
|
|
|
|
Copyright (C) 2006-2016 Alexander Koblov (alexx2000@mail.ru)
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License along
|
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
}
|
|
|
|
unit fOptionsLog;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, Controls, StdCtrls, EditBtn, Buttons, Menus, SpinEx,
|
|
fOptionsFrame;
|
|
type
|
|
|
|
{ TfrmOptionsLog }
|
|
|
|
TfrmOptionsLog = class(TOptionsEditor)
|
|
cbLogArcOp: TCheckBox;
|
|
cbLogCpMvLn: TCheckBox;
|
|
cbLogDelete: TCheckBox;
|
|
cbLogDirOp: TCheckBox;
|
|
cbLogErrors: TCheckBox;
|
|
cbLogFile: TCheckBox;
|
|
cbIncludeDateInLogFilename: TCheckBox;
|
|
cbLogInfo: TCheckBox;
|
|
cbLogCommandLineExecution: TCheckBox;
|
|
cbLogSuccess: TCheckBox;
|
|
cbLogVFS: TCheckBox;
|
|
cbLogStartShutdown: TCheckBox;
|
|
cbLogFileCount: TCheckBox;
|
|
fneLogFileName: TFileNameEdit;
|
|
gbLogFile: TGroupBox;
|
|
gbLogFileOp: TGroupBox;
|
|
gbLogFileStatus: TGroupBox;
|
|
btnRelativeLogFile: TSpeedButton;
|
|
pmPathHelper: TPopupMenu;
|
|
btnViewLogFile: TSpeedButton;
|
|
seLogFileCount: TSpinEditEx;
|
|
procedure btnRelativeLogFileClick(Sender: TObject);
|
|
procedure cbIncludeDateInLogFilenameChange(Sender: TObject);
|
|
procedure cbLogFileChange(Sender: TObject);
|
|
procedure btnViewLogFileClick(Sender: TObject);
|
|
procedure cbLogFileCountChange(Sender: TObject);
|
|
protected
|
|
procedure Load; override;
|
|
function Save: TOptionsEditorSaveFlags; override;
|
|
public
|
|
class function GetIconIndex: integer; override;
|
|
class function GetTitle: string; override;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{$R *.lfm}
|
|
|
|
uses
|
|
fMain, uGlobs, uLng, uSpecialDir;
|
|
|
|
{ TfrmOptionsLog }
|
|
|
|
class function TfrmOptionsLog.GetIconIndex: integer;
|
|
begin
|
|
Result := 23;
|
|
end;
|
|
|
|
class function TfrmOptionsLog.GetTitle: string;
|
|
begin
|
|
Result := rsOptionsEditorLog;
|
|
end;
|
|
|
|
procedure TfrmOptionsLog.cbLogFileChange(Sender: TObject);
|
|
begin
|
|
cbIncludeDateInLogFilename.Enabled := cbLogFile.Checked;
|
|
cbIncludeDateInLogFilenameChange(cbIncludeDateInLogFilename);
|
|
end;
|
|
|
|
procedure TfrmOptionsLog.btnViewLogFileClick(Sender: TObject);
|
|
begin
|
|
frmMain.Commands.cm_ViewLogFile([]);
|
|
end;
|
|
|
|
procedure TfrmOptionsLog.cbLogFileCountChange(Sender: TObject);
|
|
begin
|
|
if not cbLogFileCount.Checked then
|
|
seLogFileCount.Value:= 0
|
|
else if seLogFileCount.Value = 0 then
|
|
seLogFileCount.Value:= 7;
|
|
end;
|
|
|
|
procedure TfrmOptionsLog.btnRelativeLogFileClick(Sender: TObject);
|
|
begin
|
|
fneLogFileName.SetFocus;
|
|
gSpecialDirList.SetSpecialDirRecipientAndItsType(fneLogFileName, pfFILE);
|
|
pmPathHelper.PopUp(Mouse.CursorPos.X, Mouse.CursorPos.Y);
|
|
end;
|
|
|
|
procedure TfrmOptionsLog.cbIncludeDateInLogFilenameChange(Sender: TObject);
|
|
begin
|
|
cbLogFileCount.Enabled:= cbLogFile.Checked and cbIncludeDateInLogFilename.Checked;
|
|
seLogFileCount.Enabled:= cbLogFileCount.Enabled;
|
|
end;
|
|
|
|
procedure TfrmOptionsLog.Load;
|
|
begin
|
|
seLogFileCount.Value:= gLogFileCount;
|
|
cbLogFileCount.Checked:= gLogFileCount > 0;
|
|
cbIncludeDateInLogFilename.Checked := gLogFileWithDateInName;
|
|
cbLogFile.Checked := gLogFile;
|
|
cbLogFileChange(cbLogFile);
|
|
fneLogFileName.FileName := gLogFileName;
|
|
|
|
cbLogCpMvLn.Checked := (log_cp_mv_ln in gLogOptions);
|
|
cbLogDelete.Checked := (log_delete in gLogOptions);
|
|
cbLogDirOp.Checked := (log_dir_op in gLogOptions);
|
|
cbLogArcOp.Checked := (log_arc_op in gLogOptions);
|
|
cbLogVFS.Checked := (log_vfs_op in gLogOptions);
|
|
cbLogStartShutdown.Checked := (log_start_shutdown in gLogOptions);
|
|
cbLogCommandLineExecution.Checked := (log_commandlineexecution in gLogOptions);
|
|
|
|
cbLogSuccess.Checked := (log_success in gLogOptions);
|
|
cbLogErrors.Checked := (log_errors in gLogOptions);
|
|
cbLogInfo.Checked := (log_info in gLogOptions);
|
|
|
|
gSpecialDirList.PopulateMenuWithSpecialDir(pmPathHelper, mp_PATHHELPER, nil);
|
|
end;
|
|
|
|
function TfrmOptionsLog.Save: TOptionsEditorSaveFlags;
|
|
begin
|
|
Result := [];
|
|
|
|
gLogFile := cbLogFile.Checked;
|
|
gLogFileCount := seLogFileCount.Value;
|
|
gLogFileWithDateInName := cbIncludeDateInLogFilename.Checked;
|
|
gLogFileName := fneLogFileName.FileName;
|
|
|
|
gLogOptions := []; // Reset log options
|
|
if cbLogCpMvLn.Checked then
|
|
Include(gLogOptions, log_cp_mv_ln);
|
|
if cbLogDelete.Checked then
|
|
Include(gLogOptions, log_delete);
|
|
if cbLogDirOp.Checked then
|
|
Include(gLogOptions, log_dir_op);
|
|
if cbLogArcOp.Checked then
|
|
Include(gLogOptions, log_arc_op);
|
|
if cbLogVFS.Checked then
|
|
Include(gLogOptions, log_vfs_op);
|
|
if cbLogStartShutdown.Checked then
|
|
Include(gLogOptions, log_start_shutdown);
|
|
if cbLogCommandLineExecution.Checked then
|
|
Include(gLogOptions, log_commandlineexecution);
|
|
|
|
if cbLogSuccess.Checked then
|
|
Include(gLogOptions, log_success);
|
|
if cbLogErrors.Checked then
|
|
Include(gLogOptions, log_errors);
|
|
if cbLogInfo.Checked then
|
|
Include(gLogOptions, log_info);
|
|
end;
|
|
|
|
end.
|
|
|
|
|