Ignore:
Timestamp:
Jul 18, 2012, 10:57:48 PM (12 years ago)
Author:
chronos
Message:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IDE/Forms/UFormMain.pas

    r62 r65  
    77uses
    88  SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,
    9   Registry, ComCtrls, ExtCtrls, SynEdit, SynHighlighterPas,
     9  ComCtrls, ExtCtrls, SynEdit, SynHighlighterPas,
    1010  UProject, FileUtil, Menus, ActnList,
    11   UFormTargetCode, UFormCodeTree, URegistry, UApplicationInfo;
     11  UFormTargetCode, UFormCodeTree, UGeneralRegistry, UApplicationInfo;
    1212
    1313type
     
    8181    MenuItem9: TMenuItem;
    8282    MenuItemOpenRecent: TMenuItem;
    83     OpenDialog1: TOpenDialog;
     83    OpenDialogProject: TOpenDialog;
    8484    PageControlMain: TPageControl;
    8585    PageControlRight: TPageControl;
    8686    PageControlBottom: TPageControl;
    8787    PopupMenu1: TPopupMenu;
    88     SaveDialog1: TSaveDialog;
     88    SaveDialogProject: TSaveDialog;
    8989    Splitter1: TSplitter;
    9090    Splitter2: TSplitter;
     
    146146    procedure ProducerProcessOutput(Text: string);
    147147  public
    148     procedure LoadFromRegistry(Root: HKEY; Key: string);
    149     procedure SaveToRegistry(Root: HKEY; Key: string);
     148    procedure LoadFromRegistry(Root: Integer; Key: string);
     149    procedure SaveToRegistry(Root: Integer; Key: string);
    150150    procedure OpenRecentClick(Sender: TObject);
    151151    function GetSource(Name: string; var SourceCode: string): Boolean;
     
    397397end;
    398398
    399 procedure TFormMain.LoadFromRegistry(Root: HKEY; Key: string);
    400 begin
    401   with TRegistryEx.Create do
     399procedure TFormMain.LoadFromRegistry(Root: Integer; Key: string);
     400begin
     401  with TGeneralRegistry.Create(nil) do
    402402    try
    403       RootKey := Root;
     403      CurrentRoot := Root;
    404404      OpenKey(Key, True);
    405       PageControlRight.Width := ReadIntegerWithDefault('RightPanelWidth', 120);
    406       PageControlBottom.Height := ReadIntegerWithDefault('BottomPanelHeight', 100);
     405      if ValueExists('RightPanelWidth') then
     406        PageControlRight.Width := ReadInteger('RightPanelWidth')
     407        else PageControlRight.Width := 150;
     408      if ValueExists('BottomPanelHeight') then
     409        PageControlBottom.Height := ReadInteger('BottomPanelHeight')
     410        else PageControlBottom.Height := 100;
    407411    finally
    408412      Free;
     
    410414end;
    411415
    412 procedure TFormMain.SaveToRegistry(Root: HKEY; Key: string);
    413 begin
    414   with TRegistryEx.Create do
     416procedure TFormMain.SaveToRegistry(Root: Integer; Key: string);
     417begin
     418  with TGeneralRegistry.Create(nil) do
    415419    try
    416       RootKey := Root;
     420      CurrentRoot := Root;
    417421      OpenKey(Key, True);
    418422      WriteInteger('RightPanelWidth', PageControlRight.Width);
     
    468472begin
    469473  AProjectClose.Execute;
    470   Core.SaveToRegistry(HKEY(Core.ApplicationInfo.RegistryRoot), Core.ApplicationInfo.RegistryKey);
     474  Core.SaveToRegistry(Integer(Core.ApplicationInfo.RegistryRoot), Core.ApplicationInfo.RegistryKey);
    471475end;
    472476
     
    494498procedure TFormMain.FormShow(Sender: TObject);
    495499begin
    496   Core.LoadFromRegistry(HKEY(Core.ApplicationInfo.RegistryRoot), Core.ApplicationInfo.RegistryKey);
     500  Core.LoadFromRegistry(Integer(Core.ApplicationInfo.RegistryRoot), Core.ApplicationInfo.RegistryKey);
    497501  DockInit;
    498502  Core.ProjectTemplatesInit;
     
    503507
    504508  WindowState := wsMaximized;
     509  UpdateInterface;
    505510end;
    506511
    507512procedure TFormMain.AProjectOpenExecute(Sender: TObject);
    508513begin
    509   if OpenDialog1.Execute then begin
    510     Core.ProjectOpen(OpenDialog1.FileName);
     514  if Core.LastOpenedFiles.Items.Count > 0 then
     515    OpenDialogProject.FileName := Core.LastOpenedFiles.Items[0]
     516    else OpenDialogProject.FileName := ExtractFileDir(Application.ExeName);
     517  if OpenDialogProject.Execute then begin
     518    Core.ProjectOpen(OpenDialogProject.FileName);
    511519  end;
    512520end;
     
    555563procedure TFormMain.AProjectSaveAsExecute(Sender: TObject);
    556564begin
     565  if Core.LastOpenedFiles.Items.Count > 0 then
     566    SaveDialogProject.FileName := Core.LastOpenedFiles.Items[0]
     567    else SaveDialogProject.FileName := ExtractFileDir(Application.ExeName);
    557568  if Assigned(Core.Project) then
    558   if SaveDialog1.Execute then begin
    559     Core.Project.SaveToFile(SaveDialog1.FileName);
     569  if SaveDialogProject.Execute then begin
     570    Core.Project.SaveToFile(SaveDialogProject.FileName);
    560571    FormSourceCode.Save;
    561572    Core.Project.Save;
    562573    UpdateInterface;
    563     Core.LastOpenedFiles.AddItem(SaveDialog1.FileName);
     574    Core.LastOpenedFiles.AddItem(SaveDialogProject.FileName);
    564575  end;
    565576end;
Note: See TracChangeset for help on using the changeset viewer.