Browse Source

CH: many bug fixes / new features

Jean-Francois Goulet 19 years ago
parent
commit
221690fb53

File diff suppressed because it is too large
+ 812 - 343
LuaEdit/About.dfm


+ 9 - 10
LuaEdit/About.pas

@@ -25,7 +25,6 @@ type
     Label10: TLabel;
     Label10: TLabel;
     Label1: TLabel;
     Label1: TLabel;
     Image2: TImage;
     Image2: TImage;
-    Image3: TImage;
     procedure imgLuaLogoClick(Sender: TObject);
     procedure imgLuaLogoClick(Sender: TObject);
     procedure btnCloseClick(Sender: TObject);
     procedure btnCloseClick(Sender: TObject);
     procedure FormShow(Sender: TObject);
     procedure FormShow(Sender: TObject);
@@ -53,11 +52,6 @@ uses Math;
 
 
 {$R *.dfm}
 {$R *.dfm}
 
 
-procedure TfrmAbout.imgLuaLogoClick(Sender: TObject);
-begin
-  ShellExecute(Self.Handle, 'open', 'http://www.lua.org', nil, nil, SW_SHOWNORMAL);
-end;
-
 procedure TfrmAbout.btnCloseClick(Sender: TObject);
 procedure TfrmAbout.btnCloseClick(Sender: TObject);
 begin
 begin
   Self.Close;
   Self.Close;
@@ -81,24 +75,29 @@ begin
   Result := IntToStr(TotalMem)+' KB';
   Result := IntToStr(TotalMem)+' KB';
 end;
 end;
 
 
+procedure TfrmAbout.imgLuaLogoClick(Sender: TObject);
+begin
+  ShellExecute(Self.Handle, 'open', 'http://www.lua.org', nil, nil, SW_SHOWNORMAL);
+end;
+
 procedure TfrmAbout.Label7Click(Sender: TObject);
 procedure TfrmAbout.Label7Click(Sender: TObject);
 begin
 begin
-  ShellExecute(Self.Handle, 'open', 'mailto:[email protected]?subject=About LuaEdit...', nil, nil, SW_SHOWNORMAL);
+  ShellExecute(Self.Handle, 'open', PChar('mailto:' + Label7.Caption + '?subject=About LuaEdit...'), nil, nil, SW_SHOWNORMAL);
 end;
 end;
 
 
 procedure TfrmAbout.Image1Click(Sender: TObject);
 procedure TfrmAbout.Image1Click(Sender: TObject);
 begin
 begin
-  ShellExecute(Self.Handle, 'open', 'http://luaedit.luaforge.net', nil, nil, SW_SHOWNORMAL);
+  ShellExecute(Self.Handle, 'open', 'http://www.luaedit.net', nil, nil, SW_SHOWNORMAL);
 end;
 end;
 
 
 procedure TfrmAbout.Label1Click(Sender: TObject);
 procedure TfrmAbout.Label1Click(Sender: TObject);
 begin
 begin
-  ShellExecute(Self.Handle, 'open', 'mailto:[email protected]?subject=LuaEdit Support...', nil, nil, SW_SHOWNORMAL);
+  ShellExecute(Self.Handle, 'open', PChar('mailto:' + Label1.Caption + '?subject=LuaEdit Support...'), nil, nil, SW_SHOWNORMAL);
 end;
 end;
 
 
 procedure TfrmAbout.Image3Click(Sender: TObject);
 procedure TfrmAbout.Image3Click(Sender: TObject);
 begin
 begin
-  ShellExecute(Self.Handle, 'open', 'http://luaedit.luaforge.net', nil, nil, SW_SHOWNORMAL);
+  ShellExecute(Self.Handle, 'open', 'http://www.luaedit.net', nil, nil, SW_SHOWNORMAL);
 end;
 end;
 
 
 procedure TfrmAbout.Image2Click(Sender: TObject);
 procedure TfrmAbout.Image2Click(Sender: TObject);

+ 1 - 1
LuaEdit/AddBreakpoint.pas

@@ -4,7 +4,7 @@ interface
 
 
 uses
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
-  Dialogs, StdCtrls, ExtCtrls, lua, lualib, lauxlib, LuaUtils;
+  Dialogs, StdCtrls, ExtCtrls, lua, lualib, lauxlib, LuaUtils, Misc;
 
 
 type
 type
   TfrmAddBreakpoint = class(TForm)
   TfrmAddBreakpoint = class(TForm)

+ 3 - 6
LuaEdit/Breakpoints.dfm

@@ -155,7 +155,7 @@ object frmBreakpoints: TfrmBreakpoints
     Left = 56
     Left = 56
     Top = 80
     Top = 80
     Bitmap = {
     Bitmap = {
-      494C01010A000E00040010001000FFFFFFFFFF00FFFFFFFFFFFFFFFF424D3600
+      494C01010A000E00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
       0000000000003600000028000000400000004000000001002000000000000040
       0000000000003600000028000000400000004000000001002000000000000040
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
@@ -687,7 +687,8 @@ object frmBreakpoints: TfrmBreakpoints
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000}
+      0000000000000000000000000000000000000000000000000000000000000000
+      000000000000}
   end
   end
   object popmBreakpoints: TPopupMenu
   object popmBreakpoints: TPopupMenu
     OnPopup = popmBreakpointsPopup
     OnPopup = popmBreakpointsPopup
@@ -710,11 +711,7 @@ object frmBreakpoints: TfrmBreakpoints
     end
     end
   end
   end
   object JvDockClient1: TJvDockClient
   object JvDockClient1: TJvDockClient
-    LRDockWidth = 100
-    TBDockHeight = 100
     DirectDrag = False
     DirectDrag = False
-    ShowHint = True
-    EnableCloseButton = True
     DockStyle = frmMain.jvDockVSNet
     DockStyle = frmMain.jvDockVSNet
     Left = 24
     Left = 24
     Top = 80
     Top = 80

+ 1 - 1
LuaEdit/Breakpoints.pas

@@ -5,7 +5,7 @@ interface
 uses
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, ExtCtrls, ComCtrls, ImgList, lua, lualib, lauxlib,
   Dialogs, StdCtrls, ExtCtrls, ComCtrls, ImgList, lua, lualib, lauxlib,
-  LuaUtils, Menus, JvExComCtrls, JvHeaderControl, JvComponent,
+  LuaUtils, Menus, JvExComCtrls, JvHeaderControl, JvComponent, Misc,
   JvDockControlForm, ToolWin, JvListView, JvDotNetControls, TypInfo;
   JvDockControlForm, ToolWin, JvListView, JvDotNetControls, TypInfo;
 
 
 type
 type

+ 12 - 12
LuaEdit/Contributors.dfm

@@ -49,10 +49,10 @@ object frmContributors: TfrmContributors
     object Label2: TLabel
     object Label2: TLabel
       Left = 96
       Left = 96
       Top = 24
       Top = 24
-      Width = 108
+      Width = 97
       Height = 13
       Height = 13
       Cursor = crHandPoint
       Cursor = crHandPoint
-      Caption = '[email protected]'
+      Caption = '[email protected]'
       Font.Charset = DEFAULT_CHARSET
       Font.Charset = DEFAULT_CHARSET
       Font.Color = clBlue
       Font.Color = clBlue
       Font.Height = -11
       Font.Height = -11
@@ -71,9 +71,9 @@ object frmContributors: TfrmContributors
     object Label4: TLabel
     object Label4: TLabel
       Left = 96
       Left = 96
       Top = 40
       Top = 40
-      Width = 248
+      Width = 233
       Height = 13
       Height = 13
-      Caption = 'Created and developed LuaEdit for Lua 5.0 in Delphi'
+      Caption = 'Created and developing LuaEdit in Delphi/Pascal'
     end
     end
   end
   end
   object GroupBox2: TGroupBox
   object GroupBox2: TGroupBox
@@ -93,10 +93,10 @@ object frmContributors: TfrmContributors
     object Label6: TLabel
     object Label6: TLabel
       Left = 96
       Left = 96
       Top = 24
       Top = 24
-      Width = 98
+      Width = 144
       Height = 13
       Height = 13
       Cursor = crHandPoint
       Cursor = crHandPoint
-      Caption = 'shmu[email protected]'
+      Caption = 'shmu[email protected]'
       Font.Charset = DEFAULT_CHARSET
       Font.Charset = DEFAULT_CHARSET
       Font.Color = clBlue
       Font.Color = clBlue
       Font.Height = -11
       Font.Height = -11
@@ -115,9 +115,9 @@ object frmContributors: TfrmContributors
     object Label8: TLabel
     object Label8: TLabel
       Left = 96
       Left = 96
       Top = 40
       Top = 40
-      Width = 284
+      Width = 232
       Height = 13
       Height = 13
-      Caption = 'Tested LuaEdit for Lua 5.0 under several Operating Systems'
+      Caption = 'Testing LuaEdit under several Operating Systems'
     end
     end
   end
   end
   object GroupBox3: TGroupBox
   object GroupBox3: TGroupBox
@@ -137,10 +137,10 @@ object frmContributors: TfrmContributors
     object Label10: TLabel
     object Label10: TLabel
       Left = 96
       Left = 96
       Top = 24
       Top = 24
-      Width = 94
+      Width = 147
       Height = 13
       Height = 13
       Cursor = crHandPoint
       Cursor = crHandPoint
-      Caption = 'ma[email protected]t'
+      Caption = 'ma[email protected]t'
       Font.Charset = DEFAULT_CHARSET
       Font.Charset = DEFAULT_CHARSET
       Font.Color = clBlue
       Font.Color = clBlue
       Font.Height = -11
       Font.Height = -11
@@ -159,9 +159,9 @@ object frmContributors: TfrmContributors
     object Label12: TLabel
     object Label12: TLabel
       Left = 96
       Left = 96
       Top = 40
       Top = 40
-      Width = 226
+      Width = 279
       Height = 13
       Height = 13
-      Caption = 'Helped developing LuaEdit for Lua 5.0 in Delphi'
+      Caption = 'Contibuting to the development of LuaEdit in Delphi/Pascal'
     end
     end
   end
   end
 end
 end

File diff suppressed because it is too large
+ 754 - 374
LuaEdit/EditorSettings.dfm


+ 287 - 84
LuaEdit/EditorSettings.pas

@@ -4,7 +4,10 @@ interface
 
 
 uses
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
-  Dialogs, StdCtrls, SynEdit, ComCtrls, ExtCtrls, IniFiles, Main, LuaSyntax;
+  Dialogs, StdCtrls, SynEdit, ComCtrls, ExtCtrls, IniFiles, Main, LuaSyntax,
+  Registry, ImgList, JvExControls, JvComponent, JvGroupHeader, JvPageList,
+  JvExComCtrls, JvPageListTreeView, Buttons, JvxSlider, Mask, JvExMask,
+  JvSpin, Misc, JvToolEdit, JvDotNetControls;
 
 
 const
 const
   UM_MEASUREFONTS = WM_USER;
   UM_MEASUREFONTS = WM_USER;
@@ -15,65 +18,99 @@ type
     Panel2: TPanel;
     Panel2: TPanel;
     btnCancel: TButton;
     btnCancel: TButton;
     btnOK: TButton;
     btnOK: TButton;
-    pgcDebuggerSettings: TPageControl;
-    stabGeneral: TTabSheet;
-    Group1: TGroupBox;
+    imgNotify: TImage;
+    lblNotify: TLabel;
+    jvSettingsTVSettings: TJvSettingsTreeView;
+    jvPageListSettings: TJvPageList;
+    JvStandardPage1: TJvStandardPage;
+    JvGroupHeader1: TJvGroupHeader;
+    chkFileAssociate: TCheckBox;
+    chkKeepReportOpened: TCheckBox;
+    chkShowExSaveDlg: TCheckBox;
+    chkSaveProjectsInc: TCheckBox;
+    chkSaveUnitsInc: TCheckBox;
+    chkSaveBreakpoints: TCheckBox;
+    JvStandardPage2: TJvStandardPage;
+    txtTabWidth: TEdit;
+    txtUndoLimit: TEdit;
+    Label1: TLabel;
+    Label2: TLabel;
     chkAutoIndent: TCheckBox;
     chkAutoIndent: TCheckBox;
-    chkGroupUndo: TCheckBox;
-    chkScrollPastEOF: TCheckBox;
     chkSmartTab: TCheckBox;
     chkSmartTab: TCheckBox;
-    chkTrailBlanks: TCheckBox;
     chkTabIndent: TCheckBox;
     chkTabIndent: TCheckBox;
-    chkHideScrollBars: TCheckBox;
+    chkGroupUndo: TCheckBox;
+    chkRightMouseMovesCursor: TCheckBox;
     chkEHomeKey: TCheckBox;
     chkEHomeKey: TCheckBox;
-    Label1: TLabel;
-    txtUndoLimit: TEdit;
-    Label2: TLabel;
-    txtTabWidth: TEdit;
-    stabDisplay: TTabSheet;
-    GroupBox2: TGroupBox;
-    GroupBox3: TGroupBox;
+    chkTabsToSpaces: TCheckBox;
+    chkHideScrollBars: TCheckBox;
+    chkTrailBlanks: TCheckBox;
+    chkKeepCaretX: TCheckBox;
+    chkScrollPastEOL: TCheckBox;
+    chkScrollPastEOF: TCheckBox;
+    JvGroupHeader2: TJvGroupHeader;
+    imlEditorSettings: TImageList;
+    JvStandardPage3: TJvStandardPage;
+    JvStandardPage4: TJvStandardPage;
+    Label10: TLabel;
+    txtLibraries: TEdit;
+    btnBrowseLibraries: TButton;
+    JvGroupHeader3: TJvGroupHeader;
+    JvGroupHeader4: TJvGroupHeader;
+    JvStandardPage5: TJvStandardPage;
     chkShowGutter: TCheckBox;
     chkShowGutter: TCheckBox;
     chkShowLineNumbers: TCheckBox;
     chkShowLineNumbers: TCheckBox;
-    Label3: TLabel;
-    txtGutterWidth: TEdit;
+    chkLeadingZeros: TCheckBox;
     cboGutterColor: TColorBox;
     cboGutterColor: TColorBox;
     Label4: TLabel;
     Label4: TLabel;
-    chkLeadingZeros: TCheckBox;
+    txtGutterWidth: TEdit;
+    Label3: TLabel;
+    JvGroupHeader5: TJvGroupHeader;
+    JvStandardPage6: TJvStandardPage;
+    pnlPreview: TPanel;
     cboFonts: TComboBox;
     cboFonts: TComboBox;
     Label5: TLabel;
     Label5: TLabel;
-    Label6: TLabel;
     cboFontSize: TComboBox;
     cboFontSize: TComboBox;
-    pnlPreview: TPanel;
-    stabColors: TTabSheet;
+    Label6: TLabel;
+    JvGroupHeader6: TJvGroupHeader;
+    JvStandardPage7: TJvStandardPage;
     synSample: TSynEdit;
     synSample: TSynEdit;
     lstElement: TListBox;
     lstElement: TListBox;
     Label7: TLabel;
     Label7: TLabel;
-    cboForeground: TColorBox;
-    Label8: TLabel;
-    Label9: TLabel;
-    cboBackground: TColorBox;
     chkBold: TCheckBox;
     chkBold: TCheckBox;
     chkItalic: TCheckBox;
     chkItalic: TCheckBox;
     chkUnderline: TCheckBox;
     chkUnderline: TCheckBox;
-    chkTabsToSpaces: TCheckBox;
-    chkScrollPastEOL: TCheckBox;
-    chkKeepCaretX: TCheckBox;
-    chkRightMouseMovesCursor: TCheckBox;
-    GroupBox1: TGroupBox;
-    chkFileAssociate: TCheckBox;
-    imgNotify: TImage;
-    lblNotify: TLabel;
-    chkSaveProjectsInc: TCheckBox;
-    chkSaveUnitsInc: TCheckBox;
-    chkSaveBreakpoints: TCheckBox;
-    chkShowExSaveDlg: TCheckBox;
-    TabSheet1: TTabSheet;
-    GroupBox4: TGroupBox;
-    txtLibraries: TEdit;
-    Label10: TLabel;
-    btnBrowseLibraries: TButton;
-    chkKeepReportOpened: TCheckBox;
+    Label8: TLabel;
+    cboForeground: TColorBox;
+    Label9: TLabel;
+    cboBackground: TColorBox;
+    JvGroupHeader7: TJvGroupHeader;
+    Label11: TLabel;
+    cboColorSet: TComboBox;
+    bitbtnDelete: TBitBtn;
+    bitbtnSave: TBitBtn;
+    bitbtnNew: TBitBtn;
+    Splitter1: TSplitter;
+    jvslAnimatedTabsSpeed: TJvxSlider;
+    Label12: TLabel;
+    Label13: TLabel;
+    Label14: TLabel;
+    chkShowStatusBar: TCheckBox;
+    JvGroupHeader8: TJvGroupHeader;
+    JvGroupHeader9: TJvGroupHeader;
+    JvGroupHeader10: TJvGroupHeader;
+    JvGroupHeader11: TJvGroupHeader;
+    JvGroupHeader12: TJvGroupHeader;
+    JvGroupHeader13: TJvGroupHeader;
+    JvGroupHeader14: TJvGroupHeader;
+    txtHomePage: TEdit;
+    txtSearchPage: TEdit;
+    chkHomePage: TCheckBox;
+    chkSearchPage: TCheckBox;
+    jvspinHistoryMaxAge: TJvSpinEdit;
+    Label15: TLabel;
+    Label16: TLabel;
+    Label17: TLabel;
+    txtTempFolder: TJvDotNetDirectoryEdit;
     procedure cboFontsMeasureItem(Control: TWinControl; Index: Integer;  var Height: Integer);
     procedure cboFontsMeasureItem(Control: TWinControl; Index: Integer;  var Height: Integer);
     procedure cboFontsDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
     procedure cboFontsDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
     procedure FormCreate(Sender: TObject);
     procedure FormCreate(Sender: TObject);
@@ -97,6 +134,13 @@ type
     procedure chkFileAssociateClick(Sender: TObject);
     procedure chkFileAssociateClick(Sender: TObject);
     procedure cboFontSizeMeasureItem(Control: TWinControl; Index: Integer; var Height: Integer);
     procedure cboFontSizeMeasureItem(Control: TWinControl; Index: Integer; var Height: Integer);
     procedure btnBrowseLibrariesClick(Sender: TObject);
     procedure btnBrowseLibrariesClick(Sender: TObject);
+    procedure cboColorSetClick(Sender: TObject);
+    procedure btnCancelClick(Sender: TObject);
+    procedure bitbtnDeleteClick(Sender: TObject);
+    procedure bitbtnNewClick(Sender: TObject);
+    procedure bitbtnSaveClick(Sender: TObject);
+    procedure chkHomePageClick(Sender: TObject);
+    procedure chkSearchPageClick(Sender: TObject);
   private
   private
     { Private declarations }
     { Private declarations }
   public
   public
@@ -105,6 +149,8 @@ type
     procedure NotifyRestart(Notify: Boolean);
     procedure NotifyRestart(Notify: Boolean);
     procedure LoadEditorSettings;
     procedure LoadEditorSettings;
     procedure WriteEditorSettings;
     procedure WriteEditorSettings;
+    procedure WriteColorSet;
+    procedure BuildColorSetList;
   end;
   end;
 
 
 var
 var
@@ -269,11 +315,11 @@ end;
 
 
 procedure TfrmEditorSettings.WriteEditorSettings;
 procedure TfrmEditorSettings.WriteEditorSettings;
 var
 var
-  pIniFile: TIniFile;
+  pReg: TRegistry;
   x: Integer;
   x: Integer;
 begin
 begin
   Screen.Cursor := crHourGlass;
   Screen.Cursor := crHourGlass;
-  pIniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'LuaEdit.ini');
+  pReg := TRegistry.Create();
 
 
   //Writing general settings
   //Writing general settings
   if chkAutoIndent.Checked then
   if chkAutoIndent.Checked then
@@ -336,15 +382,26 @@ begin
   else
   else
     Options := Options - [eoRightMouseMovesCursor];
     Options := Options - [eoRightMouseMovesCursor];
 
 
-  pIniFile.WriteInteger('General', 'EditorOptions', Integer(Options));
-  pIniFile.WriteInteger('General', 'UndoLimit', StrToInt(txtUndoLimit.Text));
-  pIniFile.WriteInteger('General', 'TabWidth', StrToInt(txtTabWidth.Text));
-  pIniFile.WriteBool('General', 'SaveProjectsInc', chkSaveProjectsInc.Checked);
-  pIniFile.WriteBool('General', 'SaveBreakpoints', chkSaveBreakpoints.Checked);
-  pIniFile.WriteBool('General', 'SaveUnitsInc', chkSaveUnitsInc.Checked);
-  pIniFile.WriteBool('General', 'AssociateFiles', chkFileAssociate.Checked);
-  pIniFile.WriteBool('General', 'ShowExSaveDlg', chkShowExSaveDlg.Checked);
-  pIniFile.WriteBool('General', 'KeepSIFWindowOpened', chkKeepReportOpened.Checked);
+  pReg.OpenKey('\Software\LuaEdit\EditorSettings\General', True);
+  pReg.WriteInteger('EditorOptions', Integer(Options));
+  pReg.WriteInteger('UndoLimit', StrToInt(txtUndoLimit.Text));
+  pReg.WriteInteger('TabWidth', StrToInt(txtTabWidth.Text));
+  pReg.WriteInteger('AnimatedTabsSpeed', 2001 - jvslAnimatedTabsSpeed.Value);
+  pReg.WriteInteger('HistoryMaxAge', Trunc(jvspinHistoryMaxAge.Value));
+  pReg.WriteBool('SaveProjectsInc', chkSaveProjectsInc.Checked);
+  pReg.WriteBool('SaveBreakpoints', chkSaveBreakpoints.Checked);
+  pReg.WriteBool('SaveUnitsInc', chkSaveUnitsInc.Checked);
+  pReg.WriteBool('AssociateFiles', chkFileAssociate.Checked);
+  pReg.WriteBool('ShowExSaveDlg', chkShowExSaveDlg.Checked);
+  pReg.WriteBool('KeepSIFWindowOpened', chkKeepReportOpened.Checked);
+  pReg.WriteBool('ShowStatusBar', chkShowStatusBar.Checked);
+  pReg.WriteString('HomePage', txtHomePage.Text);
+  pReg.WriteString('SearchPage', txtSearchPage.Text);
+  pReg.WriteString('TempFolder', txtTempFolder.Text);
+
+  // Clean up old temporary folder if set to new one
+  if TempFolder <> txtTempFolder.Text then
+    frmMain.CleanUpTempDir();
 
 
   if AssociateFiles <> chkFileAssociate.Checked then
   if AssociateFiles <> chkFileAssociate.Checked then
   begin
   begin
@@ -372,47 +429,63 @@ begin
     if Application.MessageBox('You must restart your computer for some of the changes to take effect. Do you want to restart your computer now?', 'LuaEdit', MB_ICONQUESTION+MB_YESNO) = IDYES then
     if Application.MessageBox('You must restart your computer for some of the changes to take effect. Do you want to restart your computer now?', 'LuaEdit', MB_ICONQUESTION+MB_YESNO) = IDYES then
     begin
     begin
       if not WinExit(EWX_REBOOT) then
       if not WinExit(EWX_REBOOT) then
-      begin
         Application.MessageBox('LuaEdit was unable to restart your computer!', 'LuaEdit', MB_OK+MB_ICONERROR);
         Application.MessageBox('LuaEdit was unable to restart your computer!', 'LuaEdit', MB_OK+MB_ICONERROR);
-      end;
     end;
     end;
   end;
   end;
 
 
   // Writing environement settings
   // Writing environement settings
-  pIniFile.WriteString('Environement', 'LibrariesSearchPaths', '"'+txtLibraries.Text+'"');
+  pReg.OpenKey('\Software\LuaEdit\EditorSettings\Environment', True);
+  pReg.WriteString('LibrariesSearchPaths', '"'+txtLibraries.Text+'"');
 
 
   //Writing display settings
   //Writing display settings
-  pIniFile.WriteBool('Display', 'ShowGutter', chkShowGutter.Checked);
-  pIniFile.WriteBool('Display', 'ShowLineNumbers', chkShowLineNumbers.Checked);
-  piniFile.WriteBool('Display', 'LeadingZeros', chkLeadingZeros.Checked);
-  pIniFile.WriteInteger('Display', 'GutterWidth', StrToInt(txtGutterWidth.Text));
-  pIniFile.WriteString('Display', 'GutterColor', ColorToString(cboGutterColor.Selected));
-  pIniFile.WriteString('Display', 'FontName', cboFonts.Text);
-  pIniFile.WriteInteger('Display', 'FontSize', StrToInt(cboFontSize.Text));
-
-  pIniFile.UpdateFile;
-  pIniFile.Free;
-  pIniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'\LuaEdit.dat');
+  pReg.OpenKey('\Software\LuaEdit\EditorSettings\Display', True);
+  pReg.WriteBool('ShowGutter', chkShowGutter.Checked);
+  pReg.WriteBool('ShowLineNumbers', chkShowLineNumbers.Checked);
+  pReg.WriteBool('LeadingZeros', chkLeadingZeros.Checked);
+  pReg.WriteInteger('GutterWidth', StrToInt(txtGutterWidth.Text));
+  pReg.WriteString('GutterColor', ColorToString(cboGutterColor.Selected));
+  pReg.WriteString('FontName', cboFonts.Text);
+  pReg.WriteInteger('FontSize', StrToInt(cboFontSize.Text));
+  pReg.WriteString('ColorSet', cboColorSet.Text);
+
+  pReg.Free;
+  WriteColorSet;    
+
+  frmMain.LoadEditorSettingsFromReg;
+  for x := 0 to LuaOpenedUnits.Count - 1 do
+    frmMain.ApplyValuesToEditor(TLuaUnit(LuaOpenedUnits.Items[x]).synUnit, EditorColors);
+  Screen.Cursor := crDefault;
+end;
+
+procedure TfrmEditorSettings.WriteColorSet;
+var
+  pColorSet: TIniFile;
+  x: Integer;
+begin
+  // Create .\Data directory if innexistant
+  if not DirectoryExists(GetLuaEditInstallPath()+'\Data') then
+    CreateDirectory(PChar(GetLuaEditInstallPath()+'\Data'), nil);
+
+  // Creating/opening file
+  pColorSet := TIniFile.Create(GetLuaEditInstallPath()+'\Data\' + cboColorSet.Text + '.dat');
 
 
   //Writing colors settings
   //Writing colors settings
   for x := 0 to lstElement.Items.Count - 1 do
   for x := 0 to lstElement.Items.Count - 1 do
   begin
   begin
-    pIniFile.WriteBool(lstElement.Items.Strings[x], 'IsBold', TEditorColors(lstElement.Items.Objects[x]).IsBold);
-    pIniFile.WriteBool(lstElement.Items.Strings[x], 'IsItalic', TEditorColors(lstElement.Items.Objects[x]).IsItalic);
-    pIniFile.WriteBool(lstElement.Items.Strings[x], 'IsUnderline', TEditorColors(lstElement.Items.Objects[x]).IsUnderline);
-    pIniFile.WriteString(lstElement.Items.Strings[x], 'ForegroundColor', TEditorColors(lstElement.Items.Objects[x]).Foreground);
-    pIniFile.WriteString(lstElement.Items.Strings[x], 'BackgroundColor', TEditorColors(lstElement.Items.Objects[x]).Background);
+    pColorSet.WriteBool(lstElement.Items.Strings[x], 'IsBold', TEditorColors(lstElement.Items.Objects[x]).IsBold);
+    pColorSet.WriteBool(lstElement.Items.Strings[x], 'IsItalic', TEditorColors(lstElement.Items.Objects[x]).IsItalic);
+    pColorSet.WriteBool(lstElement.Items.Strings[x], 'IsUnderline', TEditorColors(lstElement.Items.Objects[x]).IsUnderline);
+    pColorSet.WriteString(lstElement.Items.Strings[x], 'ForegroundColor', TEditorColors(lstElement.Items.Objects[x]).Foreground);
+    pColorSet.WriteString(lstElement.Items.Strings[x], 'BackgroundColor', TEditorColors(lstElement.Items.Objects[x]).Background);
   end;
   end;
 
 
-  pIniFile.UpdateFile;
-  pIniFile.Free;
-  frmMain.LoadEditorSettings;
-  for x := 0 to LuaOpenedUnits.Count - 1 do
-    frmMain.ApplyValuesToEditor(TLuaUnit(LuaOpenedUnits.Items[x]).synUnit, EditorColors);
-  Screen.Cursor := crDefault;
+  pColorSet.UpdateFile;
+  pColorSet.Free;
 end;
 end;
 
 
 procedure TfrmEditorSettings.LoadEditorSettings;
 procedure TfrmEditorSettings.LoadEditorSettings;
+var
+  x: Integer;
 begin
 begin
   lstEditorColorsTemp.Assign(EditorColors);
   lstEditorColorsTemp.Assign(EditorColors);
   Options := EditorOptions;
   Options := EditorOptions;
@@ -483,6 +556,8 @@ begin
   chkShowExSaveDlg.Checked := ShowExSaveDlg;
   chkShowExSaveDlg.Checked := ShowExSaveDlg;
   chkSaveBreakpoints.Checked := SaveBreakpoints;
   chkSaveBreakpoints.Checked := SaveBreakpoints;
   chkKeepReportOpened.Checked := KeepSIFWindowOpened;
   chkKeepReportOpened.Checked := KeepSIFWindowOpened;
+  chkShowStatusBar.Checked := ShowStatusBar;
+  jvslAnimatedTabsSpeed.Value := 2001 - AnimatedTabsSpeed;
   txtUndoLimit.Text := IntToStr(Main.UndoLimit);
   txtUndoLimit.Text := IntToStr(Main.UndoLimit);
   txtTabWidth.Text := IntToStr(Main.TabWidth);
   txtTabWidth.Text := IntToStr(Main.TabWidth);
   txtLibraries.Text := LibrariesSearchPaths.CommaText;
   txtLibraries.Text := LibrariesSearchPaths.CommaText;
@@ -493,6 +568,23 @@ begin
   cboGutterColor.Selected := StringToColor(Main.GutterColor);
   cboGutterColor.Selected := StringToColor(Main.GutterColor);
   cboFonts.ItemIndex := cboFonts.Items.IndexOf(Main.FontName);
   cboFonts.ItemIndex := cboFonts.Items.IndexOf(Main.FontName);
   cboFontSize.ItemIndex := cboFontSize.Items.IndexOf(IntToStr(Main.FontSize));
   cboFontSize.ItemIndex := cboFontSize.Items.IndexOf(IntToStr(Main.FontSize));
+  txtHomePage.Text := HomePage;
+  chkHomePage.Checked := (txtHomePage.Text <> '');
+  txtHomePage.Enabled := chkHomePage.Checked;
+  txtSearchPage.Text := SearchPage;
+  chkSearchPage.Checked := (txtSearchPage.Text <> '');
+  txtSearchPage.Enabled := chkSearchPage.Checked;
+  txtTempFolder.Text := TempFolder;
+  jvspinHistoryMaxAge.Value := HistoryMaxAge;
+
+  if cboColorSet.ItemIndex = -1 then
+  begin
+    for x := 0 to cboColorSet.Items.Count - 1 do
+    begin
+      if Main.ColorSet = cboColorSet.Items[x] then
+        cboColorSet.ItemIndex := x;
+    end;
+  end;
 
 
   lstElement.Items.Clear;
   lstElement.Items.Clear;
   lstElement.Items.AddObject('Background', lstEditorColorsTemp.Items[0]);
   lstElement.Items.AddObject('Background', lstEditorColorsTemp.Items[0]);
@@ -517,22 +609,28 @@ begin
   
   
   if ((txtUndoLimit.Text = '0') or (txtUndoLimit.Text = '')) then
   if ((txtUndoLimit.Text = '0') or (txtUndoLimit.Text = '')) then
   begin
   begin
-    pgcDebuggerSettings.ActivePageIndex := 0;
+    jvPageListSettings.ActivePageIndex := 1;
     Application.MessageBox('The limit of undo must be higher than zero.', 'LuaEdit', MB_OK+MB_ICONERROR);
     Application.MessageBox('The limit of undo must be higher than zero.', 'LuaEdit', MB_OK+MB_ICONERROR);
     txtUndoLimit.SetFocus;
     txtUndoLimit.SetFocus;
   end
   end
   else if ((txtTabWidth.Text = '0') or (txtTabWidth.Text = '')) then
   else if ((txtTabWidth.Text = '0') or (txtTabWidth.Text = '')) then
   begin
   begin
-    pgcDebuggerSettings.ActivePageIndex := 0;
+    jvPageListSettings.ActivePageIndex := 1;
     Application.MessageBox('The tab width must be higher than zero.', 'LuaEdit', MB_OK+MB_ICONERROR);
     Application.MessageBox('The tab width must be higher than zero.', 'LuaEdit', MB_OK+MB_ICONERROR);
     txtTabWidth.SetFocus;
     txtTabWidth.SetFocus;
   end
   end
   else if ((txtGutterWidth.Text = '0') or (txtGutterWidth.Text = '')) then
   else if ((txtGutterWidth.Text = '0') or (txtGutterWidth.Text = '')) then
   begin
   begin
-    pgcDebuggerSettings.ActivePageIndex := 1;
+    jvPageListSettings.ActivePageIndex := 4;
     Application.MessageBox('The gutter width must be higher than zero.', 'LuaEdit', MB_OK+MB_ICONERROR);
     Application.MessageBox('The gutter width must be higher than zero.', 'LuaEdit', MB_OK+MB_ICONERROR);
     txtGutterWidth.SetFocus;
     txtGutterWidth.SetFocus;
   end
   end
+  else if cboColorSet.Text = '' then
+  begin
+    jvPageListSettings.ActivePageIndex := 6;
+    Application.MessageBox('The color set name can''t be empty.', 'LuaEdit', MB_OK+MB_ICONERROR);
+    cboColorSet.SetFocus;
+  end
   else
   else
   begin
   begin
     WriteEditorSettings;
     WriteEditorSettings;
@@ -628,14 +726,33 @@ end;
 
 
 procedure TfrmEditorSettings.FormShow(Sender: TObject);
 procedure TfrmEditorSettings.FormShow(Sender: TObject);
 begin
 begin
-  pgcDebuggerSettings.ActivePageIndex := 0;
+  jvPageListSettings.ActivePageIndex := 0;
+  jvSettingsTVSettings.Selected := jvSettingsTVSettings.Items[1];
   lstEditorColorsTemp.Clear;
   lstEditorColorsTemp.Clear;
+  BuildColorSetList;
+
+  // Initializing settings
   LoadEditorSettings;
   LoadEditorSettings;
 
 
   // Hide notification
   // Hide notification
   NotifyRestart(False);
   NotifyRestart(False);
 end;
 end;
 
 
+procedure TfrmEditorSettings.BuildColorSetList;
+var
+  srSearchRec: TSearchRec;
+begin
+  cboColorSet.Clear;
+
+  // Fill content of ColorSet combo box
+  if FindFirst(GetLuaEditInstallPath()+'\Data\*.dat', faAnyFile, srSearchRec) = 0 then
+  begin
+    repeat
+      cboColorSet.AddItem(Copy(srSearchRec.Name, 1, Length(srSearchRec.Name) - 4), nil);
+    until FindNext(srSearchRec) <> 0;
+  end;
+end;
+
 procedure TfrmEditorSettings.FormDestroy(Sender: TObject);
 procedure TfrmEditorSettings.FormDestroy(Sender: TObject);
 begin
 begin
   lstEditorColorsTemp.Free;
   lstEditorColorsTemp.Free;
@@ -660,7 +777,7 @@ procedure TfrmEditorSettings.btnBrowseLibrariesClick(Sender: TObject);
 begin
 begin
   // Initialize search path form
   // Initialize search path form
   frmSearchPath := TfrmSearchPath.Create(nil);
   frmSearchPath := TfrmSearchPath.Create(nil);
-  frmSearchPath.InitSearchPathForm(txtLibraries.Text, 'Libraries Search Paths', 'Select libraries search paths for LuaEdit to use when looking for *.lib and *.def files:');
+  frmSearchPath.InitSearchPathForm(txtLibraries.Text, 'Libraries Search Paths', 'Select libraries search paths for LuaEdit to use when looking for *.lib files:');
 
 
   // Show form and replace current path string by the new one
   // Show form and replace current path string by the new one
   if frmSearchPath.ShowModal = mrOk then
   if frmSearchPath.ShowModal = mrOk then
@@ -670,4 +787,90 @@ begin
   frmSearchPath.Free;
   frmSearchPath.Free;
 end;
 end;
 
 
+procedure TfrmEditorSettings.cboColorSetClick(Sender: TObject);
+begin
+  frmMain.GetColorSet(cboColorSet.Items[cboColorSet.ItemIndex]);
+  LoadEditorSettings;
+end;
+
+procedure TfrmEditorSettings.btnCancelClick(Sender: TObject);
+begin
+  frmMain.LoadEditorSettingsFromReg;
+end;
+
+procedure TfrmEditorSettings.bitbtnDeleteClick(Sender: TObject);
+begin
+  if Application.MessageBox(PChar('Are you sure you want to delete color set "' + cboColorSet.Text + '"?'), 'LuaEdit', MB_ICONQUESTION+MB_YESNO) = IDYES then
+  begin
+    DeleteFile(GetLuaEditInstallPath()+'\Data\'+cboColorSet.Text+'.dat');
+    BuildColorSetList;
+    cboColorSet.ItemIndex := 0;
+  end;
+end;
+
+procedure TfrmEditorSettings.bitbtnNewClick(Sender: TObject);
+var
+  sColorSet: String;
+  x: Integer;
+begin
+  sColorSet := 'New Color Set';
+  
+  if InputQuery('Add Color Set', 'Enter the name of the new color set:', sColorSet) then
+  begin
+    if sColorSet <> '' then
+    begin
+      if not FileExists(GetLuaEditInstallPath()+'\Data\'+sColorSet+'.dat') then
+      begin
+        if not DirectoryExists(GetLuaEditInstallPath()+'\Data\') then
+          CreateDirectory(PChar(GetLuaEditInstallPath()+'\Data\'), nil);
+
+        CloseHandle(CreateFile(PChar(GetLuaEditInstallPath()+'\Data\'+sColorSet+'.dat'), GENERIC_WRITE, FILE_SHARE_WRITE, nil, CREATE_NEW, 0, 0));
+        BuildColorSetList;
+
+        for x := 0 to cboColorSet.Items.Count - 1 do
+        begin
+          if sColorSet = cboColorSet.Items[x] then
+            cboColorSet.ItemIndex := x;
+        end;
+
+        frmMain.GetColorSet(cboColorSet.Items[cboColorSet.ItemIndex]);
+        LoadEditorSettings;
+      end
+      else
+        Application.MessageBox('The specified color set name already exists!', 'LuaEdit', MB_ICONERROR);
+    end
+    else
+      Application.MessageBox('Invalid color set name!', 'LuaEdit', MB_ICONERROR);
+  end;
+end;
+
+procedure TfrmEditorSettings.bitbtnSaveClick(Sender: TObject);
+begin
+  if Application.MessageBox(PChar('Save changes to "' + cboColorSet.Text + '"?'), 'LuaEdit', MB_ICONQUESTION+MB_YESNO) = IDYES then
+    WriteColorSet;
+
+  {if cboColorSet.Items.Count > 0 then
+  begin
+    cboColorSet.ItemIndex := 0;
+    frmMain.GetColorSet(cboColorSet.Items[cboColorSet.ItemIndex]);
+    LoadEditorSettings;
+  end;}
+end;
+
+procedure TfrmEditorSettings.chkHomePageClick(Sender: TObject);
+begin
+  if not chkHomePage.Checked then
+    txtHomePage.Text := '';
+
+  txtHomePage.Enabled := chkHomePage.Checked;
+end;
+
+procedure TfrmEditorSettings.chkSearchPageClick(Sender: TObject);
+begin
+  if not chkSearchPage.Checked then
+    txtSearchPage.Text := '';
+
+  txtSearchPage.Enabled := chkSearchPage.Checked;
+end;
+
 end.
 end.

+ 0 - 4
LuaEdit/FindWindow1.dfm

@@ -50,11 +50,7 @@ object frmFindWindow1: TfrmFindWindow1
     SortOnClick = False
     SortOnClick = False
   end
   end
   object JvDockClient1: TJvDockClient
   object JvDockClient1: TJvDockClient
-    LRDockWidth = 100
-    TBDockHeight = 100
     DirectDrag = False
     DirectDrag = False
-    ShowHint = True
-    EnableCloseButton = True
     DockStyle = frmMain.jvDockVSNet
     DockStyle = frmMain.jvDockVSNet
     Left = 8
     Left = 8
     Top = 24
     Top = 24

+ 1 - 1
LuaEdit/FindWindow1.pas

@@ -5,7 +5,7 @@ interface
 uses
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, ComCtrls, CommCtrl, VirtualTrees, JvComponent, JvDockControlForm,
   Dialogs, ComCtrls, CommCtrl, VirtualTrees, JvComponent, JvDockControlForm,
-  JvExComCtrls, JvListView, JvDotNetControls, StdCtrls;
+  JvExComCtrls, JvListView, JvDotNetControls, StdCtrls, Misc;
 
 
 type
 type
   TfrmFindWindow1 = class(TForm)
   TfrmFindWindow1 = class(TForm)

+ 0 - 4
LuaEdit/FindWindow2.dfm

@@ -50,11 +50,7 @@ object frmFindWindow2: TfrmFindWindow2
     SortOnClick = False
     SortOnClick = False
   end
   end
   object JvDockClient1: TJvDockClient
   object JvDockClient1: TJvDockClient
-    LRDockWidth = 100
-    TBDockHeight = 100
     DirectDrag = False
     DirectDrag = False
-    ShowHint = True
-    EnableCloseButton = True
     DockStyle = frmMain.jvDockVSNet
     DockStyle = frmMain.jvDockVSNet
     Left = 8
     Left = 8
     Top = 24
     Top = 24

+ 1 - 1
LuaEdit/FindWindow2.pas

@@ -5,7 +5,7 @@ interface
 uses
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, ComCtrls, CommCtrl, VirtualTrees, JvComponent, JvDockControlForm,
   Dialogs, ComCtrls, CommCtrl, VirtualTrees, JvComponent, JvDockControlForm,
-  JvExComCtrls, JvListView, JvDotNetControls;
+  JvExComCtrls, JvListView, JvDotNetControls, Misc;
 
 
 type
 type
   TfrmFindWindow2 = class(TForm)
   TfrmFindWindow2 = class(TForm)

+ 8 - 4
LuaEdit/FunctionList.pas

@@ -6,7 +6,7 @@ uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, JvExStdCtrls, JvListBox, JvDotNetControls, ShellAPI,
   Dialogs, StdCtrls, JvExStdCtrls, JvListBox, JvDotNetControls, ShellAPI,
   JvComponent, JvDockControlForm, ComCtrls, JvExComCtrls, JvListView,
   JvComponent, JvDockControlForm, ComCtrls, JvExComCtrls, JvListView,
-  ImgList, ToolWin;
+  ImgList, ToolWin, Misc;
 
 
 type
 type
   TfrmFunctionList = class(TForm)
   TfrmFunctionList = class(TForm)
@@ -48,6 +48,10 @@ var
   si: TStartupInfo;
   si: TStartupInfo;
   pi: TProcessInformation;
   pi: TProcessInformation;
 begin
 begin
+  // Create temp directory if required
+  if not DirectoryExists(TempFolder) then
+    CreateDir(TempFolder);
+
   // Free previously created TFctInfo objects...
   // Free previously created TFctInfo objects...
   for x := 0 to lvwFunctions.Items.Count - 1 do
   for x := 0 to lvwFunctions.Items.Count - 1 do
     TFctInfo(lvwFunctions.Items[x].Data).Free;
     TFctInfo(lvwFunctions.Items[x].Data).Free;
@@ -55,10 +59,10 @@ begin
   lstTags := TStringList.Create;
   lstTags := TStringList.Create;
   lvwFunctions.Items.Clear;
   lvwFunctions.Items.Clear;
   lvwFunctions.Items.BeginUpdate;
   lvwFunctions.Items.BeginUpdate;
-
+                                   
   // Build executable and its parameters strings
   // Build executable and its parameters strings
-  CTagAppPath := '"' + ExtractFilePath(Application.ExeName) + 'ctags.exe"';
-  TagFile := ChangeFileExt(sFileName, '.tag');
+  CTagAppPath := '"' + GetLuaEditInstallPath() + '\ctags.exe"';
+  TagFile := TempFolder + '\' + ExtractFileName(ChangeFileExt(sFileName, '.tag'));
   CTagParams := '"-f' + TagFile + '" "--fields=+n+S+K" "' + sFileName + '"';
   CTagParams := '"-f' + TagFile + '" "--fields=+n+S+K" "' + sFileName + '"';
 
 
   // Initialize createprocess variables for call
   // Initialize createprocess variables for call

+ 2 - 7
LuaEdit/InternalBrowser.dfm

@@ -6,8 +6,6 @@ object frmInternalBrowser: TfrmInternalBrowser
   BorderStyle = bsSizeToolWin
   BorderStyle = bsSizeToolWin
   Caption = 'Internal Browser'
   Caption = 'Internal Browser'
   Color = clBtnFace
   Color = clBtnFace
-  Constraints.MinHeight = 200
-  Constraints.MinWidth = 200
   DockSite = True
   DockSite = True
   DragKind = dkDock
   DragKind = dkDock
   DragMode = dmAutomatic
   DragMode = dmAutomatic
@@ -21,6 +19,7 @@ object frmInternalBrowser: TfrmInternalBrowser
   Position = poOwnerFormCenter
   Position = poOwnerFormCenter
   OnCreate = FormCreate
   OnCreate = FormCreate
   OnDestroy = FormDestroy
   OnDestroy = FormDestroy
+  OnShow = FormShow
   PixelsPerInch = 96
   PixelsPerInch = 96
   TextHeight = 13
   TextHeight = 13
   object Panel2: TPanel
   object Panel2: TPanel
@@ -274,7 +273,7 @@ object frmInternalBrowser: TfrmInternalBrowser
     TabOrder = 1
     TabOrder = 1
     OnCommandStateChange = InternalBrowserCommandStateChange
     OnCommandStateChange = InternalBrowserCommandStateChange
     OnBeforeNavigate2 = InternalBrowserBeforeNavigate2
     OnBeforeNavigate2 = InternalBrowserBeforeNavigate2
-    OnNavigateComplete2 = InternalBrowserNavigateComplete2
+    OnDocumentComplete = InternalBrowserDocumentComplete
     ControlData = {
     ControlData = {
       4C000000D8130000AE0B00000000000000000000000000000000000000000000
       4C000000D8130000AE0B00000000000000000000000000000000000000000000
       000000004C000000000000000000000001000000E0D057007335CF11AE690800
       000000004C000000000000000000000001000000E0D057007335CF11AE690800
@@ -283,11 +282,7 @@ object frmInternalBrowser: TfrmInternalBrowser
       00000000000000000100000000000000000000000000000000000000}
       00000000000000000100000000000000000000000000000000000000}
   end
   end
   object JvDockClient1: TJvDockClient
   object JvDockClient1: TJvDockClient
-    LRDockWidth = 100
-    TBDockHeight = 100
     DirectDrag = False
     DirectDrag = False
-    ShowHint = True
-    EnableCloseButton = True
     DockStyle = frmMain.jvDockVSNet
     DockStyle = frmMain.jvDockVSNet
     Left = 8
     Left = 8
     Top = 112
     Top = 112

+ 36 - 13
LuaEdit/InternalBrowser.pas

@@ -6,7 +6,7 @@ uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, JvComponent, JvDockControlForm, ImgList, ComCtrls, ToolWin,
   Dialogs, JvComponent, JvDockControlForm, ImgList, ComCtrls, ToolWin,
   StdCtrls, SHDocVW, ActnList, ExtCtrls, Registry, DateUtils, JvExControls,
   StdCtrls, SHDocVW, ActnList, ExtCtrls, Registry, DateUtils, JvExControls,
-  JvAnimatedImage, JvGIFCtrl, OleCtrls, ActiveX, JvOutlookBar;
+  JvAnimatedImage, JvGIFCtrl, OleCtrls, ActiveX, JvOutlookBar, Misc;
 
 
 const
 const
   // Mouse click basic events
   // Mouse click basic events
@@ -59,13 +59,18 @@ type
     procedure actRefreshExecute(Sender: TObject);
     procedure actRefreshExecute(Sender: TObject);
     procedure actSearchExecute(Sender: TObject);
     procedure actSearchExecute(Sender: TObject);
     procedure actGoExecute(Sender: TObject);
     procedure actGoExecute(Sender: TObject);
-    procedure InternalBrowserNavigateComplete2(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
     procedure InternalBrowserCommandStateChange(Sender: TObject; Command: Integer; Enable: WordBool);
     procedure InternalBrowserCommandStateChange(Sender: TObject; Command: Integer; Enable: WordBool);
     procedure InternalBrowserBeforeNavigate2(Sender: TObject;
     procedure InternalBrowserBeforeNavigate2(Sender: TObject;
       const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
       const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
       Headers: OleVariant; var Cancel: WordBool);
       Headers: OleVariant; var Cancel: WordBool);
     procedure cboURLKeyPress(Sender: TObject; var Key: Char);
     procedure cboURLKeyPress(Sender: TObject; var Key: Char);
+    procedure FormShow(Sender: TObject);
+    procedure InternalBrowserDocumentComplete(Sender: TObject;
+      const pDisp: IDispatch; var URL: OleVariant);
   private
   private
+    {Private variables}
+    IsFirstTime: Boolean;
+    
     { Private declarations }
     { Private declarations }
     FOleInPlaceActiveObject: IOleInPlaceActiveObject;
     FOleInPlaceActiveObject: IOleInPlaceActiveObject;
     procedure MsgHandler(var Msg: TMsg; var Handled: Boolean);
     procedure MsgHandler(var Msg: TMsg; var Handled: Boolean);
@@ -119,7 +124,7 @@ begin
 
 
     for x := 0 to lstValues.Count - 1 do
     for x := 0 to lstValues.Count - 1 do
     begin
     begin
-      if StrToDateTime(lstValues.Strings[x]) < IncDay(Now, -10) then
+      if StrToDateTime(lstValues.Strings[x]) < IncDay(Now, 0 - HistoryMaxAge) then
       begin
       begin
         pReg.DeleteValue(lstValues.Strings[x]);
         pReg.DeleteValue(lstValues.Strings[x]);
       end
       end
@@ -136,7 +141,7 @@ begin
 
 
   lstValues.Free;
   lstValues.Free;
   pReg.Free;
   pReg.Free;
-  actHome.Execute;
+  IsFirstTime := True;
 end;
 end;
 
 
 procedure TfrmInternalBrowser.FormDestroy(Sender: TObject);
 procedure TfrmInternalBrowser.FormDestroy(Sender: TObject);
@@ -252,7 +257,10 @@ end;
 
 
 procedure TfrmInternalBrowser.actHomeExecute(Sender: TObject);
 procedure TfrmInternalBrowser.actHomeExecute(Sender: TObject);
 begin
 begin
-  InternalBrowser.GoHome;
+  if HomePage = '' then
+    InternalBrowser.GoHome
+  else
+    InternalBrowser.Navigate(HomePage);
 end;
 end;
 
 
 procedure TfrmInternalBrowser.actStopExecute(Sender: TObject);
 procedure TfrmInternalBrowser.actStopExecute(Sender: TObject);
@@ -267,7 +275,10 @@ end;
 
 
 procedure TfrmInternalBrowser.actSearchExecute(Sender: TObject);
 procedure TfrmInternalBrowser.actSearchExecute(Sender: TObject);
 begin
 begin
-  InternalBrowser.GoSearch;
+  if SearchPage = '' then
+    InternalBrowser.GoSearch
+  else
+    InternalBrowser.Navigate(SearchPage);
 end;
 end;
 
 
 procedure TfrmInternalBrowser.actGoExecute(Sender: TObject);
 procedure TfrmInternalBrowser.actGoExecute(Sender: TObject);
@@ -276,13 +287,6 @@ begin
     InternalBrowser.Navigate(cboURL.Text);
     InternalBrowser.Navigate(cboURL.Text);
 end;
 end;
 
 
-procedure TfrmInternalBrowser.InternalBrowserNavigateComplete2(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
-begin
-  jvgifBrowser.Animate := False;
-  cboURL.Text := InternalBrowser.LocationURL;
-  AddURLToList(InternalBrowser.LocationURL);
-end;
-
 procedure TfrmInternalBrowser.InternalBrowserCommandStateChange(Sender: TObject; Command: Integer; Enable: WordBool);
 procedure TfrmInternalBrowser.InternalBrowserCommandStateChange(Sender: TObject; Command: Integer; Enable: WordBool);
 begin
 begin
   case Command of
   case Command of
@@ -303,6 +307,25 @@ begin
     actGo.Execute;
     actGo.Execute;
 end;
 end;
 
 
+procedure TfrmInternalBrowser.FormShow(Sender: TObject);
+begin
+  if IsFirstTime then
+  begin
+    IsFirstTime := False;
+    actHome.Execute;
+  end;
+end;
+
+procedure TfrmInternalBrowser.InternalBrowserDocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
+begin
+  if InternalBrowser.ReadyState = READYSTATE_COMPLETE then
+  begin
+    jvgifBrowser.Animate := False;
+    cboURL.Text := URL;
+    AddURLToList(URL);
+  end;
+end;
+
 initialization
 initialization
   OleInitialize(nil);
   OleInitialize(nil);
 
 

+ 12 - 12
LuaEdit/LuaEdit.dof

@@ -3,21 +3,21 @@ Version=7.0
 [Compiler]
 [Compiler]
 A=8
 A=8
 B=0
 B=0
-C=0
-D=0
+C=1
+D=1
 E=0
 E=0
 F=0
 F=0
 G=1
 G=1
 H=1
 H=1
-I=0
+I=1
 J=0
 J=0
 K=0
 K=0
-L=0
+L=1
 M=0
 M=0
 N=1
 N=1
 O=0
 O=0
 P=1
 P=1
-Q=0
+Q=1
 R=0
 R=0
 S=0
 S=0
 T=0
 T=0
@@ -25,7 +25,7 @@ U=0
 V=1
 V=1
 W=0
 W=0
 X=1
 X=1
-Y=0
+Y=1
 Z=1
 Z=1
 ShowHints=1
 ShowHints=1
 ShowWarnings=1
 ShowWarnings=1
@@ -83,7 +83,7 @@ UnsafeCast=0
 MapFile=3
 MapFile=3
 OutputObjs=0
 OutputObjs=0
 ConsoleApp=1
 ConsoleApp=1
-DebugInfo=0
+DebugInfo=1
 RemoteSymbols=0
 RemoteSymbols=0
 MinStackSize=16384
 MinStackSize=16384
 MaxStackSize=1048576
 MaxStackSize=1048576
@@ -94,7 +94,7 @@ OutputDir=.\bin
 UnitOutputDir=
 UnitOutputDir=
 PackageDLLOutputDir=
 PackageDLLOutputDir=
 PackageDCPOutputDir=
 PackageDCPOutputDir=
-SearchPath=.\Syntax;.\LuaCore;C:\Prog\Delphi\Component\XPMenu;C:\Prog\Delphi\Component\SynEdit\Source
+SearchPath=$(DELPHI)\Lib\Debug;C:\Prog\Delphi\Component\JEDI\jcl\lib\D7\debug;C:\Prog\Delphi\COMPON~1\JEDI\jcl\lib\D7\debug;.\Syntax;.\LuaCore;C:\Prog\Delphi\Component\XPMenu;C:\Prog\Delphi\Component\SynEdit\Source
 Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;DJcl;JvStdCtrlsD7R;JvAppFrmD7R;JvCoreD7R;JvBandsD7R;JvDockingD7R;JvDotNetCtrlsD7R;JvEDID7R;qrpt;JvGlobusD7R;JvHMID7R;JvInspectorD7R;JvInterpreterD7R;JvJansD7R;JvManagedThreadsD7R;JvCmpD7R;JvMMD7R;JvNetD7R;JvPageCompsD7R;JvPluginD7R;JvPrintPreviewD7R;JvCtrlsD7R;JvSystemD7R;JvTimeFrameworkD7R;JvUIBD7R;JvValidatorsD7R;JvWizardD7R;JvXPCtrlsD7R;JvCryptD7R;JvCustomD7R;JvBDED7R;JvDBD7R;JvDlgsD7R
 Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;DJcl;JvStdCtrlsD7R;JvAppFrmD7R;JvCoreD7R;JvBandsD7R;JvDockingD7R;JvDotNetCtrlsD7R;JvEDID7R;qrpt;JvGlobusD7R;JvHMID7R;JvInspectorD7R;JvInterpreterD7R;JvJansD7R;JvManagedThreadsD7R;JvCmpD7R;JvMMD7R;JvNetD7R;JvPageCompsD7R;JvPluginD7R;JvPrintPreviewD7R;JvCtrlsD7R;JvSystemD7R;JvTimeFrameworkD7R;JvUIBD7R;JvValidatorsD7R;JvWizardD7R;JvXPCtrlsD7R;JvCryptD7R;JvCustomD7R;JvBDED7R;JvDBD7R;JvDlgsD7R
 Conditionals=
 Conditionals=
 DebugSourceDirs=
 DebugSourceDirs=
@@ -115,7 +115,7 @@ AutoIncBuild=1
 MajorVer=2
 MajorVer=2
 MinorVer=5
 MinorVer=5
 Release=1
 Release=1
-Build=950
+Build=990
 Debug=0
 Debug=0
 PreRelease=0
 PreRelease=0
 Special=0
 Special=0
@@ -126,7 +126,7 @@ CodePage=1252
 [Version Info Keys]
 [Version Info Keys]
 CompanyName=Open Source
 CompanyName=Open Source
 FileDescription=IDE for Lua 5.0.2
 FileDescription=IDE for Lua 5.0.2
-FileVersion=2.5.1.950
+FileVersion=2.5.1.990
 InternalName=LuaEdit
 InternalName=LuaEdit
 LegalCopyright=LuaEdit Copyright 2004-2005 ©
 LegalCopyright=LuaEdit Copyright 2004-2005 ©
 LegalTrademarks=
 LegalTrademarks=
@@ -139,8 +139,8 @@ Count=1
 Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
 Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
 [HistoryLists\hlSearchPath]
 [HistoryLists\hlSearchPath]
 Count=5
 Count=5
-Item0=.\Syntax;.\LuaCore;C:\Prog\Delphi\Component\XPMenu;C:\Prog\Delphi\Component\SynEdit\Source
-Item1=$(DELPHI)\Lib\Debug;C:\Prog\Delphi\Component\JEDI\jcl\lib\D7\debug;C:\Prog\Delphi\COMPON~1\JEDI\jcl\lib\D7\debug;.\Syntax;.\LuaCore;C:\Prog\Delphi\Component\XPMenu;C:\Prog\Delphi\Component\SynEdit\Source
+Item0=$(DELPHI)\Lib\Debug;C:\Prog\Delphi\Component\JEDI\jcl\lib\D7\debug;C:\Prog\Delphi\COMPON~1\JEDI\jcl\lib\D7\debug;.\Syntax;.\LuaCore;C:\Prog\Delphi\Component\XPMenu;C:\Prog\Delphi\Component\SynEdit\Source
+Item1=.\Syntax;.\LuaCore;C:\Prog\Delphi\Component\XPMenu;C:\Prog\Delphi\Component\SynEdit\Source
 Item2=$(DELPHI)\Lib\Debug;C:\Prog\Delphi\Component\JEDI\jcl\lib\D7\debug;.\Syntax;.\LuaCore;C:\Prog\Delphi\Component\XPMenu;C:\Prog\Delphi\Component\SynEdit\Source
 Item2=$(DELPHI)\Lib\Debug;C:\Prog\Delphi\Component\JEDI\jcl\lib\D7\debug;.\Syntax;.\LuaCore;C:\Prog\Delphi\Component\XPMenu;C:\Prog\Delphi\Component\SynEdit\Source
 Item3=C:\Prog\Delphi\Component\SynEdit\Packages;C:\Prog\Delphi\Component\SynEdit\Source
 Item3=C:\Prog\Delphi\Component\SynEdit\Packages;C:\Prog\Delphi\Component\SynEdit\Source
 Item4=C:\Prog\Delphi\Component\SynEdit\Packages
 Item4=C:\Prog\Delphi\Component\SynEdit\Packages

+ 15 - 6
LuaEdit/LuaEdit.dpr

@@ -29,8 +29,6 @@ uses
   LuaStack in 'LuaStack.pas' {frmLuaStack},
   LuaStack in 'LuaStack.pas' {frmLuaStack},
   PrintSetup in 'PrintSetup.pas' {frmPrintSetup},
   PrintSetup in 'PrintSetup.pas' {frmPrintSetup},
   PrjSettings in 'PrjSettings.pas' {frmPrjOptions},
   PrjSettings in 'PrjSettings.pas' {frmPrjOptions},
-  CntString in 'CntString.pas' {frmCntString},
-  Connecting in 'Connecting.pas' {frmConnecting},
   Contributors in 'Contributors.pas' {frmContributors},
   Contributors in 'Contributors.pas' {frmContributors},
   LuaOutput in 'LuaOutput.pas' {frmLuaOutput},
   LuaOutput in 'LuaOutput.pas' {frmLuaOutput},
   LuaUtils in 'LuaCore\LuaUtils.pas',
   LuaUtils in 'LuaCore\LuaUtils.pas',
@@ -50,7 +48,9 @@ uses
   FindInFiles in 'FindInFiles.pas' {frmFindInFiles},
   FindInFiles in 'FindInFiles.pas' {frmFindInFiles},
   SIFReport in 'SIFReport.pas' {frmSIFReport},
   SIFReport in 'SIFReport.pas' {frmSIFReport},
   FindWindow1 in 'FindWindow1.pas' {frmFindWindow1},
   FindWindow1 in 'FindWindow1.pas' {frmFindWindow1},
-  FindWindow2 in 'FindWindow2.pas' {frmFindWindow2};
+  FindWindow2 in 'FindWindow2.pas' {frmFindWindow2},
+  Misc in 'Misc.pas',
+  UploadFiles in 'UploadFiles.pas' {frmUploadFiles};
 
 
 {$R *.res}
 {$R *.res}
 
 
@@ -76,8 +76,6 @@ begin
   Application.CreateForm(TfrmErrorLookup, frmErrorLookup);
   Application.CreateForm(TfrmErrorLookup, frmErrorLookup);
   Application.CreateForm(TfrmPrintSetup, frmPrintSetup);
   Application.CreateForm(TfrmPrintSetup, frmPrintSetup);
   Application.CreateForm(TfrmPrjOptions, frmPrjOptions);
   Application.CreateForm(TfrmPrjOptions, frmPrjOptions);
-  Application.CreateForm(TfrmCntString, frmCntString);
-  Application.CreateForm(TfrmConnecting, frmConnecting);
   Application.CreateForm(TfrmContributors, frmContributors);
   Application.CreateForm(TfrmContributors, frmContributors);
   Application.CreateForm(TfrmAddBreakpoint, frmAddBreakpoint);
   Application.CreateForm(TfrmAddBreakpoint, frmAddBreakpoint);
   Application.CreateForm(TfrmEditorSettings, frmEditorSettings);
   Application.CreateForm(TfrmEditorSettings, frmEditorSettings);
@@ -91,7 +89,7 @@ begin
   frmSplash.Show;
   frmSplash.Show;
   frmSplash.Update;
   frmSplash.Update;
 
 
-  for i := 0 to 2 do
+  for i := 0 to 3 do
   begin
   begin
     Application.ProcessMessages;
     Application.ProcessMessages;
     Sleep(1000);
     Sleep(1000);
@@ -102,6 +100,17 @@ begin
 
 
   LoadDockTreeFromFile(ExtractFilePath(Application.ExeName) + 'LuaEdit.dck');
   LoadDockTreeFromFile(ExtractFilePath(Application.ExeName) + 'LuaEdit.dck');
 
 
+  // Backward compatibility with the ini file
+  if FileExists(GetLuaEditInstallPath()+'\LuaEdit.ini') then
+  begin
+    frmMain.LoadEditorSettingsFromReg;
+    frmMain.LoadEditorSettingsFromIni;
+    DeleteFile(PChar(GetLuaEditInstallPath()+'\LuaEdit.ini'));
+    DeleteFile(PChar(GetLuaEditInstallPath()+'\LuaEdit.dat'));
+  end
+  else
+    frmMain.LoadEditorSettingsFromReg;
+
   if ParamCount > 0 then
   if ParamCount > 0 then
   begin
   begin
     for x := 1 to ParamCount do
     for x := 1 to ParamCount do

BIN
LuaEdit/LuaEdit.res


+ 5 - 13
LuaEdit/LuaLocals.dfm

@@ -19,27 +19,19 @@ object frmLuaLocals: TfrmLuaLocals
   Position = poOwnerFormCenter
   Position = poOwnerFormCenter
   PixelsPerInch = 96
   PixelsPerInch = 96
   TextHeight = 13
   TextHeight = 13
-  object lstLocals: TListBox
+  object lstLocals: TJvListBox
     Left = 0
     Left = 0
     Top = 0
     Top = 0
     Width = 507
     Width = 507
-    Height = 218
+    Height = 225
     Align = alClient
     Align = alClient
-    Font.Charset = ANSI_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -11
-    Font.Name = 'Arial'
-    Font.Style = []
-    ItemHeight = 14
-    ParentFont = False
+    ItemHeight = 13
+    Background.FillMode = bfmTile
+    Background.Visible = False
     TabOrder = 0
     TabOrder = 0
   end
   end
   object JvDockClient1: TJvDockClient
   object JvDockClient1: TJvDockClient
-    LRDockWidth = 100
-    TBDockHeight = 100
     DirectDrag = False
     DirectDrag = False
-    ShowHint = True
-    EnableCloseButton = True
     DockStyle = frmMain.jvDockVSNet
     DockStyle = frmMain.jvDockVSNet
     Left = 24
     Left = 24
     Top = 16
     Top = 16

+ 3 - 2
LuaEdit/LuaLocals.pas

@@ -4,12 +4,13 @@ interface
 
 
 uses
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
-  Dialogs, JvComponent, JvDockControlForm, ComCtrls, StdCtrls;
+  Dialogs, JvComponent, JvDockControlForm, ComCtrls, StdCtrls,
+  JvExStdCtrls, JvListBox;
 
 
 type
 type
   TfrmLuaLocals = class(TForm)
   TfrmLuaLocals = class(TForm)
     JvDockClient1: TJvDockClient;
     JvDockClient1: TJvDockClient;
-    lstLocals: TListBox;
+    lstLocals: TJvListBox;
   private
   private
     { Private declarations }
     { Private declarations }
   public
   public

+ 339 - 58
LuaEdit/Main.dfm

@@ -1,6 +1,6 @@
 object frmMain: TfrmMain
 object frmMain: TfrmMain
-  Left = 353
-  Top = 157
+  Left = 398
+  Top = 178
   Width = 684
   Width = 684
   Height = 490
   Height = 490
   Caption = 'LuaEdit'
   Caption = 'LuaEdit'
@@ -510,6 +510,7 @@ object frmMain: TfrmMain
       Caption = 'Project'
       Caption = 'Project'
       Hint = 'New Project'
       Hint = 'New Project'
       ImageIndex = 10
       ImageIndex = 10
+      ShortCut = 24654
       OnExecute = actNewProjectExecute
       OnExecute = actNewProjectExecute
     end
     end
     object actNewUnit: TAction
     object actNewUnit: TAction
@@ -517,6 +518,7 @@ object frmMain: TfrmMain
       Caption = 'Unit'
       Caption = 'Unit'
       Hint = 'New Unit'
       Hint = 'New Unit'
       ImageIndex = 11
       ImageIndex = 11
+      ShortCut = 16462
       OnExecute = actNewUnitExecute
       OnExecute = actNewUnitExecute
     end
     end
     object actOpenFile: TAction
     object actOpenFile: TAction
@@ -538,13 +540,14 @@ object frmMain: TfrmMain
     object actExit: TAction
     object actExit: TAction
       Category = 'Application Related'
       Category = 'Application Related'
       Caption = 'Exit'
       Caption = 'Exit'
+      Hint = 'Exit'
       ImageIndex = 1
       ImageIndex = 1
       OnExecute = actExitExecute
       OnExecute = actExitExecute
     end
     end
     object actSave: TAction
     object actSave: TAction
       Category = 'File Operation'
       Category = 'File Operation'
       Caption = 'Save'
       Caption = 'Save'
-      Hint = 'Save current file'
+      Hint = 'Save Current File'
       ImageIndex = 5
       ImageIndex = 5
       ShortCut = 16467
       ShortCut = 16467
       OnExecute = actSaveExecute
       OnExecute = actSaveExecute
@@ -745,8 +748,8 @@ object frmMain: TfrmMain
     end
     end
     object actRemoveFromPrj: TAction
     object actRemoveFromPrj: TAction
       Category = 'Project Manipulations'
       Category = 'Project Manipulations'
-      Caption = 'Remove Unit From Project'
-      Hint = 'Remove Unit from Project'
+      Caption = 'Remove Unit From Project...'
+      Hint = 'Remove Unit from Project...'
       ImageIndex = 36
       ImageIndex = 36
       ShortCut = 8315
       ShortCut = 8315
       OnExecute = actRemoveFromPrjExecute
       OnExecute = actRemoveFromPrjExecute
@@ -789,8 +792,8 @@ object frmMain: TfrmMain
     end
     end
     object actAddWatch: TAction
     object actAddWatch: TAction
       Category = 'Debugging Operations'
       Category = 'Debugging Operations'
-      Caption = 'Add Watch'
-      Hint = 'Add Watch'
+      Caption = 'Add Watch...'
+      Hint = 'Add Watch...'
       ImageIndex = 53
       ImageIndex = 53
       OnExecute = actAddWatchExecute
       OnExecute = actAddWatchExecute
     end
     end
@@ -909,6 +912,7 @@ object frmMain: TfrmMain
     object actFunctionHeader: TAction
     object actFunctionHeader: TAction
       Category = 'Tools'
       Category = 'Tools'
       Caption = 'Function Header...'
       Caption = 'Function Header...'
+      Hint = 'Function Header...'
       OnExecute = actFunctionHeaderExecute
       OnExecute = actFunctionHeaderExecute
     end
     end
     object actGotoLastEdited: TAction
     object actGotoLastEdited: TAction
@@ -977,6 +981,13 @@ object frmMain: TfrmMain
       ShortCut = 16504
       ShortCut = 16504
       OnExecute = actEnableDisableBreakpointExecute
       OnExecute = actEnableDisableBreakpointExecute
     end
     end
+    object actRemoteSession: TAction
+      Category = 'Debugging Operations'
+      Caption = 'Initiate Remote Session...'
+      Hint = 'Initiate Remote Session...'
+      ImageIndex = 61
+      OnExecute = actRemoteSessionExecute
+    end
   end
   end
   object imlActions: TImageList
   object imlActions: TImageList
     BlendColor = clWhite
     BlendColor = clWhite
@@ -985,131 +996,259 @@ object frmMain: TfrmMain
     Left = 48
     Left = 48
     Top = 217
     Top = 217
     Bitmap = {
     Bitmap = {
-      494C01013D004000040010001000FF00FF00FF10FFFFFFFFFFFFFFFF424D3600
-      0000000000003600000028000000400000000001000001002000000000000000
-      010000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF000000000000000000000000000000
+      494C010140004500040010001000FF00FF00FF10FFFFFFFFFFFFFFFF424D3600
+      0000000000003600000028000000400000002001000001002000000000000020
+      0100000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00D1D8DB00D1D8DB00D1D8
-      DB00D1D8DB00D1D8DB00D1D8DB00D1D8DB00D1D8DB00D1D8DB00D1D8DB00D1D8
-      DB00D1D8DB00D1D8DB00D1D8DB00FF00FF000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00A6A6A600D1D8DB00D1D8
-      DB00D1D8DB00D1D8DB00A64C4C00A64C4C00A64C4C00A64C4C00A64C4C00A64C
-      4C00D1D8DB00D1D8DB00D1D8DB00FF00FF000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00A6A6A600A6A6A600D1D8
-      DB00D1D8DB00D1D8DB004C4C4C00FFFFFF00FFFFFF00FFFFFF00FFFFFF004C4C
-      4C00D1D8DB00D1D8DB00D1D8DB00FF00FF000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00A6A6A600A6A6A600A6A6
-      A600D1D8DB004C4C4C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF004C4C4C00D1D8DB00D1D8DB00FF00FF000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00A6A6A600A6A6A600A6A6
-      A600A6A6A6004C4C4C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF004C4C4C00D1D8DB00D1D8DB00FF00FF000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00A6A6A600A6A6A600A6A6
-      A6004C4C4C00D2D2D2004C4C4C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF004C4C4C00D1D8DB00D1D8DB00FF00FF000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00A6A6A600A6A6A6004C4C
-      4C00D2D2D2004C4C4C004C4C4C00FFFFFF004C4C4C00FFFFFF004C4C4C00FFFF
-      FF004C4C4C00D1D8DB00D1D8DB00FF00FF000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00A6A6A600A6A6A6004C4C
-      4C004C4C4C00A6A6A6004C4C4C00D2D2D2004C4C4C00FFFFFF004C4C4C00FFFF
-      FF004C4C4C00D1D8DB00D1D8DB00FF00FF000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00A6A6A600A6A6A600A6A6
-      A600A6A6A600A6A6A6004C4C4C00D2D2D2004C4C4C00FFFFFF004C4C4C00FFFF
-      FF004C4C4C00D1D8DB00D1D8DB00FF00FF000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00A6A6A600A6A6A600A6A6
-      A600A6A6A600A6A6A6004C4C4C00D2D2D2004C4C4C00D2D2D2004C4C4C00FFFF
-      FF004C4C4C00D1D8DB00D1D8DB00FF00FF000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00A6A6A600A6A6A600A6A6
-      A600A6A6A600A6A6A6004C4C4C00D2D2D2004C4C4C00D2D2D2004C4C4C004C4C
-      4C00D1D8DB00D1D8DB00D1D8DB00FF00FF000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00A6A6A600A6A6A600A6A6
-      A600A6A6A600A6A6A600A6A6A6004C4C4C004C4C4C00D2D2D2004C4C4C00A6A6
-      A600D1D8DB00D1D8DB00D1D8DB00FF00FF000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00A6A6A600A6A6A600A6A6
-      A600A6A6A600A6A6A600A6A6A600A6A6A6004C4C4C004C4C4C00A6A6A600A6A6
-      A600A6A6A600D1D8DB00D1D8DB00FF00FF000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00A6A6A600A6A6A600A6A6
-      A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6
-      A600A6A6A600A6A6A600D1D8DB00FF00FF000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00A6A6A600A6A6A600A6A6
-      A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6
-      A600A6A6A600A6A6A600A6A6A600FF00FF000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
@@ -1119,6 +1258,134 @@ object frmMain: TfrmMain
       FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
       FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
       FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
       FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
       FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
       FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF004C4C4C00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000FF00FF00FF00FF00D1D8DB00D1D8DB00D1D8
+      DB00D1D8DB00D1D8DB00D1D8DB00D1D8DB00D1D8DB00D1D8DB00D1D8DB00D1D8
+      DB00D1D8DB00D1D8DB00D1D8DB00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF004C4C4C00A6A6A600FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF0000000000FF00FF00FF00FF00A6A6A600D1D8DB00D1D8
+      DB00D1D8DB00D1D8DB00A64C4C00A64C4C00A64C4C00A64C4C00A64C4C00A64C
+      4C00D1D8DB00D1D8DB00D1D8DB00FF00FF00FF00FF00A6A6A6004C4C4C004C4C
+      4C004C4C4C004C4C4C004C4C4C004C4C4C00A6A6A600FF00FF004C4C4C00FF00
+      FF00A6A6A6004C4C4C004C4C4C00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF00FF00FF0000008000FF00FF00FF00FF00FF00FF0000000000FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000840000FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF0000000000FF00FF00FF00FF00A6A6A600A6A6A600D1D8
+      DB00D1D8DB00D1D8DB004C4C4C00FFFFFF00FFFFFF00FFFFFF00FFFFFF004C4C
+      4C00D1D8DB00D1D8DB00D1D8DB00FF00FF00A6A6A6004C4C4C00A6A6A600A6A6
+      A600A6A6A600A6A6A600A6A6A600A6A6A6004C4C4C00A6A6A600FF00FF004C4C
+      4C004C4C4C004C4C4C004C4C4C00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF0000008000FFFFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF000084000000840000FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF0000000000FF00FF00FF00FF00A6A6A600A6A6A600A6A6
+      A600D1D8DB004C4C4C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF004C4C4C00D1D8DB00D1D8DB00FF00FF00A6A6A600FFFFFF00D2D2D200D2D2
+      D200D2D2D200D2D2D200D2D2D200D2D2D200A6A6A6004C4C4C00FF00FF00A6A6
+      A6004C4C4C004C4C4C004C4C4C00FF00FF00FF00FF00FF00FF00FF00FF000000
+      80000000800000008000FFFFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF0000008000FFFFFF00FF00FF00FF00FF00FF00FF0000000000FFFF
+      FF00FFFFFF00FFFFFF000084000000840000008400000084000000840000FFFF
+      FF00FFFFFF00FFFFFF0000000000FF00FF00FF00FF00A6A6A600A6A6A600A6A6
+      A600A6A6A6004C4C4C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF004C4C4C00D1D8DB00D1D8DB00FF00FF00A6A6A600FFFFFF004C4C4C00D2D2
+      D2004C4C4C00D2D2D2004C4C4C00D2D2D200D2D2D2004C4C4C00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF004C4C4C00FF00FF00FF00FF00FF00FF000000
+      80000000800000008000FFFFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF0000008000FFFFFF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF000084000000840000FFFFFF00FFFFFF000084
+      0000FFFFFF00FFFFFF0000000000FF00FF00FF00FF00A6A6A600A6A6A600A6A6
+      A6004C4C4C00D2D2D2004C4C4C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF004C4C4C00D1D8DB00D1D8DB00FF00FF00A6A6A600FFFFFF00D2D2D200D2D2
+      D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2D2004C4C4C00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF004C4C4C00FF00FF00FF00FF00FF00FF00FF00
+      FF00000080000000800000008000FFFFFF00FF00FF00FF00FF00FF00FF000000
+      800000008000FFFFFF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000840000FFFFFF00FFFFFF000084
+      0000FFFFFF00FFFFFF0000000000FF00FF00FF00FF00A6A6A600A6A6A6004C4C
+      4C00D2D2D2004C4C4C004C4C4C00FFFFFF004C4C4C00FFFFFF004C4C4C00FFFF
+      FF004C4C4C00D1D8DB00D1D8DB00FF00FF00A6A6A600FFFFFF00A6A6A6004C4C
+      4C004C4C4C004C4C4C004C4C4C00A6A6A600D2D2D2004C4C4C00FF00FF00FF00
+      FF00FF00FF00FF00FF004C4C4C00A6A6A600FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF00000080000000800000008000FFFFFF00FF00FF00000080000000
+      8000FFFFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
+      FF00FFFFFF0000840000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000084
+      0000FFFFFF00FFFFFF0000000000FF00FF00FF00FF00A6A6A600A6A6A6004C4C
+      4C004C4C4C00A6A6A6004C4C4C00D2D2D2004C4C4C00FFFFFF004C4C4C00FFFF
+      FF004C4C4C00D1D8DB00D1D8DB00FF00FF00A6A6A600FFFFFF004C4C4C00FFFF
+      4C00D2D2D200FFFF4C00D2D2D2004C4C4C00D2D2D2004C4C4C004C4C4C004C4C
+      4C004C4C4C004C4C4C00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF00FF00FF000000800000008000000080000000800000008000FFFF
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
+      FF00FFFFFF0000840000FFFFFF00FFFFFF0000840000FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF0000000000FF00FF00FF00FF00A6A6A600A6A6A600A6A6
+      A600A6A6A600A6A6A6004C4C4C00D2D2D2004C4C4C00FFFFFF004C4C4C00FFFF
+      FF004C4C4C00D1D8DB00D1D8DB00FF00FF00A6A6A600FFFFFF004C4C4C00FFFF
+      4C00FFFF4C00D2D2D200FFFF4C004C4C4C00D2D2D2004C4C4C00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF00000080000000800000008000FFFFFF00FF00
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
+      FF00FFFFFF0000840000FFFFFF00FFFFFF000084000000840000FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF0000000000FF00FF00FF00FF00A6A6A600A6A6A600A6A6
+      A600A6A6A600A6A6A6004C4C4C00D2D2D2004C4C4C00D2D2D2004C4C4C00FFFF
+      FF004C4C4C00D1D8DB00D1D8DB00FF00FF00A6A6A600FFFFFF004C4C4C00D1D8
+      DB00FFFF4C00FFFF4C00D2D2D2004C4C4C00D2D2D2004C4C4C00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF00FF00FF000000800000008000000080000000800000008000FFFF
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
+      FF00FFFFFF00FFFFFF000084000000840000008400000084000000840000FFFF
+      FF00FFFFFF00FFFFFF0000000000FF00FF00FF00FF00A6A6A600A6A6A600A6A6
+      A600A6A6A600A6A6A6004C4C4C00D2D2D2004C4C4C00D2D2D2004C4C4C004C4C
+      4C00D1D8DB00D1D8DB00D1D8DB00FF00FF00A6A6A600FFFFFF004C4C4C00FFFF
+      4C00D1D8DB00FFFF4C00FFFF4C004C4C4C00D2D2D2004C4C4C00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF00000080000000800000008000FFFFFF00FF00FF0000008000FFFF
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000084000000840000FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF0000000000FF00FF00FF00FF00A6A6A600A6A6A600A6A6
+      A600A6A6A600A6A6A600A6A6A6004C4C4C004C4C4C00D2D2D2004C4C4C00A6A6
+      A600D1D8DB00D1D8DB00D1D8DB00FF00FF00A6A6A600FFFFFF004C4C4C004CA6
+      4C00A6A64C004CA64C00A6A64C004C4C4C00FFFFFF004C4C4C00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000
+      8000000080000000800000008000FFFFFF00FF00FF00FF00FF00FF00FF000000
+      800000008000FFFFFF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000840000FFFFFF00FFFFFF000000
+      0000000000000000000000000000FF00FF00FF00FF00A6A6A600A6A6A600A6A6
+      A600A6A6A600A6A6A600A6A6A600A6A6A6004C4C4C004C4C4C00A6A6A600A6A6
+      A600A6A6A600D1D8DB00D1D8DB00FF00FF00A6A6A600FFFFFF00A6A6A6004C4C
+      4C004C4C4C004C4C4C004C4C4C00A6A6A600FFFFFF004C4C4C00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00000080000000
+      80000000800000008000FFFFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF000000800000008000FFFFFF00FF00FF00FF00FF00FF00FF0000000000FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
+      0000FFFFFF0000000000FF00FF00FF00FF00FF00FF00A6A6A600A6A6A600A6A6
+      A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6
+      A600A6A6A600A6A6A600D1D8DB00FF00FF00A6A6A600FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A6A6A600FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00000080000000
+      8000FFFFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF000000800000008000FF00FF00FF00FF00FF00FF0000000000FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
+      000000000000FF00FF00FF00FF00FF00FF00FF00FF00A6A6A600A6A6A600A6A6
+      A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6
+      A600A6A6A600A6A6A600A6A6A600FF00FF00FF00FF00A6A6A600A6A6A600A6A6
+      A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600FF00FF00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
       FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
       FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
       FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
       FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
       FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
       FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
@@ -3036,7 +3303,7 @@ object frmMain: TfrmMain
       FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
       FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
       FF00FF00FF00C1C1C1009B9B9B008D8D8D008D8D8D009B9B9B00B4B4B400FF00
       FF00FF00FF00C1C1C1009B9B9B008D8D8D008D8D8D009B9B9B00B4B4B400FF00
       FF00FF00FF00FF00FF00FF00FF00FF00FF00424D3E000000000000003E000000
       FF00FF00FF00FF00FF00FF00FF00FF00FF00424D3E000000000000003E000000
-      2800000040000000000100000100010000000000000800000000000000000000
+      2800000040000000200100000100010000000000000900000000000000000000
       000000000000000000000000FFFFFF0000000000000000000000000000000000
       000000000000000000000000FFFFFF0000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
@@ -3057,6 +3324,14 @@ object frmMain: TfrmMain
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
       00000000000000000000000000000000000000000000FFFF000000000000FFFF
       00000000000000000000000000000000000000000000FFFF000000000000FFFF
       000000000000FFFF000000000000FDFF000000000000F83F000000000000F01F
       000000000000FFFF000000000000FDFF000000000000F83F000000000000F01F
       000000000000E00F000000000000E00F000000000000E00F000000000000E00F
       000000000000E00F000000000000E00F000000000000E00F000000000000E00F
@@ -4417,6 +4692,12 @@ object frmMain: TfrmMain
       object StopScript1: TMenuItem
       object StopScript1: TMenuItem
         Action = actStop
         Action = actStop
       end
       end
+      object N25: TMenuItem
+        Caption = '-'
+      end
+      object InitiateRemoteSession1: TMenuItem
+        Action = actRemoteSession
+      end
       object N12: TMenuItem
       object N12: TMenuItem
         Caption = '-'
         Caption = '-'
       end
       end

File diff suppressed because it is too large
+ 845 - 1957
LuaEdit/Main.pas


+ 11 - 10
LuaEdit/PrintSetup.pas

@@ -4,7 +4,7 @@ interface
 
 
 uses
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
-  Dialogs, StdCtrls, ExtCtrls, IniFiles, Main;
+  Dialogs, StdCtrls, ExtCtrls, Registry, Main;
 
 
 type
 type
   TfrmPrintSetup = class(TForm)
   TfrmPrintSetup = class(TForm)
@@ -41,10 +41,10 @@ end;
 
 
 procedure TfrmPrintSetup.btnOkClick(Sender: TObject);
 procedure TfrmPrintSetup.btnOkClick(Sender: TObject);
 var
 var
-  pIniFile: TIniFile;
+  pReg: TRegistry;
 begin
 begin
-  pIniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'\LuaEdit.ini');
-  
+  pReg := TRegistry.Create();
+
   //Printing Settings
   //Printing Settings
   PrintUseColor := chkUseColors.Checked;
   PrintUseColor := chkUseColors.Checked;
   PrintUseSyntax := chkUseHighLight.Checked;
   PrintUseSyntax := chkUseHighLight.Checked;
@@ -52,13 +52,14 @@ begin
   PrintLineNumbers := chkShowLineNumbers.Checked;
   PrintLineNumbers := chkShowLineNumbers.Checked;
   PrintLineNumbersInMargin := chkLineNumbersInMargin.Checked;
   PrintLineNumbersInMargin := chkLineNumbersInMargin.Checked;
 
 
-  pIniFile.WriteBool('PrintSetup', 'UseColors', chkUseColors.Checked);
-  pIniFile.WriteBool('PrintSetup', 'UseSyntax', chkUseHighLight.Checked);
-  pIniFile.WriteBool('PrintSetup', 'UseWrapLines', chkWrapLines.Checked);
-  pIniFile.WriteBool('PrintSetup', 'LineNumbers', chkShowLineNumbers.Checked);
-  pIniFile.WriteBool('PrintSetup', 'LineNumbersInMargin', chkLineNumbersInMargin.Checked);
+  pReg.OpenKey('\Software\LuaEdit\PrintSetup', True);
+  pReg.WriteBool('UseColors', chkUseColors.Checked);
+  pReg.WriteBool('UseSyntax', chkUseHighLight.Checked);
+  pReg.WriteBool('UseWrapLines', chkWrapLines.Checked);
+  pReg.WriteBool('LineNumbers', chkShowLineNumbers.Checked);
+  pReg.WriteBool('LineNumbersInMargin', chkLineNumbersInMargin.Checked);
 
 
-  pIniFile.Free;
+  pReg.Free;
 end;
 end;
 
 
 procedure TfrmPrintSetup.FormShow(Sender: TObject);
 procedure TfrmPrintSetup.FormShow(Sender: TObject);

+ 569 - 253
LuaEdit/PrjSettings.dfm

@@ -1,12 +1,11 @@
 object frmPrjOptions: TfrmPrjOptions
 object frmPrjOptions: TfrmPrjOptions
-  Left = 506
+  Left = 516
   Top = 300
   Top = 300
-  ActiveControl = txtDebugInitializer
   BorderIcons = [biSystemMenu]
   BorderIcons = [biSystemMenu]
   BorderStyle = bsSingle
   BorderStyle = bsSingle
   Caption = 'Project Options'
   Caption = 'Project Options'
   ClientHeight = 316
   ClientHeight = 316
-  ClientWidth = 442
+  ClientWidth = 531
   Color = clBtnFace
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
   Font.Color = clWindowText
@@ -29,16 +28,16 @@ object frmPrjOptions: TfrmPrjOptions
   object Panel1: TPanel
   object Panel1: TPanel
     Left = 0
     Left = 0
     Top = 275
     Top = 275
-    Width = 442
+    Width = 531
     Height = 41
     Height = 41
     Align = alBottom
     Align = alBottom
     BevelOuter = bvNone
     BevelOuter = bvNone
     TabOrder = 0
     TabOrder = 0
     DesignSize = (
     DesignSize = (
-      442
+      531
       41)
       41)
     object btnCancel: TButton
     object btnCancel: TButton
-      Left = 358
+      Left = 447
       Top = 10
       Top = 10
       Width = 75
       Width = 75
       Height = 25
       Height = 25
@@ -49,7 +48,7 @@ object frmPrjOptions: TfrmPrjOptions
       TabOrder = 1
       TabOrder = 1
     end
     end
     object btnOk: TButton
     object btnOk: TButton
-      Left = 275
+      Left = 364
       Top = 10
       Top = 10
       Width = 75
       Width = 75
       Height = 25
       Height = 25
@@ -64,271 +63,588 @@ object frmPrjOptions: TfrmPrjOptions
   object Panel2: TPanel
   object Panel2: TPanel
     Left = 0
     Left = 0
     Top = 0
     Top = 0
-    Width = 442
+    Width = 531
     Height = 275
     Height = 275
     Align = alClient
     Align = alClient
     BevelOuter = bvNone
     BevelOuter = bvNone
     TabOrder = 1
     TabOrder = 1
-    object pgcPrjSettings: TPageControl
-      Left = 0
+    object Splitter1: TSplitter
+      Left = 129
+      Top = 0
+      Width = 4
+      Height = 275
+    end
+    object jvPageListSettings: TJvPageList
+      Left = 133
       Top = 0
       Top = 0
-      Width = 442
+      Width = 398
       Height = 275
       Height = 275
-      ActivePage = stabDebug
+      ActivePage = JvStandardPage2
+      PropagateEnable = False
+      ShowDesignCaption = sdcNone
       Align = alClient
       Align = alClient
-      TabOrder = 0
-      object stabGeneral: TTabSheet
-        Caption = 'General'
-        object GroupBox1: TGroupBox
-          Left = 16
-          Top = 16
-          Width = 401
-          Height = 161
-          Caption = 'General'
+      object JvStandardPage1: TJvStandardPage
+        Left = 0
+        Top = 0
+        Width = 398
+        Height = 275
+        Caption = '[General] Identification'
+        object Label1: TLabel
+          Left = 24
+          Top = 24
+          Width = 67
+          Height = 13
+          Caption = 'Project Name:'
+        end
+        object Label7: TLabel
+          Left = 24
+          Top = 72
+          Width = 29
+          Height = 13
+          Caption = 'Major:'
+        end
+        object Label9: TLabel
+          Left = 115
+          Top = 72
+          Width = 29
+          Height = 13
+          Caption = 'Minor:'
+        end
+        object Label10: TLabel
+          Left = 205
+          Top = 72
+          Width = 42
+          Height = 13
+          Caption = 'Release:'
+        end
+        object Label11: TLabel
+          Left = 296
+          Top = 72
+          Width = 44
+          Height = 13
+          Caption = 'Revision:'
+        end
+        object JvGroupHeader1: TJvGroupHeader
+          Left = 0
+          Top = 0
+          Width = 398
+          Height = 17
+          Align = alTop
+          Caption = 'Settings'
+          Font.Charset = DEFAULT_CHARSET
+          Font.Color = clWindowText
+          Font.Height = -11
+          Font.Name = 'Tahoma'
+          Font.Style = []
+          ParentFont = False
+        end
+        object JvGroupHeader8: TJvGroupHeader
+          Left = 0
+          Top = 272
+          Width = 398
+          Height = 3
+          Align = alBottom
+          Font.Charset = DEFAULT_CHARSET
+          Font.Color = clWindowText
+          Font.Height = -11
+          Font.Name = 'Tahoma'
+          Font.Style = []
+          ParentFont = False
+        end
+        object txtPrjName: TEdit
+          Left = 24
+          Top = 38
+          Width = 353
+          Height = 21
+          TabOrder = 0
+        end
+        object spinMajorVersion: TJvSpinEdit
+          Left = 24
+          Top = 86
+          Width = 81
+          Height = 21
+          ButtonKind = bkStandard
+          MaxValue = 9999.000000000000000000
+          MinValue = 1.000000000000000000
+          Value = 1.000000000000000000
+          TabOrder = 1
+          HideSelection = False
+        end
+        object spinMinorVersion: TJvSpinEdit
+          Left = 115
+          Top = 86
+          Width = 81
+          Height = 21
+          ButtonKind = bkStandard
+          MaxValue = 9999.000000000000000000
+          TabOrder = 2
+          HideSelection = False
+        end
+        object spinReleaseVersion: TJvSpinEdit
+          Left = 205
+          Top = 86
+          Width = 81
+          Height = 21
+          ButtonKind = bkStandard
+          MaxValue = 9999.000000000000000000
+          TabOrder = 3
+          HideSelection = False
+        end
+        object spinRevisionVersion: TJvSpinEdit
+          Left = 296
+          Top = 86
+          Width = 81
+          Height = 21
+          ButtonKind = bkStandard
+          MaxValue = 9999.000000000000000000
+          TabOrder = 4
+          HideSelection = False
+        end
+        object chkAutoIncRevNumber: TCheckBox
+          Left = 24
+          Top = 114
+          Width = 201
+          Height = 17
+          Caption = 'Auto-Increment Revision Number'
+          TabOrder = 5
+        end
+      end
+      object JvStandardPage2: TJvStandardPage
+        Left = 0
+        Top = 0
+        Width = 398
+        Height = 275
+        Caption = '[Debug] Remote Debug'
+        object Label3: TLabel
+          Left = 24
+          Top = 24
+          Width = 62
+          Height = 13
+          Caption = 'Port Number:'
+        end
+        object Label4: TLabel
+          Left = 208
+          Top = 24
+          Width = 54
+          Height = 13
+          Caption = 'IP Address:'
+        end
+        object Label5: TLabel
+          Left = 247
+          Top = 48
+          Width = 3
+          Height = 13
+          Caption = '.'
+        end
+        object Label6: TLabel
+          Left = 294
+          Top = 48
+          Width = 3
+          Height = 13
+          Caption = '.'
+        end
+        object Label12: TLabel
+          Left = 342
+          Top = 48
+          Width = 3
+          Height = 13
+          Caption = '.'
+        end
+        object Label13: TLabel
+          Left = 24
+          Top = 72
+          Width = 82
+          Height = 13
+          Caption = 'Upload Directory:'
+        end
+        object JvGroupHeader2: TJvGroupHeader
+          Left = 0
+          Top = 0
+          Width = 398
+          Height = 17
+          Align = alTop
+          Caption = 'Settings'
+          Font.Charset = DEFAULT_CHARSET
+          Font.Color = clWindowText
+          Font.Height = -11
+          Font.Name = 'Tahoma'
+          Font.Style = []
+          ParentFont = False
+        end
+        object JvGroupHeader5: TJvGroupHeader
+          Left = 0
+          Top = 272
+          Width = 398
+          Height = 3
+          Align = alBottom
+          Font.Charset = DEFAULT_CHARSET
+          Font.Color = clWindowText
+          Font.Height = -11
+          Font.Name = 'Tahoma'
+          Font.Style = []
+          ParentFont = False
+        end
+        object Label16: TLabel
+          Left = 24
+          Top = 120
+          Width = 103
+          Height = 13
+          Caption = 'Connection Time-Out:'
+        end
+        object jvspinPort: TJvSpinEdit
+          Left = 24
+          Top = 40
+          Width = 161
+          Height = 21
+          MaxValue = 65535.000000000000000000
+          MinValue = 1024.000000000000000000
+          Value = 1024.000000000000000000
           TabOrder = 0
           TabOrder = 0
-          object Label1: TLabel
-            Left = 24
-            Top = 32
-            Width = 67
-            Height = 13
-            Caption = 'Project Name:'
-          end
-          object Label7: TLabel
-            Left = 24
-            Top = 80
-            Width = 29
-            Height = 13
-            Caption = 'Major:'
-          end
-          object Label9: TLabel
-            Left = 115
-            Top = 80
-            Width = 29
-            Height = 13
-            Caption = 'Minor:'
-          end
-          object Label10: TLabel
-            Left = 205
-            Top = 80
-            Width = 42
-            Height = 13
-            Caption = 'Release:'
-          end
-          object Label11: TLabel
-            Left = 296
-            Top = 80
-            Width = 44
-            Height = 13
-            Caption = 'Revision:'
-          end
-          object txtPrjName: TEdit
-            Left = 24
-            Top = 46
-            Width = 353
-            Height = 21
-            TabOrder = 0
-          end
-          object spinMajorVersion: TJvSpinEdit
-            Left = 24
-            Top = 94
-            Width = 81
-            Height = 21
-            ButtonKind = bkStandard
-            MaxValue = 9999.000000000000000000
-            MinValue = 1.000000000000000000
-            Value = 1.000000000000000000
-            TabOrder = 1
-            HideSelection = False
-          end
-          object spinMinorVersion: TJvSpinEdit
-            Left = 115
-            Top = 94
-            Width = 81
-            Height = 21
-            ButtonKind = bkStandard
-            MaxValue = 9999.000000000000000000
-            TabOrder = 2
-            HideSelection = False
-          end
-          object spinReleaseVersion: TJvSpinEdit
-            Left = 205
-            Top = 94
-            Width = 81
-            Height = 21
-            ButtonKind = bkStandard
-            MaxValue = 9999.000000000000000000
-            TabOrder = 3
-            HideSelection = False
-          end
-          object spinRevisionVersion: TJvSpinEdit
-            Left = 296
-            Top = 94
-            Width = 81
-            Height = 21
-            ButtonKind = bkStandard
-            MaxValue = 9999.000000000000000000
-            TabOrder = 4
-            HideSelection = False
-          end
-          object chkAutoIncRevNumber: TCheckBox
-            Left = 24
-            Top = 122
-            Width = 201
-            Height = 17
-            Caption = 'Auto-Increment Revision Number'
-            TabOrder = 5
-          end
+        end
+        object txtIP1: TEdit
+          Left = 208
+          Top = 40
+          Width = 33
+          Height = 21
+          MaxLength = 3
+          TabOrder = 1
+          OnExit = txtIP1Exit
+          OnKeyPress = txtIP1KeyPress
+        end
+        object txtIP2: TEdit
+          Left = 256
+          Top = 40
+          Width = 33
+          Height = 21
+          MaxLength = 3
+          TabOrder = 2
+          OnExit = txtIP2Exit
+          OnKeyPress = txtIP2KeyPress
+        end
+        object txtIP3: TEdit
+          Left = 304
+          Top = 40
+          Width = 33
+          Height = 21
+          MaxLength = 3
+          TabOrder = 3
+          OnExit = txtIP3Exit
+          OnKeyPress = txtIP3KeyPress
+        end
+        object txtIP4: TEdit
+          Left = 352
+          Top = 40
+          Width = 33
+          Height = 21
+          MaxLength = 3
+          TabOrder = 4
+          OnExit = txtIP4Exit
+          OnKeyPress = txtIP4KeyPress
+        end
+        object txtUploadDir: TEdit
+          Left = 24
+          Top = 88
+          Width = 361
+          Height = 21
+          TabOrder = 5
+        end
+        object jvspinConnectTimeOut: TJvSpinEdit
+          Left = 24
+          Top = 135
+          Width = 161
+          Height = 21
+          MaxValue = 99.000000000000000000
+          MinValue = 5.000000000000000000
+          Value = 5.000000000000000000
+          TabOrder = 6
         end
         end
       end
       end
-      object stabDebug: TTabSheet
-        Caption = 'Debug'
-        ImageIndex = 1
-        object GroupBox2: TGroupBox
-          Left = 16
-          Top = 16
-          Width = 401
-          Height = 81
-          Caption = 'Debug Initializer'
+      object JvStandardPage3: TJvStandardPage
+        Left = 0
+        Top = 0
+        Width = 398
+        Height = 275
+        Caption = '[Debug] Execution'
+        object Label2: TLabel
+          Left = 24
+          Top = 160
+          Width = 67
+          Height = 13
+          Caption = 'DLL Full Path:'
+        end
+        object JvGroupHeader3: TJvGroupHeader
+          Left = 0
+          Top = 136
+          Width = 410
+          Height = 17
+          Align = alCustom
+          Caption = 'Initializer'
+          Font.Charset = DEFAULT_CHARSET
+          Font.Color = clWindowText
+          Font.Height = -11
+          Font.Name = 'Tahoma'
+          Font.Style = []
+          ParentFont = False
+        end
+        object JvGroupHeader4: TJvGroupHeader
+          Left = 0
+          Top = 0
+          Width = 398
+          Height = 17
+          Align = alTop
+          Caption = 'Settings'
+          Font.Charset = DEFAULT_CHARSET
+          Font.Color = clWindowText
+          Font.Height = -11
+          Font.Name = 'Tahoma'
+          Font.Style = []
+          ParentFont = False
+        end
+        object Label14: TLabel
+          Left = 24
+          Top = 72
+          Width = 87
+          Height = 13
+          Caption = 'Runtime Directory:'
+        end
+        object Label15: TLabel
+          Left = 24
+          Top = 24
+          Width = 56
+          Height = 13
+          Caption = 'Target Unit:'
+        end
+        object JvGroupHeader6: TJvGroupHeader
+          Left = 0
+          Top = 272
+          Width = 398
+          Height = 3
+          Align = alBottom
+          Font.Charset = DEFAULT_CHARSET
+          Font.Color = clWindowText
+          Font.Height = -11
+          Font.Name = 'Tahoma'
+          Font.Style = []
+          ParentFont = False
+        end
+        object txtDebugInitializer: TEdit
+          Left = 24
+          Top = 175
+          Width = 329
+          Height = 21
           TabOrder = 0
           TabOrder = 0
-          object Label2: TLabel
-            Left = 24
-            Top = 24
-            Width = 67
-            Height = 13
-            Caption = 'DLL Full Path:'
-          end
-          object txtDebugInitializer: TEdit
-            Left = 24
-            Top = 39
-            Width = 329
-            Height = 21
-            TabOrder = 0
-          end
-          object btnBrowse: TButton
-            Left = 360
-            Top = 41
-            Width = 19
-            Height = 17
-            Caption = '...'
-            TabOrder = 1
-            OnClick = btnBrowseClick
-          end
-        end
-        object GroupBox3: TGroupBox
-          Left = 16
-          Top = 104
-          Width = 401
-          Height = 121
-          Caption = 'Remote Debugging'
+        end
+        object btnBrowseFile: TButton
+          Left = 360
+          Top = 177
+          Width = 19
+          Height = 17
+          Caption = '...'
           TabOrder = 1
           TabOrder = 1
-          Visible = False
-          object Label3: TLabel
-            Left = 24
-            Top = 24
-            Width = 62
-            Height = 13
-            Caption = 'Port Number:'
-          end
-          object Label4: TLabel
-            Left = 208
-            Top = 24
-            Width = 54
-            Height = 13
-            Caption = 'IP Address:'
-          end
-          object Label5: TLabel
-            Left = 247
-            Top = 48
-            Width = 3
-            Height = 13
-            Caption = '.'
-          end
-          object Label6: TLabel
-            Left = 294
-            Top = 48
-            Width = 3
-            Height = 13
-            Caption = '.'
-          end
-          object Label12: TLabel
-            Left = 342
-            Top = 48
-            Width = 3
-            Height = 13
-            Caption = '.'
-          end
-          object Label13: TLabel
-            Left = 24
-            Top = 72
-            Width = 82
-            Height = 13
-            Caption = 'Upload Directory:'
-          end
-          object jvspinPort: TJvSpinEdit
-            Left = 24
-            Top = 40
-            Width = 161
-            Height = 21
-            MaxValue = 65535.000000000000000000
-            MinValue = 1024.000000000000000000
-            Value = 1024.000000000000000000
-            TabOrder = 0
-          end
-          object txtUploadDir: TEdit
-            Left = 24
-            Top = 88
-            Width = 361
-            Height = 21
-            TabOrder = 5
-          end
-          object txtIP1: TEdit
-            Left = 208
-            Top = 40
-            Width = 33
-            Height = 21
-            MaxLength = 3
-            TabOrder = 1
-            OnExit = txtIP1Exit
-            OnKeyPress = txtIP1KeyPress
-          end
-          object txtIP2: TEdit
-            Left = 256
-            Top = 40
-            Width = 33
-            Height = 21
-            MaxLength = 3
-            TabOrder = 2
-            OnExit = txtIP2Exit
-            OnKeyPress = txtIP2KeyPress
-          end
-          object txtIP3: TEdit
-            Left = 304
-            Top = 40
-            Width = 33
-            Height = 21
-            MaxLength = 3
-            TabOrder = 3
-            OnExit = txtIP3Exit
-            OnKeyPress = txtIP3KeyPress
-          end
-          object txtIP4: TEdit
-            Left = 352
-            Top = 40
-            Width = 33
-            Height = 21
-            MaxLength = 3
-            TabOrder = 4
-            OnExit = txtIP4Exit
-            OnKeyPress = txtIP4KeyPress
-          end
+          OnClick = btnBrowseFileClick
+        end
+        object txtRuntimeDir: TEdit
+          Left = 24
+          Top = 87
+          Width = 329
+          Height = 21
+          TabOrder = 2
+        end
+        object btnBrowseDir: TButton
+          Left = 360
+          Top = 89
+          Width = 19
+          Height = 17
+          Caption = '...'
+          TabOrder = 3
+          OnClick = btnBrowseDirClick
+        end
+        object cboUnits: TComboBox
+          Left = 24
+          Top = 40
+          Width = 356
+          Height = 21
+          Style = csDropDownList
+          ItemHeight = 0
+          TabOrder = 4
         end
         end
       end
       end
     end
     end
+    object jvSettingsTVSettings: TJvSettingsTreeView
+      Left = 0
+      Top = 0
+      Width = 129
+      Height = 275
+      PageDefault = 0
+      PageList = jvPageListSettings
+      Align = alLeft
+      Images = imlPrjSettings
+      Indent = 19
+      TabOrder = 1
+      Items.Data = {
+        0200000020000000010000000100000000000000FFFFFFFF0000000001000000
+        0747656E6572616C27000000FFFFFFFFFFFFFFFF01000000FFFFFFFF00000000
+        000000000E4964656E74696669636174696F6E1E0000000100000001000000FF
+        FFFFFFFFFFFFFF020000000200000005446562756722000000FFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFF020000000000000009457865637574696F6E25000000FF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01000000000000000C52656D6F74652044
+        65627567}
+      Items.Links = {050000000000000000000000020000000200000001000000}
+    end
   end
   end
-  object odlgInitializer: TOpenDialog
+  object odlgSelectFile: TOpenDialog
     Filter = 'Application Extension (*.dll)|*.dll'
     Filter = 'Application Extension (*.dll)|*.dll'
     InitialDir = 'C:\'
     InitialDir = 'C:\'
     Left = 12
     Left = 12
     Top = 280
     Top = 280
   end
   end
+  object imlPrjSettings: TImageList
+    Left = 45
+    Top = 281
+    Bitmap = {
+      494C010103000400040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
+      0000000000003600000028000000400000001000000001002000000000000010
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000084848400848484008484
+      8400848484008484840084848400848484008484840084848400848484008484
+      8400848484008484840000000000000000000000000000000000848484008484
+      8400848484008484840084848400848484008484840084848400848484008484
+      8400848484000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000000000000008484840000000000C6C6
+      C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6
+      C60000FFFF0084848400000000000000000000000000848484000000000000FF
+      FF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60000FF
+      FF00000000008484840000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000000000000000848484000000000000FF
+      FF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60000FF
+      FF00C6C6C600848484000000000000000000000000008484840000000000C6C6
+      C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF008484
+      8400000000008484840000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000008484840000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000000000000008484840000000000C6C6
+      C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6
+      C60000FFFF008484840000000000000000008484840000000000C6C6C60000FF
+      FF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C6000000
+      0000848484008484840000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000008484840084848400000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000000000000000848484000000000000FF
+      FF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60000FF
+      FF00C6C6C6008484840000000000000000008484840000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000000FFFF008484840000000000000000000000000000000000000000000000
+      0000848484008484840084848400848484008484840084848400848484000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000000000000008484840000000000C6C6
+      C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6
+      C60000FFFF008484840000000000000000008484840084848400848484008484
+      8400848484008484840084848400848484008484840084848400848484008484
+      8400C6C6C6008484840000000000000000000000000000000000000000000000
+      00008484840084848400C6C6C60084848400C6C6C60084848400C6C6C6008484
+      8400000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000000000000000848484000000000000FF
+      FF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60000FF
+      FF00C6C6C600848484000000000000000000000000008484840000000000C6C6
+      C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6
+      C60000FFFF008484840000000000000000000000000000000000000000000000
+      000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
+      8400000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000084848400000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      00000000000084848400000000000000000000000000848484000000000000FF
+      FF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60000000000000000000000
+      0000000000008484840000000000000000000000000000000000000000000000
+      000084848400848484008484840084848400C6C6C600C6C6C600848484000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000084848400C6C6C60000FF
+      FF00C6C6C60000FFFF00C6C6C60000FFFF00C6C6C60084848400848484008484
+      8400848484008484840000000000000000000000000084848400000000000000
+      000000FFFF00C6C6C60000FFFF00000000000000000084848400848484008484
+      8400848484008484840000000000000000000000000000000000000000000000
+      000000000000000000000000000084848400C6C6C60084848400000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000000000000000000000084848400C6C6
+      C60000FFFF00C6C6C60000FFFF00C6C6C6008484840000000000000000000000
+      0000000000000000000000000000000000000000000000000000848484000000
+      0000000000000000000000000000000000008484840000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000848484008484840000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000008484
+      8400848484008484840084848400848484000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000008484
+      8400848484008484840084848400848484000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000848484000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000000424D3E000000000000003E000000
+      2800000040000000100000000100010000000000800000000000000000000000
+      000000000000000000000000FFFFFF00FFFFFFFFFFFF0000FFFFFFFFFFFF0000
+      C001E001FFFF00008001C001FEFF0000A001A001FE7F0000A001A001FE3F0000
+      A0014001F01F0000A0017FE1F00F0000A0010001F0070000A001A001F00F0000
+      BFF9A079F01F00008003B183FE3F0000C07FDF7FFE7F0000E0FFE0FFFEFF0000
+      FFFFFFFFFFFF0000FFFFFFFFFFFF000000000000000000000000000000000000
+      000000000000}
+  end
+  object jvSelectDir: TJvSelectDirectory
+    ClassicDialog = False
+    Title = 'Select Directory'
+    Left = 78
+    Top = 281
+  end
 end
 end

+ 90 - 29
LuaEdit/PrjSettings.pas

@@ -5,7 +5,9 @@ interface
 uses
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, ExtCtrls, ComCtrls, Main, Mask, JvExMask, JvSpin,
   Dialogs, StdCtrls, ExtCtrls, ComCtrls, Main, Mask, JvExMask, JvSpin,
-  JvExStdCtrls, JvEdit, JvValidateEdit;
+  JvExStdCtrls, JvEdit, JvValidateEdit, JvPageList, JvExControls, Misc,
+  JvComponent, JvExComCtrls, JvPageListTreeView, ImgList, JvGroupHeader,
+  JvBaseDlg, JvSelectDirectory;
 
 
 type
 type
   TfrmPrjOptions = class(TForm)
   TfrmPrjOptions = class(TForm)
@@ -13,42 +15,58 @@ type
     Panel2: TPanel;
     Panel2: TPanel;
     btnCancel: TButton;
     btnCancel: TButton;
     btnOk: TButton;
     btnOk: TButton;
-    pgcPrjSettings: TPageControl;
-    stabGeneral: TTabSheet;
-    stabDebug: TTabSheet;
-    GroupBox1: TGroupBox;
+    odlgSelectFile: TOpenDialog;
+    Label8: TLabel;
+    jvPageListSettings: TJvPageList;
+    JvStandardPage1: TJvStandardPage;
     Label1: TLabel;
     Label1: TLabel;
     txtPrjName: TEdit;
     txtPrjName: TEdit;
-    GroupBox2: TGroupBox;
-    Label2: TLabel;
-    txtDebugInitializer: TEdit;
-    btnBrowse: TButton;
-    odlgInitializer: TOpenDialog;
     Label7: TLabel;
     Label7: TLabel;
     spinMajorVersion: TJvSpinEdit;
     spinMajorVersion: TJvSpinEdit;
-    Label8: TLabel;
+    spinMinorVersion: TJvSpinEdit;
     Label9: TLabel;
     Label9: TLabel;
     Label10: TLabel;
     Label10: TLabel;
-    Label11: TLabel;
-    spinMinorVersion: TJvSpinEdit;
     spinReleaseVersion: TJvSpinEdit;
     spinReleaseVersion: TJvSpinEdit;
+    Label11: TLabel;
     spinRevisionVersion: TJvSpinEdit;
     spinRevisionVersion: TJvSpinEdit;
     chkAutoIncRevNumber: TCheckBox;
     chkAutoIncRevNumber: TCheckBox;
-    GroupBox3: TGroupBox;
+    JvStandardPage2: TJvStandardPage;
     Label3: TLabel;
     Label3: TLabel;
     jvspinPort: TJvSpinEdit;
     jvspinPort: TJvSpinEdit;
+    txtIP1: TEdit;
     Label4: TLabel;
     Label4: TLabel;
     Label5: TLabel;
     Label5: TLabel;
-    Label6: TLabel;
-    Label12: TLabel;
-    Label13: TLabel;
-    txtUploadDir: TEdit;
-    txtIP1: TEdit;
     txtIP2: TEdit;
     txtIP2: TEdit;
+    Label6: TLabel;
     txtIP3: TEdit;
     txtIP3: TEdit;
+    Label12: TLabel;
     txtIP4: TEdit;
     txtIP4: TEdit;
+    txtUploadDir: TEdit;
+    Label13: TLabel;
+    JvStandardPage3: TJvStandardPage;
+    Label2: TLabel;
+    txtDebugInitializer: TEdit;
+    btnBrowseFile: TButton;
+    imlPrjSettings: TImageList;
+    jvSettingsTVSettings: TJvSettingsTreeView;
+    JvGroupHeader1: TJvGroupHeader;
+    JvGroupHeader2: TJvGroupHeader;
+    JvGroupHeader3: TJvGroupHeader;
+    JvGroupHeader4: TJvGroupHeader;
+    Label14: TLabel;
+    txtRuntimeDir: TEdit;
+    btnBrowseDir: TButton;
+    Label15: TLabel;
+    cboUnits: TComboBox;
+    jvSelectDir: TJvSelectDirectory;
+    Splitter1: TSplitter;
+    JvGroupHeader8: TJvGroupHeader;
+    JvGroupHeader5: TJvGroupHeader;
+    JvGroupHeader6: TJvGroupHeader;
+    jvspinConnectTimeOut: TJvSpinEdit;
+    Label16: TLabel;
     procedure FormShow(Sender: TObject);
     procedure FormShow(Sender: TObject);
-    procedure btnBrowseClick(Sender: TObject);
+    procedure btnBrowseFileClick(Sender: TObject);
     procedure btnOkClick(Sender: TObject);
     procedure btnOkClick(Sender: TObject);
     procedure txtIP1KeyPress(Sender: TObject; var Key: Char);
     procedure txtIP1KeyPress(Sender: TObject; var Key: Char);
     procedure txtIP2KeyPress(Sender: TObject; var Key: Char);
     procedure txtIP2KeyPress(Sender: TObject; var Key: Char);
@@ -58,6 +76,7 @@ type
     procedure txtIP2Exit(Sender: TObject);
     procedure txtIP2Exit(Sender: TObject);
     procedure txtIP3Exit(Sender: TObject);
     procedure txtIP3Exit(Sender: TObject);
     procedure txtIP4Exit(Sender: TObject);
     procedure txtIP4Exit(Sender: TObject);
+    procedure btnBrowseDirClick(Sender: TObject);
   private
   private
     { Private declarations }
     { Private declarations }
   public
   public
@@ -77,7 +96,8 @@ implementation
 
 
 procedure TfrmPrjOptions.FormShow(Sender: TObject);
 procedure TfrmPrjOptions.FormShow(Sender: TObject);
 begin
 begin
-  pgcPrjSettings.ActivePageIndex := 0;
+  jvPageListSettings.ActivePageIndex := 0;
+  jvSettingsTVSettings.Selected := jvSettingsTVSettings.Items[1];
 end;
 end;
 
 
 procedure TfrmPrjOptions.GetLuaProjectOptions(pLuaPrj: TLuaProject);
 procedure TfrmPrjOptions.GetLuaProjectOptions(pLuaPrj: TLuaProject);
@@ -93,6 +113,25 @@ var
   begin
   begin
     Result := Copy(sIn, Pos('.', sIn) + 1, Length(sIn) - Pos('.', sIn));
     Result := Copy(sIn, Pos('.', sIn) + 1, Length(sIn) - Pos('.', sIn));
   end;
   end;
+
+  procedure FillTargetList(pPrj: TLuaProject);
+  var
+    x: Integer;
+    pLuaUnit: TLuaUnit;
+  begin
+    cboUnits.Clear;
+    cboUnits.AddItem('[Current Unit]', nil);
+    cboUnits.ItemIndex := 0;
+
+    for x := 0 to pPrj.lstUnits.Count - 1 do
+    begin
+      pLuaUnit := pPrj.lstUnits[x];
+      cboUnits.AddItem(pLuaUnit.sName, pLuaUnit);
+
+      if pLuaUnit.sName = pPrj.sTargetLuaUnit then
+        cboUnits.ItemIndex := x + 1;
+    end;
+  end;
 begin
 begin
   // Get General Options
   // Get General Options
   txtPrjName.Text := pLuaPrj.sPrjName;
   txtPrjName.Text := pLuaPrj.sPrjName;
@@ -104,6 +143,7 @@ begin
 
 
   // Get Debug Options
   // Get Debug Options
   txtDebugInitializer.Text := pLuaPrj.sInitializer;
   txtDebugInitializer.Text := pLuaPrj.sInitializer;
+  jvspinConnectTimeOut.Value := pLuaPrj.iConnectTimeOut;
   jvspinPort.Value := pLuaPrj.iRemotePort;
   jvspinPort.Value := pLuaPrj.iRemotePort;
 
 
   // Extract all parts of the ip address
   // Extract all parts of the ip address
@@ -117,6 +157,8 @@ begin
   txtIP4.Text := sTemp;
   txtIP4.Text := sTemp;
 
 
   txtUploadDir.Text := pLuaPrj.sRemoteDirectory;
   txtUploadDir.Text := pLuaPrj.sRemoteDirectory;
+  FillTargetList(pLuaPrj);
+  txtRuntimeDir.Text := pLuaPrj.sRuntimeDirectory;
 end;
 end;
 
 
 procedure TfrmPrjOptions.SetLuaProjectOptions(pLuaPrj: TLuaProject);
 procedure TfrmPrjOptions.SetLuaProjectOptions(pLuaPrj: TLuaProject);
@@ -132,8 +174,16 @@ begin
   // Set debug options
   // Set debug options
   pLuaPrj.sInitializer := txtDebugInitializer.Text;
   pLuaPrj.sInitializer := txtDebugInitializer.Text;
   pLuaPrj.iRemotePort := Trunc(jvspinPort.Value);
   pLuaPrj.iRemotePort := Trunc(jvspinPort.Value);
+  pLuaPrj.iConnectTimeOut := Trunc(jvspinConnectTimeOut.Value);
   pLuaPrj.sRemoteIP := txtIP1.Text + '.' + txtIP2.Text + '.' + txtIP3.Text + '.' + txtIP4.Text;
   pLuaPrj.sRemoteIP := txtIP1.Text + '.' + txtIP2.Text + '.' + txtIP3.Text + '.' + txtIP4.Text;
   pLuaPrj.sRemoteDirectory := txtUploadDir.Text;
   pLuaPrj.sRemoteDirectory := txtUploadDir.Text;
+  pLuaPrj.sRuntimeDirectory := txtRuntimeDir.Text;
+  pLuaPrj.sTargetLuaUnit := cboUnits.Text;
+
+  if cboUnits.Items.Objects[cboUnits.ItemIndex] <> nil then
+    pLuaPrj.pTargetLuaUnit := TLuaUnit(cboUnits.Items.Objects[cboUnits.ItemIndex])
+  else
+    pLuaPrj.pTargetLuaUnit := nil;
 end;
 end;
 
 
 // Validate a Port number. Expected Format: x (x in [1024..65535])
 // Validate a Port number. Expected Format: x (x in [1024..65535])
@@ -185,12 +235,23 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TfrmPrjOptions.btnBrowseClick(Sender: TObject);
+procedure TfrmPrjOptions.btnBrowseFileClick(Sender: TObject);
 begin
 begin
-  if odlgInitializer.Execute then
-  begin
-    txtDebugInitializer.Text := odlgInitializer.FileName;
-  end;
+  odlgSelectFile.InitialDir := ExtractFileDir(txtDebugInitializer.Text);
+  odlgSelectFile.Title := 'Select Initializer...';
+  odlgSelectFile.Filter := 'Application Extension (*.dll)|*.dll';
+
+  if odlgSelectFile.Execute then
+    txtDebugInitializer.Text := odlgSelectFile.FileName;
+end;
+
+procedure TfrmPrjOptions.btnBrowseDirClick(Sender: TObject);
+begin
+  jvSelectDir.InitialDir := txtRuntimeDir.Text;
+  jvSelectDir.Title := 'Select Runtime Directory...';
+
+  if jvSelectDir.Execute then
+    txtRuntimeDir.Text := jvSelectDir.Directory;
 end;
 end;
 
 
 procedure TfrmPrjOptions.btnOkClick(Sender: TObject);
 procedure TfrmPrjOptions.btnOkClick(Sender: TObject);
@@ -200,19 +261,19 @@ begin
   if txtPrjName.Text = '' then
   if txtPrjName.Text = '' then
   begin
   begin
     Application.MessageBox('The project name can''t be empty.', 'LuaEdit', MB_OK+MB_ICONERROR);
     Application.MessageBox('The project name can''t be empty.', 'LuaEdit', MB_OK+MB_ICONERROR);
-    pgcPrjSettings.ActivePageIndex := 0;
+    jvPageListSettings.ActivePageIndex := 0;
     txtPrjName.SetFocus;
     txtPrjName.SetFocus;
   end
   end
   else if not IsPortNumber(Trunc(jvspinPort.Value)) then
   else if not IsPortNumber(Trunc(jvspinPort.Value)) then
   begin
   begin
     Application.MessageBox('The remote port number is invalid. Value must be between 1024 and 65535.', 'LuaEdit', MB_OK+MB_ICONERROR);
     Application.MessageBox('The remote port number is invalid. Value must be between 1024 and 65535.', 'LuaEdit', MB_OK+MB_ICONERROR);
-    pgcPrjSettings.ActivePageIndex := 1;
+    jvPageListSettings.ActivePageIndex := 1;
     jvspinPort.SetFocus;
     jvspinPort.SetFocus;
   end
   end
   else if not IsIP(txtIP1.Text + '.' + txtIP2.Text + '.' + txtIP3.Text + '.' + txtIP4.Text) then
   else if not IsIP(txtIP1.Text + '.' + txtIP2.Text + '.' + txtIP3.Text + '.' + txtIP4.Text) then
   begin
   begin
     Application.MessageBox('The remote IP address is invalid.', 'LuaEdit', MB_OK+MB_ICONERROR);
     Application.MessageBox('The remote IP address is invalid.', 'LuaEdit', MB_OK+MB_ICONERROR);
-    pgcPrjSettings.ActivePageIndex := 1;
+    jvPageListSettings.ActivePageIndex := 1;
     txtIP1.SetFocus;
     txtIP1.SetFocus;
   end
   end
   else
   else

+ 1 - 0
LuaEdit/ProjectTree.dfm

@@ -210,6 +210,7 @@ object frmProjectTree: TfrmProjectTree
       000000000000}
       000000000000}
   end
   end
   object ppmProjectTree: TPopupMenu
   object ppmProjectTree: TPopupMenu
+    Images = frmMain.imlActions
     OnPopup = ppmProjectTreePopup
     OnPopup = ppmProjectTreePopup
     Left = 8
     Left = 8
     Top = 72
     Top = 72

+ 1 - 1
LuaEdit/ProjectTree.pas

@@ -5,7 +5,7 @@ interface
 uses
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, ComCtrls, CommCtrl, ExtCtrls, ImgList, Menus, JvComponent,
   Dialogs, ComCtrls, CommCtrl, ExtCtrls, ImgList, Menus, JvComponent,
-  JvDockControlForm, JvExComCtrls, JvComCtrls, JvDotNetControls, Main,
+  JvDockControlForm, JvExComCtrls, JvComCtrls, JvDotNetControls, Main, Misc,
   VirtualTrees;
   VirtualTrees;
 
 
 type
 type

+ 1 - 1
LuaEdit/RemFromPrj.pas

@@ -4,7 +4,7 @@ interface
 
 
 uses
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
-  Dialogs, Main, StdCtrls;
+  Dialogs, Main, StdCtrls, Misc;
 
 
 type
 type
   TfrmRemoveFile = class(TForm)
   TfrmRemoveFile = class(TForm)

File diff suppressed because it is too large
+ 2034 - 8
LuaEdit/Splash.dfm


+ 1 - 4
LuaEdit/Splash.pas

@@ -8,7 +8,6 @@ uses
 
 
 type
 type
   TfrmSplash = class(TForm)
   TfrmSplash = class(TForm)
-    Shape1: TShape;
     Label3: TLabel;
     Label3: TLabel;
     lblVersion: TLabel;
     lblVersion: TLabel;
     Label5: TLabel;
     Label5: TLabel;
@@ -16,9 +15,8 @@ type
     Label7: TLabel;
     Label7: TLabel;
     Label8: TLabel;
     Label8: TLabel;
     imlLua: TImage;
     imlLua: TImage;
-    imlLuaEditLogo: TImage;
-    imgLogo: TImage;
     Image1: TImage;
     Image1: TImage;
+    Image2: TImage;
     procedure FormShow(Sender: TObject);
     procedure FormShow(Sender: TObject);
   private
   private
     { Private declarations }
     { Private declarations }
@@ -40,7 +38,6 @@ uses Main;
 procedure TfrmSplash.FormShow(Sender: TObject);
 procedure TfrmSplash.FormShow(Sender: TObject);
 begin
 begin
   lblVersion.Caption := TCaption(GetFileVersion(PChar(Application.ExeName)));
   lblVersion.Caption := TCaption(GetFileVersion(PChar(Application.ExeName)));
-  frmMain.LoadEditorSettings;
 end;
 end;
 
 
 end.
 end.

+ 1 - 5
LuaEdit/Stack.dfm

@@ -23,7 +23,7 @@ object frmStack: TfrmStack
     Left = 0
     Left = 0
     Top = 0
     Top = 0
     Width = 442
     Width = 442
-    Height = 116
+    Height = 123
     Align = alClient
     Align = alClient
     Columns = <
     Columns = <
       item
       item
@@ -46,11 +46,7 @@ object frmStack: TfrmStack
     ColumnsOrder = '0=250,1=138,2=50'
     ColumnsOrder = '0=250,1=138,2=50'
   end
   end
   object JvDockClient1: TJvDockClient
   object JvDockClient1: TJvDockClient
-    LRDockWidth = 100
-    TBDockHeight = 100
     DirectDrag = False
     DirectDrag = False
-    ShowHint = True
-    EnableCloseButton = True
     DockStyle = frmMain.jvDockVSNet
     DockStyle = frmMain.jvDockVSNet
     Left = 32
     Left = 32
     Top = 24
     Top = 24

+ 8 - 153
LuaEdit/Watch.dfm

@@ -82,7 +82,7 @@ object frmWatch: TfrmWatch
     Height = 24
     Height = 24
     AutoSize = True
     AutoSize = True
     Flat = True
     Flat = True
-    Images = imlWatch
+    Images = frmMain.imlActions
     ParentShowHint = False
     ParentShowHint = False
     ShowHint = True
     ShowHint = True
     TabOrder = 2
     TabOrder = 2
@@ -90,7 +90,7 @@ object frmWatch: TfrmWatch
       Left = 0
       Left = 0
       Top = 0
       Top = 0
       Hint = 'Add Watch...'
       Hint = 'Add Watch...'
-      ImageIndex = 0
+      ImageIndex = 53
       OnClick = tbtnAddWatchClick
       OnClick = tbtnAddWatchClick
     end
     end
     object tbtnDelete: TToolButton
     object tbtnDelete: TToolButton
@@ -98,7 +98,7 @@ object frmWatch: TfrmWatch
       Top = 0
       Top = 0
       Hint = 'Delete Selected Watch Item'
       Hint = 'Delete Selected Watch Item'
       Caption = 'tbtnDelete'
       Caption = 'tbtnDelete'
-      ImageIndex = 2
+      ImageIndex = 62
       OnClick = tbtnDeleteClick
       OnClick = tbtnDeleteClick
     end
     end
     object ToolButton1: TToolButton
     object ToolButton1: TToolButton
@@ -113,7 +113,7 @@ object frmWatch: TfrmWatch
       Left = 54
       Left = 54
       Top = 0
       Top = 0
       Hint = 'Refresh Watch List'
       Hint = 'Refresh Watch List'
-      ImageIndex = 1
+      ImageIndex = 63
       OnClick = tbtnRefreshWatchClick
       OnClick = tbtnRefreshWatchClick
     end
     end
   end
   end
@@ -127,17 +127,15 @@ object frmWatch: TfrmWatch
     OnKeyDown = FEditKeyDown
     OnKeyDown = FEditKeyDown
   end
   end
   object ppmWatch: TPopupMenu
   object ppmWatch: TPopupMenu
-    Images = imlWatch
+    Images = frmMain.imlActions
     Left = 48
     Left = 48
     Top = 48
     Top = 48
     object AddWatch1: TMenuItem
     object AddWatch1: TMenuItem
-      Caption = 'Add Watch...'
-      ImageIndex = 0
-      OnClick = AddWatch1Click
+      Action = frmMain.actAddWatch
     end
     end
     object DeleteSelectedItem1: TMenuItem
     object DeleteSelectedItem1: TMenuItem
       Caption = 'Delete Selected Item'
       Caption = 'Delete Selected Item'
-      ImageIndex = 2
+      ImageIndex = 62
       OnClick = DeleteSelectedItem1Click
       OnClick = DeleteSelectedItem1Click
     end
     end
     object N1: TMenuItem
     object N1: TMenuItem
@@ -145,7 +143,7 @@ object frmWatch: TfrmWatch
     end
     end
     object Refresh1: TMenuItem
     object Refresh1: TMenuItem
       Caption = 'Refresh'
       Caption = 'Refresh'
-      ImageIndex = 1
+      ImageIndex = 63
       OnClick = Refresh1Click
       OnClick = Refresh1Click
     end
     end
   end
   end
@@ -155,147 +153,4 @@ object frmWatch: TfrmWatch
     Left = 80
     Left = 80
     Top = 48
     Top = 48
   end
   end
-  object imlWatch: TImageList
-    Left = 16
-    Top = 48
-    Bitmap = {
-      494C010103000400040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
-      0000000000003600000028000000400000001000000001002000000000000010
-      000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF000000000000000000000000008484840084848400000000000000
-      00000000000084848400FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF0000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF008484840000000000FF00
-      FF0000000000C6C6C600C6C6C600C6C6C6000000000000000000C6C6C600C6C6
-      C600C6C6C60000000000FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000840000FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF0000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF0000008000FF00FF000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF0000000000FF00FF00FF00
-      FF0000000000FFFFFF00FFFFFF00C6C6C6000000000000000000FFFFFF00FFFF
-      FF00C6C6C60000000000FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF000084000000840000FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF0000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF0000008000FFFFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF0000000000FF00FF00FF00
-      FF0000000000C6C6C600FFFFFF00C6C6C6000000000000000000C6C6C600FFFF
-      FF00C6C6C60000000000FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
-      FF00FFFFFF00FFFFFF000084000000840000008400000084000000840000FFFF
-      FF00FFFFFF00FFFFFF0000000000FF00FF00FF00FF00FF00FF00FF00FF000000
-      80000000800000008000FFFFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF0000008000FFFFFF00FF00FF000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF0000000000FF00FF000000
-      0000848484000000000000000000000000000000000084848400000000000000
-      00000000000084848400FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF000084000000840000FFFFFF00FFFFFF000084
-      0000FFFFFF00FFFFFF0000000000FF00FF00FF00FF00FF00FF00FF00FF000000
-      80000000800000008000FFFFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF0000008000FFFFFF00FF00FF00FF00FF000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF0084848400000000008484
-      8400FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF008484
-      840000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000840000FFFFFF00FFFFFF000084
-      0000FFFFFF00FFFFFF0000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00000080000000800000008000FFFFFF00FF00FF00FF00FF00FF00FF000000
-      800000008000FFFFFF00FF00FF00FF00FF000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
-      FF00FFFFFF0000840000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000084
-      0000FFFFFF00FFFFFF0000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00000080000000800000008000FFFFFF00FF00FF00000080000000
-      8000FFFFFF00FF00FF00FF00FF00FF00FF000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
-      FF00FFFFFF0000840000FFFFFF00FFFFFF0000840000FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF0000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF000000800000008000000080000000800000008000FFFF
-      FF00FF00FF00FF00FF00FF00FF00FF00FF000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
-      FF00FFFFFF0000840000FFFFFF00FFFFFF000084000000840000FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF0000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00000080000000800000008000FFFFFF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF008400
-      000084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
-      FF00FFFFFF00FFFFFF000084000000840000008400000084000000840000FFFF
-      FF00FFFFFF00FFFFFF0000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF000000800000008000000080000000800000008000FFFF
-      FF00FF00FF00FF00FF00FF00FF00FF00FF000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF008400
-      000084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000084000000840000FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF0000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00000080000000800000008000FFFFFF00FF00FF0000008000FFFF
-      FF00FF00FF00FF00FF00FF00FF00FF00FF000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0084000000840000008400
-      0000840000008400000084000000FF00FF00FF00FF00FF00FF0000000000FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000840000FFFFFF00FFFFFF000000
-      0000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF000000
-      8000000080000000800000008000FFFFFF00FF00FF00FF00FF00FF00FF000000
-      800000008000FFFFFF00FF00FF00FF00FF000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0084000000840000008400
-      0000840000008400000084000000FF00FF00FF00FF00FF00FF0000000000FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
-      0000FFFFFF0000000000FF00FF00FF00FF00FF00FF00FF00FF00000080000000
-      80000000800000008000FFFFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF000000800000008000FFFFFF00FF00FF000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF008400
-      000084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
-      000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00000080000000
-      8000FFFFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF000000800000008000FF00FF000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF008400
-      000084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
-      FF00FF00FF00FF00FF00FF00FF00FF00FF000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000424D3E000000000000003E000000
-      2800000040000000100000000100010000000000800000000000000000000000
-      000000000000000000000000FFFFFF0000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000}
-  end
 end
 end

+ 0 - 1
LuaEdit/Watch.pas

@@ -49,7 +49,6 @@ type
     tbtnAddWatch: TToolButton;
     tbtnAddWatch: TToolButton;
     ToolButton1: TToolButton;
     ToolButton1: TToolButton;
     tbtnRefreshWatch: TToolButton;
     tbtnRefreshWatch: TToolButton;
-    imlWatch: TImageList;
     FEdit: TEdit;
     FEdit: TEdit;
     tbtnDelete: TToolButton;
     tbtnDelete: TToolButton;
     DeleteSelectedItem1: TMenuItem;
     DeleteSelectedItem1: TMenuItem;

Some files were not shown because too many files changed in this diff