mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-15 18:39:09 +02:00
IDE: added "Resave forms with i18n" function, which opens and resaves all project forms for which i18n was enabled in order to regenerate their translation tables
git-svn-id: trunk@52586 -
This commit is contained in:
parent
368c310784
commit
5ed0714686
@ -302,6 +302,7 @@ const
|
|||||||
ecViewProjectSource = ecFirstLazarus + 512;
|
ecViewProjectSource = ecFirstLazarus + 512;
|
||||||
ecProjectOptions = ecFirstLazarus + 513;
|
ecProjectOptions = ecFirstLazarus + 513;
|
||||||
ecProjectChangeBuildMode = ecFirstLazarus + 514;
|
ecProjectChangeBuildMode = ecFirstLazarus + 514;
|
||||||
|
ecProjectResaveFormsWithI18n = ecFirstLazarus + 515;
|
||||||
|
|
||||||
// package menu
|
// package menu
|
||||||
ecOpenPackage = ecFirstLazarus + 600;
|
ecOpenPackage = ecFirstLazarus + 600;
|
||||||
@ -1906,7 +1907,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
const
|
const
|
||||||
IDEEditorCommandStrs: array[0..314] of TIdentMapEntry = (
|
IDEEditorCommandStrs: array[0..315] of TIdentMapEntry = (
|
||||||
// search
|
// search
|
||||||
(Value: ecFind; Name: 'ecFind'),
|
(Value: ecFind; Name: 'ecFind'),
|
||||||
(Value: ecFindAgain; Name: 'ecFindAgain'),
|
(Value: ecFindAgain; Name: 'ecFindAgain'),
|
||||||
@ -2155,6 +2156,7 @@ const
|
|||||||
(Value: ecViewProjectSource; Name: 'ecViewProjectSource'),
|
(Value: ecViewProjectSource; Name: 'ecViewProjectSource'),
|
||||||
(Value: ecProjectOptions; Name: 'ecProjectOptions'),
|
(Value: ecProjectOptions; Name: 'ecProjectOptions'),
|
||||||
(Value: ecProjectChangeBuildMode; Name: 'ecProjectChangeBuildMode'),
|
(Value: ecProjectChangeBuildMode; Name: 'ecProjectChangeBuildMode'),
|
||||||
|
(Value: ecProjectResaveFormsWithI18n; Name: 'ecProjectResaveFormsWithI18n'),
|
||||||
|
|
||||||
// package menu
|
// package menu
|
||||||
(Value: ecOpenPackage; Name: 'ecOpenPackage'),
|
(Value: ecOpenPackage; Name: 'ecOpenPackage'),
|
||||||
|
@ -637,6 +637,7 @@ begin
|
|||||||
ecCloseProject : Result:= lisMenuCloseProject;
|
ecCloseProject : Result:= lisMenuCloseProject;
|
||||||
ecSaveProject : Result:= lisMenuSaveProject;
|
ecSaveProject : Result:= lisMenuSaveProject;
|
||||||
ecSaveProjectAs : Result:= lisMenuSaveProjectAs;
|
ecSaveProjectAs : Result:= lisMenuSaveProjectAs;
|
||||||
|
ecProjectResaveFormsWithI18n: Result:= lisMenuResaveFormsWithI18n;
|
||||||
ecPublishProject : Result:= lisMenuPublishProject;
|
ecPublishProject : Result:= lisMenuPublishProject;
|
||||||
ecProjectInspector : Result:= lisMenuProjectInspector;
|
ecProjectInspector : Result:= lisMenuProjectInspector;
|
||||||
ecAddCurUnitToProj : Result:= lisMenuAddToProject;
|
ecAddCurUnitToProj : Result:= lisMenuAddToProject;
|
||||||
@ -1277,6 +1278,7 @@ begin
|
|||||||
ecCloseProject: SetSingle(VK_UNKNOWN,[]);
|
ecCloseProject: SetSingle(VK_UNKNOWN,[]);
|
||||||
ecSaveProject: SetSingle(VK_UNKNOWN,[]);
|
ecSaveProject: SetSingle(VK_UNKNOWN,[]);
|
||||||
ecSaveProjectAs: SetSingle(VK_UNKNOWN,[]);
|
ecSaveProjectAs: SetSingle(VK_UNKNOWN,[]);
|
||||||
|
ecProjectResaveFormsWithI18n: SetSingle(VK_UNKNOWN,[]);
|
||||||
ecPublishProject: SetSingle(VK_UNKNOWN,[]);
|
ecPublishProject: SetSingle(VK_UNKNOWN,[]);
|
||||||
ecProjectInspector: SetSingle(VK_UNKNOWN,[]);
|
ecProjectInspector: SetSingle(VK_UNKNOWN,[]);
|
||||||
ecAddCurUnitToProj: SetSingle(VK_F11,[ssShift]);
|
ecAddCurUnitToProj: SetSingle(VK_F11,[ssShift]);
|
||||||
@ -1714,6 +1716,7 @@ begin
|
|||||||
ecCloseProject: SetSingle(VK_UNKNOWN,[]);
|
ecCloseProject: SetSingle(VK_UNKNOWN,[]);
|
||||||
ecSaveProject: SetSingle(VK_UNKNOWN,[]);
|
ecSaveProject: SetSingle(VK_UNKNOWN,[]);
|
||||||
ecSaveProjectAs: SetSingle(VK_UNKNOWN,[]);
|
ecSaveProjectAs: SetSingle(VK_UNKNOWN,[]);
|
||||||
|
ecProjectResaveFormsWithI18n: SetSingle(VK_UNKNOWN,[]);
|
||||||
ecPublishProject: SetSingle(VK_UNKNOWN,[]);
|
ecPublishProject: SetSingle(VK_UNKNOWN,[]);
|
||||||
ecProjectInspector: SetSingle(VK_UNKNOWN,[]);
|
ecProjectInspector: SetSingle(VK_UNKNOWN,[]);
|
||||||
ecAddCurUnitToProj: SetSingle(VK_F11,[ssShift]);
|
ecAddCurUnitToProj: SetSingle(VK_F11,[ssShift]);
|
||||||
@ -2339,6 +2342,7 @@ begin
|
|||||||
ecCloseProject: SetSingle(VK_UNKNOWN,[]);
|
ecCloseProject: SetSingle(VK_UNKNOWN,[]);
|
||||||
ecSaveProject: SetSingle(VK_UNKNOWN,[]);
|
ecSaveProject: SetSingle(VK_UNKNOWN,[]);
|
||||||
ecSaveProjectAs: SetSingle(VK_UNKNOWN,[]);
|
ecSaveProjectAs: SetSingle(VK_UNKNOWN,[]);
|
||||||
|
ecProjectResaveFormsWithI18n: SetSingle(VK_UNKNOWN,[]);
|
||||||
ecPublishProject: SetSingle(VK_UNKNOWN,[]);
|
ecPublishProject: SetSingle(VK_UNKNOWN,[]);
|
||||||
ecProjectInspector: SetSingle(VK_UNKNOWN,[]);
|
ecProjectInspector: SetSingle(VK_UNKNOWN,[]);
|
||||||
ecAddCurUnitToProj: SetSingle(VK_A,[ssAlt,ssMeta]);
|
ecAddCurUnitToProj: SetSingle(VK_A,[ssAlt,ssMeta]);
|
||||||
@ -3025,6 +3029,8 @@ begin
|
|||||||
AddDefault(C, 'Close project', lisKMCloseProject, ecCloseProject);
|
AddDefault(C, 'Close project', lisKMCloseProject, ecCloseProject);
|
||||||
AddDefault(C, 'Save project', lisKMSaveProject, ecSaveProject);
|
AddDefault(C, 'Save project', lisKMSaveProject, ecSaveProject);
|
||||||
AddDefault(C, 'Save project as', lisKMSaveProjectAs, ecSaveProjectAs);
|
AddDefault(C, 'Save project as', lisKMSaveProjectAs, ecSaveProjectAs);
|
||||||
|
AddDefault(C, 'Resave forms with i18n', lisMenuResaveFormsWithI18n,
|
||||||
|
ecProjectResaveFormsWithI18n);
|
||||||
AddDefault(C, 'Publish project', lisKMPublishProject, ecPublishProject);
|
AddDefault(C, 'Publish project', lisKMPublishProject, ecPublishProject);
|
||||||
AddDefault(C, 'Project Inspector', lisMenuProjectInspector, ecProjectInspector);
|
AddDefault(C, 'Project Inspector', lisMenuProjectInspector, ecProjectInspector);
|
||||||
AddDefault(C, 'Add editor file to Project', lisMenuAddToProject, ecAddCurUnitToProj);
|
AddDefault(C, 'Add editor file to Project', lisMenuAddToProject, ecAddCurUnitToProj);
|
||||||
|
@ -479,6 +479,7 @@ resourcestring
|
|||||||
lisMenuOpenRecentProject = 'Open Recent Project';
|
lisMenuOpenRecentProject = 'Open Recent Project';
|
||||||
lisMenuSaveProject = 'Save Project';
|
lisMenuSaveProject = 'Save Project';
|
||||||
lisMenuSaveProjectAs = 'Save Project As ...';
|
lisMenuSaveProjectAs = 'Save Project As ...';
|
||||||
|
lisMenuResaveFormsWithI18n = 'Resave forms with i18n';
|
||||||
lisMenuPublishProject = 'Publish Project ...';
|
lisMenuPublishProject = 'Publish Project ...';
|
||||||
lisPublishProject = 'Publish Project';
|
lisPublishProject = 'Publish Project';
|
||||||
lisMenuProjectInspector = 'Project Inspector';
|
lisMenuProjectInspector = 'Project Inspector';
|
||||||
|
28
ide/main.pp
28
ide/main.pp
@ -316,6 +316,7 @@ type
|
|||||||
procedure mnuCloseProjectClicked(Sender: TObject);
|
procedure mnuCloseProjectClicked(Sender: TObject);
|
||||||
procedure mnuSaveProjectClicked(Sender: TObject);
|
procedure mnuSaveProjectClicked(Sender: TObject);
|
||||||
procedure mnuSaveProjectAsClicked(Sender: TObject);
|
procedure mnuSaveProjectAsClicked(Sender: TObject);
|
||||||
|
procedure mnuProjectResaveFormsWithI18n(Sender: TObject);
|
||||||
procedure mnuPublishProjectClicked(Sender: TObject);
|
procedure mnuPublishProjectClicked(Sender: TObject);
|
||||||
procedure mnuProjectInspectorClicked(Sender: TObject);
|
procedure mnuProjectInspectorClicked(Sender: TObject);
|
||||||
procedure mnuAddToProjectClicked(Sender: TObject);
|
procedure mnuAddToProjectClicked(Sender: TObject);
|
||||||
@ -2719,6 +2720,7 @@ begin
|
|||||||
itmProjectClose.OnClick := @mnuCloseProjectClicked;
|
itmProjectClose.OnClick := @mnuCloseProjectClicked;
|
||||||
itmProjectSave.OnClick := @mnuSaveProjectClicked;
|
itmProjectSave.OnClick := @mnuSaveProjectClicked;
|
||||||
itmProjectSaveAs.OnClick := @mnuSaveProjectAsClicked;
|
itmProjectSaveAs.OnClick := @mnuSaveProjectAsClicked;
|
||||||
|
itmProjectResaveFormsWithI18n.OnClick := @mnuProjectResaveFormsWithI18n;
|
||||||
itmProjectPublish.OnClick := @mnuPublishProjectClicked;
|
itmProjectPublish.OnClick := @mnuPublishProjectClicked;
|
||||||
itmProjectInspector.OnClick := @mnuProjectInspectorClicked;
|
itmProjectInspector.OnClick := @mnuProjectInspectorClicked;
|
||||||
itmProjectOptions.OnClick := @mnuProjectOptionsClicked;
|
itmProjectOptions.OnClick := @mnuProjectOptionsClicked;
|
||||||
@ -4021,6 +4023,29 @@ begin
|
|||||||
DoSaveProject([sfSaveAs]);
|
DoSaveProject([sfSaveAs]);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TMainIDE.mnuProjectResaveFormsWithI18n(Sender: TObject);
|
||||||
|
var
|
||||||
|
AnUnitInfo: TUnitInfo;
|
||||||
|
LFMFileName: string;
|
||||||
|
begin
|
||||||
|
AnUnitInfo:=Project1.FirstPartOfProject;
|
||||||
|
while AnUnitInfo<>nil do
|
||||||
|
begin
|
||||||
|
if FileNameIsPascalSource(AnUnitInfo.Filename) then
|
||||||
|
begin
|
||||||
|
LFMFileName:=AnUnitInfo.UnitResourceFileformat.GetUnitResourceFilename(AnUnitInfo.Filename,true);
|
||||||
|
if FileExistsCached(LFMFileName) and (not AnUnitInfo.DisableI18NForLFM) then
|
||||||
|
if LazarusIDE.DoOpenEditorFile(AnUnitInfo.Filename,-1,-1,[ofAddToRecent])=mrOk then
|
||||||
|
begin
|
||||||
|
AnUnitInfo.Modified:=true;
|
||||||
|
LazarusIDE.DoSaveEditorFile(AnUnitInfo.Filename,[]);
|
||||||
|
//DebugLn(['TMainIDE.mnuProjectResaveFormsWithI18n Resaving form "',AnUnitInfo.Filename,'"']);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
AnUnitInfo:=AnUnitInfo.NextPartOfProject;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TMainIDE.mnuPublishProjectClicked(Sender: TObject);
|
procedure TMainIDE.mnuPublishProjectClicked(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
DoPublishProject([],true);
|
DoPublishProject([],true);
|
||||||
@ -5416,6 +5441,9 @@ begin
|
|||||||
MainIDEBar.itmFileSave.Enabled := ((SrcEdit<>nil) and SrcEdit.Modified)
|
MainIDEBar.itmFileSave.Enabled := ((SrcEdit<>nil) and SrcEdit.Modified)
|
||||||
or ((AnUnitInfo<>nil) and AnUnitInfo.IsVirtual);
|
or ((AnUnitInfo<>nil) and AnUnitInfo.IsVirtual);
|
||||||
MainIDEBar.itmFileExportHtml.Enabled := (SrcEdit<>nil);
|
MainIDEBar.itmFileExportHtml.Enabled := (SrcEdit<>nil);
|
||||||
|
MainIDEBar.itmProjectResaveFormsWithI18n.Enabled := (Project1<>nil) and (not Project1.IsVirtual)
|
||||||
|
and (Project1.EnableI18N)
|
||||||
|
and (Project1.EnableI18NForLFM);
|
||||||
if UpdateSaveAll then
|
if UpdateSaveAll then
|
||||||
MainIDEBar.itmFileSaveAll.Enabled := MainIDEBar.itmProjectSave.Enabled;
|
MainIDEBar.itmFileSaveAll.Enabled := MainIDEBar.itmProjectSave.Enabled;
|
||||||
end;
|
end;
|
||||||
|
@ -263,6 +263,7 @@ type
|
|||||||
//itmProjectSaveSection: TIDEMenuSection;
|
//itmProjectSaveSection: TIDEMenuSection;
|
||||||
itmProjectSave: TIDEMenuCommand;
|
itmProjectSave: TIDEMenuCommand;
|
||||||
itmProjectSaveAs: TIDEMenuCommand;
|
itmProjectSaveAs: TIDEMenuCommand;
|
||||||
|
itmProjectResaveFormsWithI18n: TIDEMenuCommand;
|
||||||
itmProjectPublish: TIDEMenuCommand;
|
itmProjectPublish: TIDEMenuCommand;
|
||||||
//itmProjectWindowSection: TIDEMenuSection;
|
//itmProjectWindowSection: TIDEMenuSection;
|
||||||
itmProjectInspector: TIDEMenuCommand;
|
itmProjectInspector: TIDEMenuCommand;
|
||||||
|
@ -1266,6 +1266,8 @@ begin
|
|||||||
ParentMI:=itmProjectSaveSection;
|
ParentMI:=itmProjectSaveSection;
|
||||||
CreateMenuItem(ParentMI,itmProjectSave,'itmProjectSave',lisMenuSaveProject, 'menu_project_save');
|
CreateMenuItem(ParentMI,itmProjectSave,'itmProjectSave',lisMenuSaveProject, 'menu_project_save');
|
||||||
CreateMenuItem(ParentMI,itmProjectSaveAs,'itmProjectSaveAs',lisMenuSaveProjectAs, 'menu_project_saveas');
|
CreateMenuItem(ParentMI,itmProjectSaveAs,'itmProjectSaveAs',lisMenuSaveProjectAs, 'menu_project_saveas');
|
||||||
|
CreateMenuItem(ParentMI, itmProjectResaveFormsWithI18n, 'itmProjectResaveFo'
|
||||||
|
+'rmsWithI18n', lisMenuResaveFormsWithI18n);
|
||||||
CreateMenuItem(ParentMI,itmProjectPublish,'itmProjectPublish',lisMenuPublishProject);
|
CreateMenuItem(ParentMI,itmProjectPublish,'itmProjectPublish',lisMenuPublishProject);
|
||||||
|
|
||||||
CreateMenuSeparatorSection(mnuProject,itmProjectWindowSection,'itmProjectWindowSection');
|
CreateMenuSeparatorSection(mnuProject,itmProjectWindowSection,'itmProjectWindowSection');
|
||||||
@ -1646,6 +1648,7 @@ begin
|
|||||||
itmProjectClose.Command:=GetCommand(ecCloseProject);
|
itmProjectClose.Command:=GetCommand(ecCloseProject);
|
||||||
itmProjectSave.Command:=GetCommand(ecSaveProject);
|
itmProjectSave.Command:=GetCommand(ecSaveProject);
|
||||||
itmProjectSaveAs.Command:=GetCommand(ecSaveProjectAs);
|
itmProjectSaveAs.Command:=GetCommand(ecSaveProjectAs);
|
||||||
|
itmProjectResaveFormsWithI18n.Command:=GetCommand(ecProjectResaveFormsWithI18n);
|
||||||
itmProjectPublish.Command:=GetCommand(ecPublishProject);
|
itmProjectPublish.Command:=GetCommand(ecPublishProject);
|
||||||
itmProjectInspector.Command:=GetCommand(ecProjectInspector);
|
itmProjectInspector.Command:=GetCommand(ecProjectInspector);
|
||||||
itmProjectOptions.Command:=GetCommand(ecProjectOptions);
|
itmProjectOptions.Command:=GetCommand(ecProjectOptions);
|
||||||
|
Loading…
Reference in New Issue
Block a user