⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fsettings.pas

📁 siMail, siMail, siMail, siMail
💻 PAS
📖 第 1 页 / 共 3 页
字号:
  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 + -