project groups: update enabled state of menu item save project group as

git-svn-id: trunk@50946 -
This commit is contained in:
mattias 2015-12-19 15:59:16 +00:00
parent 61b7d45c49
commit 712001eb4b
4 changed files with 43 additions and 32 deletions

View File

@ -219,8 +219,8 @@ var
var
cmdOpenProjectGroup,
cmdSaveProjectGroup,
cmdCreateProjectGroup,
cmdSaveProjectGroupAs,
cmdCreateProjectGroup,
cmdTargetAdd,
cmdTargetRemove,
@ -491,6 +491,7 @@ begin
Exit;
FreeAndNil(FProjectGroup);
FProjectGroup:=TIDEProjectGroup.Create(nil);
cmdSaveProjectGroupAs.Enabled:=true;
// add current project
AProject:=LazarusIDE.ActiveProject;
@ -571,6 +572,7 @@ end;
procedure TIDEProjectGroupManager.DoSaveAsClick(Sender: TObject);
begin
if FProjectGroup=nil then exit;
if GetNewFileName then
SaveProjectGroup;
end;
@ -589,16 +591,15 @@ begin
FProjectGroup.LoadFromFile(AOptions);
if not (pgloSkipDialog in AOptions) then
ShowProjectGroupEditor;
cmdSaveProjectGroupAs.Enabled:=true;
end;
procedure TIDEProjectGroupManager.SaveProjectGroup;
begin
if Assigned(FProjectGroup) then
begin
if (FProjectGroup.FileName<>'') or GetNewFileName then begin
FProjectGroup.SaveToFile;
AddToRecentGroups(FProjectGroup.FileName);
end;
if not Assigned(FProjectGroup) then exit;
if (FProjectGroup.FileName<>'') or GetNewFileName then begin
FProjectGroup.SaveToFile;
AddToRecentGroups(FProjectGroup.FileName);
end;
end;

View File

@ -9,7 +9,7 @@ object ProjectGroupEditorForm: TProjectGroupEditorForm
OnCloseQuery = FormCloseQuery
OnCreate = FormCreate
OnDestroy = FormDestroy
LCLVersion = '1.5'
LCLVersion = '1.7'
object TBProjectGroup: TToolBar
Left = 0
Height = 48
@ -26,33 +26,33 @@ object ProjectGroupEditorForm: TProjectGroupEditorForm
Action = AProjectGroupSave
end
object TBAdd: TToolButton
Left = 117
Left = 106
Top = 2
Action = AProjectGroupAddExisting
end
object TBNewTarget: TToolButton
Left = 37
Left = 34
Top = 2
Action = AProjectGroupAddNew
Visible = False
end
object TBDelete: TToolButton
Left = 150
Left = 136
Top = 2
Action = AProjectGroupDelete
end
object TBCompile: TToolButton
Left = 208
Left = 189
Top = 2
Action = ATargetCompile
end
object TBCompileClean: TToolButton
Left = 268
Left = 241
Top = 2
Action = ATargetCompileClean
end
object ToolButton1: TToolButton
Left = 367
Left = 326
Height = 46
Top = 2
Width = 10
@ -60,37 +60,37 @@ object ProjectGroupEditorForm: TProjectGroupEditorForm
Style = tbsSeparator
end
object TBTargetUp: TToolButton
Left = 435
Left = 390
Top = 2
Action = ATargetEarlier
end
object TBTargetLater: TToolButton
Left = 483
Left = 434
Top = 2
Action = ATargetLater
end
object TBMore: TToolButton
Left = 574
Left = 517
Top = 2
Caption = 'More...'
DropdownMenu = PopupMenuMore
Style = tbsDropDown
end
object TBActivate: TToolButton
Left = 377
Left = 336
Top = 2
Action = ATargetActivate
Visible = False
end
object TBReload: TToolButton
Left = 523
Left = 471
Top = 2
Action = AProjectGroupReload
end
end
object TVPG: TTreeView
Left = 0
Height = 295
Height = 291
Top = 48
Width = 646
Align = alClient
@ -109,8 +109,8 @@ object ProjectGroupEditorForm: TProjectGroupEditorForm
end
object SBPG: TStatusBar
Left = 0
Height = 15
Top = 343
Height = 19
Top = 339
Width = 646
Panels = <
item
@ -1023,6 +1023,7 @@ object ProjectGroupEditorForm: TProjectGroupEditorForm
Caption = 'Save As'
ImageIndex = 21
OnExecute = AProjectGroupSaveAsExecute
OnUpdate = AProjectGroupSaveAsUpdate
end
object AProjectGroupAddExisting: TAction
Category = 'ProjectGroupActions'

View File

@ -92,35 +92,36 @@ type
TBActivate: TToolButton;
TBReload: TToolButton;
TVPG: TTreeView;
procedure AProjectGroupAddExistingExecute(Sender: TObject);
procedure AProjectGroupDeleteExecute(Sender: TObject);
procedure AProjectGroupDeleteUpdate(Sender: TObject);
procedure AProjectGroupReloadExecute(Sender: TObject);
procedure AProjectGroupSaveAsExecute(Sender: TObject);
procedure AProjectGroupSaveAsUpdate(Sender: TObject);
procedure AProjectGroupSaveExecute(Sender: TObject);
procedure AProjectGroupSaveUpdate(Sender: TObject);
procedure ATargetActivateExecute(Sender: TObject);
procedure ATargetActivateUpdate(Sender: TObject);
procedure AProjectGroupAddExistingExecute(Sender: TObject);
procedure ATargetCompileCleanExecute(Sender: TObject);
procedure ATargetCompileCleanUpdate(Sender: TObject);
procedure ATargetCompileExecute(Sender: TObject);
procedure ATargetCompileFromHereExecute(Sender: TObject);
procedure ATargetCompileFromHereUpdate(Sender: TObject);
procedure ATargetCompileUpdate(Sender: TObject);
procedure AProjectGroupDeleteExecute(Sender: TObject);
procedure AProjectGroupDeleteUpdate(Sender: TObject);
procedure ATargetCopyFilenameExecute(Sender: TObject);
procedure ATargetCopyFilenameUpdate(Sender: TObject);
procedure ATargetEarlierExecute(Sender: TObject);
procedure ATargetEarlierUpdate(Sender: TObject);
procedure ATargetInstallExecute(Sender: TObject);
procedure ATargetInstallUpdate(Sender: TObject);
procedure ATargetLaterExecute(Sender: TObject);
procedure ATargetLaterUpdate(Sender: TObject);
procedure ATargetOpenExecute(Sender: TObject);
procedure ATargetOpenUpdate(Sender: TObject);
procedure ATargetPropertiesExecute(Sender: TObject);
procedure ATargetPropertiesUpdate(Sender: TObject);
procedure ATargetRunExecute(Sender: TObject);
procedure ATargetRunUpdate(Sender: TObject);
procedure AProjectGroupSaveAsExecute(Sender: TObject);
procedure AProjectGroupSaveExecute(Sender: TObject);
procedure AProjectGroupSaveUpdate(Sender: TObject);
procedure ATargetEarlierExecute(Sender: TObject);
procedure ATargetEarlierUpdate(Sender: TObject);
procedure ATargetLaterExecute(Sender: TObject);
procedure ATargetLaterUpdate(Sender: TObject);
procedure ATargetUninstallExecute(Sender: TObject);
procedure ATargetUninstallUpdate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: boolean);
@ -809,6 +810,12 @@ begin
end;
end;
procedure TProjectGroupEditorForm.AProjectGroupSaveAsUpdate(Sender: TObject);
begin
(Sender as TAction).Enabled:=(FProjectGroup<>nil);
UpdateIDEMenuCommandFromAction(Sender,cmdSaveProjectGroupAs);
end;
procedure TProjectGroupEditorForm.ATargetCompileCleanExecute(Sender: TObject);
begin
Perform(taCompileClean);

View File

@ -75,8 +75,10 @@ begin
'OpenRecentProjectGroup',lisOpenRecentProjectGroup);
cmdSaveProjectGroup:=RegisterIDEMenuCommand(itmProjectSaveSection,
'SaveProjectGroup',lisSaveProjectGroup,@IDEProjectGroupManager.DoSaveClick);
cmdSaveProjectGroup.Enabled:=false;
cmdSaveProjectGroupAs:=RegisterIDEMenuCommand(itmProjectSaveSection,
'SaveProjectGroupAs',lisSaveProjectGroupAs,@IDEProjectGroupManager.DoSaveAsClick);
cmdSaveProjectGroupAs.Enabled:=false;
IDEProjectGroupManager.UpdateRecentProjectGroupMenu;