📄 fsettings.pas
字号:
lblTreeFont.Font.Color := frmMailbox.Profile.Config.ReadInteger(
Self.Name, 'treeFontColor', lblTreeFont.Font.Color);
lblTreeFont.Font.Charset := frmMailbox.Profile.Config.ReadInteger(
Self.Name, 'treeFontCharset', lblTreeFont.Font.Charset);
lblTreeFont.Font.Style := TFontStyles(
Byte(frmMailbox.Profile.Config.ReadInteger(Self.Name, 'treeFontStyle',
Byte(lblTreeFont.Font.Style))));
lblTreeFont.Caption := lblTreeFont.Font.Name + ',' +
IntToStr(lblTreeFont.Font.Size);
chkboxOverrideList.Checked := frmMailbox.Profile.Config.ReadBool(
Self.Name, 'listFontOverride', False);
gbList.Enabled := chkboxOverrideList.Checked;
lblListFont.Font.Name := frmMailbox.Profile.Config.ReadString(
Self.Name, 'listFontName', lblListFont.Font.Name);
lblListFont.Font.Size := frmMailbox.Profile.Config.ReadInteger(
Self.Name, 'listFontSize', lblListFont.Font.Size);
lblListFont.Font.Color := frmMailbox.Profile.Config.ReadInteger(
Self.Name, 'listFontColor', lblListFont.Font.Color);
lblListFont.Font.Charset := frmMailbox.Profile.Config.ReadInteger(
Self.Name, 'listFontCharset', lblListFont.Font.Charset);
lblListFont.Font.Style := TFontStyles(
Byte(frmMailbox.Profile.Config.ReadInteger(Self.Name, 'listFontStyle',
Byte(lblListFont.Font.Style))));
lblListFont.Caption := lblListFont.Font.Name + ',' +
IntToStr(lblListFont.Font.Size);
//
end;
procedure TfrmSettings.saveSettings;
begin
frmMailbox.Profile.Config.SaveAfterChange := False;
//view window
frmMailbox.Profile.Config.WriteBool('frmMailView', 'rawOverHtml',
chkboxRawOverHtml.Checked);
frmMailbox.Profile.Config.WriteInteger('frmMailView', 'showMessagePart',
cmboxShowMessagePart.ItemIndex);
frmMailbox.Profile.Config.WriteString('frmMailView', 'fontName', lblViewWindowFont.Font.Name);
frmMailbox.Profile.Config.WriteInteger('frmMailView', 'fontSize', lblViewWindowFont.Font.Size);
frmMailbox.Profile.Config.WriteInteger('frmMailView', 'fontColor', lblViewWindowFont.Font.Color);
frmMailbox.Profile.Config.WriteInteger('frmMailView', 'fontCharset',
lblViewWindowFont.Font.Charset);
frmMailbox.Profile.Config.WriteInteger('frmMailView', 'fontStyle',
Byte(lblViewWindowFont.Font.Style));
//other
frmMailbox.Profile.Config.WriteBool(Self.Name, 'dontCheckIfDefault',
chkboxDefaultClient.Checked);
frmMailbox.Profile.Config.WriteBool('frmTasks', 'showMe', chkboxShowTasksWindow.Checked);
frmMailbox.Profile.Config.WriteBool(Self.Name, 'splash',
chkboxSplash.Checked);
frmMailbox.Profile.Config.WriteBool('frmMain', 'dontMinimizeToSysTray',
chkboxSysTray.Checked);
frmMain.tray.MinimizeToTray := not chkboxSysTray.Checked;
frmMailbox.Profile.Config.WriteString('frmMailbox', 'defaultAccount',
cmboxDefaultAccount.Items[cmboxDefaultAccount.ItemIndex]);
//maillist
frmMailbox.Profile.Config.WriteBool('frmMaillist', 'askBeforeDeleting',
chkboxAskBeforeDeleting.Checked);
frmMailbox.Profile.Config.WriteBool('frmMaillist', 'markAsRead',
chkboxMarkAsRead.Checked);
//compose
frmMailbox.Profile.Config.WriteString('frmCompose', 'fontName', lblComposeFont.Font.Name);
frmMailbox.Profile.Config.WriteInteger('frmCompose', 'fontSize', lblComposeFont.Font.Size);
frmMailbox.Profile.Config.WriteInteger('frmCompose', 'fontColor', lblComposeFont.Font.Color);
frmMailbox.Profile.Config.WriteInteger('frmCompose', 'fontCharset',
lblComposeFont.Font.Charset);
frmMailbox.Profile.Config.WriteInteger('frmCompose', 'fontStyle',
Byte(lblComposeFont.Font.Style));
frmMailbox.Profile.Config.WriteBool('frmCompose', 'countReplies',
chkboxCountReplies.Checked);
frmMailbox.Profile.Config.WriteBool('frmCompose', 'countForwards',
chkboxCountForwards.Checked);
//mailboxes
frmMailbox.Profile.Config.WriteBool('frmMailbox', 'showProfileNode', chkboxHideProfile.Checked);
//address book
//quoting
with frmMailbox.Profile.Config do begin
WriteString('quoting', 'quoteChar', txtQuoteChar.Text);
WriteBool('quoting', 'colorizeQuotes', chkboxColorizeQuotes.Checked);
WriteInteger('quoting', 'textColor1', clrText1.Color);
WriteInteger('quoting', 'textColor2', clrText2.Color);
WriteInteger('quoting', 'textColor3', clrText3.Color);
WriteInteger('quoting', 'textColor4', clrText4.Color);
WriteInteger('quoting', 'textColor5', clrText5.Color);
WriteInteger('quoting', 'textColor6', clrText6.Color);
WriteInteger('quoting', 'textColor7', clrText7.Color);
WriteInteger('quoting', 'textColor8', clrText8.Color);
WriteInteger('quoting', 'backColor1', clrBack1.Color);
WriteInteger('quoting', 'backColor2', clrBack2.Color);
WriteInteger('quoting', 'backColor3', clrBack3.Color);
WriteInteger('quoting', 'backColor4', clrBack4.Color);
WriteInteger('quoting', 'backColor5', clrBack5.Color);
WriteInteger('quoting', 'backColor6', clrBack6.Color);
WriteInteger('quoting', 'backColor7', clrBack7.Color);
WriteInteger('quoting', 'backColor8', clrBack8.Color);
WriteInteger('quoting', 'borderColor1', clrBorder1.Color);
WriteInteger('quoting', 'borderColor2', clrBorder2.Color);
WriteInteger('quoting', 'borderColor3', clrBorder3.Color);
WriteInteger('quoting', 'borderColor4', clrBorder4.Color);
WriteInteger('quoting', 'borderColor5', clrBorder5.Color);
WriteInteger('quoting', 'borderColor6', clrBorder6.Color);
WriteInteger('quoting', 'borderColor7', clrBorder7.Color);
WriteInteger('quoting', 'borderColor8', clrBorder8.Color);
WriteString('quoting', 'borderWidth1', cmboxBrWidth1.Text);
WriteString('quoting', 'borderWidth2', cmboxBrWidth2.Text);
WriteString('quoting', 'borderWidth3', cmboxBrWidth3.Text);
WriteString('quoting', 'borderWidth4', cmboxBrWidth4.Text);
WriteString('quoting', 'borderWidth5', cmboxBrWidth5.Text);
WriteString('quoting', 'borderWidth6', cmboxBrWidth6.Text);
WriteString('quoting', 'borderWidth7', cmboxBrWidth7.Text);
WriteString('quoting', 'borderWidth8', cmboxBrWidth8.Text);
WriteString('quoting', 'borderStyle1', cmboxBS1.Text);
WriteString('quoting', 'borderStyle2', cmboxBS2.Text);
WriteString('quoting', 'borderStyle3', cmboxBS3.Text);
WriteString('quoting', 'borderStyle4', cmboxBS4.Text);
WriteString('quoting', 'borderStyle5', cmboxBS5.Text);
WriteString('quoting', 'borderStyle6', cmboxBS6.Text);
WriteString('quoting', 'borderStyle7', cmboxBS7.Text);
WriteString('quoting', 'borderStyle8', cmboxBS8.Text);
WriteString('quoting', 'additionalStyles1', txtAdditional1.Lines.Text);
WriteString('quoting', 'additionalStyles2', txtAdditional2.Lines.Text);
WriteString('quoting', 'additionalStyles3', txtAdditional3.Lines.Text);
WriteString('quoting', 'additionalStyles4', txtAdditional4.Lines.Text);
WriteString('quoting', 'additionalStyles5', txtAdditional5.Lines.Text);
WriteString('quoting', 'additionalStyles6', txtAdditional6.Lines.Text);
WriteString('quoting', 'additionalStyles7', txtAdditional7.Lines.Text);
WriteString('quoting', 'additionalStyles8', txtAdditional8.Lines.Text);
end;
QuotingStyleReloadNeeded := True;
//fonts
frmMailbox.Profile.Config.WriteBool(Self.Name, 'treeFontOverride', chkboxOverrideTree.Checked);
frmMailbox.Profile.Config.WriteString(Self.Name, 'treeFontName', lblTreeFont.Font.Name);
frmMailbox.Profile.Config.WriteInteger(Self.Name, 'treeFontSize', lblTreeFont.Font.Size);
frmMailbox.Profile.Config.WriteInteger(Self.Name, 'treeFontColor', lblTreeFont.Font.Color);
frmMailbox.Profile.Config.WriteInteger(Self.Name, 'treeFontCharset',
lblTreeFont.Font.Charset);
frmMailbox.Profile.Config.WriteInteger(Self.Name, 'treeFontStyle',
Byte(lblTreeFont.Font.Style));
frmMailbox.Profile.Config.WriteBool(Self.Name, 'listFontOverride', chkboxOverrideList.Checked);
frmMailbox.Profile.Config.WriteString(Self.Name, 'listFontName', lblListFont.Font.Name);
frmMailbox.Profile.Config.WriteInteger(Self.Name, 'listFontSize', lblListFont.Font.Size);
frmMailbox.Profile.Config.WriteInteger(Self.Name, 'listFontColor', lblListFont.Font.Color);
frmMailbox.Profile.Config.WriteInteger(Self.Name, 'listFontCharset',
lblListFont.Font.Charset);
frmMailbox.Profile.Config.WriteInteger(Self.Name, 'listFontStyle',
Byte(lblListFont.Font.Style));
frmMailbox.Profile.Config.SaveAfterChange := True;
frmMailbox.Profile.Config.SaveConfig;
end;
procedure TfrmSettings.cmdFontChangeClick(Sender: TObject);
begin
changeFont(lblComposeFont);
end;
procedure TfrmSettings.FormShortCut(var Msg: TWMKey; var Handled: Boolean);
begin
if msg.CharCode = 27 then begin
Self.Close;
Handled := True;
end;
end;
procedure TfrmSettings.cmdRegisterAsDefaultClick(Sender: TObject);
begin
frmMailbox.RegisterAsDefault;
end;
procedure TfrmSettings.LevelStyleChange(Sender: TObject);
var html: String;
var fle: TFileStream;
var l: TStringList;
begin
if (Self.Visible = False) or dontChangeStyle then
Exit;
if wbPreview.Busy then
Exit;
html := '<?XML version="1.0" encoding="utf-8"?>' + #13#10 +
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN' + #13#10 +
'"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">' + #13#10 +
'<html xmlns="http://www.w3.org/1999/xhtml">' + #13#10 +
'<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'
+ #13#10 +
'<title></title>' + #13#10 +
'<style type="text/css">' + #13#10 +
'.quoteStyle {' + #13#10 +
' color: ' + getColor + ';' + #13#10 +
' background-color: ' + getBackColor + ';' + #13#10 +
' border-color: ' + getBorderColor + ';' + #13#10 +
' border: ' + getBorderStyle + ';' + #13#10 +
' border-width: '+ getBorderWidth + ';' + #13#10 +
getAdditional + #13#10 +
'}' + #13#10 +
'</style>' + #13#10 +
'</head>' + #13#10 + '<body>' + #13#10;
html := html + _('<div class="quoteStyle">' + #13#10 +
'This is simple Quoting style <br />' + #13#10 +
'preview window.<br />' + #13#10 +
'<br />' + #13#10 +
'With couple of lines.<br />' + #13#10 +
'si.Mail<br />' + #13#10 +
'</div>');
html := html + #13#10 + '</body></html>';
html := Utf8Encode(html);
l := TStringList.Create;
l.Text := html;
try
wbPreview.LoadFromStrings(l);
finally
FreeAndNil(l);
end;
end;
function TfrmSettings.getColor: String;
begin
case pnlLevels.TabIndex of
0: Result := ColorToHTML(clrText1.Color);
1: Result := ColorToHTML(clrText2.Color);
2: Result := ColorToHTML(clrText3.Color);
3: Result := ColorToHTML(clrText4.Color);
4: Result := ColorToHTML(clrText5.Color);
5: Result := ColorToHTML(clrText6.Color);
6: Result := ColorToHTML(clrText7.Color);
7: Result := ColorToHTML(clrText8.Color);
end;
end;
function TfrmSettings.getBackColor: String;
begin
case pnlLevels.TabIndex of
0: Result := ColorToHTML(clrBack1.Color);
1: Result := ColorToHTML(clrBack2.Color);
2: Result := ColorToHTML(clrBack3.Color);
3: Result := ColorToHTML(clrBack4.Color);
4: Result := ColorToHTML(clrBack5.Color);
5: Result := ColorToHTML(clrBack6.Color);
6: Result := ColorToHTML(clrBack7.Color);
7: Result := ColorToHTML(clrBack8.Color);
end;
end;
function TfrmSettings.getBorderColor: String;
begin
case pnlLevels.TabIndex of
0: Result := ColorToHTML(clrBorder1.Color);
1: Result := ColorToHTML(clrBorder2.Color);
2: Result := ColorToHTML(clrBorder3.Color);
3: Result := ColorToHTML(clrBorder4.Color);
4: Result := ColorToHTML(clrBorder5.Color);
5: Result := ColorToHTML(clrBorder6.Color);
6: Result := ColorToHTML(clrBorder7.Color);
7: Result := ColorToHTML(clrBorder8.Color);
end;
end;
function TfrmSettings.getBorderWidth: String;
begin
case pnlLevels.TabIndex of
0: Result := cmboxBrWidth1.Text;
1: Result := cmboxBrWidth2.Text;
2: Result := cmboxBrWidth3.Text;
3: Result := cmboxBrWidth4.Text;
4: Result := cmboxBrWidth5.Text;
5: Result := cmboxBrWidth6.Text;
6: Result := cmboxBrWidth7.Text;
7: Result := cmboxBrWidth8.Text;
end;
end;
function TfrmSettings.getBorderStyle: String;
begin
case pnlLevels.TabIndex of
0: Result := cmboxBS1.Text;
1: Result := cmboxBS2.Text;
2: Result := cmboxBS3.Text;
3: Result := cmboxBS4.Text;
4: Result := cmboxBS5.Text;
5: Result := cmboxBS6.Text;
6: Result := cmboxBS7.Text;
7: Result := cmboxBS8.Text;
end;
end;
function TfrmSettings.getAdditional: String;
begin
case pnlLevels.TabIndex of
0: Result := txtAdditional1.Lines.Text;
1: Result := txtAdditional2.Lines.Text;
2: Result := txtAdditional3.Lines.Text;
3: Result := txtAdditional4.Lines.Text;
4: Result := txtAdditional5.Lines.Text;
5: Result := txtAdditional6.Lines.Text;
6: Result := txtAdditional7.Lines.Text;
7: Result := txtAdditional8.Lines.Text;
end;
end;
procedure TfrmSettings.cmdViewWindowFontClick(Sender: TObject);
begin
changeFont(lblViewWindowFont);
end;
procedure TfrmSettings.changeFont(lbl: TLabel);
begin
FontDialog1.Font := lbl.Font;
if FontDialog1.Execute then begin
lbl.Font := FontDialog1.Font;
lbl.Caption := lbl.Font.Name + ',' + IntToStr(lbl.Font.Size);
end;
end;
procedure TfrmSettings.cmdTreeFontClick(Sender: TObject);
begin
changeFont(lblTreeFont);
end;
procedure TfrmSettings.cmdListFontClick(Sender: TObject);
begin
changeFont(lblListFont);
end;
procedure TfrmSettings.loadTheme;
var f: TFont;
begin
if frmMailbox.SelectedTheme < 0 then Exit;
f := TFont.Create;
lstThemes[frmmailbox.SelectedTheme].Settings.Font.GetFont(f);
lblCaption.Font.Assign(f);
FreeAndNil(f);
GPanel1.Color_1 := lstThemes[frmmailbox.SelectedTheme].Settings.Color.GetStartColor;
GPanel1.Color_2 := lstThemes[frmmailbox.SelectedTheme].Settings.Color.GetEndColor;
GPanel1.Color_3 := lstThemes[frmmailbox.SelectedTheme].Settings.Color.GetEndColor;
end;
procedure TfrmSettings.chkboxOverrideTreeClick(Sender: TObject);
begin
gbTree.Enabled := chkboxOverrideTree.Checked;
end;
procedure TfrmSettings.chkboxOverrideListClick(Sender: TObject);
begin
gbList.Enabled := chkboxOverrideList.Checked;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -