iphonelazext: fixed menu checker <-> project options relations

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1124 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
skalogryz
2010-01-11 19:14:38 +00:00
parent ecac533472
commit b4cfe90e97
2 changed files with 21 additions and 12 deletions

View File

@ -23,7 +23,7 @@ uses
Classes, SysUtils,
Graphics, Controls, Forms, Dialogs, FileUtil,
{Lazarus Interface}
LazIDEIntf, MenuIntf, ProjectIntf, IDEOptionsIntf, PackageIntf, IDEMsgIntf,
LazIDEIntf, MenuIntf, ProjectIntf, IDEOptionsIntf, IDEMsgIntf,
project_iphone_options, xcodetemplate,
@ -44,6 +44,7 @@ type
function ProjectBuilding(Sender: TObject): TModalResult;
function ProjectOpened(Sender: TObject; AProject: TLazProject): TModalResult;
function WriteIconTo(const FullName: String): Boolean;
procedure OnProjOptionsChanged(Sender: TObject);
public
isiPhoneMenu :TIDEMenuCommand;
constructor Create;
@ -205,6 +206,7 @@ begin
inherited Create;
LazarusIDE.AddHandlerOnProjectOpened(@ProjectOpened);
LazarusIDE.AddHandlerOnProjectBuilding(@ProjectBuilding);
ProjOptions.OnAfterWrite:=@OnProjOptionsChanged;
RegisterIDEMenuCommand(itmProjectWindowSection, 'mnuiPhoneSeparator', '-', nil, nil);
@ -294,6 +296,11 @@ begin
end;
end;
procedure TiPhoneExtension.OnProjOptionsChanged(Sender: TObject);
begin
isiPhoneMenu.Checked:=ProjOptions.isIPhoneApp;
end;
procedure TiPhoneExtension.UpdateXCode(Sender: TObject);
var
templates : TStringList;
@ -422,8 +429,8 @@ procedure TiPhoneExtension.isProjectClicked(Sender: TObject);
begin
if not Assigned(Sender) or not Assigned(LazarusIDE.ActiveProject) then Exit;
TIDEMenuCommand(Sender).Checked:=not TIDEMenuCommand(Sender).Checked;
ProjOptions.isIPhoneApp:=TIDEMenuCommand(Sender).Checked;
//SwitchProject(TIDEMenuCommand(Sender).Checked);
ProjOptions.isiPhoneApp:=TIDEMenuCommand(Sender).Checked;
ProjOptions.Save;
end;
procedure Register;

View File

@ -40,6 +40,8 @@ type
procedure FrameClick(Sender: TObject);
private
{ private declarations }
fOnChanged : TNotifyEvent;
procedure DoChanged;
public
{ public declarations }
class function SupportedOptionsClass: TAbstractIDEOptionsClass; override;
@ -47,18 +49,11 @@ type
procedure Setup(ADialog: TAbstractOptionsEditorDialog); override;
procedure ReadSettings(AOptions: TAbstractIDEOptions); override;
procedure WriteSettings(AOptions: TAbstractIDEOptions); override;
property OnChanged: TNotifyEvent read fOnChanged write fOnChanged;
end;
procedure EnableiPhoneAppProject(project: TLazProject);
implementation
procedure EnableiPhoneAppProject(project: TLazProject);
begin
end;
{ TiPhoneProjectOptionsEditor }
procedure TiPhoneProjectOptionsEditor.cmbSDKsChange(Sender: TObject);
@ -71,6 +66,11 @@ begin
end;
procedure TiPhoneProjectOptionsEditor.DoChanged;
begin
if Assigned(fOnChanged) then fOnChanged(Self);
end;
function TiPhoneProjectOptionsEditor.GetTitle: String;
begin
Result:=strPrjOptTitle;
@ -111,7 +111,7 @@ begin
isIPhoneApp:=chkisPhone.Checked;
SDK:=cmbSDKs.Caption;
AppID:=edtAppID.Text;
Save;
DoChanged;
end;
end;
@ -127,5 +127,7 @@ initialization
{$I project_iphone_options.lrs}
RegisterIDEOptionsEditor(iPhonePrjGroup, TiPhoneProjectOptionsEditor, iPhoneOptions);
finalization
end.