You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
RnQ/RnQ/Prefs/chat_frOld.pas

212 lines
6.5 KiB
Plaintext

{
This file is part of R&Q.
Under same license
}
unit chat_frOld;
{$I RnQConfig.inc}
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
StdCtrls, utilLib, RDGlobal, RnQGraphics32,
RnQPrefsLib, RnQSpin, ComCtrls, VirtualTrees;
{$I NoRTTI.inc}
type
TchatFr = class(TPrefFrame)
ChatPrefPages: TPageControl;
CommonSheet: TTabSheet;
SmileSheet: TTabSheet;
sendonenterLbl: TLabel;
sendonenterSpin: TRnQSpinButton;
autocopyChk: TCheckBox;
autodeselectChk: TCheckBox;
singleChk: TCheckBox;
statusontabChk: TCheckBox;
cursorbelowChk: TCheckBox;
quoteselectedChk: TCheckBox;
stylecodesChk: TCheckBox;
chatOnTopChk: TCheckBox;
ChkDefCP: TCheckBox;
PlugPanelChk: TCheckBox;
HintsShowChk: TCheckBox;
msgWrapBox: TCheckBox;
ClsSndChk: TCheckBox;
SmlPnlChk: TCheckBox;
ChkShowSmileCptn: TCheckBox;
GroupBox1: TGroupBox;
BtnWidthLabel: TLabel;
SmlUseSizeChk: TCheckBox;
SmlGridChk: TCheckBox;
SmlBtnWidthTrk: TTrackBar;
BtnHeightLabel: TLabel;
SmlBtnHeightTrk: TTrackBar;
ClsPgOnSnglChk: TCheckBox;
SepSmilesChk: TCheckBox;
TSBtns: TTabSheet;
IconsGrp: TGroupBox;
SpinBtn: TRnQSpinButton;
BtnsList: TVirtualDrawTree;
Images: TTabSheet;
LimitMaxImgWidth: TCheckBox;
MaxChatImgWidth: TRnQSpinEdit;
LimitMaxImgHeight: TCheckBox;
MaxChatImgHeight: TRnQSpinEdit;
ResampleFilter: TComboBox;
Label1: TLabel;
Label2: TLabel;
showStickers: TCheckBox;
stickersGrp: TGroupBox;
Label4: TLabel;
stickerSize: TComboBox;
cacheStickers: TCheckBox;
Label3: TLabel;
ImageLinksIn: TCheckBox;
ImageLinksOut: TCheckBox;
procedure sendonenterSpinTopClick(Sender: TObject);
procedure sendonenterSpinBottomClick(Sender: TObject);
procedure SmlUseSizeChkClick(Sender: TObject);
procedure showStickersClick(Sender: TObject);
public
sendonenterTmp: integer;
procedure initPage; Override; final;
procedure applyPage; Override; final;
procedure resetPage; Override; final;
procedure updateVisPage; Override; final;
end;
implementation
uses
RnQlangs, RnQGlobal, chatDlg, MenuSmiles, globalLib;
const
s = 'Send when I press "ENTER" key %d times';
{$R *.dfm}
procedure TchatFr.sendonenterSpinTopClick(Sender: TObject);
begin
if sendonenterTmp < 3 then
inc(sendonenterTmp);
sendonenterLbl.Caption := getTranslation(s, [sendonenterTmp]);
end;
procedure TchatFr.showStickersClick(Sender: TObject);
begin
updateVisPage;
end;
procedure TchatFr.SmlUseSizeChkClick(Sender: TObject);
begin
updateVisPage;
end;
procedure TchatFr.sendonenterSpinBottomClick(Sender: TObject);
begin
if sendonenterTmp > 0 then
dec(sendonenterTmp);
sendonenterLbl.Caption := getTranslation(s, [sendonenterTmp]);
end;
procedure TchatFr.initPage;
begin
sendonenterLbl.Caption := getTranslation(s, [sendonenter]);
end;
procedure TchatFr.applyPage;
begin
fontstylecodes.enabled := stylecodesChk.checked;
autoCopyHist := autocopyChk.checked;
autodeselect := autodeselectChk.checked;
singleDefault := singleChk.checked;
showStatusOnTabs := statusontabChk.checked;
quoting.cursorBelow := cursorbelowChk.checked;
sendonenter := sendonenterTmp;
quoting.quoteselected := quoteselectedChk.checked;
chatAlwaysOnTop := chatOnTopChk.checked;
useSystemCodePage := ChkDefCP.checked;
usePlugPanel := PlugPanelChk.checked;
showHintsInChat := HintsShowChk.checked;
bViewTextWrap := msgWrapBox.checked;
closeChatOnSend := ClsSndChk.checked;
ClosePageOnSingle := ClsPgOnSnglChk.checked;
ShowSmileCaption := ChkShowSmileCptn.checked;
EnableImgLinksIn := ImageLinksIn.checked;
EnableImgLinksOut := ImageLinksOut.checked;
LimitMaxChatImgWidth := LimitMaxImgWidth.checked;
LimitMaxChatImgHeight := LimitMaxImgHeight.checked;
EnableStickers := showStickers.checked;
EnableStickersCache := cacheStickers.checked;
StickerResolution := stickerSize.ItemIndex;
ResamplingFilter := ResampleFilter.ItemIndex;
MaxChatImgWidthVal := Round(MaxChatImgWidth.Value);
MaxChatImgHeightVal := Round(MaxChatImgHeight.Value);
if ShowAniSmlPanel <> SmlPnlChk.checked then
begin
ShowAniSmlPanel := SmlPnlChk.checked;
chatFrm.SetSmilePopup(not ShowAniSmlPanel);
end;
DrawSmileGrid := SmlGridChk.checked;
if prefSmlAutoSize <> not SmlUseSizeChk.checked then
begin
prefSmlAutoSize := not SmlUseSizeChk.checked;
SmileToken := -1;
end;
prefBtnWidth := SmlBtnWidthTrk.Position;
prefBtnHeight := SmlBtnHeightTrk.Position;
if Assigned(chatFrm) and chatFrm.Visible then
chatFrm.stickersBtn.Enabled := EnableStickers;
ClearChatImageCache;
end;
procedure TchatFr.resetPage;
begin
stylecodesChk.checked := fontstylecodes.enabled;
autocopyChk.checked := autoCopyHist;
autodeselectChk.checked := autodeselect;
singleChk.checked := singleDefault;
statusontabChk.checked := showStatusOnTabs;
cursorbelowChk.checked := quoting.cursorBelow;
sendonenterTmp := sendonenter;
quoteselectedChk.checked := quoting.quoteselected;
chatOnTopChk.checked := chatAlwaysOnTop;
ChkDefCP.checked := useSystemCodePage;
PlugPanelChk.checked := usePlugPanel;
HintsShowChk.checked := showHintsInChat;
msgWrapBox.checked := bViewTextWrap;
ClsSndChk.checked := closeChatOnSend;
ChkShowSmileCptn.checked := ShowSmileCaption;
ImageLinksIn.checked := EnableImgLinksIn;
ImageLinksOut.checked := EnableImgLinksOut;
LimitMaxImgWidth.checked := LimitMaxChatImgWidth;
LimitMaxImgHeight.checked := LimitMaxChatImgHeight;
showStickers.checked := EnableStickers;
cacheStickers.checked := EnableStickersCache;
stickerSize.ItemIndex := StickerResolution;
ResampleFilter.ItemIndex := ResamplingFilter;
MaxChatImgWidth.Value := MaxChatImgWidthVal;
MaxChatImgHeight.Value := MaxChatImgHeightVal;
ClsPgOnSnglChk.checked := ClosePageOnSingle;
SmlPnlChk.checked := ShowAniSmlPanel;
SmlGridChk.checked := DrawSmileGrid;
SmlUseSizeChk.checked := not prefSmlAutoSize;
SmlBtnWidthTrk.Position := prefBtnWidth;
SmlBtnHeightTrk.Position := prefBtnHeight;
end;
procedure TchatFr.updateVisPage;
begin
SmlBtnWidthTrk.enabled := SmlUseSizeChk.checked;
SmlBtnHeightTrk.enabled := SmlBtnWidthTrk.enabled;
stickersGrp.visible := showStickers.checked;
showStickers.width := GetWidth(showStickers);
end;
end.