mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-08 10:20:27 +02:00
MG: added publish project
git-svn-id: trunk@3501 -
This commit is contained in:
parent
81cc7f3a50
commit
92e2f6aee5
@ -56,15 +56,7 @@ uses
|
||||
|
||||
const
|
||||
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)
|
||||
StdDefTemplFPC = 'Free Pascal Compiler';
|
||||
StdDefTemplFPCSrc = 'Free Pascal Sources';
|
||||
@ -333,15 +325,6 @@ begin
|
||||
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;
|
||||
var Link1, Link2: TUnitNameLink;
|
||||
begin
|
||||
@ -358,118 +341,6 @@ begin
|
||||
Result:=CompareFilenames(DirDef1.Path,DirDef2.Path);
|
||||
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 }
|
||||
|
||||
|
@ -24,7 +24,7 @@ unit MemCheck;
|
||||
|
||||
{$goto on}
|
||||
|
||||
{$DEFINE EXTRA}
|
||||
{off $DEFINE EXTRA}
|
||||
|
||||
interface
|
||||
|
||||
@ -433,11 +433,13 @@ begin
|
||||
RunError(204);
|
||||
end;
|
||||
if pp=p then
|
||||
is_in_getmem_list:=true;
|
||||
is_in_getmem_list:=true;
|
||||
pp:=pp^.previous;
|
||||
inc(i);
|
||||
if i>getmem_cnt-freemem_cnt then
|
||||
writeln(ptext^,'error in linked list of heap_mem_info');
|
||||
if i>getmem_cnt-freemem_cnt then begin
|
||||
writeln(ptext^,'error in linked list of heap_mem_info');
|
||||
RunError(204);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -524,7 +526,7 @@ begin
|
||||
pp:=pheap_mem_info(p);
|
||||
if not quicktrace and not(is_in_getmem_list(pp)) then
|
||||
RunError(204);
|
||||
if (pp^.sig=$AAAAAAAA) and not usecrc then
|
||||
if (pp^.sig=$AAAAAAAA) {MG: fix for codetools :} {and not usecrc} then
|
||||
begin
|
||||
error_in_heap:=true;
|
||||
dump_already_free(pp,ptext^);
|
||||
|
@ -86,8 +86,10 @@ resourcestring
|
||||
lisSaveAllModified = 'save all modified files';
|
||||
lisTargetFilenameOfProject = 'Target filename of project';
|
||||
lisTargetFilenamePlusParams = 'Target filename + params';
|
||||
lisTestDirectory = 'Test directory';
|
||||
lisLaunchingCmdLine = 'Launching target command line';
|
||||
|
||||
lisPublishProjDir = 'Publish project directory';
|
||||
|
||||
// main bar menu
|
||||
lisMenuFile = '&File';
|
||||
lisMenuEdit = '&Edit';
|
||||
|
@ -847,7 +847,6 @@ begin
|
||||
itmProjectPublish := TMenuItem.Create(Self);
|
||||
itmProjectPublish.Name:='itmProjectPublish';
|
||||
itmProjectPublish.Caption := lisMenuPublishProject;
|
||||
itmProjectPublish.Enabled:=false;
|
||||
mnuProject.Add(itmProjectPublish);
|
||||
|
||||
mnuProject.Add(CreateMenuSeparator);
|
||||
|
@ -268,7 +268,8 @@ type
|
||||
destructor Destroy; override;
|
||||
|
||||
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;
|
||||
function UnitCount:integer;
|
||||
@ -1041,7 +1042,8 @@ end;
|
||||
{------------------------------------------------------------------------------
|
||||
TProject WriteProject
|
||||
------------------------------------------------------------------------------}
|
||||
function TProject.WriteProject: TModalResult;
|
||||
function TProject.WriteProject(ProjectWriteFlags: TProjectWriteFlags;
|
||||
const OverrideProjectInfoFile: string): TModalResult;
|
||||
|
||||
procedure SaveFlags;
|
||||
var f: TProjectFlag;
|
||||
@ -1055,10 +1057,14 @@ function TProject.WriteProject: TModalResult;
|
||||
function UnitMustBeSaved(i: integer): boolean;
|
||||
begin
|
||||
Result:=false;
|
||||
if (pfSaveOnlyProjectUnits in Flags) and (not Units[i].IsPartOfProject) then
|
||||
exit;
|
||||
if (not (pfSaveClosedUnits in Flags)) and (not Units[i].IsPartOfProject)
|
||||
and (not Units[i].Loaded) then exit;
|
||||
if not Units[i].IsPartOfProject then begin
|
||||
if (pfSaveOnlyProjectUnits in Flags) then exit;
|
||||
if (pwfSaveOnlyProjectUnits in ProjectWriteFlags) 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;
|
||||
end;
|
||||
|
||||
@ -1083,7 +1089,10 @@ var
|
||||
begin
|
||||
Result := mrCancel;
|
||||
|
||||
confPath := ProjectInfoFile;
|
||||
if OverrideProjectInfoFile<>'' then
|
||||
confPath := OverrideProjectInfoFile
|
||||
else
|
||||
confPath := ProjectInfoFile;
|
||||
if Assigned(fOnFileBackup) then begin
|
||||
Result:=fOnFileBackup(confPath,true);
|
||||
if Result=mrAbort then exit;
|
||||
@ -2066,6 +2075,9 @@ end.
|
||||
|
||||
{
|
||||
$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
|
||||
MG: added some component rename checks
|
||||
|
||||
|
@ -42,6 +42,9 @@ uses
|
||||
type
|
||||
TOnLoadSaveFilename = procedure(var Filename:string; Load:boolean) of object;
|
||||
|
||||
TProjectWriteFlag = (pwfDontSaveClosedUnits, pwfSaveOnlyProjectUnits);
|
||||
TProjectWriteFlags = set of TProjectWriteFlag;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
TProjectBookmark = class
|
||||
private
|
||||
@ -266,6 +269,8 @@ type
|
||||
procedure LoadDefaults;
|
||||
procedure LoadFromXMLConfig(XMLConfig: TXMLConfig; const APath: string);
|
||||
procedure SaveToXMLConfig(XMLConfig: TXMLConfig; const APath: string);
|
||||
function FileCanBePublished(const AFilename: string): boolean;
|
||||
function WriteFlags: TProjectWriteFlags;
|
||||
|
||||
// destination
|
||||
property DestinationDirectory: string
|
||||
@ -1052,5 +1057,34 @@ begin
|
||||
SaveEditorInfoOfNonProjectFiles);
|
||||
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.
|
||||
|
||||
|
@ -34,6 +34,9 @@ object PublishProjectDialog: TPublishProjectDialog
|
||||
object DestDirGroupBox: TGROUPBOX
|
||||
ANCHORS = [aktop, akleft]
|
||||
CAPTION = 'Destination directory'
|
||||
COLOR = -2147483643
|
||||
PARENTCTL3D = False
|
||||
TABORDER = 2
|
||||
ONRESIZE = DestDirGroupBoxRESIZE
|
||||
LEFT = 8
|
||||
HEIGHT = 111
|
||||
@ -89,6 +92,9 @@ object PublishProjectDialog: TPublishProjectDialog
|
||||
object FilesGroupbox: TGROUPBOX
|
||||
ANCHORS = [aktop, akleft]
|
||||
CAPTION = 'Files'
|
||||
COLOR = -2147483643
|
||||
PARENTCTL3D = False
|
||||
TABORDER = 3
|
||||
ONRESIZE = FilesGroupboxRESIZE
|
||||
LEFT = 8
|
||||
HEIGHT = 139
|
||||
@ -147,6 +153,9 @@ object PublishProjectDialog: TPublishProjectDialog
|
||||
object ProjectInfoGroupbox: TGROUPBOX
|
||||
ANCHORS = [aktop, akleft]
|
||||
CAPTION = 'Project Information'
|
||||
COLOR = -2147483643
|
||||
PARENTCTL3D = False
|
||||
TABORDER = 4
|
||||
ONRESIZE = ProjectInfoGroupboxRESIZE
|
||||
LEFT = 8
|
||||
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'
|
||||
+'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'
|
||||
+'op'#6'akleft'#0#7'CAPTION'#6#21'Destination directory'#8'ONRESIZE'#7#21'Des'
|
||||
+'tDirGroupBoxRESIZE'#4'LEFT'#2#8#6'HEIGHT'#2'o'#3'TOP'#2#8#5'WIDTH'#3#194#1#0
|
||||
+#9'TCOMBOBOX'#15'DestDirComboBox'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#11'PARE'
|
||||
+'NTCTL3D'#8#7'TABSTOP'#9#4'TEXT'#6#15'DestDirComboBox'#4'LEFT'#2#6#6'HEIGHT'
|
||||
+#2#25#3'TOP'#2#1#5'WIDTH'#3'^'#1#0#0#7'TBITBTN'#19'BrowseDestDirBitBtn'#10'G'
|
||||
+'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
|
||||
+#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
|
||||
+#7'SPACING'#2#3#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#6'Browse'#7
|
||||
+'TABSTOP'#9#8'TABORDER'#2#1#4'LEFT'#3'n'#1#6'HEIGHT'#2#25#3'TOP'#2#1#5'WIDTH'
|
||||
+#2'H'#0#0#9'TCOMBOBOX'#20'CommandAfterCombobox'#7'ANCHORS'#11#5'aktop'#6'akl'
|
||||
+'eft'#0#11'PARENTCTL3D'#8#8'TABORDER'#2#2#7'TABSTOP'#9#4'TEXT'#6#20'CommandA'
|
||||
+'fterCombobox'#4'LEFT'#2#6#6'HEIGHT'#2#25#3'TOP'#2':'#5'WIDTH'#3#174#1#0#0#6
|
||||
+'TLABEL'#17'CommandAfterLabel'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'
|
||||
+#6#14'Command after:'#5'COLOR'#4#5#0#0#128#6'LAYOUT'#7#5'tltop'#4'LEFT'#2#6#6
|
||||
+'HEIGHT'#2#17#3'TOP'#2'!'#5'WIDTH'#3#172#1#0#0#0#9'TGROUPBOX'#13'FilesGroupb'
|
||||
+'ox'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#5'Files'#8'ONRESIZE'#7
|
||||
+#19'FilesGroupboxRESIZE'#4'LEFT'#2#8#6'HEIGHT'#3#139#0#3'TOP'#3#128#0#5'WIDT'
|
||||
+'H'#3#194#1#0#9'TCHECKBOX'#24'UseIncludeFilterCheckbox'#8'AUTOSIZE'#9#11'ALL'
|
||||
+'OWGRAYED'#9#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#18'Use include '
|
||||
+'filter'#10'DRAGCURSOR'#2#0#7'TABSTOP'#9#7'TABSTOP'#9#4'LEFT'#2#4#6'HEIGHT'#2
|
||||
+#20#5'WIDTH'#3#171#0#0#0#9'TCOMBOBOX'#25'IncludeFileFilterCombobox'#7'ANCHOR'
|
||||
+'S'#11#5'aktop'#6'akleft'#0#11'PARENTCTL3D'#8#8'TABORDER'#2#1#7'TABSTOP'#9#4
|
||||
+'TEXT'#6#25'IncludeFileFilterCombobox'#4'LEFT'#2#4#6'HEIGHT'#2#25#3'TOP'#2#24
|
||||
+#5'WIDTH'#3#176#1#0#0#9'TCHECKBOX'#24'UseExcludeFilterCheckbox'#8'AUTOSIZE'#9
|
||||
+#11'ALLOWGRAYED'#9#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#18'Use ex'
|
||||
+'clude filter'#10'DRAGCURSOR'#2#0#8'TABORDER'#2#2#7'TABSTOP'#9#8'TABORDER'#2
|
||||
+#2#7'TABSTOP'#9#4'LEFT'#2#4#6'HEIGHT'#2#20#3'TOP'#2'@'#5'WIDTH'#3#175#0#0#0#9
|
||||
+'TCOMBOBOX'#25'ExcludeFileFilterCombobox'#7'ANCHORS'#11#5'aktop'#6'akleft'#0
|
||||
+#11'PARENTCTL3D'#8#8'TABORDER'#2#3#7'TABSTOP'#9#4'TEXT'#6#25'ExcludeFileFilt'
|
||||
+'erCombobox'#4'LEFT'#2#4#6'HEIGHT'#2#25#3'TOP'#2'X'#5'WIDTH'#3#176#1#0#0#0#9
|
||||
+'TGROUPBOX'#19'ProjectInfoGroupbox'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAP'
|
||||
+'TION'#6#19'Project Information'#8'ONRESIZE'#7#25'ProjectInfoGroupboxRESIZE'
|
||||
+#4'LEFT'#2#8#6'HEIGHT'#2'E'#3'TOP'#3#24#1#5'WIDTH'#3#194#1#0#9'TCHECKBOX!Sav'
|
||||
+'eClosedEditorFilesInfoCheckbox'#8'AUTOSIZE'#9#11'ALLOWGRAYED'#9#7'ANCHORS'
|
||||
+#11#5'aktop'#6'akleft'#0#7'CAPTION'#6' Save editor info of closed files'#10
|
||||
+'DRAGCURSOR'#2#0#7'TABSTOP'#9#7'TABSTOP'#9#4'LEFT'#2#4#6'HEIGHT'#2#20#3'TOP'
|
||||
+#2#1#5'WIDTH'#3#176#1#0#0#9'TCHECKBOX''SaveEditorInfoOfNonProjectFilesCheckb'
|
||||
+'ox'#8'AUTOSIZE'#9#11'ALLOWGRAYED'#9#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CA'
|
||||
+'PTION'#6'%Save editor info of non project files'#10'DRAGCURSOR'#2#0#8'TABOR'
|
||||
+'DER'#2#1#7'TABSTOP'#9#8'TABORDER'#2#1#7'TABSTOP'#9#4'LEFT'#2#4#6'HEIGHT'#2
|
||||
+#20#3'TOP'#2#26#5'WIDTH'#3#176#1#0#0#0#7'TBUTTON'#18'SaveSettingsButton'#7'A'
|
||||
+'NCHORS'#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
|
||||
+'op'#6'akleft'#0#7'CAPTION'#6#21'Destination directory'#5'COLOR'#4#5#0#0#128
|
||||
+#11'PARENTCTL3D'#8#8'TABORDER'#2#2#8'ONRESIZE'#7#21'DestDirGroupBoxRESIZE'#4
|
||||
+'LEFT'#2#8#6'HEIGHT'#2'o'#3'TOP'#2#8#5'WIDTH'#3#194#1#0#9'TCOMBOBOX'#15'Dest'
|
||||
+'DirComboBox'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#11'PARENTCTL3D'#8#7'TABSTOP'
|
||||
+#9#4'TEXT'#6#15'DestDirComboBox'#4'LEFT'#2#6#6'HEIGHT'#2#25#3'TOP'#2#1#5'WID'
|
||||
+'TH'#3'^'#1#0#0#7'TBITBTN'#19'BrowseDestDirBitBtn'#10'GLYPH.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#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#7'SPACING'#2#3#7'ANCH'
|
||||
+'ORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#6'Browse'#7'TABSTOP'#9#8'TABORDER'
|
||||
+#2#1#4'LEFT'#3'n'#1#6'HEIGHT'#2#25#3'TOP'#2#1#5'WIDTH'#2'H'#0#0#9'TCOMBOBOX'
|
||||
+#20'CommandAfterCombobox'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#11'PARENTCTL3D'
|
||||
+#8#8'TABORDER'#2#2#7'TABSTOP'#9#4'TEXT'#6#20'CommandAfterCombobox'#4'LEFT'#2
|
||||
+#6#6'HEIGHT'#2#25#3'TOP'#2':'#5'WIDTH'#3#174#1#0#0#6'TLABEL'#17'CommandAfter'
|
||||
+'Label'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#14'Command after:'#5
|
||||
+'COLOR'#4#5#0#0#128#6'LAYOUT'#7#5'tltop'#4'LEFT'#2#6#6'HEIGHT'#2#17#3'TOP'#2
|
||||
+'!'#5'WIDTH'#3#172#1#0#0#0#9'TGROUPBOX'#13'FilesGroupbox'#7'ANCHORS'#11#5'ak'
|
||||
+'top'#6'akleft'#0#7'CAPTION'#6#5'Files'#5'COLOR'#4#5#0#0#128#11'PARENTCTL3D'
|
||||
+#8#8'TABORDER'#2#3#8'ONRESIZE'#7#19'FilesGroupboxRESIZE'#4'LEFT'#2#8#6'HEIGH'
|
||||
+'T'#3#139#0#3'TOP'#3#128#0#5'WIDTH'#3#194#1#0#9'TCHECKBOX'#24'UseIncludeFilt'
|
||||
+'erCheckbox'#8'AUTOSIZE'#9#11'ALLOWGRAYED'#9#7'ANCHORS'#11#5'aktop'#6'akleft'
|
||||
+#0#7'CAPTION'#6#18'Use include filter'#10'DRAGCURSOR'#2#0#7'TABSTOP'#9#7'TAB'
|
||||
+'STOP'#9#4'LEFT'#2#4#6'HEIGHT'#2#20#5'WIDTH'#3#171#0#0#0#9'TCOMBOBOX'#25'Inc'
|
||||
+'ludeFileFilterCombobox'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#11'PARENTCTL3D'#8
|
||||
+#8'TABORDER'#2#1#7'TABSTOP'#9#4'TEXT'#6#25'IncludeFileFilterCombobox'#4'LEFT'
|
||||
+#2#4#6'HEIGHT'#2#25#3'TOP'#2#24#5'WIDTH'#3#176#1#0#0#9'TCHECKBOX'#24'UseExcl'
|
||||
+'udeFilterCheckbox'#8'AUTOSIZE'#9#11'ALLOWGRAYED'#9#7'ANCHORS'#11#5'aktop'#6
|
||||
+'akleft'#0#7'CAPTION'#6#18'Use exclude filter'#10'DRAGCURSOR'#2#0#8'TABORDER'
|
||||
+#2#2#7'TABSTOP'#9#8'TABORDER'#2#2#7'TABSTOP'#9#4'LEFT'#2#4#6'HEIGHT'#2#20#3
|
||||
+'TOP'#2'@'#5'WIDTH'#3#175#0#0#0#9'TCOMBOBOX'#25'ExcludeFileFilterCombobox'#7
|
||||
+'ANCHORS'#11#5'aktop'#6'akleft'#0#11'PARENTCTL3D'#8#8'TABORDER'#2#3#7'TABSTO'
|
||||
+'P'#9#4'TEXT'#6#25'ExcludeFileFilterCombobox'#4'LEFT'#2#4#6'HEIGHT'#2#25#3'T'
|
||||
+'OP'#2'X'#5'WIDTH'#3#176#1#0#0#0#9'TGROUPBOX'#19'ProjectInfoGroupbox'#7'ANCH'
|
||||
+'ORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#19'Project Information'#5'COLOR'#4
|
||||
+#5#0#0#128#11'PARENTCTL3D'#8#8'TABORDER'#2#4#8'ONRESIZE'#7#25'ProjectInfoGro'
|
||||
+'upboxRESIZE'#4'LEFT'#2#8#6'HEIGHT'#2'E'#3'TOP'#3#24#1#5'WIDTH'#3#194#1#0#9
|
||||
+'TCHECKBOX!SaveClosedEditorFilesInfoCheckbox'#8'AUTOSIZE'#9#11'ALLOWGRAYED'#9
|
||||
+#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6' Save editor info of closed'
|
||||
+' files'#10'DRAGCURSOR'#2#0#7'TABSTOP'#9#7'TABSTOP'#9#4'LEFT'#2#4#6'HEIGHT'#2
|
||||
+#20#3'TOP'#2#1#5'WIDTH'#3#176#1#0#0#9'TCHECKBOX''SaveEditorInfoOfNonProjectF'
|
||||
+'ilesCheckbox'#8'AUTOSIZE'#9#11'ALLOWGRAYED'#9#7'ANCHORS'#11#5'aktop'#6'akle'
|
||||
+'ft'#0#7'CAPTION'#6'%Save editor info of non project files'#10'DRAGCURSOR'#2
|
||||
+#0#8'TABORDER'#2#1#7'TABSTOP'#9#8'TABORDER'#2#1#7'TABSTOP'#9#4'LEFT'#2#4#6'H'
|
||||
+'EIGHT'#2#20#3'TOP'#2#26#5'WIDTH'#3#176#1#0#0#0#7'TBUTTON'#18'SaveSettingsBu'
|
||||
+'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
|
||||
List:=InputHistories.HistoryLists.GetList(PublishProjectCommandsAfter,true);
|
||||
if List.Count=0 then begin
|
||||
List.Add('tar czf $(ProjPublishDir).tgz $(ProjPublishDir)');
|
||||
List.Add('/bin/tar czf $MakeFile($(ProjPublishDir)).tgz $(ProjPublishDir)');
|
||||
end;
|
||||
CommandAfterCombobox.Items.Assign(List);
|
||||
|
||||
@ -235,6 +235,7 @@ begin
|
||||
Position:=poScreenCenter;
|
||||
IDEDialogLayoutList.ApplyLayout(Self,500,405);
|
||||
LoadHistoryLists;
|
||||
FilesGroupbox.Enabled:=false;
|
||||
end;
|
||||
|
||||
destructor TPublishProjectDialog.Destroy;
|
||||
|
Loading…
Reference in New Issue
Block a user