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.
212 lines
6.5 KiB
Plaintext
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.
|