{*******************************************************} { } { ManagerConfig } { } { Copyright (C) 2021 Sunk } { } {*******************************************************} unit ManagerConfig; interface uses System.SysUtils, Tocsg.Obj; const CFG_FILE = 'QatorRecorder.cfg'; type TManagerConfig = class(TTgObject) public AutoDelMergeAv, ReTryRec, StayOnTop, SavePosSize, ShowRecArea, NoShowRecFrame, StartRecToTray: Boolean; Left, Top, Width, Height, RecQuality, FrameRate: Integer; Constructor Create; procedure Save; procedure Load; end; implementation uses superobject, Tocsg.Path; { TManagerConfig} Constructor TManagerConfig.Create; begin Inherited Create; AutoDelMergeAv := false; ReTryRec := true; StayOnTop := false; SavePosSize := false; ShowRecArea := false; NoShowRecFrame := false; StartRecToTray := false; Left := 0; Top := 0; Width := 0; Height := 0; RecQuality := -1; FrameRate := -1; Load; end; procedure TManagerConfig.Save; var O: ISuperObject; begin O := SO; O.B['AutoDelMergeAv'] := AutoDelMergeAv; O.B['ReTryRec'] := ReTryRec; O.B['StayOnTop'] := StayOnTop; O.B['SavePosSize'] := SavePosSize; O.B['ShowRecArea'] := ShowRecArea; O.B['NoShowRecFrame'] := NoShowRecFrame; O.B['StartRecToTray'] := StartRecToTray; O.I['Left'] := Left; O.I['Top'] := Top; O.I['Width'] := Width; O.I['Height'] := Height; O.I['RecQuality'] := RecQuality; O.I['FrameRate'] := FrameRate; SaveJsonObjToFile(O, GetRunExePathDir + CFG_FILE); end; procedure TManagerConfig.Load; var O: ISuperObject; begin if LoadJsonObjFromFile(O, GetRunExePathDir + CFG_FILE) then begin AutoDelMergeAv := O.B['AutoDelMergeAv']; ReTryRec := O.B['ReTryRec']; StayOnTop := O.B['StayOnTop']; SavePosSize := O.B['SavePosSize']; ShowRecArea := O.B['ShowRecArea']; NoShowRecFrame := O.B['NoShowRecFrame']; StartRecToTray := O.B['StartRecToTray']; Left := O.I['Left']; Top := O.I['Top']; Width := O.I['Width']; Height := O.I['Height']; RecQuality := O.I['RecQuality']; FrameRate := O.I['FrameRate']; end; end; end.