Ignore:
Timestamp:
Aug 12, 2009, 7:14:16 PM (15 years ago)
Author:
Kevin Toppenberg
Message:

TMG Ver 1.1 Added HTML Support, better demographics editing

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cprs/branches/tmg-cprs/CPRS-Chart/Options/fOptionsNotes.pas

    r453 r541  
    44interface
    55
     6{ //kt 8/09  The following objects were addeded to the *FORM* of this unit
     7
     8  object lblHTMLViewSize: TLabel
     9    Left = 8
     10    Top = 144
     11    Width = 159
     12    Height = 13
     13    Caption = 'Formatted Text (HTML) View Size'
     14  end
     15  object cboHTMLViewSize: TComboBox
     16  Left = 8
     17  Top = 162
     18  Width = 153
     19  Height = 21
     20  ItemHeight = 13
     21  TabOrder = 6
     22  Text = '<View Size>'
     23  OnClick = cboHTMLViewSizeClick
     24  Items.Strings = (
     25    'Smallest'
     26    'Small'
     27    'Medium'
     28    'Large'
     29    'Largest')
     30  end
     31  object cbDefaultHTMLMode: TCheckBox
     32    Left = 8
     33    Top = 112
     34    Width = 225
     35    Height = 17
     36    Caption = 'Start notes in Formatted (HTML) Mode'
     37    TabOrder = 7
     38    OnClick = cbDefaultHTMLModeClick
     39}
     40
     41
    642uses
    743  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
     44  IniFiles,    //kt for IniFile
    845  StdCtrls, ExtCtrls, ORCtrls, ORFn, ComCtrls, DKLang;
    946
     
    2259    btnCancel: TButton;
    2360    lblAutoSave2: TLabel;
    24     DKLanguageController1: TDKLanguageController;
     61    cboHTMLViewSize: TComboBox;   //kt 8/09
     62    lblHTMLViewSize: TLabel;      //kt 8/09
     63    cbDefaultHTMLMode: TCheckBox; //kt 8/09
     64    DKLanguageController1: TDKLanguageController; //kt
    2565    procedure FormShow(Sender: TObject);
    2666    procedure btnOKClick(Sender: TObject);
     
    3272      Direction, InsertAt: Integer);
    3373    procedure cboCosignerExit(Sender: TObject);
     74    procedure FormCreate(Sender: TObject);              //kt 8/09
     75    procedure cbDefaultHTMLModeClick(Sender: TObject);  //kt 8/09
     76    procedure cboHTMLViewSizeChange(Sender: TObject);   //kt 8/09
    3477  private
    3578    { Private declarations }
     
    4083var
    4184  frmOptionsNotes: TfrmOptionsNotes;
     85  OptionsNotesIniFile : TIniFile;  //kt 8/09
     86  DefaultEditHTMLMode : boolean;   //kt 8/09
     87  FHTMLEditTextSize   : integer;   //kt 8/09
    4288
    4389procedure DialogOptionsNotes(topvalue, leftvalue, fontsize: integer; var actiontype: Integer);
     90procedure SetDefaultEditHTMLMode(Value : boolean);  //kt 8/09
     91procedure Loaded;                                   //kt 8/09
    4492
    4593implementation
     
    4896
    4997uses
     98  uCore,    //kt 8/09
     99  Registry, //kt 8/09
    50100  rOptions, uOptions, rCore, rTIU, rDCSumm;
     101
     102const
     103  DEFAULT_HTML_EDIT_MODE = 'Edit-in-HTML default mode';       //kt 8/09
     104  DEFAULT_HTML_TEXT_SIZE = 'Edit-in-HTML default text size';  //kt 8/09
     105
     106procedure SetRegHTMLViewSize(Size : integer); forward;        //kt 8/09
    51107
    52108procedure DialogOptionsNotes(topvalue, leftvalue, fontsize: integer; var actiontype: Integer);
     
    102158  chkAskSubject.Checked := rpcGetSubject;
    103159  if chkAskSubject.Checked then chkAskSubject.Tag := 1;
     160  cbDefaultHTMLMode.Checked := DefaultEditHTMLMode; //kt
    104161end;
    105162
     
    207264end;
    208265
     266
     267procedure SetRegHTMLViewSize(Size : integer);
     268//kt added entire function 8/09
     269//NOTE: The only way to affect the view size of the HTML renderer (IE) is to
     270//      change a system-wide setting in the registry.  Then CPRS has to be
     271//      restarted for changes to take effect.
     272var
     273  FontSizeData : array[0..3] of byte;
     274  ZoomReg      : TRegistry;
     275begin
     276  if (Size < 0) or (Size > 255) then exit;
     277  ZoomReg := TRegistry.Create;
     278  FontSizeData[0] := Lo(Size); FontSizeData[1] := 0; FontSizeData[2] := 0; FontSizeData[3] := 0;
     279  try
     280    ZoomReg.Rootkey := HKEY_CURRENT_USER;
     281    if ZoomReg.OpenKey('\Software\Microsoft\Internet Explorer\International\Scripts\3', False) then begin
     282      ZoomReg.WriteBinaryData('IEFontSize',FontSizeData,SizeOf(FontSizeData));
     283    end;
     284  finally
     285    ZoomReg.Free;
     286  end;
     287end;
     288
     289procedure SetDefaultEditHTMLMode(Value : boolean);
     290//kt added entire function 8/09
     291begin
     292  if Value <> DefaultEditHTMLMode then begin
     293    OptionsNotesIniFile.WriteBool(User.Name,DEFAULT_HTML_EDIT_MODE,Value);
     294    DefaultEditHTMLMode := Value;
     295  end;
     296end;
     297
     298procedure TfrmOptionsNotes.cbDefaultHTMLModeClick(Sender: TObject);
     299//kt added entire function 8/09
     300begin
     301  SetDefaultEditHTMLMode(cbDefaultHTMLMode.Checked);
     302end;
     303
     304procedure TfrmOptionsNotes.cboHTMLViewSizeChange(Sender: TObject);
     305//kt added entire function 8/09
     306begin
     307  SetRegHTMLViewSize(cboHTMLViewSize.ItemIndex);
     308  OptionsNotesIniFile.WriteInteger(User.Name,DEFAULT_HTML_TEXT_SIZE,cboHTMLViewSize.ItemIndex);
     309  MessageDlg('Formated text size change will take '+#10+#13+
     310             'effect next time CPRS is restarted.',mtInformation,[mbOK],0);
     311end;
     312
     313procedure Loaded;
     314//kt added entire function 8/09
     315begin
     316  //Code was put in global access space because object is not instantiated until
     317  //after user shows options (which could be never)
     318  OptionsNotesIniFile := TIniFile.Create(ChangeFileExt(Application.ExeName, '.INI'));  //kt
     319  DefaultEditHTMLMode := OptionsNotesIniFile.ReadBool(User.Name,DEFAULT_HTML_EDIT_MODE,false);
     320  FHTMLEditTextSize := OptionsNotesIniFile.ReadInteger(User.Name,DEFAULT_HTML_TEXT_SIZE,2);
     321  SetRegHTMLViewSize(FHTMLEditTextSize);
     322end;
     323
     324procedure TfrmOptionsNotes.FormCreate(Sender: TObject);
     325//kt added entire function 8/09
     326//NOTE: form is not created until first time needed.
     327begin
     328  //NOTE: FHTMLEditTextSize is set in Loaded function (has to be called after sign on (so User.Name is available)
     329  if (FHTMLEditTextSize > -1) and (FHTMLEditTextSize < cboHTMLViewSize.Items.Count) then begin
     330    cboHTMLViewSize.ItemIndex := FHTMLEditTextSize;
     331    cboHTMLViewSize.Text := cboHTMLViewSize.Items[FHTMLEditTextSize];
     332    SetRegHTMLViewSize(cboHTMLViewSize.ItemIndex);
     333  end;
     334end;
     335
     336initialization
     337
     338finalization
     339  OptionsNotesIniFile.Free;  //kt 8/09
     340
    209341end.
Note: See TracChangeset for help on using the changeset viewer.