mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-29 20:49:22 +02:00
MG: added publish project
git-svn-id: trunk@3501 -
This commit is contained in:
parent
81cc7f3a50
commit
92e2f6aee5
@ -56,14 +56,6 @@ uses
|
|||||||
|
|
||||||
const
|
const
|
||||||
ExternalMacroStart = ExprEval.ExternalMacroStart;
|
ExternalMacroStart = ExprEval.ExternalMacroStart;
|
||||||
{$ifdef win32}
|
|
||||||
SpecialChar = '/'; // used to use PathDelim, e.g. /\
|
|
||||||
{$else}
|
|
||||||
SpecialChar = '\';
|
|
||||||
{$endif}
|
|
||||||
{$ifdef win32}
|
|
||||||
{$define CaseInsensitiveFilenames}
|
|
||||||
{$endif}
|
|
||||||
|
|
||||||
// Standard Template Names (do not translate them)
|
// Standard Template Names (do not translate them)
|
||||||
StdDefTemplFPC = 'Free Pascal Compiler';
|
StdDefTemplFPC = 'Free Pascal Compiler';
|
||||||
@ -333,15 +325,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function CompareFilenames(const FileName1, Filename2: string): integer;
|
|
||||||
begin
|
|
||||||
{$ifdef CaseInsensitiveFilenames}
|
|
||||||
Result:=AnsiCompareText(FileName1,Filename2);
|
|
||||||
{$else}
|
|
||||||
Result:=AnsiCompareStr(FileName1,Filename2);
|
|
||||||
{$endif}
|
|
||||||
end;
|
|
||||||
|
|
||||||
function CompareUnitLinkNodes(NodeData1, NodeData2: pointer): integer;
|
function CompareUnitLinkNodes(NodeData1, NodeData2: pointer): integer;
|
||||||
var Link1, Link2: TUnitNameLink;
|
var Link1, Link2: TUnitNameLink;
|
||||||
begin
|
begin
|
||||||
@ -358,118 +341,6 @@ begin
|
|||||||
Result:=CompareFilenames(DirDef1.Path,DirDef2.Path);
|
Result:=CompareFilenames(DirDef1.Path,DirDef2.Path);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function FilenameIsMatching(const Mask, Filename: string;
|
|
||||||
MatchExactly: boolean): boolean;
|
|
||||||
{
|
|
||||||
check if Filename matches Mask
|
|
||||||
Filename matches exactly or is a file/directory in a subdirectory of mask
|
|
||||||
Mask can contain the wildcards * and ?
|
|
||||||
The wildcards will _not_ match PathDelim
|
|
||||||
If you need the asterisk, the question mark or the PathDelim as character
|
|
||||||
just put the SpecialChar character in front of it.
|
|
||||||
|
|
||||||
Examples:
|
|
||||||
/abc matches /abc, /abc/p, /abc/xyz/filename
|
|
||||||
but not /abcd
|
|
||||||
/abc/x?z/www matches /abc/xyz/www, /abc/xaz/www
|
|
||||||
but not /abc/x/z/www
|
|
||||||
/abc/x*z/www matches /abc/xz/www, /abc/xyz/www, /abc/xAAAz/www
|
|
||||||
but not /abc/x/z/www
|
|
||||||
/abc/x\*z/www matches /abc/x*z/www, /abc/x*z/www/ttt
|
|
||||||
}
|
|
||||||
var DirStartMask, DirEndMask, DirStartFile, DirEndFile, AsteriskPos: integer;
|
|
||||||
begin
|
|
||||||
//writeln('[FilenameIsMatching] Mask="',Mask,'" Filename="',Filename,'" MatchExactly=',MatchExactly);
|
|
||||||
Result:=false;
|
|
||||||
if (Filename='') then exit;
|
|
||||||
if (Mask='') then begin
|
|
||||||
Result:=true; exit;
|
|
||||||
end;
|
|
||||||
// test every directory
|
|
||||||
DirStartMask:=1;
|
|
||||||
DirStartFile:=1;
|
|
||||||
repeat
|
|
||||||
// find start of directories
|
|
||||||
while (DirStartMask<=length(Mask))
|
|
||||||
and (Mask[DirStartMask]=PathDelim) do
|
|
||||||
inc(DirStartMask);
|
|
||||||
while (DirStartFile<=length(Filename))
|
|
||||||
and (Filename[DirStartFile]=PathDelim) do
|
|
||||||
inc(DirStartFile);
|
|
||||||
// find ends of directories
|
|
||||||
DirEndMask:=DirStartMask;
|
|
||||||
DirEndFile:=DirStartFile;
|
|
||||||
while (DirEndMask<=length(Mask)) do begin
|
|
||||||
if Mask[DirEndMask]=SpecialChar then
|
|
||||||
inc(DirEndMask,2)
|
|
||||||
else if (Mask[DirEndMask]=PathDelim) then
|
|
||||||
break
|
|
||||||
else
|
|
||||||
inc(DirEndMask);
|
|
||||||
end;
|
|
||||||
while (DirEndFile<=length(Filename)) do begin
|
|
||||||
if Filename[DirEndFile]=SpecialChar then
|
|
||||||
inc(DirEndFile,2)
|
|
||||||
else if (Filename[DirEndFile]=PathDelim) then
|
|
||||||
break
|
|
||||||
else
|
|
||||||
inc(DirEndFile);
|
|
||||||
end;
|
|
||||||
// writeln(' Compare "',copy(Mask,DirStartMask,DirEndMask-DirStartMask),'"',
|
|
||||||
// ' "',copy(Filename,DirStartFile,DirEndFile-DirStartFile),'"');
|
|
||||||
// compare directories
|
|
||||||
AsteriskPos:=0;
|
|
||||||
while (DirStartMask<DirEndMask) and (DirStartFile<DirEndFile) do begin
|
|
||||||
case Mask[DirStartMask] of
|
|
||||||
'?':
|
|
||||||
begin
|
|
||||||
inc(DirStartMask);
|
|
||||||
inc(DirStartFile);
|
|
||||||
end;
|
|
||||||
'*':
|
|
||||||
begin
|
|
||||||
inc(DirStartMask);
|
|
||||||
AsteriskPos:=DirStartMask;
|
|
||||||
end;
|
|
||||||
else
|
|
||||||
begin
|
|
||||||
if Mask[DirStartMask]=SpecialChar then begin
|
|
||||||
inc(DirStartMask);
|
|
||||||
if (DirStartMask>length(Mask)) then exit;
|
|
||||||
end;
|
|
||||||
{$ifdef CaseInsensitiveFilenames}
|
|
||||||
if (UpChars[Mask[DirStartMask]]<>UpChars[Filename[DirStartFile]]) then
|
|
||||||
{$else}
|
|
||||||
if (Mask[DirStartMask]<>Filename[DirStartFile]) then
|
|
||||||
{$endif}
|
|
||||||
begin
|
|
||||||
if AsteriskPos=0 then exit;
|
|
||||||
DirStartMask:=AsteriskPos;
|
|
||||||
end else begin
|
|
||||||
inc(DirStartMask);
|
|
||||||
inc(DirStartFile);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
if (DirStartMask<DirEndmask) or (DirStartFile<DirEndFile) then exit;
|
|
||||||
// find starts of next directorys
|
|
||||||
DirStartMask:=DirEndMask+1;
|
|
||||||
DirStartFile:=DirEndFile+1;
|
|
||||||
until (DirStartFile>length(Filename)) or (DirStartMask>length(Mask));
|
|
||||||
while (DirStartMask<=length(Mask))
|
|
||||||
and (Mask[DirStartMask]=PathDelim) do
|
|
||||||
inc(DirStartMask);
|
|
||||||
Result:=(DirStartMask>length(Mask));
|
|
||||||
if MatchExactly then begin
|
|
||||||
while (DirStartFile<=length(Filename))
|
|
||||||
and (Filename[DirStartFile]=PathDelim) do
|
|
||||||
inc(DirStartFile);
|
|
||||||
Result:=(Result and (DirStartFile>length(Filename)));
|
|
||||||
end;
|
|
||||||
//writeln(' [FilenameIsMatching] Result=',Result,' ',DirStartMask,',',length(Mask),' ',DirStartFile,',',length(Filename));
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
{ TDefineTemplate }
|
{ TDefineTemplate }
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ unit MemCheck;
|
|||||||
|
|
||||||
{$goto on}
|
{$goto on}
|
||||||
|
|
||||||
{$DEFINE EXTRA}
|
{off $DEFINE EXTRA}
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
@ -436,8 +436,10 @@ begin
|
|||||||
is_in_getmem_list:=true;
|
is_in_getmem_list:=true;
|
||||||
pp:=pp^.previous;
|
pp:=pp^.previous;
|
||||||
inc(i);
|
inc(i);
|
||||||
if i>getmem_cnt-freemem_cnt then
|
if i>getmem_cnt-freemem_cnt then begin
|
||||||
writeln(ptext^,'error in linked list of heap_mem_info');
|
writeln(ptext^,'error in linked list of heap_mem_info');
|
||||||
|
RunError(204);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -524,7 +526,7 @@ begin
|
|||||||
pp:=pheap_mem_info(p);
|
pp:=pheap_mem_info(p);
|
||||||
if not quicktrace and not(is_in_getmem_list(pp)) then
|
if not quicktrace and not(is_in_getmem_list(pp)) then
|
||||||
RunError(204);
|
RunError(204);
|
||||||
if (pp^.sig=$AAAAAAAA) and not usecrc then
|
if (pp^.sig=$AAAAAAAA) {MG: fix for codetools :} {and not usecrc} then
|
||||||
begin
|
begin
|
||||||
error_in_heap:=true;
|
error_in_heap:=true;
|
||||||
dump_already_free(pp,ptext^);
|
dump_already_free(pp,ptext^);
|
||||||
|
@ -86,7 +86,9 @@ resourcestring
|
|||||||
lisSaveAllModified = 'save all modified files';
|
lisSaveAllModified = 'save all modified files';
|
||||||
lisTargetFilenameOfProject = 'Target filename of project';
|
lisTargetFilenameOfProject = 'Target filename of project';
|
||||||
lisTargetFilenamePlusParams = 'Target filename + params';
|
lisTargetFilenamePlusParams = 'Target filename + params';
|
||||||
|
lisTestDirectory = 'Test directory';
|
||||||
lisLaunchingCmdLine = 'Launching target command line';
|
lisLaunchingCmdLine = 'Launching target command line';
|
||||||
|
lisPublishProjDir = 'Publish project directory';
|
||||||
|
|
||||||
// main bar menu
|
// main bar menu
|
||||||
lisMenuFile = '&File';
|
lisMenuFile = '&File';
|
||||||
|
@ -847,7 +847,6 @@ begin
|
|||||||
itmProjectPublish := TMenuItem.Create(Self);
|
itmProjectPublish := TMenuItem.Create(Self);
|
||||||
itmProjectPublish.Name:='itmProjectPublish';
|
itmProjectPublish.Name:='itmProjectPublish';
|
||||||
itmProjectPublish.Caption := lisMenuPublishProject;
|
itmProjectPublish.Caption := lisMenuPublishProject;
|
||||||
itmProjectPublish.Enabled:=false;
|
|
||||||
mnuProject.Add(itmProjectPublish);
|
mnuProject.Add(itmProjectPublish);
|
||||||
|
|
||||||
mnuProject.Add(CreateMenuSeparator);
|
mnuProject.Add(CreateMenuSeparator);
|
||||||
|
@ -268,7 +268,8 @@ type
|
|||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
|
|
||||||
function ReadProject(const LPIFilename: string): TModalResult;
|
function ReadProject(const LPIFilename: string): TModalResult;
|
||||||
function WriteProject: TModalResult;
|
function WriteProject(ProjectWriteFlags: TProjectWriteFlags;
|
||||||
|
const OverrideProjectInfoFile: string): TModalResult;
|
||||||
|
|
||||||
property Units[Index: integer]:TUnitInfo read GetUnits write SetUnits;
|
property Units[Index: integer]:TUnitInfo read GetUnits write SetUnits;
|
||||||
function UnitCount:integer;
|
function UnitCount:integer;
|
||||||
@ -1041,7 +1042,8 @@ end;
|
|||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
TProject WriteProject
|
TProject WriteProject
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
function TProject.WriteProject: TModalResult;
|
function TProject.WriteProject(ProjectWriteFlags: TProjectWriteFlags;
|
||||||
|
const OverrideProjectInfoFile: string): TModalResult;
|
||||||
|
|
||||||
procedure SaveFlags;
|
procedure SaveFlags;
|
||||||
var f: TProjectFlag;
|
var f: TProjectFlag;
|
||||||
@ -1055,10 +1057,14 @@ function TProject.WriteProject: TModalResult;
|
|||||||
function UnitMustBeSaved(i: integer): boolean;
|
function UnitMustBeSaved(i: integer): boolean;
|
||||||
begin
|
begin
|
||||||
Result:=false;
|
Result:=false;
|
||||||
if (pfSaveOnlyProjectUnits in Flags) and (not Units[i].IsPartOfProject) then
|
if not Units[i].IsPartOfProject then begin
|
||||||
exit;
|
if (pfSaveOnlyProjectUnits in Flags) then exit;
|
||||||
if (not (pfSaveClosedUnits in Flags)) and (not Units[i].IsPartOfProject)
|
if (pwfSaveOnlyProjectUnits in ProjectWriteFlags) then exit;
|
||||||
and (not Units[i].Loaded) then exit;
|
if (not Units[i].Loaded) then begin
|
||||||
|
if (not (pfSaveClosedUnits in Flags)) then exit;
|
||||||
|
if (pwfDontSaveClosedUnits in ProjectWriteFlags) then exit;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
Result:=true;
|
Result:=true;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1083,6 +1089,9 @@ var
|
|||||||
begin
|
begin
|
||||||
Result := mrCancel;
|
Result := mrCancel;
|
||||||
|
|
||||||
|
if OverrideProjectInfoFile<>'' then
|
||||||
|
confPath := OverrideProjectInfoFile
|
||||||
|
else
|
||||||
confPath := ProjectInfoFile;
|
confPath := ProjectInfoFile;
|
||||||
if Assigned(fOnFileBackup) then begin
|
if Assigned(fOnFileBackup) then begin
|
||||||
Result:=fOnFileBackup(confPath,true);
|
Result:=fOnFileBackup(confPath,true);
|
||||||
@ -2066,6 +2075,9 @@ end.
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
|
Revision 1.83 2002/10/13 09:35:37 lazarus
|
||||||
|
MG: added publish project
|
||||||
|
|
||||||
Revision 1.82 2002/10/04 21:31:56 lazarus
|
Revision 1.82 2002/10/04 21:31:56 lazarus
|
||||||
MG: added some component rename checks
|
MG: added some component rename checks
|
||||||
|
|
||||||
|
@ -42,6 +42,9 @@ uses
|
|||||||
type
|
type
|
||||||
TOnLoadSaveFilename = procedure(var Filename:string; Load:boolean) of object;
|
TOnLoadSaveFilename = procedure(var Filename:string; Load:boolean) of object;
|
||||||
|
|
||||||
|
TProjectWriteFlag = (pwfDontSaveClosedUnits, pwfSaveOnlyProjectUnits);
|
||||||
|
TProjectWriteFlags = set of TProjectWriteFlag;
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
TProjectBookmark = class
|
TProjectBookmark = class
|
||||||
private
|
private
|
||||||
@ -266,6 +269,8 @@ type
|
|||||||
procedure LoadDefaults;
|
procedure LoadDefaults;
|
||||||
procedure LoadFromXMLConfig(XMLConfig: TXMLConfig; const APath: string);
|
procedure LoadFromXMLConfig(XMLConfig: TXMLConfig; const APath: string);
|
||||||
procedure SaveToXMLConfig(XMLConfig: TXMLConfig; const APath: string);
|
procedure SaveToXMLConfig(XMLConfig: TXMLConfig; const APath: string);
|
||||||
|
function FileCanBePublished(const AFilename: string): boolean;
|
||||||
|
function WriteFlags: TProjectWriteFlags;
|
||||||
|
|
||||||
// destination
|
// destination
|
||||||
property DestinationDirectory: string
|
property DestinationDirectory: string
|
||||||
@ -1052,5 +1057,34 @@ begin
|
|||||||
SaveEditorInfoOfNonProjectFiles);
|
SaveEditorInfoOfNonProjectFiles);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TPublishProjectOptions.FileCanBePublished(
|
||||||
|
const AFilename: string): boolean;
|
||||||
|
begin
|
||||||
|
{Result:=false;
|
||||||
|
|
||||||
|
// check include filter
|
||||||
|
if UseIncludeFileFilter
|
||||||
|
and not FilenameIsMatching(IncludeFileFilter,ExtractFilename(AFilename),true)
|
||||||
|
then
|
||||||
|
exit;
|
||||||
|
// check exclude filter
|
||||||
|
if UseExcludeFileFilter
|
||||||
|
and FilenameIsMatching(ExcludeFileFilter,ExtractFilename(AFilename),true)
|
||||||
|
then
|
||||||
|
exit;}
|
||||||
|
|
||||||
|
Result:=true;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TPublishProjectOptions.WriteFlags: TProjectWriteFlags;
|
||||||
|
begin
|
||||||
|
Result:=[];
|
||||||
|
if not SaveEditorInfoOfNonProjectFiles then
|
||||||
|
Include(Result,pwfSaveOnlyProjectUnits);
|
||||||
|
if not SaveClosedEditorFilesInfo then
|
||||||
|
Include(Result,pwfDontSaveClosedUnits);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
@ -34,6 +34,9 @@ object PublishProjectDialog: TPublishProjectDialog
|
|||||||
object DestDirGroupBox: TGROUPBOX
|
object DestDirGroupBox: TGROUPBOX
|
||||||
ANCHORS = [aktop, akleft]
|
ANCHORS = [aktop, akleft]
|
||||||
CAPTION = 'Destination directory'
|
CAPTION = 'Destination directory'
|
||||||
|
COLOR = -2147483643
|
||||||
|
PARENTCTL3D = False
|
||||||
|
TABORDER = 2
|
||||||
ONRESIZE = DestDirGroupBoxRESIZE
|
ONRESIZE = DestDirGroupBoxRESIZE
|
||||||
LEFT = 8
|
LEFT = 8
|
||||||
HEIGHT = 111
|
HEIGHT = 111
|
||||||
@ -89,6 +92,9 @@ object PublishProjectDialog: TPublishProjectDialog
|
|||||||
object FilesGroupbox: TGROUPBOX
|
object FilesGroupbox: TGROUPBOX
|
||||||
ANCHORS = [aktop, akleft]
|
ANCHORS = [aktop, akleft]
|
||||||
CAPTION = 'Files'
|
CAPTION = 'Files'
|
||||||
|
COLOR = -2147483643
|
||||||
|
PARENTCTL3D = False
|
||||||
|
TABORDER = 3
|
||||||
ONRESIZE = FilesGroupboxRESIZE
|
ONRESIZE = FilesGroupboxRESIZE
|
||||||
LEFT = 8
|
LEFT = 8
|
||||||
HEIGHT = 139
|
HEIGHT = 139
|
||||||
@ -147,6 +153,9 @@ object PublishProjectDialog: TPublishProjectDialog
|
|||||||
object ProjectInfoGroupbox: TGROUPBOX
|
object ProjectInfoGroupbox: TGROUPBOX
|
||||||
ANCHORS = [aktop, akleft]
|
ANCHORS = [aktop, akleft]
|
||||||
CAPTION = 'Project Information'
|
CAPTION = 'Project Information'
|
||||||
|
COLOR = -2147483643
|
||||||
|
PARENTCTL3D = False
|
||||||
|
TABORDER = 4
|
||||||
ONRESIZE = ProjectInfoGroupboxRESIZE
|
ONRESIZE = ProjectInfoGroupboxRESIZE
|
||||||
LEFT = 8
|
LEFT = 8
|
||||||
HEIGHT = 69
|
HEIGHT = 69
|
||||||
|
@ -11,48 +11,50 @@ LazarusResources.Add('TPublishProjectDialog','FORMDATA',[
|
|||||||
+'n'#7'ANCHORS'#11#5'aktop'#7'akright'#0#11'MODALRESULT'#2#2#7'CAPTION'#6#6'C'
|
+'n'#7'ANCHORS'#11#5'aktop'#7'akright'#0#11'MODALRESULT'#2#2#7'CAPTION'#6#6'C'
|
||||||
+'ancel'#7'TABSTOP'#9#8'TABORDER'#2#1#4'LEFT'#3'w'#1#6'HEIGHT'#2#25#3'TOP'#3
|
+'ancel'#7'TABSTOP'#9#8'TABORDER'#2#1#4'LEFT'#3'w'#1#6'HEIGHT'#2#25#3'TOP'#3
|
||||||
+'p'#1#5'WIDTH'#2'K'#0#0#9'TGROUPBOX'#15'DestDirGroupBox'#7'ANCHORS'#11#5'akt'
|
+'p'#1#5'WIDTH'#2'K'#0#0#9'TGROUPBOX'#15'DestDirGroupBox'#7'ANCHORS'#11#5'akt'
|
||||||
+'op'#6'akleft'#0#7'CAPTION'#6#21'Destination directory'#8'ONRESIZE'#7#21'Des'
|
+'op'#6'akleft'#0#7'CAPTION'#6#21'Destination directory'#5'COLOR'#4#5#0#0#128
|
||||||
+'tDirGroupBoxRESIZE'#4'LEFT'#2#8#6'HEIGHT'#2'o'#3'TOP'#2#8#5'WIDTH'#3#194#1#0
|
+#11'PARENTCTL3D'#8#8'TABORDER'#2#2#8'ONRESIZE'#7#21'DestDirGroupBoxRESIZE'#4
|
||||||
+#9'TCOMBOBOX'#15'DestDirComboBox'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#11'PARE'
|
+'LEFT'#2#8#6'HEIGHT'#2'o'#3'TOP'#2#8#5'WIDTH'#3#194#1#0#9'TCOMBOBOX'#15'Dest'
|
||||||
+'NTCTL3D'#8#7'TABSTOP'#9#4'TEXT'#6#15'DestDirComboBox'#4'LEFT'#2#6#6'HEIGHT'
|
+'DirComboBox'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#11'PARENTCTL3D'#8#7'TABSTOP'
|
||||||
+#2#25#3'TOP'#2#1#5'WIDTH'#3'^'#1#0#0#7'TBITBTN'#19'BrowseDestDirBitBtn'#10'G'
|
+#9#4'TEXT'#6#15'DestDirComboBox'#4'LEFT'#2#6#6'HEIGHT'#2#25#3'TOP'#2#1#5'WID'
|
||||||
+'LYPH.Data'#10'>'#0#0#0':'#0#0#0'BM:'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#1#0#0#0
|
+'TH'#3'^'#1#0#0#7'TBITBTN'#19'BrowseDestDirBitBtn'#10'GLYPH.Data'#10'>'#0#0#0
|
||||||
+#1#0#0#0#1#0#16#0#0#0#0#0#4#0#0#0'Z'#0#0#0'`'#0#0#0'@'#0#0#0'@'#0#0#0#0#0#0#0
|
+':'#0#0#0'BM:'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#1#0#0#0#1#0#0#0#1#0#16#0#0#0#0
|
||||||
+#7'SPACING'#2#3#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#6'Browse'#7
|
+#0#4#0#0#0'Z'#0#0#0'`'#0#0#0'@'#0#0#0'@'#0#0#0#0#0#0#0#7'SPACING'#2#3#7'ANCH'
|
||||||
+'TABSTOP'#9#8'TABORDER'#2#1#4'LEFT'#3'n'#1#6'HEIGHT'#2#25#3'TOP'#2#1#5'WIDTH'
|
+'ORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#6'Browse'#7'TABSTOP'#9#8'TABORDER'
|
||||||
+#2'H'#0#0#9'TCOMBOBOX'#20'CommandAfterCombobox'#7'ANCHORS'#11#5'aktop'#6'akl'
|
+#2#1#4'LEFT'#3'n'#1#6'HEIGHT'#2#25#3'TOP'#2#1#5'WIDTH'#2'H'#0#0#9'TCOMBOBOX'
|
||||||
+'eft'#0#11'PARENTCTL3D'#8#8'TABORDER'#2#2#7'TABSTOP'#9#4'TEXT'#6#20'CommandA'
|
+#20'CommandAfterCombobox'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#11'PARENTCTL3D'
|
||||||
+'fterCombobox'#4'LEFT'#2#6#6'HEIGHT'#2#25#3'TOP'#2':'#5'WIDTH'#3#174#1#0#0#6
|
+#8#8'TABORDER'#2#2#7'TABSTOP'#9#4'TEXT'#6#20'CommandAfterCombobox'#4'LEFT'#2
|
||||||
+'TLABEL'#17'CommandAfterLabel'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'
|
+#6#6'HEIGHT'#2#25#3'TOP'#2':'#5'WIDTH'#3#174#1#0#0#6'TLABEL'#17'CommandAfter'
|
||||||
+#6#14'Command after:'#5'COLOR'#4#5#0#0#128#6'LAYOUT'#7#5'tltop'#4'LEFT'#2#6#6
|
+'Label'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#14'Command after:'#5
|
||||||
+'HEIGHT'#2#17#3'TOP'#2'!'#5'WIDTH'#3#172#1#0#0#0#9'TGROUPBOX'#13'FilesGroupb'
|
+'COLOR'#4#5#0#0#128#6'LAYOUT'#7#5'tltop'#4'LEFT'#2#6#6'HEIGHT'#2#17#3'TOP'#2
|
||||||
+'ox'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#5'Files'#8'ONRESIZE'#7
|
+'!'#5'WIDTH'#3#172#1#0#0#0#9'TGROUPBOX'#13'FilesGroupbox'#7'ANCHORS'#11#5'ak'
|
||||||
+#19'FilesGroupboxRESIZE'#4'LEFT'#2#8#6'HEIGHT'#3#139#0#3'TOP'#3#128#0#5'WIDT'
|
+'top'#6'akleft'#0#7'CAPTION'#6#5'Files'#5'COLOR'#4#5#0#0#128#11'PARENTCTL3D'
|
||||||
+'H'#3#194#1#0#9'TCHECKBOX'#24'UseIncludeFilterCheckbox'#8'AUTOSIZE'#9#11'ALL'
|
+#8#8'TABORDER'#2#3#8'ONRESIZE'#7#19'FilesGroupboxRESIZE'#4'LEFT'#2#8#6'HEIGH'
|
||||||
+'OWGRAYED'#9#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#18'Use include '
|
+'T'#3#139#0#3'TOP'#3#128#0#5'WIDTH'#3#194#1#0#9'TCHECKBOX'#24'UseIncludeFilt'
|
||||||
+'filter'#10'DRAGCURSOR'#2#0#7'TABSTOP'#9#7'TABSTOP'#9#4'LEFT'#2#4#6'HEIGHT'#2
|
+'erCheckbox'#8'AUTOSIZE'#9#11'ALLOWGRAYED'#9#7'ANCHORS'#11#5'aktop'#6'akleft'
|
||||||
+#20#5'WIDTH'#3#171#0#0#0#9'TCOMBOBOX'#25'IncludeFileFilterCombobox'#7'ANCHOR'
|
+#0#7'CAPTION'#6#18'Use include filter'#10'DRAGCURSOR'#2#0#7'TABSTOP'#9#7'TAB'
|
||||||
+'S'#11#5'aktop'#6'akleft'#0#11'PARENTCTL3D'#8#8'TABORDER'#2#1#7'TABSTOP'#9#4
|
+'STOP'#9#4'LEFT'#2#4#6'HEIGHT'#2#20#5'WIDTH'#3#171#0#0#0#9'TCOMBOBOX'#25'Inc'
|
||||||
+'TEXT'#6#25'IncludeFileFilterCombobox'#4'LEFT'#2#4#6'HEIGHT'#2#25#3'TOP'#2#24
|
+'ludeFileFilterCombobox'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#11'PARENTCTL3D'#8
|
||||||
+#5'WIDTH'#3#176#1#0#0#9'TCHECKBOX'#24'UseExcludeFilterCheckbox'#8'AUTOSIZE'#9
|
+#8'TABORDER'#2#1#7'TABSTOP'#9#4'TEXT'#6#25'IncludeFileFilterCombobox'#4'LEFT'
|
||||||
+#11'ALLOWGRAYED'#9#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#18'Use ex'
|
+#2#4#6'HEIGHT'#2#25#3'TOP'#2#24#5'WIDTH'#3#176#1#0#0#9'TCHECKBOX'#24'UseExcl'
|
||||||
+'clude filter'#10'DRAGCURSOR'#2#0#8'TABORDER'#2#2#7'TABSTOP'#9#8'TABORDER'#2
|
+'udeFilterCheckbox'#8'AUTOSIZE'#9#11'ALLOWGRAYED'#9#7'ANCHORS'#11#5'aktop'#6
|
||||||
+#2#7'TABSTOP'#9#4'LEFT'#2#4#6'HEIGHT'#2#20#3'TOP'#2'@'#5'WIDTH'#3#175#0#0#0#9
|
+'akleft'#0#7'CAPTION'#6#18'Use exclude filter'#10'DRAGCURSOR'#2#0#8'TABORDER'
|
||||||
+'TCOMBOBOX'#25'ExcludeFileFilterCombobox'#7'ANCHORS'#11#5'aktop'#6'akleft'#0
|
+#2#2#7'TABSTOP'#9#8'TABORDER'#2#2#7'TABSTOP'#9#4'LEFT'#2#4#6'HEIGHT'#2#20#3
|
||||||
+#11'PARENTCTL3D'#8#8'TABORDER'#2#3#7'TABSTOP'#9#4'TEXT'#6#25'ExcludeFileFilt'
|
+'TOP'#2'@'#5'WIDTH'#3#175#0#0#0#9'TCOMBOBOX'#25'ExcludeFileFilterCombobox'#7
|
||||||
+'erCombobox'#4'LEFT'#2#4#6'HEIGHT'#2#25#3'TOP'#2'X'#5'WIDTH'#3#176#1#0#0#0#9
|
+'ANCHORS'#11#5'aktop'#6'akleft'#0#11'PARENTCTL3D'#8#8'TABORDER'#2#3#7'TABSTO'
|
||||||
+'TGROUPBOX'#19'ProjectInfoGroupbox'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAP'
|
+'P'#9#4'TEXT'#6#25'ExcludeFileFilterCombobox'#4'LEFT'#2#4#6'HEIGHT'#2#25#3'T'
|
||||||
+'TION'#6#19'Project Information'#8'ONRESIZE'#7#25'ProjectInfoGroupboxRESIZE'
|
+'OP'#2'X'#5'WIDTH'#3#176#1#0#0#0#9'TGROUPBOX'#19'ProjectInfoGroupbox'#7'ANCH'
|
||||||
+#4'LEFT'#2#8#6'HEIGHT'#2'E'#3'TOP'#3#24#1#5'WIDTH'#3#194#1#0#9'TCHECKBOX!Sav'
|
+'ORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#19'Project Information'#5'COLOR'#4
|
||||||
+'eClosedEditorFilesInfoCheckbox'#8'AUTOSIZE'#9#11'ALLOWGRAYED'#9#7'ANCHORS'
|
+#5#0#0#128#11'PARENTCTL3D'#8#8'TABORDER'#2#4#8'ONRESIZE'#7#25'ProjectInfoGro'
|
||||||
+#11#5'aktop'#6'akleft'#0#7'CAPTION'#6' Save editor info of closed files'#10
|
+'upboxRESIZE'#4'LEFT'#2#8#6'HEIGHT'#2'E'#3'TOP'#3#24#1#5'WIDTH'#3#194#1#0#9
|
||||||
+'DRAGCURSOR'#2#0#7'TABSTOP'#9#7'TABSTOP'#9#4'LEFT'#2#4#6'HEIGHT'#2#20#3'TOP'
|
+'TCHECKBOX!SaveClosedEditorFilesInfoCheckbox'#8'AUTOSIZE'#9#11'ALLOWGRAYED'#9
|
||||||
+#2#1#5'WIDTH'#3#176#1#0#0#9'TCHECKBOX''SaveEditorInfoOfNonProjectFilesCheckb'
|
+#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6' Save editor info of closed'
|
||||||
+'ox'#8'AUTOSIZE'#9#11'ALLOWGRAYED'#9#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CA'
|
+' files'#10'DRAGCURSOR'#2#0#7'TABSTOP'#9#7'TABSTOP'#9#4'LEFT'#2#4#6'HEIGHT'#2
|
||||||
+'PTION'#6'%Save editor info of non project files'#10'DRAGCURSOR'#2#0#8'TABOR'
|
+#20#3'TOP'#2#1#5'WIDTH'#3#176#1#0#0#9'TCHECKBOX''SaveEditorInfoOfNonProjectF'
|
||||||
+'DER'#2#1#7'TABSTOP'#9#8'TABORDER'#2#1#7'TABSTOP'#9#4'LEFT'#2#4#6'HEIGHT'#2
|
+'ilesCheckbox'#8'AUTOSIZE'#9#11'ALLOWGRAYED'#9#7'ANCHORS'#11#5'aktop'#6'akle'
|
||||||
+#20#3'TOP'#2#26#5'WIDTH'#3#176#1#0#0#0#7'TBUTTON'#18'SaveSettingsButton'#7'A'
|
+'ft'#0#7'CAPTION'#6'%Save editor info of non project files'#10'DRAGCURSOR'#2
|
||||||
+'NCHORS'#11#5'aktop'#7'akright'#0#7'CAPTION'#6#13'Save settings'#7'TABSTOP'#9
|
+#0#8'TABORDER'#2#1#7'TABSTOP'#9#8'TABORDER'#2#1#7'TABSTOP'#9#4'LEFT'#2#4#6'H'
|
||||||
+#8'TABORDER'#2#5#7'ONCLICK'#7#23'SaveSettingsButtonCLICK'#4'LEFT'#3#202#0#6
|
+'EIGHT'#2#20#3'TOP'#2#26#5'WIDTH'#3#176#1#0#0#0#7'TBUTTON'#18'SaveSettingsBu'
|
||||||
+'HEIGHT'#2#25#3'TOP'#3'p'#1#5'WIDTH'#2'x'#0#0#0
|
+'tton'#7'ANCHORS'#11#5'aktop'#7'akright'#0#7'CAPTION'#6#13'Save settings'#7
|
||||||
|
+'TABSTOP'#9#8'TABORDER'#2#5#7'ONCLICK'#7#23'SaveSettingsButtonCLICK'#4'LEFT'
|
||||||
|
+#3#202#0#6'HEIGHT'#2#25#3'TOP'#3'p'#1#5'WIDTH'#2'x'#0#0#0
|
||||||
]);
|
]);
|
||||||
|
@ -182,7 +182,7 @@ begin
|
|||||||
// command after
|
// command after
|
||||||
List:=InputHistories.HistoryLists.GetList(PublishProjectCommandsAfter,true);
|
List:=InputHistories.HistoryLists.GetList(PublishProjectCommandsAfter,true);
|
||||||
if List.Count=0 then begin
|
if List.Count=0 then begin
|
||||||
List.Add('tar czf $(ProjPublishDir).tgz $(ProjPublishDir)');
|
List.Add('/bin/tar czf $MakeFile($(ProjPublishDir)).tgz $(ProjPublishDir)');
|
||||||
end;
|
end;
|
||||||
CommandAfterCombobox.Items.Assign(List);
|
CommandAfterCombobox.Items.Assign(List);
|
||||||
|
|
||||||
@ -235,6 +235,7 @@ begin
|
|||||||
Position:=poScreenCenter;
|
Position:=poScreenCenter;
|
||||||
IDEDialogLayoutList.ApplyLayout(Self,500,405);
|
IDEDialogLayoutList.ApplyLayout(Self,500,405);
|
||||||
LoadHistoryLists;
|
LoadHistoryLists;
|
||||||
|
FilesGroupbox.Enabled:=false;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TPublishProjectDialog.Destroy;
|
destructor TPublishProjectDialog.Destroy;
|
||||||
|
Loading…
Reference in New Issue
Block a user